]> git.proxmox.com Git - libgit2.git/commitdiff
New upstream version 0.28.1+dfsg.1
authorJongmin Kim <jmkim@pukyong.ac.kr>
Sat, 11 May 2019 15:29:21 +0000 (00:29 +0900)
committerJongmin Kim <jmkim@pukyong.ac.kr>
Sat, 11 May 2019 15:29:21 +0000 (00:29 +0900)
7888 files changed:
.editorconfig
.github/ISSUE_TEMPLATE
.gitignore
.mailmap
CHANGELOG.md [deleted file]
CMakeLists.txt
CODE_OF_CONDUCT.md [deleted file]
CONTRIBUTING.md [deleted file]
CONVENTIONS.md [deleted file]
PROJECTS.md [deleted file]
README.md
THREADING.md [deleted file]
TROUBLESHOOTING.md [deleted file]
api.docurium
azure-pipelines.yml
azure-pipelines/bash.yml [new file with mode: 0644]
azure-pipelines/coverity.yml [new file with mode: 0644]
azure-pipelines/docker.yml [new file with mode: 0644]
azure-pipelines/nightly.yml [new file with mode: 0644]
azure-pipelines/powershell.yml [new file with mode: 0644]
ci/bash.yml [deleted file]
ci/build.sh
ci/coverity-build.sh [new file with mode: 0755]
ci/coverity-publish.sh [new file with mode: 0755]
ci/coverity.sh [deleted file]
ci/docker.yml [deleted file]
ci/nightly.yml [deleted file]
ci/powershell.yml [deleted file]
ci/setup-linux.sh
ci/setup-osx.sh
ci/test.ps1
ci/test.sh
cmake/Modules/AddCFlagIfSupported.cmake
cmake/Modules/EnableWarnings.cmake
cmake/Modules/FindmbedTLS.cmake [new file with mode: 0644]
docs/changelog.md [new file with mode: 0644]
docs/code_of_conduct.md [new file with mode: 0644]
docs/contributing.md [new file with mode: 0644]
docs/conventions.md [new file with mode: 0644]
docs/differences-from-git.md [new file with mode: 0644]
docs/error-handling.md
docs/fuzzing.md [new file with mode: 0644]
docs/projects.md [new file with mode: 0644]
docs/release.md
docs/threading.md [new file with mode: 0644]
docs/troubleshooting.md [new file with mode: 0644]
examples/CMakeLists.txt
examples/cat-file.c
examples/checkout.c [new file with mode: 0644]
examples/common.c
examples/common.h
examples/diff.c
examples/for-each-ref.c
examples/general.c
examples/log.c
examples/ls-files.c [new file with mode: 0644]
examples/merge.c
examples/network/clone.c
examples/network/git2.c
examples/network/index-pack.c
examples/network/ls-remote.c
examples/remote.c
examples/tag.c
fuzzers/CMakeLists.txt [new file with mode: 0644]
fuzzers/config_file_fuzzer.c [new file with mode: 0644]
fuzzers/corpora/config_file/git2.dat [new file with mode: 0644]
fuzzers/corpora/download_refs/clone.dat [new file with mode: 0644]
fuzzers/corpora/objects/blob [new file with mode: 0644]
fuzzers/corpora/objects/commit [new file with mode: 0644]
fuzzers/corpora/objects/tag [new file with mode: 0644]
fuzzers/corpora/objects/tree [new file with mode: 0644]
fuzzers/corpora/packfile/004bd06c91c0dc8ab7e963f4b5e87be00292911e [new file with mode: 0644]
fuzzers/corpora/packfile/00b67414c7b17916b3bd0a3d02284937fa0c4378 [new file with mode: 0644]
fuzzers/corpora/packfile/02eaeb43f0ec7dbfd91bd75e7ddcc7fd590dbc77 [new file with mode: 0644]
fuzzers/corpora/packfile/02f4286569be24124d8ab209733b7492f7560310 [new file with mode: 0644]
fuzzers/corpora/packfile/037ba5f9d6d695aa4739810f8bea6e795c1d7614 [new file with mode: 0644]
fuzzers/corpora/packfile/038e06289ac876f109fc12ca4b8284497ca26821 [new file with mode: 0644]
fuzzers/corpora/packfile/042dc4512fa3d391c5170cf3aa61e6a638f84342 [new file with mode: 0644]
fuzzers/corpora/packfile/044bf19babf3f9cde07adbfa2a45c7508538cbe8 [new file with mode: 0644]
fuzzers/corpora/packfile/044e12ea43bee3c4befe27ba4687bee98d505fd7 [new file with mode: 0644]
fuzzers/corpora/packfile/061fb208431db793bbd3645b7a16058a1e2a2412 [new file with mode: 0644]
fuzzers/corpora/packfile/06576556d1ad802f247cad11ae748be47b70cd9c [new file with mode: 0644]
fuzzers/corpora/packfile/06ceea0c98756d302c302410fffe0dc54a055486 [new file with mode: 0644]
fuzzers/corpora/packfile/071e65ac0bf08f2424a89a4a499004c1bb9f3f6c [new file with mode: 0644]
fuzzers/corpora/packfile/0739ff2f064568a4d775c8061958e66c419dbea0 [new file with mode: 0644]
fuzzers/corpora/packfile/077760469bf8392342d09329c732b98d24be2c30 [new file with mode: 0644]
fuzzers/corpora/packfile/08534f33c201a45017b502e90a800f1b708ebcb3 [new file with mode: 0644]
fuzzers/corpora/packfile/09e9046a7d6125cf2915a326a1504dd75d0543b5 [new file with mode: 0644]
fuzzers/corpora/packfile/0ade7c2cf97f75d009975f4d720d1fa6c19f4897 [new file with mode: 0644]
fuzzers/corpora/packfile/0c316c67c1450aee57ffa3f74c19ea5d32d44622 [new file with mode: 0644]
fuzzers/corpora/packfile/0c395c44e4dd5b67caae8a98a66741e17e8af136 [new file with mode: 0644]
fuzzers/corpora/packfile/0cb9120e5ae00b0d660a111ef85fc9194a5f244a [new file with mode: 0644]
fuzzers/corpora/packfile/0d44e7156d04cd269fd1219c58c3b79dc8c41d60 [new file with mode: 0644]
fuzzers/corpora/packfile/0d77a48bea1dde6e5d391a65456dc0aa3d9cc5e3 [new file with mode: 0644]
fuzzers/corpora/packfile/0db25107ff248616cadc75b7819b21d06394cf25 [new file with mode: 0644]
fuzzers/corpora/packfile/0debae2db7ef2933f386bac21a2d3bebb473070e [new file with mode: 0644]
fuzzers/corpora/packfile/0e2d48524de33394ca82ea3a43f5f04aac6e86c7 [new file with mode: 0644]
fuzzers/corpora/packfile/0e49f6aa78f3b2f6c3fa5d281d5b1052fa9951dc [new file with mode: 0644]
fuzzers/corpora/packfile/0f2982027f0b3b05250267b19e3969f8797e389e [new file with mode: 0644]
fuzzers/corpora/packfile/11f6ad8ec52a2984abaafd7c3b516503785c2072 [new file with mode: 0644]
fuzzers/corpora/packfile/123ca693d81a8cfd99760ff5ca9e152ded878537 [new file with mode: 0644]
fuzzers/corpora/packfile/12878ca5643ab15a4a847e74ddd84fb365736af2 [new file with mode: 0644]
fuzzers/corpora/packfile/13f292a24a9e79ae911f5d5e1ef7db0112601e64 [new file with mode: 0644]
fuzzers/corpora/packfile/13facd9b4b5b4509fee92c7ccc1c82ed90624172 [new file with mode: 0644]
fuzzers/corpora/packfile/140092a21903fdc56c98de126725fa6bead98ab1 [new file with mode: 0644]
fuzzers/corpora/packfile/1489f923c4dca729178b3e3233458550d8dddf29 [new file with mode: 0644]
fuzzers/corpora/packfile/1501a58834f24f95442f190653a50dd67d01e19d [new file with mode: 0644]
fuzzers/corpora/packfile/15eddee57cafb11e927810d62230a6e104de1d5c [new file with mode: 0644]
fuzzers/corpora/packfile/1632aa4b049f1118306485b11c70c499a0200dd5 [new file with mode: 0644]
fuzzers/corpora/packfile/18e1cf33b179a5cbaaf0baac8279ec4ed1cbdcf3 [new file with mode: 0644]
fuzzers/corpora/packfile/18e768865207e0b90047487b66532b20bc74b1a2 [new file with mode: 0644]
fuzzers/corpora/packfile/1940c66b45a3bd5c847330b207fd87aee6e96194 [new file with mode: 0644]
fuzzers/corpora/packfile/1966ab31dc80ab75196b0cbf28e3960a0eb3f6c5 [new file with mode: 0644]
fuzzers/corpora/packfile/19da91f2603889267dfd77786e07a5b8f067d62a [new file with mode: 0644]
fuzzers/corpora/packfile/1a72795a3dffdfc999b030d9aab7237dea1e2bc1 [new file with mode: 0644]
fuzzers/corpora/packfile/1e29cf67a66f225b338610fbcdf1b8185a8f5b7d [new file with mode: 0644]
fuzzers/corpora/packfile/1eb8977ef8c3be9ee896d785663c762c7e32be28 [new file with mode: 0644]
fuzzers/corpora/packfile/1f0837530c1c3d122157f2eaa9c2178dcc3580df [new file with mode: 0644]
fuzzers/corpora/packfile/1f3c5fd6dc091faa397bce776aa97b457388fdae [new file with mode: 0644]
fuzzers/corpora/packfile/20528983163f834108150a7191600ff94ae2c1d2 [new file with mode: 0644]
fuzzers/corpora/packfile/20a725140a8ffbe11bb71c1b83f19452147e5180 [new file with mode: 0644]
fuzzers/corpora/packfile/2149aa9e07dda9bbf502e088d8d0a38e8fb94f2e [new file with mode: 0644]
fuzzers/corpora/packfile/21b664aa8c86aaee4007d9bdbc2d63bf82bd5109 [new file with mode: 0644]
fuzzers/corpora/packfile/21b9ec8a7d7ac4d542c9bf7b2e26581cfcfaaab6 [new file with mode: 0644]
fuzzers/corpora/packfile/21c07e2affed6b0134d5dc28ea6c4937e691c761 [new file with mode: 0644]
fuzzers/corpora/packfile/23841d4076641ebcb4f58d1fd03047528c9d359b [new file with mode: 0644]
fuzzers/corpora/packfile/23b9174c42560de6525b1f103125f599479f95cb [new file with mode: 0644]
fuzzers/corpora/packfile/241cbd6dfb6e53c43c73b62f9384359091dcbf56 [new file with mode: 0644]
fuzzers/corpora/packfile/245a2ddea41e6531944933c4420b8c9790ac351b [new file with mode: 0644]
fuzzers/corpora/packfile/2541e340271ea496a392870bcc20d3510287b9e9 [new file with mode: 0644]
fuzzers/corpora/packfile/276af22d5bf94344737fb1a5eb5de7d335004493 [new file with mode: 0644]
fuzzers/corpora/packfile/27d5482eebd075de44389774fce28c69f45c8a75 [new file with mode: 0644]
fuzzers/corpora/packfile/28334bd612cb539de776370995f60c8032215434 [new file with mode: 0644]
fuzzers/corpora/packfile/2973e2ac092cba077d7350bfffe1cf2e0644a6e1 [new file with mode: 0644]
fuzzers/corpora/packfile/2adcd01e876b12d867c858ffaec38c42c59c36c7 [new file with mode: 0644]
fuzzers/corpora/packfile/2b28470644f5d0323643da99c831d82f20a7a74f [new file with mode: 0644]
fuzzers/corpora/packfile/2b86229020ba808df84e16f800dc152254f18f64 [new file with mode: 0644]
fuzzers/corpora/packfile/2cc5bf2f780cd85ad93d232890f418625f4d1274 [new file with mode: 0644]
fuzzers/corpora/packfile/2d6ae8fa82b656879dd3371d0a6899e88ef34e76 [new file with mode: 0644]
fuzzers/corpora/packfile/2e74d24e887678f0681d4c7c010477b8b9697f1a [new file with mode: 0644]
fuzzers/corpora/packfile/2f436c68a7b0be43aa6d4ad5126ec9401a9f9211 [new file with mode: 0644]
fuzzers/corpora/packfile/2fec48b0dcb45b98597bfec12bf0dc650543b3e3 [new file with mode: 0644]
fuzzers/corpora/packfile/31bd25636a9807d6024e78b9b3d02fbb1a02835e [new file with mode: 0644]
fuzzers/corpora/packfile/323c88be36ecc20ff30b21cf417106554042db04 [new file with mode: 0644]
fuzzers/corpora/packfile/33b3aa957ca4fb31873033a7f460617f1fe81e32 [new file with mode: 0644]
fuzzers/corpora/packfile/34303d14e37c9ddfb0bad130e006fec927e13785 [new file with mode: 0644]
fuzzers/corpora/packfile/34dac9466a4a2c15aaeef13a9567f6827ace7748 [new file with mode: 0644]
fuzzers/corpora/packfile/356a192b7913b04c54574d18c28d46e6395428ab [new file with mode: 0644]
fuzzers/corpora/packfile/35bf585248be2c6d3940e15b85f72c4146903097 [new file with mode: 0644]
fuzzers/corpora/packfile/3725a1c4431714019827277deac8ec2efeed8f1d [new file with mode: 0644]
fuzzers/corpora/packfile/37a2b7de1fadc9eab2d5fabf5dfe7007c245dbee [new file with mode: 0644]
fuzzers/corpora/packfile/37ab8a0ca81fc62279057401761f7730a5a8f1b2 [new file with mode: 0644]
fuzzers/corpora/packfile/38011be20a664dcd2594e712a26c063c2d50efcd [new file with mode: 0644]
fuzzers/corpora/packfile/3838851a5da8239c2ae6cbbe869c81446c720e87 [new file with mode: 0644]
fuzzers/corpora/packfile/3921322ac01429b001f88d64c8319088fe49218e [new file with mode: 0644]
fuzzers/corpora/packfile/395df8f7c51f007019cb30201c49e884b46b92fa [new file with mode: 0644]
fuzzers/corpora/packfile/3e98eb4fd65d3f2c41fa979db0f5678b310e51fe [new file with mode: 0644]
fuzzers/corpora/packfile/3f9ec359d0cb573cb6d2b2df64c9f4048ea298b8 [new file with mode: 0644]
fuzzers/corpora/packfile/4067250457728bf775aa310ef253b223ae2fe4dc [new file with mode: 0644]
fuzzers/corpora/packfile/40818db87e110b29cb864f73265586cc054f5bbb [new file with mode: 0644]
fuzzers/corpora/packfile/418f9fb9ce1d4efdf481ca8fff9dadd09caee9fc [new file with mode: 0644]
fuzzers/corpora/packfile/41ca0ae865b686089b8d99e9d661da291ce51019 [new file with mode: 0644]
fuzzers/corpora/packfile/42099b4af021e53fd8fd4e056c2568d7c2e3ffa8 [new file with mode: 0644]
fuzzers/corpora/packfile/420ce645ce1c93cee59a06da2159cbbb251e4c01 [new file with mode: 0644]
fuzzers/corpora/packfile/4345cb1fa27885a8fbfe7c0c830a592cc76a552b [new file with mode: 0644]
fuzzers/corpora/packfile/450718a71a93a1b5ff982595432400b0fa876fb6 [new file with mode: 0644]
fuzzers/corpora/packfile/453a312eb77b9d4198ac62faef10ecf3e283120c [new file with mode: 0644]
fuzzers/corpora/packfile/45470317334b614ce4d119c05ed2d6250dbc6061 [new file with mode: 0644]
fuzzers/corpora/packfile/45a65193e30784b0124f4fed659eb7e46552c2d0 [new file with mode: 0644]
fuzzers/corpora/packfile/45cff3494791ded181e1e3dab1c7a0e40130b57b [new file with mode: 0644]
fuzzers/corpora/packfile/481dedc2855981510024d48828af0fe35a1503dd [new file with mode: 0644]
fuzzers/corpora/packfile/49a6448a722742b1b392f0471542ee0c572c5a9a [new file with mode: 0644]
fuzzers/corpora/packfile/4a6e6af93dea13a5720be52b95f2948e0cab4602 [new file with mode: 0644]
fuzzers/corpora/packfile/4ac25548f35e06eb9f91b0f15b89db3cb5bcb283 [new file with mode: 0644]
fuzzers/corpora/packfile/4b586169f192749a0aa023ad6e4edd2e15d67f53 [new file with mode: 0644]
fuzzers/corpora/packfile/4c3c8ec0e25da9342dc87c2e78d3040c381514ce [new file with mode: 0644]
fuzzers/corpora/packfile/4d5189cd1411daaa579df34591c6a5946204c9a0 [new file with mode: 0644]
fuzzers/corpora/packfile/4d7f1bfa928c0d3399598d562e346c6e23de6a03 [new file with mode: 0644]
fuzzers/corpora/packfile/4eee38183d6fce3f42224738be58d0e3975300f4 [new file with mode: 0644]
fuzzers/corpora/packfile/4f2e2af611d6567abcf5b6bfc579487ac417a8d4 [new file with mode: 0644]
fuzzers/corpora/packfile/4fa04b2c3ac839c36c4a3b51bf882eb99b7cd097 [new file with mode: 0644]
fuzzers/corpora/packfile/4fbe10aede9fd9ce2030c6e567a9281e1a5338f4 [new file with mode: 0644]
fuzzers/corpora/packfile/5037f4f74273aed9a09122af5f4acc10f42c033a [new file with mode: 0644]
fuzzers/corpora/packfile/511993d3c99719e38a6779073019dacd7178ddb9 [new file with mode: 0644]
fuzzers/corpora/packfile/520aa436eab6343c3729f51f0f8048e6b87f6aeb [new file with mode: 0644]
fuzzers/corpora/packfile/521e228f3b62dca81d87d2e7d5476657d7b5e0a9 [new file with mode: 0644]
fuzzers/corpora/packfile/52e37dfd77d56769dc8a96388aa26695a8108dac [new file with mode: 0644]
fuzzers/corpora/packfile/5374fb6be0a406cf8d0e95771ecb032254d21305 [new file with mode: 0644]
fuzzers/corpora/packfile/53e1d4898c15c8ee3ef5e2fb279d151108725731 [new file with mode: 0644]
fuzzers/corpora/packfile/53e61ad37ca92b7f6c0396e5fab1ed8743e73da0 [new file with mode: 0644]
fuzzers/corpora/packfile/55df2a59ed6a888ee2f0cdfdcc8582696702de7a [new file with mode: 0644]
fuzzers/corpora/packfile/56a2020f68c5eb72786ea168cc2a7e8ea34ad9c2 [new file with mode: 0644]
fuzzers/corpora/packfile/578678e78b72f8bcb9f414e4129ae5d85a4af914 [new file with mode: 0644]
fuzzers/corpora/packfile/5a8bc5597fd0b2b44194ffabce46e2fa94c1ffd7 [new file with mode: 0644]
fuzzers/corpora/packfile/5bab61eb53176449e25c2c82f172b82cb13ffb9d [new file with mode: 0644]
fuzzers/corpora/packfile/5c2dd944dde9e08881bef0894fe7b22a5c9c4b06 [new file with mode: 0644]
fuzzers/corpora/packfile/5cb4674f4468d39f061d1df3c95b9c2dca529c54 [new file with mode: 0644]
fuzzers/corpora/packfile/60b6fbfe65dc1796a09a734e054223aba8c90260 [new file with mode: 0644]
fuzzers/corpora/packfile/611f5b9368427ef823f7ed89ad23667b02a06435 [new file with mode: 0644]
fuzzers/corpora/packfile/6214b4afdbfe63400ce428d47a58a2e29f682738 [new file with mode: 0644]
fuzzers/corpora/packfile/634b675b80d51b52c3c6fbc73181ed47f61749ba [new file with mode: 0644]
fuzzers/corpora/packfile/6431f1b31dc492fad89732b7d3e511fa7361985d [new file with mode: 0644]
fuzzers/corpora/packfile/6442fd4bbb7656f142c92050da17b0e81e79fad1 [new file with mode: 0644]
fuzzers/corpora/packfile/6486c8cf6bcc2fca60502564924f6b266399df3d [new file with mode: 0644]
fuzzers/corpora/packfile/651c573b6fdd393e97536a47f8b9e65226e29c33 [new file with mode: 0644]
fuzzers/corpora/packfile/657fc646e93cb999417f43f0ec77fbad694e3e18 [new file with mode: 0644]
fuzzers/corpora/packfile/65cc90263dec0020ceabc727d33aa587e57fc175 [new file with mode: 0644]
fuzzers/corpora/packfile/688934845f22049cb14668832efa33d45013b6b9 [new file with mode: 0644]
fuzzers/corpora/packfile/6b0d31c0d563223024da45691584643ac78c96e8 [new file with mode: 0644]
fuzzers/corpora/packfile/6b4dc6028a3a684a20dbc427b15a37ea2fd12dd1 [new file with mode: 0644]
fuzzers/corpora/packfile/6b7486fc2a47a40eb5a85a5edf53af60d48be7d5 [new file with mode: 0644]
fuzzers/corpora/packfile/6bace82ea640ac0a78963c79483faf0faa7fd168 [new file with mode: 0644]
fuzzers/corpora/packfile/6ca38da5f096a5847776e4d50cb63121341fd67c [new file with mode: 0644]
fuzzers/corpora/packfile/6d344a65b9edced36045f94215b6810799789334 [new file with mode: 0644]
fuzzers/corpora/packfile/6dd655e8ef0573eb1c41151af924974aa1e9c454 [new file with mode: 0644]
fuzzers/corpora/packfile/6e118259c2940fafba0a9ceeef6308e12e881ae1 [new file with mode: 0644]
fuzzers/corpora/packfile/6e4b5ef83333606a16a63b579f221f6ffb7b48ee [new file with mode: 0644]
fuzzers/corpora/packfile/6f47ff60d54c012103a0c28851ffa9eab3002511 [new file with mode: 0644]
fuzzers/corpora/packfile/701a765befff451207517d56c3fe8609d059867d [new file with mode: 0644]
fuzzers/corpora/packfile/7050f56d64b28499c89d5430761f18a8a2a933d4 [new file with mode: 0644]
fuzzers/corpora/packfile/724fa0194f615e1a0f08184a9f1520123f8e2833 [new file with mode: 0644]
fuzzers/corpora/packfile/72c52d0d98717e21dfee45418a046a19198b5d5d [new file with mode: 0644]
fuzzers/corpora/packfile/72cec0949c5743ee1df67b41ece5d6806f9bede6 [new file with mode: 0644]
fuzzers/corpora/packfile/72e6bfb7b881befc0b461334411d70ae227a426a [new file with mode: 0644]
fuzzers/corpora/packfile/73b74736664ad85828ce1be2e29fb4a68d24402b [new file with mode: 0644]
fuzzers/corpora/packfile/745bedb79413d20844a8b0e96fbec51b4989c65d [new file with mode: 0644]
fuzzers/corpora/packfile/748142c17e56d0f0ad9e4d6525b39294d81261d6 [new file with mode: 0644]
fuzzers/corpora/packfile/74dfea2e26741a8778fb942d1d60a84d0759d7a0 [new file with mode: 0644]
fuzzers/corpora/packfile/767b2efbb7502a2f652a448b471693d32c128677 [new file with mode: 0644]
fuzzers/corpora/packfile/78abe558c4277852128d4b91282edcb68f86bdea [new file with mode: 0644]
fuzzers/corpora/packfile/7960246c2db6d39e68dfe93ded358a3acba8f896 [new file with mode: 0644]
fuzzers/corpora/packfile/7a4ff814176b55af008ad9580201d5e659242f05 [new file with mode: 0644]
fuzzers/corpora/packfile/7a752694fce29ded083fbabbc9ff95f5b92a3d9c [new file with mode: 0644]
fuzzers/corpora/packfile/7a81af3e591ac713f81ea1efe93dcf36157d8376 [new file with mode: 0644]
fuzzers/corpora/packfile/7c957a1fd650f9ae0eadc112837ea451a692affc [new file with mode: 0644]
fuzzers/corpora/packfile/7cda4ab6a0daf50f675d5225cbc166c86a8ef95f [new file with mode: 0644]
fuzzers/corpora/packfile/7cf184f4c67ad58283ecb19349720b0cae756829 [new file with mode: 0644]
fuzzers/corpora/packfile/7df1ea8d86d601c3bd39977ea85e5f74c9db6acb [new file with mode: 0644]
fuzzers/corpora/packfile/820ec3e39089d863641a1be6942445db3ff34270 [new file with mode: 0644]
fuzzers/corpora/packfile/827704fd978bd02a46268b7396b202a52ad261ed [new file with mode: 0644]
fuzzers/corpora/packfile/828acfc1d49a0fdbcd9f238138ff65582c2a9fc8 [new file with mode: 0644]
fuzzers/corpora/packfile/8306a2f04a47fe4c95098675ffa25c074ecd89de [new file with mode: 0644]
fuzzers/corpora/packfile/8327db1c6a884d8b3e3cefd94cec9eb94bffae0a [new file with mode: 0644]
fuzzers/corpora/packfile/847f4e42f8f2730a48d19951d8829621b2e70082 [new file with mode: 0644]
fuzzers/corpora/packfile/84a516841ba77a5b4648de2cd0dfcb30ea46dbb4 [new file with mode: 0644]
fuzzers/corpora/packfile/8552526f5aba95119c0b95b61cd40386e7a3738b [new file with mode: 0644]
fuzzers/corpora/packfile/8565db62ac64209ff009ac40e7c2d2ac4ae944eb [new file with mode: 0644]
fuzzers/corpora/packfile/859b3346967c5c3c136459e565b402f9a936aa0d [new file with mode: 0644]
fuzzers/corpora/packfile/86a69caf3c5866d78d80da087b1b843cfea5e907 [new file with mode: 0644]
fuzzers/corpora/packfile/86e1fb54a04fc18ee482b794ba3b2b306f6515d4 [new file with mode: 0644]
fuzzers/corpora/packfile/86f217ee467d31ad9ad2a8c502b91279cd7f1c40 [new file with mode: 0644]
fuzzers/corpora/packfile/8768a53e1d4c182907306300f9ca90cfd8018383 [new file with mode: 0644]
fuzzers/corpora/packfile/8834a7aac170c494f45aa4da71b9605a52d82435 [new file with mode: 0644]
fuzzers/corpora/packfile/883f023f38a031d8a8e8ce2cba6614b9bff5d41f [new file with mode: 0644]
fuzzers/corpora/packfile/88738071086eb04e47b77d1ca28b35ddbfaa0968 [new file with mode: 0644]
fuzzers/corpora/packfile/892aef744c87c6ee4ba3dd457c7ca02ba3d359bd [new file with mode: 0644]
fuzzers/corpora/packfile/8afb5c282d23c4055500f88a10b26383c682c900 [new file with mode: 0644]
fuzzers/corpora/packfile/8b3dfce4cd7b8942eedb52af0e9ca4caa5c6de61 [new file with mode: 0644]
fuzzers/corpora/packfile/8c2cccf751bb5844bea8dc63c22e3f8e4489411e [new file with mode: 0644]
fuzzers/corpora/packfile/8e30894298502ba4d43af98f1ec3088f9b8f29d5 [new file with mode: 0644]
fuzzers/corpora/packfile/8eb4d738f7170d2e0594b779f782eb3171c9d421 [new file with mode: 0644]
fuzzers/corpora/packfile/8f46a043da3aa5d466ade170e62b0b9f362b4c5b [new file with mode: 0644]
fuzzers/corpora/packfile/9295f39686016bf3abb1d6e9924d6725c1263920 [new file with mode: 0644]
fuzzers/corpora/packfile/92fa2c2237724e7ba49e9c59adad8d61ce400bbf [new file with mode: 0644]
fuzzers/corpora/packfile/936548b53e1a1e30cb30747a87203abd4eae78ea [new file with mode: 0644]
fuzzers/corpora/packfile/9835ad3ff27939bc1315632d6a22980b377c36e4 [new file with mode: 0644]
fuzzers/corpora/packfile/9857740c36a95415fa3be04cdf184db7b41a8b3e [new file with mode: 0644]
fuzzers/corpora/packfile/98c35b9d5e7b430d0d4ef70f642d8e2f3266b6d4 [new file with mode: 0644]
fuzzers/corpora/packfile/9929b50ac145c0781a0347be1559764edc668173 [new file with mode: 0644]
fuzzers/corpora/packfile/9bf6a450d87badf2d495c2df37081ea16156915a [new file with mode: 0644]
fuzzers/corpora/packfile/9bffb3ff7a4429144305b770162074bbffe39ce9 [new file with mode: 0644]
fuzzers/corpora/packfile/9c040d3207196e3aeee0df389170d6e59733ba0f [new file with mode: 0644]
fuzzers/corpora/packfile/9c740d0f3b8875a3b19f1cf1a88d5192a997a68d [new file with mode: 0644]
fuzzers/corpora/packfile/9cf72097400efb70d06179e6b00abb4cdec74e66 [new file with mode: 0644]
fuzzers/corpora/packfile/9d36c270ef1f14214742562238dc747242d4756e [new file with mode: 0644]
fuzzers/corpora/packfile/9fb415ccadc8e7b0f38646ec5782d5895111e259 [new file with mode: 0644]
fuzzers/corpora/packfile/a13b7fbb454fe3bdebd07a51d466484aa41ee142 [new file with mode: 0644]
fuzzers/corpora/packfile/a1a7715c7596c77b892dc6d4debb7c108ca4ef97 [new file with mode: 0644]
fuzzers/corpora/packfile/a1ac8b656af02b56aefe6029db36b1af9fb664ef [new file with mode: 0644]
fuzzers/corpora/packfile/a343687e2522222c2d49e8cb18d3feda64cf1d66 [new file with mode: 0644]
fuzzers/corpora/packfile/a6f57425137e9aa54537f0b3f5364ce165aedb0a [new file with mode: 0644]
fuzzers/corpora/packfile/a73df4ce29f75cc638a7a2d823fee57d909ab681 [new file with mode: 0644]
fuzzers/corpora/packfile/a7ee38bb7be4fc44198cb2685d9601dcf2b9f569 [new file with mode: 0644]
fuzzers/corpora/packfile/a8b9b91157274e617bf4ac5045fc0c6ac97e76f7 [new file with mode: 0644]
fuzzers/corpora/packfile/a9c697f383f59a3b0642cd55b88190bce6201bae [new file with mode: 0644]
fuzzers/corpora/packfile/ab064cd6847c0fa546bbec4241eb9b095e0e73da [new file with mode: 0644]
fuzzers/corpora/packfile/ab2c64588d3d9dc5c54c48d414e6d46d6a78cfa6 [new file with mode: 0644]
fuzzers/corpora/packfile/abe729b06750880778312618dcebb43257ec03e0 [new file with mode: 0644]
fuzzers/corpora/packfile/ac1bf5a5fe61e5784f72b364ef1bcddfb0d13716 [new file with mode: 0644]
fuzzers/corpora/packfile/ac47b6d3f0e479df3292131535f8e0d99c288de9 [new file with mode: 0644]
fuzzers/corpora/packfile/ac9231da4082430afe8f4d40127814c613648d8e [new file with mode: 0644]
fuzzers/corpora/packfile/ace9ffcaa273c01c0eb60381321e47edf4842332 [new file with mode: 0644]
fuzzers/corpora/packfile/ad6ba9b0bc076987efbeb11ce3fc92bc1df69d0a [new file with mode: 0644]
fuzzers/corpora/packfile/ae99dcb9b5e1b09aa5df6bb2fada3a3de61268fe [new file with mode: 0644]
fuzzers/corpora/packfile/aeeacf0499ace69549fe2c76757d4948ba65a10b [new file with mode: 0644]
fuzzers/corpora/packfile/af6614c37604ee5d3f7b00cddca761a8776283b5 [new file with mode: 0644]
fuzzers/corpora/packfile/afd44f8c385a922c8caacc1ea5688d324bad5b39 [new file with mode: 0644]
fuzzers/corpora/packfile/aff024fe4ab0fece4091de044c58c9ae4233383a [new file with mode: 0644]
fuzzers/corpora/packfile/b1f86f05d4928c8393fe0f138c0714df3978f0bb [new file with mode: 0644]
fuzzers/corpora/packfile/b452cd4b70f2827e3cbd6d5dd20f678b6e55f813 [new file with mode: 0644]
fuzzers/corpora/packfile/b491dbad4c3edc87aa5a7f12b2c9a447a712c20d [new file with mode: 0644]
fuzzers/corpora/packfile/b54664965911c6fe91e18cd01b68a75c8183b530 [new file with mode: 0644]
fuzzers/corpora/packfile/b68542373c05c0ed25231d09955b2c699d37c45b [new file with mode: 0644]
fuzzers/corpora/packfile/b706e78cf7110a78dfccce991cd4ce22c6fd898a [new file with mode: 0644]
fuzzers/corpora/packfile/b8d3910a75ad8a7058f9c3f202f8eb27419137d7 [new file with mode: 0644]
fuzzers/corpora/packfile/b93abe6094fb4ebbfa7414fbceb7199ce766075b [new file with mode: 0644]
fuzzers/corpora/packfile/b9a64cc0694f3ac4a3c530c721bbf69026192187 [new file with mode: 0644]
fuzzers/corpora/packfile/b9e5319eca8fbc26e5c322e0b151ed8ed60628d1 [new file with mode: 0644]
fuzzers/corpora/packfile/ba390745a04c5394601f7aa73fe795097b814d1a [new file with mode: 0644]
fuzzers/corpora/packfile/bb7d065b776833337d3e1a3071de4d5d2759d78b [new file with mode: 0644]
fuzzers/corpora/packfile/bb99cf0bb3e5d75d59300e6ca9cb1f67ce315e3a [new file with mode: 0644]
fuzzers/corpora/packfile/bd9722d91e0615cbdae3cee3476ec6181fbad98d [new file with mode: 0644]
fuzzers/corpora/packfile/bf8b4530d8d246dd74ac53a13471bba17941dff7 [new file with mode: 0644]
fuzzers/corpora/packfile/bffc4698ad4aaddd977fe857da20858aa6654263 [new file with mode: 0644]
fuzzers/corpora/packfile/c0ea828d8f9c4a2c0fc6253908cd283f6c7994a1 [new file with mode: 0644]
fuzzers/corpora/packfile/c151b760696d665265187501c51f38cd84503634 [new file with mode: 0644]
fuzzers/corpora/packfile/c16f90096603258174790bc85f076413dad0e228 [new file with mode: 0644]
fuzzers/corpora/packfile/c20fc8fb8f1d44050c281089191b8eac2dc9444c [new file with mode: 0644]
fuzzers/corpora/packfile/c2143b1a0db17957bec1b41bb2e5f75aa135981e [new file with mode: 0644]
fuzzers/corpora/packfile/c22c3fba53bb2c5579b47852fa9ec54a88c03472 [new file with mode: 0644]
fuzzers/corpora/packfile/c297564cff1bb4f7933221050cfcffa36c59f691 [new file with mode: 0644]
fuzzers/corpora/packfile/c2c4da76233acd3efe08eaebb7ae8dc9b3036527 [new file with mode: 0644]
fuzzers/corpora/packfile/c3d47118536d19a8d1a601978510cc24344aa8df [new file with mode: 0644]
fuzzers/corpora/packfile/c4cbb032db94c57061003a85d30bdf4117979b1e [new file with mode: 0644]
fuzzers/corpora/packfile/c7090127a03c0e7230c11a649e4f98fcb4ca2b75 [new file with mode: 0644]
fuzzers/corpora/packfile/c8b839665bd381ff7d006b1b08c35f94f1818556 [new file with mode: 0644]
fuzzers/corpora/packfile/ca8c7c16d1d6b60e951dcfb558cc97e14231c750 [new file with mode: 0644]
fuzzers/corpora/packfile/cb46c744c83541a0900e1e61780c18d43031a08b [new file with mode: 0644]
fuzzers/corpora/packfile/cbf1e454dc7ac878bd23e3dfd0b6a28a50b2155d [new file with mode: 0644]
fuzzers/corpora/packfile/cbfb8cae82ddd82c04996f474fdb4f1b80dcb6db [new file with mode: 0644]
fuzzers/corpora/packfile/cf74f755c004ca634818f8ba44c99fffbaa950a1 [new file with mode: 0644]
fuzzers/corpora/packfile/d07e4bc786c88b8d2304f84c7db2098666f822c0 [new file with mode: 0644]
fuzzers/corpora/packfile/d17ab0db9edea68e8f9f51f471decae84b192a1a [new file with mode: 0644]
fuzzers/corpora/packfile/d1854cae891ec7b29161ccaf79a24b00c274bdaa [new file with mode: 0644]
fuzzers/corpora/packfile/d22aac18f8b435fc34566fe0d3f42464aec9458c [new file with mode: 0644]
fuzzers/corpora/packfile/d446a50788c32053358495358696f9d595358bcf [new file with mode: 0644]
fuzzers/corpora/packfile/d461cbcff85c87b0068f0e9c15d2056197cdfa52 [new file with mode: 0644]
fuzzers/corpora/packfile/d54709a1b46002c81f57da533379e57f00afe942 [new file with mode: 0644]
fuzzers/corpora/packfile/d567007f84b83e82df7069838bf8b6c5826b18a8 [new file with mode: 0644]
fuzzers/corpora/packfile/d5e60b9f94126a9ec865fda83feb6835d294b76b [new file with mode: 0644]
fuzzers/corpora/packfile/d81092a4f3607ddbba85862facf2285459696078 [new file with mode: 0644]
fuzzers/corpora/packfile/d898eb860ceac044950605db88429e029ea278ef [new file with mode: 0644]
fuzzers/corpora/packfile/d8fc60ccdd8f555c1858b9f0820f263e3d2b58ec [new file with mode: 0644]
fuzzers/corpora/packfile/d9b69c63cdc0c1622f2fab84d1307f9e0c0fa3b9 [new file with mode: 0644]
fuzzers/corpora/packfile/db1bb4b7348d387623dcaf0a743d0b11fa18409f [new file with mode: 0644]
fuzzers/corpora/packfile/db291360a195c79ae504a3dfb2cd0f71cbc11902 [new file with mode: 0644]
fuzzers/corpora/packfile/dc98359b3ef2ced9c3d07636c89d475a564c39d9 [new file with mode: 0644]
fuzzers/corpora/packfile/dccc5642917b20b4dd64d3e44b71d08da30445e9 [new file with mode: 0644]
fuzzers/corpora/packfile/dd79c8cfb8beeacd0460429944b4ecbe95a31561 [new file with mode: 0644]
fuzzers/corpora/packfile/de9550264c4e2dbef14e1281ff3693f2d19dc1c9 [new file with mode: 0644]
fuzzers/corpora/packfile/df8b4d163e9ed75634eb56467343bde73b13263e [new file with mode: 0644]
fuzzers/corpora/packfile/e0184adedf913b076626646d3f52c3b49c39ad6d [new file with mode: 0644]
fuzzers/corpora/packfile/e0905bac594c818b9cfa909269114977c4d6d1b2 [new file with mode: 0644]
fuzzers/corpora/packfile/e0bcb16cd6b42128201e1b6454323175a7e412f0 [new file with mode: 0644]
fuzzers/corpora/packfile/e1ac9563c33f4f31b3e147b9d2fef80fca550948 [new file with mode: 0644]
fuzzers/corpora/packfile/e230c91352f1b07f6f34da803d07e75c06897b30 [new file with mode: 0644]
fuzzers/corpora/packfile/e26b3bacbfd6603d021d4ddadbac94b7b7aa0034 [new file with mode: 0644]
fuzzers/corpora/packfile/e2a6f8dc3dc5d6c859f19d6e0fa64745201df0a6 [new file with mode: 0644]
fuzzers/corpora/packfile/e2ba004118345660b379df5147bfa7a39d884dbc [new file with mode: 0644]
fuzzers/corpora/packfile/e45aaf139d726366a18dce9e4854ee6c82901677 [new file with mode: 0644]
fuzzers/corpora/packfile/e4b3ab7e8c18de815fc8bd6ebfd5d52cf1924a8e [new file with mode: 0644]
fuzzers/corpora/packfile/e6818b96c50bb749911248959af81a9c412a0223 [new file with mode: 0644]
fuzzers/corpora/packfile/e69f20e9f683920d3fb4329abd951e878b1f9372 [new file with mode: 0644]
fuzzers/corpora/packfile/e6eb439fef7d5461bc3552aa7c064d24e44c5f32 [new file with mode: 0644]
fuzzers/corpora/packfile/e9d9930dc3fea44fbc7acb0d1ef4bd867f1c902b [new file with mode: 0644]
fuzzers/corpora/packfile/eb05b6ad73fb1f69ef750d0b9cb6c606ab9d949f [new file with mode: 0644]
fuzzers/corpora/packfile/eb0814ae767e5f28b87c998b0f44dcf80814db1b [new file with mode: 0644]
fuzzers/corpora/packfile/ebbd9763912dd557d08abd1373c867a4b56e6a41 [new file with mode: 0644]
fuzzers/corpora/packfile/ebcdcb7effcc3f06e0d503638ac621de877fc554 [new file with mode: 0644]
fuzzers/corpora/packfile/eddccafb2716adafb9ad48203f0621bb00ebc73f [new file with mode: 0644]
fuzzers/corpora/packfile/edfbf20c83d3cec45470105581f7dc8b7e0889da [new file with mode: 0644]
fuzzers/corpora/packfile/f03218467b1c74e465cebb3b8092e21a5122f31d [new file with mode: 0644]
fuzzers/corpora/packfile/f28600befd899a94bed8e62853e90655d614f439 [new file with mode: 0644]
fuzzers/corpora/packfile/f3b15185b7a9a10716752d58434fe656d839092e [new file with mode: 0644]
fuzzers/corpora/packfile/f436ed7933482610e08e18b40e9eec102b63b7d4 [new file with mode: 0644]
fuzzers/corpora/packfile/f55ea5b7c1cf5400aae56d7faf65a42320d0323a [new file with mode: 0644]
fuzzers/corpora/packfile/f5eeab2d009aa4984378df6bfdd89366b7ecbb32 [new file with mode: 0644]
fuzzers/corpora/packfile/f6250c8b3cc0510e0f8f621100be83f018e2d234 [new file with mode: 0644]
fuzzers/corpora/packfile/f7168410c7158ff7331698930937f9cdc54f4d8a [new file with mode: 0644]
fuzzers/corpora/packfile/f91847640af285c1b8a6df27f5c50686ed0deb70 [new file with mode: 0644]
fuzzers/corpora/packfile/fa58a6b2d3286a136a43afeeaac589d2dde0a2a6 [new file with mode: 0644]
fuzzers/corpora/packfile/fe3667be5fd2ffdd553ae04a534a2e9ce5445188 [new file with mode: 0644]
fuzzers/corpora/packfile/ff21cad92ddd105224408fa696e91080a8cf98fb [new file with mode: 0644]
fuzzers/corpora/packfile/ff9804ac04790bd58cdd124526c00b920469b812 [new file with mode: 0644]
fuzzers/corpora/packfile/ffc54ca808e7666f250133ad0ae2185ad688a826 [new file with mode: 0644]
fuzzers/download_refs_fuzzer.c [new file with mode: 0644]
fuzzers/objects_fuzzer.c [new file with mode: 0644]
fuzzers/packfile_fuzzer.c [new file with mode: 0644]
fuzzers/standalone_driver.c [new file with mode: 0644]
git.git-authors
include/git2.h
include/git2/annotated_commit.h
include/git2/apply.h [new file with mode: 0644]
include/git2/attr.h
include/git2/blame.h
include/git2/blob.h
include/git2/branch.h
include/git2/buffer.h
include/git2/checkout.h
include/git2/cherrypick.h
include/git2/clone.h
include/git2/commit.h
include/git2/common.h
include/git2/config.h
include/git2/deprecated.h [new file with mode: 0644]
include/git2/describe.h
include/git2/diff.h
include/git2/errors.h
include/git2/ignore.h
include/git2/index.h
include/git2/indexer.h
include/git2/mailmap.h [new file with mode: 0644]
include/git2/merge.h
include/git2/net.h
include/git2/notes.h
include/git2/object.h
include/git2/odb.h
include/git2/odb_backend.h
include/git2/oid.h
include/git2/pack.h
include/git2/proxy.h
include/git2/rebase.h
include/git2/refs.h
include/git2/refspec.h
include/git2/remote.h
include/git2/repository.h
include/git2/revert.h
include/git2/revwalk.h
include/git2/signature.h
include/git2/stash.h
include/git2/status.h
include/git2/submodule.h
include/git2/sys/alloc.h [new file with mode: 0644]
include/git2/sys/commit.h
include/git2/sys/config.h
include/git2/sys/filter.h
include/git2/sys/index.h
include/git2/sys/mempack.h
include/git2/sys/merge.h
include/git2/sys/odb_backend.h
include/git2/sys/path.h [new file with mode: 0644]
include/git2/sys/refdb_backend.h
include/git2/sys/stream.h
include/git2/sys/transport.h
include/git2/tag.h
include/git2/trace.h
include/git2/transaction.h
include/git2/transport.h
include/git2/tree.h
include/git2/types.h
include/git2/version.h
include/git2/worktree.h
libgit2_clar.supp
package.json [new file with mode: 0644]
script/backport.sh [new file with mode: 0755]
script/user_model.c
script/user_nodefs.h
src/CMakeLists.txt
src/alloc.c [new file with mode: 0644]
src/alloc.h [new file with mode: 0644]
src/annotated_commit.c
src/apply.c
src/apply.h
src/array.h
src/attr.c
src/attr_file.c
src/attrcache.c
src/blame.c
src/blame.h
src/blame_git.c
src/blob.c
src/blob.h
src/branch.c
src/buf_text.c
src/buffer.c
src/buffer.h
src/cache.c
src/cache.h
src/cc-compat.h
src/checkout.c
src/cherrypick.c
src/clone.c
src/commit.c
src/commit.h
src/commit_list.c
src/common.h
src/config.c
src/config.h
src/config_backend.h [new file with mode: 0644]
src/config_cache.c
src/config_entries.c [new file with mode: 0644]
src/config_entries.h [new file with mode: 0644]
src/config_file.c
src/config_file.h [deleted file]
src/config_mem.c [new file with mode: 0644]
src/config_parse.c
src/config_parse.h
src/crlf.c
src/delta.c
src/describe.c
src/diff.c
src/diff_driver.c
src/diff_file.c
src/diff_generate.c
src/diff_generate.h
src/diff_parse.c
src/diff_print.c
src/diff_stats.c
src/diff_tform.c
src/diff_xdiff.c
src/errors.c
src/features.h.in
src/fetch.c
src/fetchhead.c
src/filebuf.c
src/fileops.c
src/fileops.h
src/filter.c
src/filter.h
src/global.c
src/hash.h
src/hash/hash_collisiondetect.h
src/hash/hash_common_crypto.h
src/hash/hash_generic.h
src/hash/hash_mbedtls.c [new file with mode: 0644]
src/hash/hash_mbedtls.h [new file with mode: 0644]
src/hash/hash_openssl.h
src/hash/hash_win32.c
src/hashsig.c
src/idxmap.c
src/idxmap.h
src/ignore.c
src/index.c
src/index.h
src/indexer.c
src/integer.h
src/iterator.c
src/iterator.h
src/khash.h
src/mailmap.c [new file with mode: 0644]
src/mailmap.h [new file with mode: 0644]
src/merge.c
src/merge_driver.c
src/merge_file.c
src/mwindow.c
src/netops.c
src/netops.h
src/notes.c
src/object.c
src/object.h
src/object_api.c
src/odb.c
src/odb.h
src/odb_loose.c
src/odb_mempack.c
src/odb_pack.c
src/offmap.c
src/offmap.h
src/oid.c
src/oidmap.c
src/oidmap.h
src/pack-objects.c
src/pack-objects.h
src/pack.c
src/pack.h
src/parse.h
src/patch.c
src/patch_generate.c
src/patch_parse.c
src/path.c
src/path.h
src/pathspec.c
src/posix.c
src/proxy.c
src/push.c
src/push.h
src/reader.c [new file with mode: 0644]
src/reader.h [new file with mode: 0644]
src/rebase.c
src/refdb.c
src/refdb_fs.c
src/reflog.c
src/refs.c
src/refs.h
src/refspec.c
src/refspec.h
src/remote.c
src/remote.h
src/repository.c
src/repository.h
src/reset.c
src/revert.c
src/revparse.c
src/revwalk.c
src/revwalk.h
src/settings.c
src/signature.c
src/sortedcache.c
src/stash.c
src/status.c
src/stdalloc.c [new file with mode: 0644]
src/stdalloc.h [new file with mode: 0644]
src/stream.h
src/streams/curl.c [deleted file]
src/streams/curl.h [deleted file]
src/streams/mbedtls.c [new file with mode: 0644]
src/streams/mbedtls.h [new file with mode: 0644]
src/streams/openssl.c
src/streams/openssl.h
src/streams/registry.c [new file with mode: 0644]
src/streams/registry.h [new file with mode: 0644]
src/streams/socket.c
src/streams/stransport.c
src/streams/stransport.h
src/streams/tls.c
src/streams/tls.h
src/strmap.c
src/strmap.h
src/submodule.c
src/sysdir.c
src/tag.c
src/tag.h
src/trace.c
src/trace.h
src/trailer.c
src/transaction.c
src/transport.c
src/transports/auth.c
src/transports/auth.h
src/transports/auth_negotiate.c
src/transports/cred.c
src/transports/git.c
src/transports/http.c
src/transports/http.h
src/transports/local.c
src/transports/smart.c
src/transports/smart.h
src/transports/smart_pkt.c
src/transports/smart_protocol.c
src/transports/ssh.c
src/transports/winhttp.c
src/tree-cache.c
src/tree.c
src/tree.h
src/unix/map.c
src/util.c
src/util.h
src/vector.c
src/win32/dir.c
src/win32/findfile.c
src/win32/map.c
src/win32/msvc-compat.h
src/win32/path_w32.c
src/win32/path_w32.h
src/win32/posix_w32.c
src/win32/w32_buffer.c
src/win32/w32_crtdbg_stacktrace.c
src/win32/w32_crtdbg_stacktrace.h
src/win32/w32_stack.c
src/win32/w32_util.c
src/win32/w32_util.h
src/worktree.c
src/worktree.h
src/xdiff/xdiffi.c
src/xdiff/xhistogram.c
src/xdiff/xmerge.c
src/zstream.c
tests/CMakeLists.txt
tests/apply/apply_helpers.c [new file with mode: 0644]
tests/apply/apply_helpers.h [new file with mode: 0644]
tests/apply/both.c [new file with mode: 0644]
tests/apply/callbacks.c [new file with mode: 0644]
tests/apply/fromdiff.c
tests/apply/fromfile.c
tests/apply/index.c [new file with mode: 0644]
tests/apply/partial.c [new file with mode: 0644]
tests/apply/tree.c [new file with mode: 0644]
tests/apply/workdir.c [new file with mode: 0644]
tests/attr/repo.c
tests/buf/basic.c
tests/buf/oom.c
tests/buf/percent.c
tests/buf/quote.c
tests/buf/splice.c
tests/checkout/binaryunicode.c
tests/checkout/checkout_helpers.c
tests/checkout/conflict.c
tests/checkout/crlf.c
tests/checkout/icase.c
tests/checkout/index.c
tests/checkout/nasty.c
tests/checkout/tree.c
tests/checkout/typechange.c
tests/cherrypick/workdir.c
tests/clar.h
tests/clar/fixtures.h
tests/clar/sandbox.h
tests/clar_libgit2.c
tests/clar_libgit2.h
tests/clone/empty.c
tests/clone/local.c
tests/clone/nonetwork.c
tests/commit/parse.c
tests/commit/signature.c
tests/commit/write.c
tests/config/backend.c
tests/config/conditionals.c
tests/config/config_helpers.c
tests/config/configlevel.c
tests/config/global.c
tests/config/include.c
tests/config/memory.c [new file with mode: 0644]
tests/config/new.c
tests/config/read.c
tests/config/readonly.c
tests/config/rename.c
tests/config/stress.c
tests/config/write.c
tests/core/buffer.c
tests/core/dirent.c
tests/core/env.c
tests/core/errors.c
tests/core/filebuf.c
tests/core/futils.c
tests/core/link.c
tests/core/mkdir.c
tests/core/oidmap.c
tests/core/path.c
tests/core/rmdir.c
tests/core/sha1.c
tests/core/sortedcache.c
tests/core/stat.c
tests/core/stream.c [deleted file]
tests/core/strmap.c
tests/core/strtol.c
tests/core/useragent.c
tests/core/vector.c
tests/core/zstream.c
tests/date/rfc2822.c
tests/describe/describe.c
tests/describe/describe_helpers.c
tests/describe/t6120.c
tests/diff/binary.c
tests/diff/blob.c
tests/diff/diff_helpers.c
tests/diff/diffiter.c
tests/diff/drivers.c
tests/diff/format_email.c
tests/diff/index.c
tests/diff/parse.c
tests/diff/patch.c
tests/diff/rename.c
tests/diff/stats.c
tests/diff/submodules.c
tests/diff/tree.c
tests/diff/workdir.c
tests/fetchhead/nonetwork.c
tests/filter/blob.c
tests/filter/crlf.c
tests/filter/custom.c
tests/filter/file.c
tests/filter/ident.c
tests/filter/stream.c
tests/filter/wildcard.c
tests/generate_crlf.sh [deleted file]
tests/index/addall.c
tests/index/bypath.c
tests/index/collision.c
tests/index/conflicts.c
tests/index/crlf.c
tests/index/filemodes.c
tests/index/names.c
tests/index/nsec.c
tests/index/racy.c
tests/index/read_index.c
tests/index/reuc.c
tests/index/splitindex.c [new file with mode: 0644]
tests/index/stage.c
tests/index/tests.c
tests/iterator/index.c
tests/iterator/tree.c
tests/iterator/workdir.c
tests/mailmap/basic.c [new file with mode: 0644]
tests/mailmap/blame.c [new file with mode: 0644]
tests/mailmap/mailmap_testdata.h [new file with mode: 0644]
tests/mailmap/parsing.c [new file with mode: 0644]
tests/main.c
tests/merge/annotated_commit.c [new file with mode: 0644]
tests/merge/driver.c
tests/merge/files.c
tests/merge/merge_helpers.c
tests/merge/trees/automerge.c
tests/merge/trees/commits.c
tests/merge/trees/modeconflict.c
tests/merge/trees/renames.c
tests/merge/trees/trivial.c
tests/merge/trees/whitespace.c
tests/merge/workdir/analysis.c
tests/merge/workdir/dirty.c
tests/merge/workdir/recursive.c
tests/merge/workdir/renames.c
tests/merge/workdir/setup.c
tests/merge/workdir/simple.c
tests/merge/workdir/submodules.c
tests/merge/workdir/trivial.c
tests/network/fetchlocal.c
tests/network/refspecs.c
tests/network/remote/createthenload.c [deleted file]
tests/network/remote/defaultbranch.c
tests/network/remote/local.c
tests/network/remote/remotes.c
tests/notes/notes.c
tests/notes/notesref.c
tests/object/blob/filter.c
tests/object/blob/fromstream.c
tests/object/blob/write.c
tests/object/cache.c
tests/object/commit/commitstagedfile.c
tests/object/commit/parse.c [new file with mode: 0644]
tests/object/lookup.c
tests/object/lookupbypath.c
tests/object/message.c
tests/object/peel.c
tests/object/raw/data.h
tests/object/raw/hash.c
tests/object/raw/type2string.c
tests/object/raw/write.c
tests/object/shortid.c
tests/object/tag/list.c
tests/object/tag/parse.c [new file with mode: 0644]
tests/object/tag/peel.c
tests/object/tag/read.c
tests/object/tag/write.c
tests/object/tree/duplicateentries.c
tests/object/tree/parse.c [new file with mode: 0644]
tests/object/tree/read.c
tests/object/tree/walk.c
tests/object/tree/write.c
tests/odb/alternates.c
tests/odb/backend/backend_helpers.c
tests/odb/backend/mempack.c
tests/odb/backend/nobackend.c
tests/odb/backend/nonrefreshing.c
tests/odb/backend/simple.c
tests/odb/emptyobjects.c
tests/odb/foreach.c
tests/odb/freshen.c
tests/odb/largefiles.c
tests/odb/loose.c
tests/odb/mixed.c
tests/odb/packed.c
tests/odb/packed_one.c
tests/odb/streamwrite.c
tests/online/clone.c
tests/online/fetchhead.c
tests/online/push.c
tests/online/push_util.c
tests/pack/indexer.c
tests/pack/packbuilder.c
tests/pack/sharing.c
tests/patch/patch_common.h
tests/patch/print.c
tests/path/core.c
tests/path/dotgit.c
tests/path/win32.c
tests/rebase/abort.c
tests/rebase/inmemory.c
tests/rebase/iterator.c
tests/rebase/merge.c
tests/rebase/setup.c
tests/rebase/submodule.c
tests/refs/branches/create.c
tests/refs/branches/delete.c
tests/refs/branches/move.c
tests/refs/branches/remote.c
tests/refs/branches/upstream.c
tests/refs/branches/upstreamname.c
tests/refs/create.c
tests/refs/delete.c
tests/refs/foreachglob.c
tests/refs/list.c
tests/refs/lookup.c
tests/refs/normalize.c
tests/refs/overwrite.c
tests/refs/pack.c
tests/refs/peel.c
tests/refs/read.c
tests/refs/ref_helpers.c
tests/refs/reflog/messages.c
tests/refs/reflog/reflog.c
tests/refs/reflog/reflog_helpers.c
tests/refs/rename.c
tests/refs/revparse.c
tests/refs/setter.c
tests/refs/update.c
tests/remote/create.c [new file with mode: 0644]
tests/repo/config.c
tests/repo/discover.c
tests/repo/env.c
tests/repo/hashfile.c
tests/repo/head.c
tests/repo/init.c
tests/repo/message.c
tests/repo/open.c
tests/repo/repo_helpers.c
tests/repo/repo_helpers.h
tests/repo/reservedname.c
tests/repo/setters.c
tests/repo/shallow.c
tests/repo/state.c
tests/reset/hard.c
tests/reset/mixed.c
tests/reset/soft.c
tests/resources/.gitattributes
tests/resources/crlf/.gitattributes [new file with mode: 0644]
tests/resources/crlf/all-crlf [new file with mode: 0644]
tests/resources/crlf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf/all-lf [new file with mode: 0644]
tests/resources/crlf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf/more-crlf [new file with mode: 0644]
tests/resources/crlf/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf/more-lf [new file with mode: 0644]
tests/resources/crlf/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/README [new file with mode: 0644]
tests/resources/crlf_data/posix/autocrlf_false,-crlf/all-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,-crlf/all-crlf-utf8bom [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,-crlf/all-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,-crlf/all-lf-utf8bom [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,-crlf/binary-all-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,-crlf/binary-all-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,-crlf/binary-mixed-lf-cr [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,-crlf/binary-mixed-lf-cr-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,-crlf/few-utf8-chars-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,-crlf/few-utf8-chars-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,-crlf/many-utf8-chars-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,-crlf/many-utf8-chars-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,-crlf/mixed-lf-cr [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,-crlf/mixed-lf-cr-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,-crlf/more-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,-crlf/more-crlf-utf8bom [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,-crlf/more-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,-crlf/more-lf-utf8bom [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,-crlf/zero-byte [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,-text/all-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,-text/all-crlf-utf8bom [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,-text/all-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,-text/all-lf-utf8bom [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,-text/binary-all-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,-text/binary-all-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,-text/binary-mixed-lf-cr [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,-text/binary-mixed-lf-cr-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,-text/few-utf8-chars-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,-text/few-utf8-chars-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,-text/many-utf8-chars-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,-text/many-utf8-chars-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,-text/mixed-lf-cr [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,-text/mixed-lf-cr-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,-text/more-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,-text/more-crlf-utf8bom [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,-text/more-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,-text/more-lf-utf8bom [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,-text/zero-byte [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,crlf/all-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,crlf/all-crlf-utf8bom [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,crlf/all-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,crlf/all-lf-utf8bom [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,crlf/binary-all-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,crlf/binary-all-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,crlf/binary-mixed-lf-cr [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,crlf/binary-mixed-lf-cr-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,crlf/few-utf8-chars-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,crlf/few-utf8-chars-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,crlf/many-utf8-chars-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,crlf/many-utf8-chars-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,crlf/mixed-lf-cr [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,crlf/mixed-lf-cr-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,crlf/more-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,crlf/more-crlf-utf8bom [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,crlf/more-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,crlf/more-lf-utf8bom [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,crlf/zero-byte [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/all-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/all-crlf-utf8bom [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/all-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/all-lf-utf8bom [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/binary-all-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/binary-all-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/binary-mixed-lf-cr [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/binary-mixed-lf-cr-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/few-utf8-chars-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/few-utf8-chars-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/many-utf8-chars-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/many-utf8-chars-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/mixed-lf-cr [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/mixed-lf-cr-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/more-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/more-crlf-utf8bom [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/more-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/more-lf-utf8bom [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/zero-byte [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,eol_lf/all-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,eol_lf/all-crlf-utf8bom [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,eol_lf/all-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,eol_lf/all-lf-utf8bom [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,eol_lf/binary-all-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,eol_lf/binary-all-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,eol_lf/binary-mixed-lf-cr [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,eol_lf/binary-mixed-lf-cr-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,eol_lf/few-utf8-chars-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,eol_lf/few-utf8-chars-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,eol_lf/many-utf8-chars-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,eol_lf/many-utf8-chars-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,eol_lf/mixed-lf-cr [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,eol_lf/mixed-lf-cr-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,eol_lf/more-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,eol_lf/more-crlf-utf8bom [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,eol_lf/more-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,eol_lf/more-lf-utf8bom [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,eol_lf/zero-byte [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/all-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/all-crlf-utf8bom [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/all-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/all-lf-utf8bom [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/binary-all-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/binary-all-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/binary-mixed-lf-cr [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/binary-mixed-lf-cr-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/few-utf8-chars-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/few-utf8-chars-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/many-utf8-chars-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/many-utf8-chars-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/mixed-lf-cr [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/mixed-lf-cr-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/more-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/more-crlf-utf8bom [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/more-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/more-lf-utf8bom [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/zero-byte [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/all-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/all-crlf-utf8bom [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/all-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/all-lf-utf8bom [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/binary-all-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/binary-all-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/binary-mixed-lf-cr [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/binary-mixed-lf-cr-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/few-utf8-chars-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/few-utf8-chars-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/many-utf8-chars-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/many-utf8-chars-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/mixed-lf-cr [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/mixed-lf-cr-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/more-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/more-crlf-utf8bom [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/more-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/more-lf-utf8bom [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/zero-byte [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,text/all-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,text/all-crlf-utf8bom [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,text/all-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,text/all-lf-utf8bom [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,text/binary-all-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,text/binary-all-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,text/binary-mixed-lf-cr [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,text/binary-mixed-lf-cr-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,text/few-utf8-chars-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,text/few-utf8-chars-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,text/many-utf8-chars-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,text/many-utf8-chars-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,text/mixed-lf-cr [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,text/mixed-lf-cr-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,text/more-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,text/more-crlf-utf8bom [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,text/more-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,text/more-lf-utf8bom [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,text/zero-byte [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/all-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/all-crlf-utf8bom [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/all-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/all-lf-utf8bom [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/binary-all-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/binary-all-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/few-utf8-chars-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/few-utf8-chars-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/many-utf8-chars-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/many-utf8-chars-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/mixed-lf-cr [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/mixed-lf-cr-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/more-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/more-crlf-utf8bom [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/more-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/more-lf-utf8bom [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/zero-byte [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/all-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/all-crlf-utf8bom [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/all-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/all-lf-utf8bom [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/binary-all-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/binary-all-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/binary-mixed-lf-cr [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/binary-mixed-lf-cr-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/few-utf8-chars-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/few-utf8-chars-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/many-utf8-chars-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/many-utf8-chars-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/mixed-lf-cr [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/mixed-lf-cr-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/more-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/more-crlf-utf8bom [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/more-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/more-lf-utf8bom [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/zero-byte [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,text_auto/all-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,text_auto/all-crlf-utf8bom [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,text_auto/all-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,text_auto/all-lf-utf8bom [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,text_auto/binary-all-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,text_auto/binary-all-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,text_auto/binary-mixed-lf-cr [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,text_auto/binary-mixed-lf-cr-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,text_auto/few-utf8-chars-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,text_auto/few-utf8-chars-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,text_auto/many-utf8-chars-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,text_auto/many-utf8-chars-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,text_auto/mixed-lf-cr [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,text_auto/mixed-lf-cr-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,text_auto/more-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,text_auto/more-crlf-utf8bom [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,text_auto/more-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,text_auto/more-lf-utf8bom [deleted file]
tests/resources/crlf_data/posix/autocrlf_false,text_auto/zero-byte [deleted file]
tests/resources/crlf_data/posix/autocrlf_false/all-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_false/all-crlf-utf8bom [deleted file]
tests/resources/crlf_data/posix/autocrlf_false/all-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_false/all-lf-utf8bom [deleted file]
tests/resources/crlf_data/posix/autocrlf_false/binary-all-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_false/binary-all-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_false/binary-mixed-lf-cr [deleted file]
tests/resources/crlf_data/posix/autocrlf_false/binary-mixed-lf-cr-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_false/few-utf8-chars-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_false/few-utf8-chars-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_false/many-utf8-chars-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_false/many-utf8-chars-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_false/mixed-lf-cr [deleted file]
tests/resources/crlf_data/posix/autocrlf_false/mixed-lf-cr-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_false/more-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_false/more-crlf-utf8bom [deleted file]
tests/resources/crlf_data/posix/autocrlf_false/more-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_false/more-lf-utf8bom [deleted file]
tests/resources/crlf_data/posix/autocrlf_false/zero-byte [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,-crlf/all-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,-crlf/all-crlf-utf8bom [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,-crlf/all-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,-crlf/all-lf-utf8bom [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,-crlf/binary-all-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,-crlf/binary-all-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,-crlf/binary-mixed-lf-cr [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,-crlf/binary-mixed-lf-cr-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,-crlf/few-utf8-chars-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,-crlf/few-utf8-chars-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,-crlf/many-utf8-chars-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,-crlf/many-utf8-chars-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,-crlf/mixed-lf-cr [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,-crlf/mixed-lf-cr-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,-crlf/more-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,-crlf/more-crlf-utf8bom [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,-crlf/more-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,-crlf/more-lf-utf8bom [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,-crlf/zero-byte [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,-text/all-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,-text/all-crlf-utf8bom [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,-text/all-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,-text/all-lf-utf8bom [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,-text/binary-all-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,-text/binary-all-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,-text/binary-mixed-lf-cr [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,-text/binary-mixed-lf-cr-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,-text/few-utf8-chars-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,-text/few-utf8-chars-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,-text/many-utf8-chars-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,-text/many-utf8-chars-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,-text/mixed-lf-cr [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,-text/mixed-lf-cr-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,-text/more-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,-text/more-crlf-utf8bom [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,-text/more-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,-text/more-lf-utf8bom [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,-text/zero-byte [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,crlf/all-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,crlf/all-crlf-utf8bom [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,crlf/all-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,crlf/all-lf-utf8bom [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,crlf/binary-all-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,crlf/binary-all-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,crlf/binary-mixed-lf-cr [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,crlf/binary-mixed-lf-cr-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,crlf/few-utf8-chars-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,crlf/few-utf8-chars-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,crlf/many-utf8-chars-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,crlf/many-utf8-chars-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,crlf/mixed-lf-cr [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,crlf/mixed-lf-cr-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,crlf/more-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,crlf/more-crlf-utf8bom [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,crlf/more-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,crlf/more-lf-utf8bom [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,crlf/zero-byte [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/all-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/all-crlf-utf8bom [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/all-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/all-lf-utf8bom [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/binary-all-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/binary-all-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/binary-mixed-lf-cr [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/binary-mixed-lf-cr-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/few-utf8-chars-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/few-utf8-chars-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/many-utf8-chars-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/many-utf8-chars-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/mixed-lf-cr [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/mixed-lf-cr-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/more-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/more-crlf-utf8bom [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/more-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/more-lf-utf8bom [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/zero-byte [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,eol_lf/all-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,eol_lf/all-crlf-utf8bom [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,eol_lf/all-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,eol_lf/all-lf-utf8bom [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,eol_lf/binary-all-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,eol_lf/binary-all-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,eol_lf/binary-mixed-lf-cr [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,eol_lf/binary-mixed-lf-cr-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,eol_lf/few-utf8-chars-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,eol_lf/few-utf8-chars-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,eol_lf/many-utf8-chars-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,eol_lf/many-utf8-chars-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,eol_lf/mixed-lf-cr [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,eol_lf/mixed-lf-cr-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,eol_lf/more-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,eol_lf/more-crlf-utf8bom [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,eol_lf/more-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,eol_lf/more-lf-utf8bom [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,eol_lf/zero-byte [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/all-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/all-crlf-utf8bom [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/all-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/all-lf-utf8bom [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/binary-all-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/binary-all-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/binary-mixed-lf-cr [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/binary-mixed-lf-cr-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/few-utf8-chars-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/few-utf8-chars-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/many-utf8-chars-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/many-utf8-chars-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/mixed-lf-cr [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/mixed-lf-cr-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/more-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/more-crlf-utf8bom [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/more-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/more-lf-utf8bom [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/zero-byte [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/all-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/all-crlf-utf8bom [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/all-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/all-lf-utf8bom [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/binary-all-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/binary-all-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/binary-mixed-lf-cr [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/binary-mixed-lf-cr-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/few-utf8-chars-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/few-utf8-chars-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/many-utf8-chars-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/many-utf8-chars-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/mixed-lf-cr [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/mixed-lf-cr-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/more-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/more-crlf-utf8bom [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/more-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/more-lf-utf8bom [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/zero-byte [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,text/all-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,text/all-crlf-utf8bom [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,text/all-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,text/all-lf-utf8bom [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,text/binary-all-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,text/binary-all-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,text/binary-mixed-lf-cr [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,text/binary-mixed-lf-cr-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,text/few-utf8-chars-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,text/few-utf8-chars-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,text/many-utf8-chars-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,text/many-utf8-chars-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,text/mixed-lf-cr [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,text/mixed-lf-cr-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,text/more-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,text/more-crlf-utf8bom [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,text/more-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,text/more-lf-utf8bom [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,text/zero-byte [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/all-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/all-crlf-utf8bom [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/all-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/all-lf-utf8bom [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/binary-all-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/binary-all-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/binary-mixed-lf-cr [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/binary-mixed-lf-cr-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/few-utf8-chars-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/few-utf8-chars-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/many-utf8-chars-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/many-utf8-chars-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/mixed-lf-cr [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/mixed-lf-cr-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/more-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/more-crlf-utf8bom [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/more-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/more-lf-utf8bom [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/zero-byte [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/all-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/all-crlf-utf8bom [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/all-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/all-lf-utf8bom [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/binary-all-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/binary-all-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/binary-mixed-lf-cr [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/binary-mixed-lf-cr-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/few-utf8-chars-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/few-utf8-chars-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/many-utf8-chars-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/many-utf8-chars-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/mixed-lf-cr [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/mixed-lf-cr-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/more-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/more-crlf-utf8bom [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/more-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/more-lf-utf8bom [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/zero-byte [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,text_auto/all-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,text_auto/all-crlf-utf8bom [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,text_auto/all-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,text_auto/all-lf-utf8bom [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,text_auto/binary-all-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,text_auto/binary-all-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,text_auto/binary-mixed-lf-cr [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,text_auto/binary-mixed-lf-cr-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,text_auto/few-utf8-chars-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,text_auto/few-utf8-chars-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,text_auto/many-utf8-chars-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,text_auto/many-utf8-chars-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,text_auto/mixed-lf-cr [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,text_auto/mixed-lf-cr-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,text_auto/more-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,text_auto/more-crlf-utf8bom [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,text_auto/more-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,text_auto/more-lf-utf8bom [deleted file]
tests/resources/crlf_data/posix/autocrlf_input,text_auto/zero-byte [deleted file]
tests/resources/crlf_data/posix/autocrlf_input/all-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_input/all-crlf-utf8bom [deleted file]
tests/resources/crlf_data/posix/autocrlf_input/all-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_input/all-lf-utf8bom [deleted file]
tests/resources/crlf_data/posix/autocrlf_input/binary-all-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_input/binary-all-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_input/binary-mixed-lf-cr [deleted file]
tests/resources/crlf_data/posix/autocrlf_input/binary-mixed-lf-cr-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_input/few-utf8-chars-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_input/few-utf8-chars-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_input/many-utf8-chars-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_input/many-utf8-chars-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_input/mixed-lf-cr [deleted file]
tests/resources/crlf_data/posix/autocrlf_input/mixed-lf-cr-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_input/more-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_input/more-crlf-utf8bom [deleted file]
tests/resources/crlf_data/posix/autocrlf_input/more-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_input/more-lf-utf8bom [deleted file]
tests/resources/crlf_data/posix/autocrlf_input/zero-byte [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,-crlf/all-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,-crlf/all-crlf-utf8bom [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,-crlf/all-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,-crlf/all-lf-utf8bom [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,-crlf/binary-all-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,-crlf/binary-all-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,-crlf/binary-mixed-lf-cr [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,-crlf/binary-mixed-lf-cr-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,-crlf/few-utf8-chars-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,-crlf/few-utf8-chars-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,-crlf/many-utf8-chars-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,-crlf/many-utf8-chars-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,-crlf/mixed-lf-cr [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,-crlf/mixed-lf-cr-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,-crlf/more-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,-crlf/more-crlf-utf8bom [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,-crlf/more-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,-crlf/more-lf-utf8bom [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,-crlf/zero-byte [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,-text/all-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,-text/all-crlf-utf8bom [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,-text/all-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,-text/all-lf-utf8bom [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,-text/binary-all-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,-text/binary-all-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,-text/binary-mixed-lf-cr [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,-text/binary-mixed-lf-cr-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,-text/few-utf8-chars-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,-text/few-utf8-chars-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,-text/many-utf8-chars-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,-text/many-utf8-chars-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,-text/mixed-lf-cr [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,-text/mixed-lf-cr-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,-text/more-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,-text/more-crlf-utf8bom [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,-text/more-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,-text/more-lf-utf8bom [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,-text/zero-byte [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,crlf/all-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,crlf/all-crlf-utf8bom [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,crlf/all-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,crlf/all-lf-utf8bom [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,crlf/binary-all-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,crlf/binary-all-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,crlf/binary-mixed-lf-cr [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,crlf/binary-mixed-lf-cr-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,crlf/few-utf8-chars-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,crlf/few-utf8-chars-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,crlf/many-utf8-chars-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,crlf/many-utf8-chars-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,crlf/mixed-lf-cr [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,crlf/mixed-lf-cr-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,crlf/more-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,crlf/more-crlf-utf8bom [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,crlf/more-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,crlf/more-lf-utf8bom [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,crlf/zero-byte [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/all-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/all-crlf-utf8bom [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/all-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/all-lf-utf8bom [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/binary-all-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/binary-all-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/binary-mixed-lf-cr [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/binary-mixed-lf-cr-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/few-utf8-chars-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/few-utf8-chars-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/many-utf8-chars-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/many-utf8-chars-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/mixed-lf-cr [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/mixed-lf-cr-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/more-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/more-crlf-utf8bom [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/more-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/more-lf-utf8bom [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/zero-byte [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,eol_lf/all-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,eol_lf/all-crlf-utf8bom [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,eol_lf/all-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,eol_lf/all-lf-utf8bom [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,eol_lf/binary-all-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,eol_lf/binary-all-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,eol_lf/binary-mixed-lf-cr [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,eol_lf/binary-mixed-lf-cr-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,eol_lf/few-utf8-chars-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,eol_lf/few-utf8-chars-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,eol_lf/many-utf8-chars-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,eol_lf/many-utf8-chars-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,eol_lf/mixed-lf-cr [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,eol_lf/mixed-lf-cr-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,eol_lf/more-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,eol_lf/more-crlf-utf8bom [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,eol_lf/more-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,eol_lf/more-lf-utf8bom [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,eol_lf/zero-byte [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/all-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/all-crlf-utf8bom [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/all-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/all-lf-utf8bom [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/binary-all-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/binary-all-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/binary-mixed-lf-cr [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/binary-mixed-lf-cr-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/few-utf8-chars-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/few-utf8-chars-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/many-utf8-chars-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/many-utf8-chars-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/mixed-lf-cr [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/mixed-lf-cr-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/more-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/more-crlf-utf8bom [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/more-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/more-lf-utf8bom [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/zero-byte [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/all-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/all-crlf-utf8bom [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/all-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/all-lf-utf8bom [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/binary-all-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/binary-all-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/binary-mixed-lf-cr [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/binary-mixed-lf-cr-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/few-utf8-chars-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/few-utf8-chars-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/many-utf8-chars-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/many-utf8-chars-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/mixed-lf-cr [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/mixed-lf-cr-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/more-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/more-crlf-utf8bom [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/more-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/more-lf-utf8bom [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/zero-byte [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,text/all-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,text/all-crlf-utf8bom [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,text/all-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,text/all-lf-utf8bom [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,text/binary-all-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,text/binary-all-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,text/binary-mixed-lf-cr [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,text/binary-mixed-lf-cr-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,text/few-utf8-chars-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,text/few-utf8-chars-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,text/many-utf8-chars-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,text/many-utf8-chars-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,text/mixed-lf-cr [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,text/mixed-lf-cr-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,text/more-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,text/more-crlf-utf8bom [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,text/more-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,text/more-lf-utf8bom [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,text/zero-byte [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/all-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/all-crlf-utf8bom [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/all-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/all-lf-utf8bom [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/binary-all-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/binary-all-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/few-utf8-chars-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/few-utf8-chars-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/many-utf8-chars-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/many-utf8-chars-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/mixed-lf-cr [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/mixed-lf-cr-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/more-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/more-crlf-utf8bom [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/more-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/more-lf-utf8bom [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/zero-byte [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/all-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/all-crlf-utf8bom [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/all-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/all-lf-utf8bom [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/binary-all-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/binary-all-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/binary-mixed-lf-cr [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/binary-mixed-lf-cr-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/few-utf8-chars-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/few-utf8-chars-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/many-utf8-chars-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/many-utf8-chars-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/mixed-lf-cr [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/mixed-lf-cr-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/more-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/more-crlf-utf8bom [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/more-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/more-lf-utf8bom [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/zero-byte [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,text_auto/all-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,text_auto/all-crlf-utf8bom [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,text_auto/all-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,text_auto/all-lf-utf8bom [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,text_auto/binary-all-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,text_auto/binary-all-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,text_auto/binary-mixed-lf-cr [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,text_auto/binary-mixed-lf-cr-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,text_auto/few-utf8-chars-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,text_auto/few-utf8-chars-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,text_auto/many-utf8-chars-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,text_auto/many-utf8-chars-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,text_auto/mixed-lf-cr [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,text_auto/mixed-lf-cr-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,text_auto/more-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,text_auto/more-crlf-utf8bom [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,text_auto/more-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,text_auto/more-lf-utf8bom [deleted file]
tests/resources/crlf_data/posix/autocrlf_true,text_auto/zero-byte [deleted file]
tests/resources/crlf_data/posix/autocrlf_true/all-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_true/all-crlf-utf8bom [deleted file]
tests/resources/crlf_data/posix/autocrlf_true/all-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_true/all-lf-utf8bom [deleted file]
tests/resources/crlf_data/posix/autocrlf_true/binary-all-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_true/binary-all-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_true/binary-mixed-lf-cr [deleted file]
tests/resources/crlf_data/posix/autocrlf_true/binary-mixed-lf-cr-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_true/few-utf8-chars-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_true/few-utf8-chars-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_true/many-utf8-chars-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_true/many-utf8-chars-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_true/mixed-lf-cr [deleted file]
tests/resources/crlf_data/posix/autocrlf_true/mixed-lf-cr-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_true/more-crlf [deleted file]
tests/resources/crlf_data/posix/autocrlf_true/more-crlf-utf8bom [deleted file]
tests/resources/crlf_data/posix/autocrlf_true/more-lf [deleted file]
tests/resources/crlf_data/posix/autocrlf_true/more-lf-utf8bom [deleted file]
tests/resources/crlf_data/posix/autocrlf_true/zero-byte [deleted file]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/more-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/more-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/more-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/more-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/more-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/more-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/more-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/more-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/more-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/more-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/more-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/more-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/more-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/more-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/all-crlf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/all-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/binary-all-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/binary-mixed-lf-cr-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/few-utf8-chars-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/many-utf8-chars-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/mixed-lf-cr-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/more-crlf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/more-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/more-lf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/more-lf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/all-lf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/all-lf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/binary-all-lf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/binary-mixed-lf-cr-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/binary-mixed-lf-cr.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/few-utf8-chars-lf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/many-utf8-chars-lf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/mixed-lf-cr-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/mixed-lf-cr.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/more-crlf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/more-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/more-lf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/more-lf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/all-crlf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/all-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/binary-all-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/binary-mixed-lf-cr-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/few-utf8-chars-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/many-utf8-chars-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/mixed-lf-cr-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/more-crlf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/more-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/more-lf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/more-lf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/all-lf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/all-lf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/binary-all-lf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/binary-mixed-lf-cr-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/binary-mixed-lf-cr.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/few-utf8-chars-lf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/many-utf8-chars-lf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/mixed-lf-cr-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/mixed-lf-cr.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/more-crlf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/more-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/more-lf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/more-lf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/all-crlf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/all-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/binary-all-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/binary-mixed-lf-cr-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/few-utf8-chars-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/many-utf8-chars-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/mixed-lf-cr-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/more-crlf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/more-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/more-lf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/more-lf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/all-crlf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/all-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/binary-all-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/binary-mixed-lf-cr-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/few-utf8-chars-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/many-utf8-chars-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/mixed-lf-cr-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/more-crlf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/more-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/more-lf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/more-lf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/all-lf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/all-lf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/few-utf8-chars-lf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/many-utf8-chars-lf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/more-crlf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/more-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/more-lf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/more-lf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/all-crlf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/all-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/few-utf8-chars-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/many-utf8-chars-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/more-crlf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/more-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/more-lf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/more-lf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/all-crlf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/all-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/few-utf8-chars-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/many-utf8-chars-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/more-crlf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/more-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/more-lf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/more-lf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/more-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/more-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/more-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/more-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/more-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/more-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/more-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/more-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/more-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/more-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/more-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/more-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/more-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/more-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/more-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/more-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/more-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/more-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/more-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/more-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/more-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/more-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/more-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/more-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/more-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/more-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/more-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/all-crlf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/all-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/binary-all-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/binary-mixed-lf-cr-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/few-utf8-chars-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/many-utf8-chars-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/mixed-lf-cr-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/more-crlf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/more-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/more-lf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/more-lf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/all-lf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/all-lf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/binary-all-lf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/binary-mixed-lf-cr-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/binary-mixed-lf-cr.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/few-utf8-chars-lf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/many-utf8-chars-lf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/mixed-lf-cr-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/mixed-lf-cr.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/more-crlf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/more-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/more-lf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/more-lf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/all-crlf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/all-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/binary-all-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/binary-mixed-lf-cr-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/few-utf8-chars-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/many-utf8-chars-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/mixed-lf-cr-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/more-crlf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/more-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/more-lf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/more-lf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/all-lf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/all-lf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/binary-all-lf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/binary-mixed-lf-cr-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/binary-mixed-lf-cr.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/few-utf8-chars-lf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/many-utf8-chars-lf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/mixed-lf-cr-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/mixed-lf-cr.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/more-crlf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/more-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/more-lf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/more-lf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/all-crlf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/all-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/binary-all-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/binary-mixed-lf-cr-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/few-utf8-chars-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/many-utf8-chars-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/mixed-lf-cr-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/more-crlf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/more-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/more-lf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/more-lf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/all-crlf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/all-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/binary-all-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/binary-mixed-lf-cr-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/few-utf8-chars-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/many-utf8-chars-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/mixed-lf-cr-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/more-crlf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/more-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/more-lf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/more-lf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/all-lf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/all-lf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/few-utf8-chars-lf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/many-utf8-chars-lf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/more-crlf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/more-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/more-lf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/more-lf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/all-crlf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/all-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/few-utf8-chars-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/many-utf8-chars-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/more-crlf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/more-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/more-lf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/more-lf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/all-crlf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/all-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/few-utf8-chars-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/many-utf8-chars-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/more-crlf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/more-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/more-lf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/more-lf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/all-crlf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/all-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/few-utf8-chars-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/many-utf8-chars-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/more-crlf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/more-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/more-lf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/more-lf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/more-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/more-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/more-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/more-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/more-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/more-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/more-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/more-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/more-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/more-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/more-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/more-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/more-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/more-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/more-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/more-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/more-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/more-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/more-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/more-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/more-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/more-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/more-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/more-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/more-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/more-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/all-lf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/all-lf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/binary-all-lf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/binary-mixed-lf-cr-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/binary-mixed-lf-cr.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/few-utf8-chars-lf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/many-utf8-chars-lf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/mixed-lf-cr-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/mixed-lf-cr.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/more-crlf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/more-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/more-lf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/more-lf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/all-lf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/all-lf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/binary-all-lf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/binary-mixed-lf-cr-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/binary-mixed-lf-cr.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/few-utf8-chars-lf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/many-utf8-chars-lf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/mixed-lf-cr-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/mixed-lf-cr.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/more-crlf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/more-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/more-lf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/more-lf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/all-crlf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/all-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/binary-all-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/binary-mixed-lf-cr-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/few-utf8-chars-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/many-utf8-chars-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/mixed-lf-cr-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/more-crlf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/more-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/more-lf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/more-lf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/all-lf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/all-lf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/binary-all-lf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/binary-mixed-lf-cr-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/binary-mixed-lf-cr.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/few-utf8-chars-lf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/many-utf8-chars-lf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/mixed-lf-cr-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/mixed-lf-cr.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/more-crlf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/more-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/more-lf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/more-lf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/all-crlf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/all-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/binary-all-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/binary-mixed-lf-cr-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/few-utf8-chars-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/many-utf8-chars-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/mixed-lf-cr-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/more-crlf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/more-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/more-lf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/more-lf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/all-lf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/all-lf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/binary-all-lf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/binary-mixed-lf-cr-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/binary-mixed-lf-cr.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/few-utf8-chars-lf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/many-utf8-chars-lf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/mixed-lf-cr-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/mixed-lf-cr.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/more-crlf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/more-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/more-lf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/more-lf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/all-lf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/all-lf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/few-utf8-chars-lf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/many-utf8-chars-lf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/more-crlf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/more-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/more-lf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/more-lf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/all-crlf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/all-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/few-utf8-chars-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/many-utf8-chars-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/more-crlf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/more-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/more-lf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/more-lf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/all-lf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/all-lf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/few-utf8-chars-lf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/many-utf8-chars-lf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/more-crlf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/more-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/more-lf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/more-lf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/all-lf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/all-lf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/few-utf8-chars-lf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/many-utf8-chars-lf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/more-crlf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/more-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/more-lf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/more-lf.fail [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/more-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/more-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/more-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/more-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/more-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/more-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/more-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/more-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/HEAD [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/branches [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/more-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/more-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/more-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/more-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-crlf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-crlf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-crlf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-crlf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-crlf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-crlf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-crlf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-crlf/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-crlf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-crlf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-crlf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-crlf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-crlf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-crlf/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-crlf/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-crlf/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-crlf/more-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-crlf/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-crlf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-text/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-text/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-text/all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-text/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-text/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-text/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-text/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-text/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-text/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-text/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-text/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-text/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-text/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-text/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-text/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-text/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-text/more-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-text/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-text/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,crlf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,crlf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,crlf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,crlf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,crlf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,crlf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,crlf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,crlf/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,crlf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,crlf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,crlf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,crlf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,crlf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,crlf/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,crlf/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,crlf/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,crlf/more-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,crlf/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,crlf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_crlf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_crlf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_crlf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_crlf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_crlf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_crlf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_crlf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_crlf/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_crlf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_crlf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_crlf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_crlf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_crlf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_crlf/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_crlf/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_crlf/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_crlf/more-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_crlf/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_crlf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_lf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_lf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_lf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_lf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_lf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_lf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_lf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_lf/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_lf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_lf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_lf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_lf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_lf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_lf/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_lf/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_lf/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_lf/more-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_lf/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_lf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_crlf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_crlf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_crlf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_crlf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_crlf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_crlf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_crlf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_crlf/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_crlf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_crlf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_crlf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_crlf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_crlf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_crlf/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_crlf/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_crlf/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_crlf/more-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_crlf/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_crlf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_lf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_lf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_lf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_lf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_lf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_lf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_lf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_lf/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_lf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_lf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_lf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_lf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_lf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_lf/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_lf/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_lf/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_lf/more-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_lf/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_lf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text/all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text/more-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_crlf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_crlf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_crlf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_crlf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_crlf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_crlf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_crlf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_crlf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_crlf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_crlf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_crlf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_crlf/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_crlf/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_crlf/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_crlf/more-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_crlf/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_crlf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_lf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_lf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_lf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_lf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_lf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_lf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_lf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_lf/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_lf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_lf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_lf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_lf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_lf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_lf/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_lf/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_lf/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_lf/more-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_lf/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_lf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto/all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto/more-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false/all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false/more-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_false/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-crlf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-crlf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-crlf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-crlf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-crlf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-crlf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-crlf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-crlf/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-crlf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-crlf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-crlf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-crlf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-crlf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-crlf/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-crlf/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-crlf/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-crlf/more-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-crlf/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-crlf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-text/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-text/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-text/all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-text/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-text/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-text/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-text/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-text/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-text/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-text/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-text/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-text/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-text/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-text/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-text/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-text/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-text/more-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-text/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-text/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,crlf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,crlf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,crlf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,crlf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,crlf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,crlf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,crlf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,crlf/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,crlf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,crlf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,crlf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,crlf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,crlf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,crlf/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,crlf/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,crlf/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,crlf/more-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,crlf/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,crlf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_crlf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_crlf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_crlf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_crlf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_crlf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_crlf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_crlf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_crlf/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_crlf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_crlf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_crlf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_crlf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_crlf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_crlf/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_crlf/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_crlf/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_crlf/more-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_crlf/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_crlf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_lf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_lf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_lf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_lf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_lf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_lf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_lf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_lf/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_lf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_lf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_lf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_lf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_lf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_lf/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_lf/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_lf/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_lf/more-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_lf/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_lf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_crlf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_crlf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_crlf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_crlf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_crlf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_crlf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_crlf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_crlf/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_crlf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_crlf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_crlf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_crlf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_crlf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_crlf/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_crlf/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_crlf/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_crlf/more-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_crlf/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_crlf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_lf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_lf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_lf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_lf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_lf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_lf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_lf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_lf/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_lf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_lf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_lf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_lf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_lf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_lf/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_lf/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_lf/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_lf/more-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_lf/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_lf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text/all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text/more-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_crlf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_crlf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_crlf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_crlf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_crlf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_crlf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_crlf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_crlf/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_crlf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_crlf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_crlf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_crlf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_crlf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_crlf/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_crlf/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_crlf/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_crlf/more-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_crlf/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_crlf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_lf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_lf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_lf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_lf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_lf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_lf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_lf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_lf/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_lf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_lf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_lf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_lf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_lf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_lf/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_lf/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_lf/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_lf/more-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_lf/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_lf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto/all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto/more-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input/all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input/more-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_input/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-crlf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-crlf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-crlf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-crlf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-crlf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-crlf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-crlf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-crlf/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-crlf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-crlf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-crlf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-crlf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-crlf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-crlf/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-crlf/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-crlf/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-crlf/more-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-crlf/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-crlf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-text/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-text/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-text/all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-text/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-text/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-text/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-text/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-text/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-text/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-text/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-text/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-text/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-text/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-text/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-text/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-text/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-text/more-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-text/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-text/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,crlf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,crlf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,crlf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,crlf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,crlf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,crlf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,crlf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,crlf/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,crlf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,crlf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,crlf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,crlf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,crlf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,crlf/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,crlf/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,crlf/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,crlf/more-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,crlf/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,crlf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_crlf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_crlf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_crlf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_crlf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_crlf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_crlf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_crlf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_crlf/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_crlf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_crlf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_crlf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_crlf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_crlf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_crlf/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_crlf/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_crlf/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_crlf/more-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_crlf/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_crlf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_lf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_lf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_lf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_lf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_lf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_lf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_lf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_lf/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_lf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_lf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_lf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_lf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_lf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_lf/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_lf/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_lf/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_lf/more-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_lf/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_lf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_crlf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_crlf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_crlf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_crlf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_crlf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_crlf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_crlf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_crlf/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_crlf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_crlf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_crlf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_crlf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_crlf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_crlf/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_crlf/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_crlf/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_crlf/more-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_crlf/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_crlf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_lf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_lf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_lf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_lf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_lf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_lf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_lf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_lf/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_lf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_lf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_lf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_lf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_lf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_lf/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_lf/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_lf/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_lf/more-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_lf/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_lf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text/all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text/more-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_crlf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_crlf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_crlf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_crlf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_crlf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_crlf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_crlf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_crlf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_crlf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_crlf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_crlf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_crlf/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_crlf/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_crlf/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_crlf/more-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_crlf/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_crlf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_lf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_lf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_lf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_lf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_lf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_lf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_lf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_lf/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_lf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_lf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_lf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_lf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_lf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_lf/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_lf/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_lf/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_lf/more-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_lf/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_lf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto/all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto/more-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true/all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true/more-lf [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/posix_to_workdir/autocrlf_true/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/windows/autocrlf_false,-crlf/all-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,-crlf/all-crlf-utf8bom [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,-crlf/all-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,-crlf/all-lf-utf8bom [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,-crlf/binary-all-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,-crlf/binary-all-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,-crlf/binary-mixed-lf-cr [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,-crlf/binary-mixed-lf-cr-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,-crlf/few-utf8-chars-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,-crlf/few-utf8-chars-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,-crlf/many-utf8-chars-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,-crlf/many-utf8-chars-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,-crlf/mixed-lf-cr [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,-crlf/mixed-lf-cr-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,-crlf/more-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,-crlf/more-crlf-utf8bom [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,-crlf/more-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,-crlf/more-lf-utf8bom [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,-crlf/zero-byte [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,-text/all-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,-text/all-crlf-utf8bom [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,-text/all-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,-text/all-lf-utf8bom [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,-text/binary-all-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,-text/binary-all-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,-text/binary-mixed-lf-cr [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,-text/binary-mixed-lf-cr-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,-text/few-utf8-chars-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,-text/few-utf8-chars-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,-text/many-utf8-chars-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,-text/many-utf8-chars-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,-text/mixed-lf-cr [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,-text/mixed-lf-cr-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,-text/more-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,-text/more-crlf-utf8bom [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,-text/more-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,-text/more-lf-utf8bom [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,-text/zero-byte [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,crlf/all-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,crlf/all-crlf-utf8bom [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,crlf/all-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,crlf/all-lf-utf8bom [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,crlf/binary-all-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,crlf/binary-all-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,crlf/binary-mixed-lf-cr [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,crlf/binary-mixed-lf-cr-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,crlf/few-utf8-chars-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,crlf/few-utf8-chars-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,crlf/many-utf8-chars-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,crlf/many-utf8-chars-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,crlf/mixed-lf-cr [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,crlf/mixed-lf-cr-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,crlf/more-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,crlf/more-crlf-utf8bom [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,crlf/more-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,crlf/more-lf-utf8bom [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,crlf/zero-byte [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/all-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/all-crlf-utf8bom [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/all-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/all-lf-utf8bom [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/binary-all-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/binary-all-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/binary-mixed-lf-cr [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/binary-mixed-lf-cr-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/few-utf8-chars-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/few-utf8-chars-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/many-utf8-chars-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/many-utf8-chars-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/mixed-lf-cr [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/mixed-lf-cr-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/more-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/more-crlf-utf8bom [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/more-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/more-lf-utf8bom [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/zero-byte [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,eol_lf/all-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,eol_lf/all-crlf-utf8bom [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,eol_lf/all-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,eol_lf/all-lf-utf8bom [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,eol_lf/binary-all-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,eol_lf/binary-all-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,eol_lf/binary-mixed-lf-cr [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,eol_lf/binary-mixed-lf-cr-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,eol_lf/few-utf8-chars-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,eol_lf/few-utf8-chars-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,eol_lf/many-utf8-chars-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,eol_lf/many-utf8-chars-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,eol_lf/mixed-lf-cr [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,eol_lf/mixed-lf-cr-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,eol_lf/more-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,eol_lf/more-crlf-utf8bom [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,eol_lf/more-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,eol_lf/more-lf-utf8bom [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,eol_lf/zero-byte [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/all-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/all-crlf-utf8bom [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/all-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/all-lf-utf8bom [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/binary-all-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/binary-all-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/binary-mixed-lf-cr [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/binary-mixed-lf-cr-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/few-utf8-chars-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/few-utf8-chars-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/many-utf8-chars-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/many-utf8-chars-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/mixed-lf-cr [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/mixed-lf-cr-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/more-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/more-crlf-utf8bom [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/more-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/more-lf-utf8bom [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/zero-byte [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/all-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/all-crlf-utf8bom [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/all-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/all-lf-utf8bom [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/binary-all-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/binary-all-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/binary-mixed-lf-cr [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/binary-mixed-lf-cr-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/few-utf8-chars-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/few-utf8-chars-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/many-utf8-chars-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/many-utf8-chars-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/mixed-lf-cr [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/mixed-lf-cr-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/more-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/more-crlf-utf8bom [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/more-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/more-lf-utf8bom [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/zero-byte [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,text/all-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,text/all-crlf-utf8bom [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,text/all-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,text/all-lf-utf8bom [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,text/binary-all-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,text/binary-all-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,text/binary-mixed-lf-cr [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,text/binary-mixed-lf-cr-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,text/few-utf8-chars-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,text/few-utf8-chars-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,text/many-utf8-chars-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,text/many-utf8-chars-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,text/mixed-lf-cr [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,text/mixed-lf-cr-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,text/more-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,text/more-crlf-utf8bom [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,text/more-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,text/more-lf-utf8bom [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,text/zero-byte [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/all-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/all-crlf-utf8bom [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/all-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/all-lf-utf8bom [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/binary-all-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/binary-all-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/few-utf8-chars-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/few-utf8-chars-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/many-utf8-chars-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/many-utf8-chars-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/mixed-lf-cr [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/mixed-lf-cr-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/more-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/more-crlf-utf8bom [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/more-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/more-lf-utf8bom [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/zero-byte [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/all-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/all-crlf-utf8bom [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/all-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/all-lf-utf8bom [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/binary-all-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/binary-all-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/binary-mixed-lf-cr [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/binary-mixed-lf-cr-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/few-utf8-chars-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/few-utf8-chars-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/many-utf8-chars-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/many-utf8-chars-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/mixed-lf-cr [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/mixed-lf-cr-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/more-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/more-crlf-utf8bom [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/more-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/more-lf-utf8bom [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/zero-byte [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,text_auto/all-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,text_auto/all-crlf-utf8bom [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,text_auto/all-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,text_auto/all-lf-utf8bom [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,text_auto/binary-all-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,text_auto/binary-all-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,text_auto/binary-mixed-lf-cr [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,text_auto/binary-mixed-lf-cr-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,text_auto/few-utf8-chars-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,text_auto/few-utf8-chars-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,text_auto/many-utf8-chars-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,text_auto/many-utf8-chars-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,text_auto/mixed-lf-cr [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,text_auto/mixed-lf-cr-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,text_auto/more-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,text_auto/more-crlf-utf8bom [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,text_auto/more-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,text_auto/more-lf-utf8bom [deleted file]
tests/resources/crlf_data/windows/autocrlf_false,text_auto/zero-byte [deleted file]
tests/resources/crlf_data/windows/autocrlf_false/all-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_false/all-crlf-utf8bom [deleted file]
tests/resources/crlf_data/windows/autocrlf_false/all-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_false/all-lf-utf8bom [deleted file]
tests/resources/crlf_data/windows/autocrlf_false/binary-all-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_false/binary-all-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_false/binary-mixed-lf-cr [deleted file]
tests/resources/crlf_data/windows/autocrlf_false/binary-mixed-lf-cr-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_false/few-utf8-chars-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_false/few-utf8-chars-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_false/many-utf8-chars-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_false/many-utf8-chars-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_false/mixed-lf-cr [deleted file]
tests/resources/crlf_data/windows/autocrlf_false/mixed-lf-cr-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_false/more-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_false/more-crlf-utf8bom [deleted file]
tests/resources/crlf_data/windows/autocrlf_false/more-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_false/more-lf-utf8bom [deleted file]
tests/resources/crlf_data/windows/autocrlf_false/zero-byte [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,-crlf/all-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,-crlf/all-crlf-utf8bom [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,-crlf/all-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,-crlf/all-lf-utf8bom [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,-crlf/binary-all-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,-crlf/binary-all-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,-crlf/binary-mixed-lf-cr [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,-crlf/binary-mixed-lf-cr-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,-crlf/few-utf8-chars-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,-crlf/few-utf8-chars-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,-crlf/many-utf8-chars-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,-crlf/many-utf8-chars-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,-crlf/mixed-lf-cr [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,-crlf/mixed-lf-cr-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,-crlf/more-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,-crlf/more-crlf-utf8bom [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,-crlf/more-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,-crlf/more-lf-utf8bom [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,-crlf/zero-byte [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,-text/all-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,-text/all-crlf-utf8bom [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,-text/all-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,-text/all-lf-utf8bom [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,-text/binary-all-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,-text/binary-all-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,-text/binary-mixed-lf-cr [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,-text/binary-mixed-lf-cr-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,-text/few-utf8-chars-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,-text/few-utf8-chars-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,-text/many-utf8-chars-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,-text/many-utf8-chars-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,-text/mixed-lf-cr [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,-text/mixed-lf-cr-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,-text/more-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,-text/more-crlf-utf8bom [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,-text/more-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,-text/more-lf-utf8bom [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,-text/zero-byte [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,crlf/all-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,crlf/all-crlf-utf8bom [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,crlf/all-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,crlf/all-lf-utf8bom [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,crlf/binary-all-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,crlf/binary-all-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,crlf/binary-mixed-lf-cr [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,crlf/binary-mixed-lf-cr-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,crlf/few-utf8-chars-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,crlf/few-utf8-chars-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,crlf/many-utf8-chars-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,crlf/many-utf8-chars-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,crlf/mixed-lf-cr [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,crlf/mixed-lf-cr-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,crlf/more-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,crlf/more-crlf-utf8bom [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,crlf/more-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,crlf/more-lf-utf8bom [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,crlf/zero-byte [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/all-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/all-crlf-utf8bom [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/all-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/all-lf-utf8bom [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/binary-all-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/binary-all-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/binary-mixed-lf-cr [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/binary-mixed-lf-cr-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/few-utf8-chars-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/few-utf8-chars-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/many-utf8-chars-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/many-utf8-chars-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/mixed-lf-cr [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/mixed-lf-cr-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/more-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/more-crlf-utf8bom [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/more-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/more-lf-utf8bom [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/zero-byte [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,eol_lf/all-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,eol_lf/all-crlf-utf8bom [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,eol_lf/all-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,eol_lf/all-lf-utf8bom [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,eol_lf/binary-all-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,eol_lf/binary-all-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,eol_lf/binary-mixed-lf-cr [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,eol_lf/binary-mixed-lf-cr-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,eol_lf/few-utf8-chars-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,eol_lf/few-utf8-chars-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,eol_lf/many-utf8-chars-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,eol_lf/many-utf8-chars-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,eol_lf/mixed-lf-cr [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,eol_lf/mixed-lf-cr-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,eol_lf/more-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,eol_lf/more-crlf-utf8bom [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,eol_lf/more-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,eol_lf/more-lf-utf8bom [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,eol_lf/zero-byte [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/all-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/all-crlf-utf8bom [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/all-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/all-lf-utf8bom [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/binary-all-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/binary-all-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/binary-mixed-lf-cr [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/binary-mixed-lf-cr-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/few-utf8-chars-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/few-utf8-chars-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/many-utf8-chars-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/many-utf8-chars-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/mixed-lf-cr [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/mixed-lf-cr-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/more-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/more-crlf-utf8bom [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/more-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/more-lf-utf8bom [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/zero-byte [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/all-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/all-crlf-utf8bom [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/all-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/all-lf-utf8bom [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/binary-all-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/binary-all-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/binary-mixed-lf-cr [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/binary-mixed-lf-cr-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/few-utf8-chars-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/few-utf8-chars-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/many-utf8-chars-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/many-utf8-chars-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/mixed-lf-cr [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/mixed-lf-cr-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/more-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/more-crlf-utf8bom [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/more-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/more-lf-utf8bom [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/zero-byte [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,text/all-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,text/all-crlf-utf8bom [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,text/all-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,text/all-lf-utf8bom [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,text/binary-all-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,text/binary-all-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,text/binary-mixed-lf-cr [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,text/binary-mixed-lf-cr-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,text/few-utf8-chars-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,text/few-utf8-chars-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,text/many-utf8-chars-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,text/many-utf8-chars-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,text/mixed-lf-cr [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,text/mixed-lf-cr-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,text/more-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,text/more-crlf-utf8bom [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,text/more-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,text/more-lf-utf8bom [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,text/zero-byte [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/all-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/all-crlf-utf8bom [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/all-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/all-lf-utf8bom [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/binary-all-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/binary-all-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/binary-mixed-lf-cr [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/binary-mixed-lf-cr-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/few-utf8-chars-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/few-utf8-chars-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/many-utf8-chars-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/many-utf8-chars-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/mixed-lf-cr [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/mixed-lf-cr-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/more-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/more-crlf-utf8bom [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/more-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/more-lf-utf8bom [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/zero-byte [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/all-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/all-crlf-utf8bom [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/all-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/all-lf-utf8bom [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/binary-all-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/binary-all-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/binary-mixed-lf-cr [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/binary-mixed-lf-cr-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/few-utf8-chars-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/few-utf8-chars-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/many-utf8-chars-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/many-utf8-chars-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/mixed-lf-cr [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/mixed-lf-cr-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/more-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/more-crlf-utf8bom [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/more-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/more-lf-utf8bom [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/zero-byte [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,text_auto/all-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,text_auto/all-crlf-utf8bom [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,text_auto/all-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,text_auto/all-lf-utf8bom [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,text_auto/binary-all-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,text_auto/binary-all-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,text_auto/binary-mixed-lf-cr [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,text_auto/binary-mixed-lf-cr-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,text_auto/few-utf8-chars-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,text_auto/few-utf8-chars-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,text_auto/many-utf8-chars-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,text_auto/many-utf8-chars-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,text_auto/mixed-lf-cr [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,text_auto/mixed-lf-cr-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,text_auto/more-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,text_auto/more-crlf-utf8bom [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,text_auto/more-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,text_auto/more-lf-utf8bom [deleted file]
tests/resources/crlf_data/windows/autocrlf_input,text_auto/zero-byte [deleted file]
tests/resources/crlf_data/windows/autocrlf_input/all-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_input/all-crlf-utf8bom [deleted file]
tests/resources/crlf_data/windows/autocrlf_input/all-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_input/all-lf-utf8bom [deleted file]
tests/resources/crlf_data/windows/autocrlf_input/binary-all-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_input/binary-all-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_input/binary-mixed-lf-cr [deleted file]
tests/resources/crlf_data/windows/autocrlf_input/binary-mixed-lf-cr-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_input/few-utf8-chars-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_input/few-utf8-chars-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_input/many-utf8-chars-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_input/many-utf8-chars-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_input/mixed-lf-cr [deleted file]
tests/resources/crlf_data/windows/autocrlf_input/mixed-lf-cr-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_input/more-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_input/more-crlf-utf8bom [deleted file]
tests/resources/crlf_data/windows/autocrlf_input/more-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_input/more-lf-utf8bom [deleted file]
tests/resources/crlf_data/windows/autocrlf_input/zero-byte [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,-crlf/all-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,-crlf/all-crlf-utf8bom [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,-crlf/all-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,-crlf/all-lf-utf8bom [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,-crlf/binary-all-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,-crlf/binary-all-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,-crlf/binary-mixed-lf-cr [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,-crlf/binary-mixed-lf-cr-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,-crlf/few-utf8-chars-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,-crlf/few-utf8-chars-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,-crlf/many-utf8-chars-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,-crlf/many-utf8-chars-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,-crlf/mixed-lf-cr [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,-crlf/mixed-lf-cr-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,-crlf/more-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,-crlf/more-crlf-utf8bom [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,-crlf/more-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,-crlf/more-lf-utf8bom [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,-crlf/zero-byte [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,-text/all-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,-text/all-crlf-utf8bom [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,-text/all-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,-text/all-lf-utf8bom [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,-text/binary-all-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,-text/binary-all-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,-text/binary-mixed-lf-cr [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,-text/binary-mixed-lf-cr-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,-text/few-utf8-chars-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,-text/few-utf8-chars-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,-text/many-utf8-chars-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,-text/many-utf8-chars-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,-text/mixed-lf-cr [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,-text/mixed-lf-cr-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,-text/more-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,-text/more-crlf-utf8bom [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,-text/more-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,-text/more-lf-utf8bom [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,-text/zero-byte [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,crlf/all-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,crlf/all-crlf-utf8bom [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,crlf/all-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,crlf/all-lf-utf8bom [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,crlf/binary-all-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,crlf/binary-all-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,crlf/binary-mixed-lf-cr [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,crlf/binary-mixed-lf-cr-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,crlf/few-utf8-chars-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,crlf/few-utf8-chars-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,crlf/many-utf8-chars-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,crlf/many-utf8-chars-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,crlf/mixed-lf-cr [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,crlf/mixed-lf-cr-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,crlf/more-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,crlf/more-crlf-utf8bom [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,crlf/more-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,crlf/more-lf-utf8bom [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,crlf/zero-byte [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/all-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/all-crlf-utf8bom [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/all-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/all-lf-utf8bom [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/binary-all-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/binary-all-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/binary-mixed-lf-cr [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/binary-mixed-lf-cr-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/few-utf8-chars-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/few-utf8-chars-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/many-utf8-chars-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/many-utf8-chars-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/mixed-lf-cr [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/mixed-lf-cr-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/more-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/more-crlf-utf8bom [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/more-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/more-lf-utf8bom [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/zero-byte [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,eol_lf/all-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,eol_lf/all-crlf-utf8bom [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,eol_lf/all-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,eol_lf/all-lf-utf8bom [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,eol_lf/binary-all-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,eol_lf/binary-all-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,eol_lf/binary-mixed-lf-cr [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,eol_lf/binary-mixed-lf-cr-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,eol_lf/few-utf8-chars-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,eol_lf/few-utf8-chars-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,eol_lf/many-utf8-chars-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,eol_lf/many-utf8-chars-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,eol_lf/mixed-lf-cr [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,eol_lf/mixed-lf-cr-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,eol_lf/more-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,eol_lf/more-crlf-utf8bom [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,eol_lf/more-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,eol_lf/more-lf-utf8bom [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,eol_lf/zero-byte [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/all-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/all-crlf-utf8bom [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/all-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/all-lf-utf8bom [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/binary-all-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/binary-all-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/binary-mixed-lf-cr [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/binary-mixed-lf-cr-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/few-utf8-chars-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/few-utf8-chars-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/many-utf8-chars-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/many-utf8-chars-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/mixed-lf-cr [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/mixed-lf-cr-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/more-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/more-crlf-utf8bom [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/more-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/more-lf-utf8bom [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/zero-byte [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/all-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/all-crlf-utf8bom [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/all-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/all-lf-utf8bom [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/binary-all-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/binary-all-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/binary-mixed-lf-cr [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/binary-mixed-lf-cr-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/few-utf8-chars-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/few-utf8-chars-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/many-utf8-chars-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/many-utf8-chars-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/mixed-lf-cr [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/mixed-lf-cr-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/more-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/more-crlf-utf8bom [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/more-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/more-lf-utf8bom [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/zero-byte [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,text/all-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,text/all-crlf-utf8bom [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,text/all-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,text/all-lf-utf8bom [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,text/binary-all-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,text/binary-all-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,text/binary-mixed-lf-cr [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,text/binary-mixed-lf-cr-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,text/few-utf8-chars-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,text/few-utf8-chars-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,text/many-utf8-chars-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,text/many-utf8-chars-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,text/mixed-lf-cr [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,text/mixed-lf-cr-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,text/more-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,text/more-crlf-utf8bom [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,text/more-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,text/more-lf-utf8bom [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,text/zero-byte [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/all-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/all-crlf-utf8bom [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/all-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/all-lf-utf8bom [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/binary-all-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/binary-all-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/few-utf8-chars-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/few-utf8-chars-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/many-utf8-chars-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/many-utf8-chars-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/mixed-lf-cr [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/mixed-lf-cr-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/more-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/more-crlf-utf8bom [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/more-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/more-lf-utf8bom [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/zero-byte [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/all-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/all-crlf-utf8bom [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/all-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/all-lf-utf8bom [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/binary-all-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/binary-all-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/binary-mixed-lf-cr [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/binary-mixed-lf-cr-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/few-utf8-chars-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/few-utf8-chars-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/many-utf8-chars-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/many-utf8-chars-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/mixed-lf-cr [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/mixed-lf-cr-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/more-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/more-crlf-utf8bom [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/more-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/more-lf-utf8bom [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/zero-byte [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,text_auto/all-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,text_auto/all-crlf-utf8bom [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,text_auto/all-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,text_auto/all-lf-utf8bom [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,text_auto/binary-all-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,text_auto/binary-all-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,text_auto/binary-mixed-lf-cr [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,text_auto/binary-mixed-lf-cr-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,text_auto/few-utf8-chars-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,text_auto/few-utf8-chars-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,text_auto/many-utf8-chars-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,text_auto/many-utf8-chars-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,text_auto/mixed-lf-cr [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,text_auto/mixed-lf-cr-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,text_auto/more-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,text_auto/more-crlf-utf8bom [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,text_auto/more-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,text_auto/more-lf-utf8bom [deleted file]
tests/resources/crlf_data/windows/autocrlf_true,text_auto/zero-byte [deleted file]
tests/resources/crlf_data/windows/autocrlf_true/all-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_true/all-crlf-utf8bom [deleted file]
tests/resources/crlf_data/windows/autocrlf_true/all-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_true/all-lf-utf8bom [deleted file]
tests/resources/crlf_data/windows/autocrlf_true/binary-all-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_true/binary-all-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_true/binary-mixed-lf-cr [deleted file]
tests/resources/crlf_data/windows/autocrlf_true/binary-mixed-lf-cr-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_true/few-utf8-chars-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_true/few-utf8-chars-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_true/many-utf8-chars-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_true/many-utf8-chars-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_true/mixed-lf-cr [deleted file]
tests/resources/crlf_data/windows/autocrlf_true/mixed-lf-cr-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_true/more-crlf [deleted file]
tests/resources/crlf_data/windows/autocrlf_true/more-crlf-utf8bom [deleted file]
tests/resources/crlf_data/windows/autocrlf_true/more-lf [deleted file]
tests/resources/crlf_data/windows/autocrlf_true/more-lf-utf8bom [deleted file]
tests/resources/crlf_data/windows/autocrlf_true/zero-byte [deleted file]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/more-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/more-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/more-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/more-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/more-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/more-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/more-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/more-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/more-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/more-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/more-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/more-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/more-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/more-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/all-lf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/all-lf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/binary-all-lf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/binary-mixed-lf-cr-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/binary-mixed-lf-cr.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/few-utf8-chars-lf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/many-utf8-chars-lf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/mixed-lf-cr-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/mixed-lf-cr.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/more-crlf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/more-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/more-lf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/more-lf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/all-lf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/all-lf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/binary-all-lf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/binary-mixed-lf-cr-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/binary-mixed-lf-cr.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/few-utf8-chars-lf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/many-utf8-chars-lf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/mixed-lf-cr-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/mixed-lf-cr.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/more-crlf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/more-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/more-lf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/more-lf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/all-crlf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/all-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/binary-all-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/binary-mixed-lf-cr-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/few-utf8-chars-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/many-utf8-chars-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/mixed-lf-cr-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/more-crlf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/more-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/more-lf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/more-lf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/all-lf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/all-lf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/binary-all-lf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/binary-mixed-lf-cr-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/binary-mixed-lf-cr.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/few-utf8-chars-lf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/many-utf8-chars-lf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/mixed-lf-cr-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/mixed-lf-cr.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/more-crlf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/more-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/more-lf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/more-lf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/all-crlf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/all-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/binary-all-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/binary-mixed-lf-cr-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/few-utf8-chars-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/many-utf8-chars-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/mixed-lf-cr-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/more-crlf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/more-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/more-lf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/more-lf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/all-lf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/all-lf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/binary-all-lf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/binary-mixed-lf-cr-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/binary-mixed-lf-cr.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/few-utf8-chars-lf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/many-utf8-chars-lf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/mixed-lf-cr-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/mixed-lf-cr.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/more-crlf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/more-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/more-lf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/more-lf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/all-lf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/all-lf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/few-utf8-chars-lf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/many-utf8-chars-lf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/more-crlf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/more-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/more-lf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/more-lf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/all-crlf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/all-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/few-utf8-chars-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/many-utf8-chars-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/more-crlf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/more-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/more-lf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/more-lf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/all-lf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/all-lf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/few-utf8-chars-lf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/many-utf8-chars-lf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/more-crlf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/more-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/more-lf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/more-lf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/more-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/more-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/more-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/more-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/more-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/more-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/more-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/more-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/more-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/more-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/more-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/more-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/more-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/more-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/more-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/more-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/more-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/more-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/more-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/more-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/more-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/more-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/more-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/more-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/more-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/more-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/more-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/all-crlf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/all-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/binary-all-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/binary-mixed-lf-cr-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/few-utf8-chars-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/many-utf8-chars-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/mixed-lf-cr-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/more-crlf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/more-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/more-lf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/more-lf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/all-lf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/all-lf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/binary-all-lf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/binary-mixed-lf-cr-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/binary-mixed-lf-cr.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/few-utf8-chars-lf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/many-utf8-chars-lf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/mixed-lf-cr-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/mixed-lf-cr.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/more-crlf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/more-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/more-lf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/more-lf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/all-crlf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/all-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/binary-all-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/binary-mixed-lf-cr-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/few-utf8-chars-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/many-utf8-chars-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/mixed-lf-cr-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/more-crlf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/more-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/more-lf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/more-lf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/all-lf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/all-lf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/binary-all-lf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/binary-mixed-lf-cr-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/binary-mixed-lf-cr.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/few-utf8-chars-lf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/many-utf8-chars-lf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/mixed-lf-cr-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/mixed-lf-cr.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/more-crlf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/more-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/more-lf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/more-lf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/all-crlf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/all-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/binary-all-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/binary-mixed-lf-cr-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/few-utf8-chars-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/many-utf8-chars-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/mixed-lf-cr-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/more-crlf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/more-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/more-lf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/more-lf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/all-crlf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/all-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/binary-all-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/binary-mixed-lf-cr-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/few-utf8-chars-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/many-utf8-chars-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/mixed-lf-cr-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/more-crlf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/more-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/more-lf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/more-lf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/all-lf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/all-lf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/few-utf8-chars-lf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/many-utf8-chars-lf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/more-crlf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/more-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/more-lf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/more-lf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/all-crlf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/all-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/few-utf8-chars-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/many-utf8-chars-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/more-crlf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/more-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/more-lf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/more-lf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/all-crlf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/all-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/few-utf8-chars-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/many-utf8-chars-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/more-crlf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/more-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/more-lf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/more-lf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/all-crlf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/all-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/few-utf8-chars-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/many-utf8-chars-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/more-crlf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/more-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/more-lf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/more-lf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/more-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/more-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/more-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/more-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/more-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/more-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/more-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/more-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/more-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/more-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/more-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/more-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/more-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/more-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/more-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/more-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/more-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/more-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/more-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/more-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/more-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/more-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/more-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/more-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/more-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/more-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/all-lf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/all-lf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/binary-all-lf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/binary-mixed-lf-cr-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/binary-mixed-lf-cr.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/few-utf8-chars-lf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/many-utf8-chars-lf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/mixed-lf-cr-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/mixed-lf-cr.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/more-crlf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/more-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/more-lf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/more-lf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/all-lf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/all-lf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/binary-all-lf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/binary-mixed-lf-cr-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/binary-mixed-lf-cr.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/few-utf8-chars-lf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/many-utf8-chars-lf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/mixed-lf-cr-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/mixed-lf-cr.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/more-crlf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/more-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/more-lf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/more-lf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/all-crlf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/all-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/binary-all-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/binary-mixed-lf-cr-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/few-utf8-chars-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/many-utf8-chars-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/mixed-lf-cr-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/more-crlf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/more-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/more-lf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/more-lf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/all-lf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/all-lf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/binary-all-lf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/binary-mixed-lf-cr-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/binary-mixed-lf-cr.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/few-utf8-chars-lf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/many-utf8-chars-lf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/mixed-lf-cr-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/mixed-lf-cr.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/more-crlf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/more-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/more-lf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/more-lf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/all-crlf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/all-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/binary-all-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/binary-mixed-lf-cr-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/few-utf8-chars-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/many-utf8-chars-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/mixed-lf-cr-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/more-crlf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/more-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/more-lf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/more-lf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/all-lf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/all-lf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/binary-all-lf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/binary-mixed-lf-cr-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/binary-mixed-lf-cr.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/few-utf8-chars-lf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/many-utf8-chars-lf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/mixed-lf-cr-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/mixed-lf-cr.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/more-crlf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/more-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/more-lf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/more-lf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/all-lf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/all-lf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/few-utf8-chars-lf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/many-utf8-chars-lf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/more-crlf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/more-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/more-lf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/more-lf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/all-crlf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/all-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/few-utf8-chars-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/many-utf8-chars-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/more-crlf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/more-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/more-lf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/more-lf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/all-lf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/all-lf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/few-utf8-chars-lf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/many-utf8-chars-lf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/more-crlf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/more-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/more-lf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/more-lf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/all-lf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/all-lf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/few-utf8-chars-lf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/many-utf8-chars-lf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/more-crlf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/more-crlf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/more-lf-utf8bom.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/more-lf.fail [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/more-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/more-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/more-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/more-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/more-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/more-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/more-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/more-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/more-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/more-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/more-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/more-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-crlf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-crlf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-crlf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-crlf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-crlf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-crlf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-crlf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-crlf/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-crlf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-crlf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-crlf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-crlf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-crlf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-crlf/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-crlf/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-crlf/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-crlf/more-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-crlf/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-crlf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-text/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-text/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-text/all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-text/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-text/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-text/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-text/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-text/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-text/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-text/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-text/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-text/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-text/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-text/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-text/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-text/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-text/more-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-text/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-text/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,crlf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,crlf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,crlf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,crlf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,crlf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,crlf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,crlf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,crlf/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,crlf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,crlf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,crlf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,crlf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,crlf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,crlf/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,crlf/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,crlf/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,crlf/more-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,crlf/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,crlf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_crlf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_crlf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_crlf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_crlf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_crlf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_crlf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_crlf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_crlf/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_crlf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_crlf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_crlf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_crlf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_crlf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_crlf/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_crlf/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_crlf/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_crlf/more-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_crlf/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_crlf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_lf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_lf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_lf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_lf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_lf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_lf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_lf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_lf/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_lf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_lf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_lf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_lf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_lf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_lf/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_lf/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_lf/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_lf/more-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_lf/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_lf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_crlf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_crlf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_crlf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_crlf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_crlf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_crlf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_crlf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_crlf/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_crlf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_crlf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_crlf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_crlf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_crlf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_crlf/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_crlf/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_crlf/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_crlf/more-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_crlf/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_crlf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_lf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_lf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_lf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_lf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_lf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_lf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_lf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_lf/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_lf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_lf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_lf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_lf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_lf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_lf/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_lf/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_lf/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_lf/more-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_lf/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_lf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text/all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text/more-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_crlf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_crlf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_crlf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_crlf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_crlf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_crlf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_crlf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_crlf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_crlf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_crlf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_crlf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_crlf/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_crlf/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_crlf/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_crlf/more-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_crlf/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_crlf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_lf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_lf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_lf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_lf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_lf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_lf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_lf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_lf/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_lf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_lf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_lf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_lf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_lf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_lf/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_lf/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_lf/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_lf/more-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_lf/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_lf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto/all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto/more-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false/all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false/more-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_false/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-crlf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-crlf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-crlf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-crlf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-crlf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-crlf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-crlf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-crlf/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-crlf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-crlf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-crlf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-crlf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-crlf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-crlf/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-crlf/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-crlf/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-crlf/more-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-crlf/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-crlf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-text/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-text/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-text/all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-text/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-text/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-text/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-text/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-text/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-text/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-text/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-text/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-text/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-text/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-text/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-text/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-text/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-text/more-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-text/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-text/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,crlf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,crlf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,crlf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,crlf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,crlf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,crlf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,crlf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,crlf/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,crlf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,crlf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,crlf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,crlf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,crlf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,crlf/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,crlf/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,crlf/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,crlf/more-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,crlf/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,crlf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_crlf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_crlf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_crlf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_crlf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_crlf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_crlf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_crlf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_crlf/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_crlf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_crlf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_crlf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_crlf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_crlf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_crlf/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_crlf/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_crlf/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_crlf/more-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_crlf/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_crlf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_lf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_lf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_lf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_lf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_lf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_lf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_lf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_lf/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_lf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_lf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_lf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_lf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_lf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_lf/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_lf/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_lf/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_lf/more-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_lf/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_lf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_crlf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_crlf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_crlf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_crlf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_crlf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_crlf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_crlf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_crlf/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_crlf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_crlf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_crlf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_crlf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_crlf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_crlf/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_crlf/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_crlf/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_crlf/more-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_crlf/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_crlf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_lf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_lf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_lf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_lf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_lf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_lf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_lf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_lf/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_lf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_lf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_lf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_lf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_lf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_lf/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_lf/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_lf/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_lf/more-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_lf/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_lf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text/all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text/more-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_crlf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_crlf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_crlf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_crlf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_crlf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_crlf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_crlf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_crlf/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_crlf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_crlf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_crlf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_crlf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_crlf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_crlf/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_crlf/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_crlf/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_crlf/more-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_crlf/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_crlf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_lf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_lf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_lf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_lf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_lf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_lf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_lf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_lf/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_lf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_lf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_lf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_lf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_lf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_lf/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_lf/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_lf/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_lf/more-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_lf/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_lf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto/all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto/more-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input/all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input/more-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_input/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-crlf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-crlf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-crlf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-crlf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-crlf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-crlf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-crlf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-crlf/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-crlf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-crlf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-crlf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-crlf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-crlf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-crlf/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-crlf/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-crlf/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-crlf/more-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-crlf/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-crlf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-text/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-text/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-text/all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-text/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-text/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-text/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-text/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-text/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-text/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-text/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-text/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-text/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-text/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-text/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-text/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-text/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-text/more-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-text/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-text/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,crlf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,crlf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,crlf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,crlf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,crlf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,crlf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,crlf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,crlf/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,crlf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,crlf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,crlf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,crlf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,crlf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,crlf/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,crlf/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,crlf/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,crlf/more-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,crlf/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,crlf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_crlf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_crlf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_crlf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_crlf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_crlf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_crlf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_crlf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_crlf/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_crlf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_crlf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_crlf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_crlf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_crlf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_crlf/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_crlf/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_crlf/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_crlf/more-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_crlf/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_crlf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_lf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_lf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_lf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_lf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_lf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_lf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_lf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_lf/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_lf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_lf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_lf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_lf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_lf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_lf/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_lf/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_lf/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_lf/more-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_lf/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_lf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_crlf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_crlf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_crlf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_crlf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_crlf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_crlf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_crlf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_crlf/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_crlf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_crlf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_crlf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_crlf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_crlf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_crlf/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_crlf/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_crlf/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_crlf/more-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_crlf/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_crlf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_lf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_lf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_lf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_lf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_lf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_lf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_lf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_lf/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_lf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_lf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_lf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_lf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_lf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_lf/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_lf/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_lf/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_lf/more-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_lf/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_lf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text/all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text/more-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_crlf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_crlf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_crlf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_crlf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_crlf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_crlf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_crlf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_crlf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_crlf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_crlf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_crlf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_crlf/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_crlf/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_crlf/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_crlf/more-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_crlf/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_crlf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_lf/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_lf/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_lf/all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_lf/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_lf/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_lf/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_lf/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_lf/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_lf/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_lf/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_lf/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_lf/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_lf/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_lf/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_lf/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_lf/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_lf/more-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_lf/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_lf/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto/all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto/more-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto/zero-byte [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true/all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true/all-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true/all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true/all-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true/binary-all-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true/binary-all-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true/binary-mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true/binary-mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true/few-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true/few-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true/many-utf8-chars-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true/many-utf8-chars-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true/mixed-lf-cr [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true/mixed-lf-cr-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true/more-crlf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true/more-crlf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true/more-lf [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true/more-lf-utf8bom [new file with mode: 0644]
tests/resources/crlf_data/windows_to_workdir/autocrlf_true/zero-byte [new file with mode: 0644]
tests/resources/diff_format_email/.gitted/index
tests/resources/diff_format_email/.gitted/objects/07/594f324ebcf92902334c6016e30e716431dfbc [new file with mode: 0644]
tests/resources/diff_format_email/.gitted/objects/0d/593fca18d1ab11deb6e8025c9fe417456fe883 [new file with mode: 0644]
tests/resources/diff_format_email/.gitted/objects/0d/b2a262bc8c5c3cba55254730045a8258da7a37 [new file with mode: 0644]
tests/resources/diff_format_email/.gitted/objects/39/ed6bbd76bca81c50db3aaca261456284f5d5b8 [new file with mode: 0644]
tests/resources/diff_format_email/.gitted/objects/53/92ef3c959f744b892bbebb168bbbb7b05c03f3 [new file with mode: 0644]
tests/resources/diff_format_email/.gitted/objects/85/fa91713734c588c897dd6dd67a39576f67ae50 [new file with mode: 0644]
tests/resources/diff_format_email/.gitted/objects/8c/637df9661edd808932b2f5d383f2c41ced9f06 [new file with mode: 0644]
tests/resources/diff_format_email/.gitted/objects/94/f84b3e65e8bcbe8bffef2c885339343a802dd4 [new file with mode: 0644]
tests/resources/diff_format_email/.gitted/objects/bb/07a00e58b260c4eb9a82f8afbc1d80ad9739bf [new file with mode: 0644]
tests/resources/diff_format_email/.gitted/refs/heads/master
tests/resources/diff_format_email/dir/renamed.txt [new file with mode: 0644]
tests/resources/generate_crlf.sh [new file with mode: 0755]
tests/resources/mailmap/.gitted/HEAD [new file with mode: 0644]
tests/resources/mailmap/.gitted/config [new file with mode: 0644]
tests/resources/mailmap/.gitted/description [new file with mode: 0644]
tests/resources/mailmap/.gitted/index [new file with mode: 0644]
tests/resources/mailmap/.gitted/info/exclude [new file with mode: 0644]
tests/resources/mailmap/.gitted/objects/00/1387531bed84262f137837125d4d998a9ba65d [new file with mode: 0644]
tests/resources/mailmap/.gitted/objects/02/7b2816ae0d7a08ba656d0417c09b4eac18cf00 [new file with mode: 0644]
tests/resources/mailmap/.gitted/objects/09/20975110511365e56aec2263082d0c3d56d1fa [new file with mode: 0644]
tests/resources/mailmap/.gitted/objects/0c/d99501dfbec781a22ff7b84426b7bb308e709a [new file with mode: 0644]
tests/resources/mailmap/.gitted/objects/1e/1212e7674820c17f7b8797aee7bf38ece0e838 [new file with mode: 0644]
tests/resources/mailmap/.gitted/objects/36/370b71f5aad1dd46bec5e14145280a843c9f49 [new file with mode: 0644]
tests/resources/mailmap/.gitted/objects/3a/1295dbc9234c0c5947c72803618c7112a01447 [new file with mode: 0644]
tests/resources/mailmap/.gitted/objects/3f/134546ae8fbe95a39dd20ea8c12b5fb0f48afb [new file with mode: 0644]
tests/resources/mailmap/.gitted/objects/43/179dc93939196f59b25387b5e44e9e8794f84c [new file with mode: 0644]
tests/resources/mailmap/.gitted/objects/46/b5bb908c78b575cac9f9e6e42ff9ba3f769a46 [new file with mode: 0644]
tests/resources/mailmap/.gitted/objects/4b/4d2010ba256ef339c1d1854d20249da7478f01 [new file with mode: 0644]
tests/resources/mailmap/.gitted/objects/4b/825dc642cb6eb9a060e54bf8d69288fbee4904 [new file with mode: 0644]
tests/resources/mailmap/.gitted/objects/4d/61d588546529ad27b2d77a3d6b05460ecb4be0 [new file with mode: 0644]
tests/resources/mailmap/.gitted/objects/50/d69f4e64be2cff2cedde8f9b7f970257caf4dd [new file with mode: 0644]
tests/resources/mailmap/.gitted/objects/61/293f4c3d7500d227a755a7a8258e28e53449b2 [new file with mode: 0644]
tests/resources/mailmap/.gitted/objects/62/7f0bd2f4fb5e949b79ba450d84676fa876b1c8 [new file with mode: 0644]
tests/resources/mailmap/.gitted/objects/68/dfd5e5cb6138488680246d134f47ce559f4cf1 [new file with mode: 0644]
tests/resources/mailmap/.gitted/objects/69/b9768d022706dab26e2af4dd5a13f42039e36f [new file with mode: 0644]
tests/resources/mailmap/.gitted/objects/6a/0fc44893d4867166f9d321f78c269b3e42b08b [new file with mode: 0644]
tests/resources/mailmap/.gitted/objects/6c/dec08ab9bfcd5a3d889f27bbed650317e3ec13 [new file with mode: 0644]
tests/resources/mailmap/.gitted/objects/71/00e631fb4d5deba31fdc8acc98f4fb5c1573fd [new file with mode: 0644]
tests/resources/mailmap/.gitted/objects/7e/cbb98d860b304f622b38ce9ab8f08d14d981a8 [new file with mode: 0644]
tests/resources/mailmap/.gitted/objects/7e/e7b9a4a2a1eda925f6260338c063d8211d5ad5 [new file with mode: 0644]
tests/resources/mailmap/.gitted/objects/83/714a9223f3e072b85f0d4301cd2081fff3acf2 [new file with mode: 0644]
tests/resources/mailmap/.gitted/objects/87/ce8d4920a30ddb9547334e7c65806518863ff1 [new file with mode: 0644]
tests/resources/mailmap/.gitted/objects/8c/f0547fcb649b44ebaf39b8104982bb0abb4e69 [new file with mode: 0644]
tests/resources/mailmap/.gitted/objects/94/7ff75c33ac7941a32fe9900118b6ba85ab2be9 [new file with mode: 0644]
tests/resources/mailmap/.gitted/objects/95/d03c49d94de67d5a05553a1bb22e78f7cdf5ca [new file with mode: 0644]
tests/resources/mailmap/.gitted/objects/96/78a4325710507f7bf598a0fde5ebbd88148614 [new file with mode: 0644]
tests/resources/mailmap/.gitted/objects/a1/6db1cbb8817dddcf199c12d3c81221cf8eefc4 [new file with mode: 0644]
tests/resources/mailmap/.gitted/objects/a7/054a4b356b3ecdec60cee66e50beaa5b863755 [new file with mode: 0644]
tests/resources/mailmap/.gitted/objects/a7/eb40274887baeb01a958ead80d106b5977312c [new file with mode: 0644]
tests/resources/mailmap/.gitted/objects/c9/e5462de8ec453e94d85f26f64b80ea76fda6d4 [new file with mode: 0644]
tests/resources/mailmap/.gitted/objects/d3/e5e624cc7bfb09ac1960ebb6c458021b098f87 [new file with mode: 0644]
tests/resources/mailmap/.gitted/objects/f6/3578091d884c3066a003c50eb6c85ae7542269 [new file with mode: 0644]
tests/resources/mailmap/.gitted/objects/fe/dd34e8baffdb2acfe9a6860bf339287ca942bc [new file with mode: 0644]
tests/resources/mailmap/.gitted/objects/fe/ef8f2135df4835496e4d576b1f1bd23510e1c5 [new file with mode: 0644]
tests/resources/mailmap/.gitted/refs/heads/master [new file with mode: 0644]
tests/resources/mailmap/.mailmap [new file with mode: 0644]
tests/resources/mailmap/file.txt [new file with mode: 0644]
tests/resources/mailmap/file_override [new file with mode: 0644]
tests/resources/merge-recursive/.gitted/objects/06/d3fefb8726ab1099acc76e02dfb85e034b2538 [new file with mode: 0644]
tests/resources/push.sh
tests/resources/splitindex/.gitted/HEAD [new file with mode: 0644]
tests/resources/splitindex/.gitted/config [new file with mode: 0644]
tests/resources/splitindex/.gitted/index [new file with mode: 0644]
tests/resources/splitindex/.gitted/info/exclude [new file with mode: 0644]
tests/resources/splitindex/.gitted/objects/.gitkeep [new file with mode: 0644]
tests/resources/splitindex/.gitted/refs/.gitkeep [new file with mode: 0644]
tests/resources/splitindex/.gitted/sharedindex.39d890139ee5356c7ef572216cebcd27aa41f9df [new file with mode: 0644]
tests/resources/testrepo/.gitted/index
tests/resources/testrepo/.gitted/objects/97/328ac7e3bd0bcd3900cb3e7a624d71dd0df888 [new file with mode: 0644]
tests/resources/testrepo/.gitted/objects/99/1f1b12603e1d78411c1b4042719f964efa7adf [new file with mode: 0644]
tests/revert/bare.c
tests/revert/workdir.c
tests/revwalk/basic.c
tests/revwalk/hidecb.c
tests/revwalk/mergebase.c
tests/stash/apply.c
tests/stash/save.c
tests/status/ignore.c
tests/status/renames.c
tests/status/single.c
tests/status/status_data.h
tests/status/worktree.c
tests/stream/deprecated.c [new file with mode: 0644]
tests/stream/registration.c [new file with mode: 0644]
tests/stress/diff.c
tests/submodule/add.c
tests/submodule/escape.c
tests/submodule/init.c
tests/submodule/inject_option.c
tests/submodule/lookup.c
tests/submodule/nosubs.c
tests/submodule/open.c
tests/submodule/repository_init.c
tests/submodule/status.c
tests/submodule/submodule_helpers.c
tests/submodule/update.c
tests/threads/basic.c
tests/threads/diff.c
tests/threads/iterator.c
tests/threads/refdb.c
tests/trace/windows/stacktrace.c
tests/valgrind-supp-mac.txt
tests/win32/longpath.c
tests/worktree/bare.c [new file with mode: 0644]
tests/worktree/config.c
tests/worktree/merge.c
tests/worktree/open.c
tests/worktree/refs.c
tests/worktree/submodule.c
tests/worktree/worktree.c

index be59274e86fd9612d0869e985bf6d0f501566218..d4b41901294053d31c2e94124fe880c87798ef52 100644 (file)
@@ -12,3 +12,4 @@ insert_final_newline = true
 [*.md]
 indent_style = space
 indent_size = 4
+trim_trailing_whitespace = false
index 1e432aeef76023e1aa13a702a3ca54004d90c947..717f8b9349050d0eec85b89ce72a50b233be8ae2 100644 (file)
@@ -1,7 +1,12 @@
-You are opening a _bug report_ against the libgit2 project.  If you have a
-question about an API or usage, please ask on StackOverflow:
-http://stackoverflow.com/questions/tagged/libgit2.  Please fill out the
-reproduction steps (below) and delete this introductory paragraph.  Thanks!
+You are opening a _bug report_ against the libgit2 project: we use
+GitHub Issues for tracking bug reports and feature requests.  If you
+have a question about an API or usage, please ask on StackOverflow:
+http://stackoverflow.com/questions/tagged/libgit2.  If you want to
+have high-level discussions about the libgit2 project itself, visit
+https://github.com/libgit2/discussions.
+
+Otherwise, to report a bug, please fill out the reproduction steps
+(below) and delete these introductory paragraphs.  Thanks!
 
 ### Reproduction steps
 
index 1ef1ec73006d84901b91ad241c1b894d061f2869..5991a41b903ba4fa90db99aa34f0855774face56 100644 (file)
@@ -31,3 +31,5 @@ msvc/Release/
 .*.swp
 tags
 mkmf.log
+*.profdata
+*.profraw
index 8479cf6c4f722b167359abe327a9f7a3952771a4..0b16a7e1f1a368d5ca42d580ba2256d1faecddb8 100644 (file)
--- a/.mailmap
+++ b/.mailmap
@@ -16,7 +16,7 @@ Xavier L. <xavier.l@afrosoft.tk> <xavier.l@afrosoft.tk>
 Sascha Cunz <sascha@babbelbox.org> <Sascha@BabbelBox.org>
 Authmillenon <authmillenon@googlemail.com> <martin@ucsmail.de>
 Authmillenon <authmillenon@googlemail.com> <authmillenon@googlemail.com>
-Edward Thomson <ethomson@github.com> <ethomson@microsoft.com>
-Edward Thomson <ethomson@github.com> <ethomson@edwardthomson.com>
+Edward Thomson <ethomson@edwardthomson.com> <ethomson@microsoft.com>
+Edward Thomson <ethomson@edwardthomson.com> <ethomson@github.com>
 J. David Ibáñez <jdavid.ibp@gmail.com> <jdavid@itaapy.com>
 Russell Belfer <rb@github.com> <arrbee@arrbee.com>
diff --git a/CHANGELOG.md b/CHANGELOG.md
deleted file mode 100644 (file)
index f7e72d3..0000000
+++ /dev/null
@@ -1,1229 +0,0 @@
-v0.27.7
--------
-
-This is a bugfix release with the following changes or improvements:
-
-- Our continuous integration environment has switched from Travis and
-  AppVeyor to Azure Pipelines CI.
-
-- Fix adding worktrees for bare repositories.
-
-- Fix parsed patches not computing the old respectively new line
-  numbers correctly.
-
-- Fix parsing configuration variables which do not have a section.
-
-- Fix a zero-byte allocation when trying to detect file renames and
-  copies of a diff without any hunks.
-
-- Fix a zero-byte allocation when trying to resize or duplicate
-  vectors.
-
-- Fix return value when trying to unlock worktrees which aren't
-  locked.
-
-- Fix returning an unitialized error code when preparing a revision
-  walk without any pushed commits.
-
-- Fix return value of `git_remote_lookup` when lookup of
-  "remote.$remote.tagopt" fails.
-
-- Fix the revision walk always labelling commits as interesting due
-  to a mishandling of the commit date.
-
-- Fix the packbuilder inserting uninteresting blobs when adding a
-  tree containing references to such blobs.
-
-- Ignore unsupported authentication schemes in HTTP transport.
-
-- Improve performane of `git_remote_prune`.
-
-- Fix detection of whether `qsort_r` has a BSD or GNU function
-  signature.
-
-- Fix detection of iconv if it is provided by libc.
-
-v0.27.6
--------
-
-This as a security release fixing the following list of issues:
-
-- The function family `git__strtol` is used to parse integers
-  from a buffer. As the functions do not take a buffer length as
-  argument, they will scan either until the end of the current
-  number or until a NUL byte is encountered. Many callers have
-  been misusing the function and called it on potentially
-  non-NUL-terminated buffers, resulting in possible out-of-bounds
-  reads. Callers have been fixed to use `git__strntol` functions
-  instead and `git__strtol` functions were removed.
-
-- The function `git__strntol64` relied on the undefined behavior
-  of signed integer overflows. While the code tried to detect
-  such overflows after they have happened, this is unspecified
-  behavior and may lead to weird behavior on uncommon platforms.
-
-- In the case where `git__strntol32` was unable to parse an
-  integer because it doesn't fit into an `int32_t`, it printed an
-  error message containing the string that is currently being
-  parsed. The code didn't truncate the string though, which
-  caused it to print the complete string until a NUL byte is
-  encountered and not only the currently parsed number. In case
-  where the string was not NUL terminated, this could have lead
-  to an out-of-bounds read.
-
-- When parsing tags, all unknown fields that appear before the
-  tag message are skipped. This skipping is done by using a plain
-  `strstr(buffer, "\n\n")` to search for the two newlines that
-  separate tag fields from tag message. As it is not possible to
-  supply a buffer length to `strstr`, this call may skip over the
-  buffer's end and thus result in an out of bounds read. As
-  `strstr` may return a pointer that is out of bounds, the
-  following computation of `buffer_end - buffer` will overflow
-  and result in an allocation of an invalid length. Note that
-  when reading objects from the object database, we make sure to
-  always NUL terminate them, making the use of `strstr` safe.
-
-- When parsing the "encoding" field of a commit, we may perform
-  an out of bounds read due to using `git__prefixcmp` instead of
-  `git__prefixncmp`. This can result in the parsed commit object
-  containing uninitialized data in both its message encoding and
-  message fields. Note that when reading objects from the object
-  database, we make sure to always NUL terminate them, making the
-  use of `strstr` safe.
-
-v0.27.5
--------
-
-This is a security release fixing the following list of issues:
-
-- Submodule URLs and paths with a leading "-" are now ignored.
-  This is due to the recently discovered CVE-2018-17456, which
-  can lead to arbitrary code execution in upstream git. While
-  libgit2 itself is not vulnerable, it can be used to inject
-  options in an implementation which performs a recursive clone
-  by executing an external command.
-
-- When running repack while doing repo writes,
-  `packfile_load__cb()` could see some temporary files in the
-  directory that were bigger than the usual, and makes `memcmp`
-  overflow on the `p->pack_name` string. This issue was reported
-  and fixed by bisho.
-
-- The configuration file parser used unbounded recursion to parse
-  multiline variables, which could lead to a stack overflow. The
-  issue was reported by the oss-fuzz project, issue 10048 and
-  fixed by Nelson Elhage.
-
-- The fix to the unbounded recursion introduced a memory leak in
-  the config parser. While this leak was never in a public
-  release, the oss-fuzz project reported this as issue 10127. The
-  fix was implemented by Nelson Elhage and Patrick Steinhardt.
-
-- When parsing "ok" packets received via the smart protocol, our
-  parsing code did not correctly verify the bounds of the
-  packets, which could result in a heap-buffer overflow. The
-  issue was reported by the oss-fuzz project, issue 9749 and
-  fixed by Patrick Steinhardt.
-
-- The parsing code for the smart protocol has been tightened in
-  general, fixing heap-buffer overflows when parsing the packet
-  type as well as for "ACK" and "unpack" packets. The issue was
-  discovered and fixed by Patrick Steinhardt.
-
-- Fixed potential integer overflows on platforms with 16 bit
-  integers when parsing packets for the smart protocol. The issue
-  was discovered and fixed by Patrick Steinhardt.
-
-- Fixed potential NULL pointer dereference when parsing
-  configuration files which have "include.path" or
-  "includeIf..path" statements without a value.
-
-v0.27.4
--------
-
-This is a security release fixing out-of-bounds reads when
-processing smart-protocol "ng" packets.
-
-When parsing an "ng" packet, we keep track of both the current position
-as well as the remaining length of the packet itself. But instead of
-taking care not to exceed the length, we pass the current pointer's
-position to `strchr`, which will search for a certain character until
-hitting NUL. It is thus possible to create a crafted packet which
-doesn't contain a NUL byte to trigger an out-of-bounds read.
-
-The issue was discovered by the oss-fuzz project, issue 9406.
-
-v0.27.3
--------
-
-This is a security release fixing out-of-bounds reads when
-reading objects from a packfile. This corresponds to
-CVE-2018-10887 and CVE-2018-10888, which were both reported by
-Riccardo Schirone.
-
-When packing objects into a single so-called packfile, objects
-may not get stored as complete copies but instead as deltas
-against another object "base". A specially crafted delta object
-could trigger an integer overflow and thus bypass our input
-validation, which may result in copying memory before or after
-the base object into the final deflated object. This may lead to
-objects containing copies of system memory being written into the
-object database. As the hash of those objects cannot be easily
-controlled by the attacker, it is unlikely that any of those
-objects will be valid and referenced by the commit graph.
-
-Note that the error could also be triggered by the function
-`git_apply__patch`. But as this function is not in use outside of
-our test suite, it is not a possible attack vector.
-
-v0.27.2
----------
-
-### Changes or improvements
-
-* Fix builds with LibreSSL 2.7.
-
-* Fix for `git_diff_status_char()` not returning the correct mapping for
-  `GIT_DELTA_TYPECHANGE`.
-
-* Fix for the submodules API not reporting errors when parsing the ".gitmodules"
-  file.
-
-* Fix for accepting a ".gitmodules" file where two submodules have the same
-  path.
-
-* Fix for hiding references in a graph walk not always limiting the graph
-  correctly.
-
-* Fix for directory patterns with trailing spaces in attribute files not being
-  handled correctly.
-
-* Fix SSH transports not properly disconnecting from the server.
-
-* Fix reading HEAD reflog in worktrees.
-
-* Update our copy of SHA1DC to fix errors with endianess on some platforms.
-
-v0.27.1
----------
-
-This is a security release fixing insufficient validation of submodule names
-(CVE-2018-11235, reported by Etienne Stalmans) and disallows `.gitmodules` files
-as symlinks.
-
-While submodule names come from the untrusted ".gitmodules" file, we blindly
-append the name to "$GIT_DIR/modules" to construct the final path of the
-submodule repository. In case the name contains e.g. "../", an adversary would
-be able to escape your repository and write data at arbitrary paths. In
-accordance with git, we now enforce some rules for submodule names which will
-cause libgit2 to ignore these malicious names.
-
-Adding a symlink as `.gitmodules` into the index from the workdir or checking
-out such files is not allowed as this can make a Git implementation write
-outside of the repository and bypass the `fsck` checks for CVE-2018-11235.
-
-libgit2 is not susceptible to CVE-2018-11233.
-
-v0.27
----------
-
-### Changes or improvements
-
-* Improved `p_unlink` in `posix_w32.c` to try and make a file writable
-  before sleeping in the retry loop to prevent unnecessary calls to sleep.
-
-* The CMake build infrastructure has been improved to speed up building time.
-
-* A new CMake option "-DUSE_HTTPS=<backend>" makes it possible to explicitly
-  choose an HTTP backend.
-
-* A new CMake option "-DSHA1_BACKEND=<backend>" makes it possible to explicitly
-  choose an SHA1 backend. The collision-detecting backend is now the default.
-
-* A new CMake option "-DUSE_BUNDLED_ZLIB" makes it possible to explicitly use
-  the bundled zlib library.
-
-* A new CMake option "-DENABLE_REPRODUCIBLE_BUILDS" makes it possible to
-  generate a reproducible static archive. This requires support from your
-  toolchain.
-
-* The minimum required CMake version has been bumped to 2.8.11.
-
-* Writing to a configuration file now preserves the case of the key given by the
-  caller for the case-insensitive portions of the key (existing sections are
-  used even if they don't match).
-
-* We now support conditional includes in configuration files.
-
-* Fix for handling re-reading of configuration files with includes.
-
-* Fix for reading patches which contain exact renames only.
-
-* Fix for reading patches with whitespace in the compared files' paths.
-
-* We will now fill `FETCH_HEAD` from all passed refspecs instead of overwriting
-  with the last one.
-
-* There is a new diff option, `GIT_DIFF_INDENT_HEURISTIC` which activates a
-  heuristic which takes into account whitespace and indentation in order to
-  produce better diffs when dealing with ambiguous diff hunks.
-
-* Fix for pattern-based ignore rules where files ignored by a rule cannot be
-  un-ignored by another rule.
-
-* Sockets opened by libgit2 are now being closed on exec(3) if the platform
-  supports it.
-
-* Fix for peeling annotated tags from packed-refs files.
-
-* Fix reading huge loose objects from the object database.
-
-* Fix files not being treated as modified when only the file mode has changed.
-
-* We now explicitly reject adding submodules to the index via
-  `git_index_add_frombuffer`.
-
-* Fix handling of `GIT_DIFF_FIND_RENAMES_FROM_REWRITES` raising `SIGABRT` when
-  one file has been deleted and another file has been rewritten.
-
-* Fix for WinHTTP not properly handling NTLM and Negotiate challenges.
-
-* When using SSH-based transports, we now repeatedly ask for the passphrase to
-  decrypt the private key in case a wrong passphrase is being provided.
-
-* When generating conflict markers, they will now use the same line endings as
-  the rest of the file.
-
-### API additions
-
-* The `git_merge_file_options` structure now contains a new setting,
-  `marker_size`.  This allows users to set the size of markers that
-  delineate the sides of merged files in the output conflict file.
-  By default this is 7 (`GIT_MERGE_CONFLICT_MARKER_SIZE`), which
-  produces output markers like `<<<<<<<` and `>>>>>>>`.
-
-* `git_remote_create_detached()` creates a remote that is not associated
-  to any repository (and does not apply configuration like 'insteadof' rules).
-  This is mostly useful for e.g. emulating `git ls-remote` behavior.
-
-* `git_diff_patchid()` lets you generate patch IDs for diffs.
-
-* `git_status_options` now has an additional field `baseline` to allow creating
-  status lists against different trees.
-
-* New family of functions to allow creating notes for a specific notes commit
-  instead of for a notes reference.
-
-* New family of functions to allow parsing message trailers. This API is still
-  experimental and may change in future releases.
-
-### API removals
-
-### Breaking API changes
-
-* Signatures now distinguish between +0000 and -0000 UTC offsets.
-
-* The certificate check callback in the WinHTTP transport will now receive the
-  `message_cb_payload` instead of the `cred_acquire_payload`.
-
-* We are now reading symlinked directories under .git/refs.
-
-* We now refuse creating branches named "HEAD".
-
-* We now refuse reading and writing all-zero object IDs into the
-  object database.
-
-* We now read the effective user's configuration file instead of the real user's
-  configuration in case libgit2 runs as part of a setuid binary.
-
-* The `git_odb_open_rstream` function and its `readstream` callback in the
-  `git_odb_backend` interface have changed their signatures to allow providing
-  the object's size and type to the caller.
-
-v0.26
------
-
-### Changes or improvements
-
-* Support for opening, creating and modifying worktrees.
-
-* We can now detect SHA1 collisions resulting from the SHAttered attack. These
-  checks can be enabled at build time via `-DUSE_SHA1DC`.
-
-* Fix for missing implementation of `git_merge_driver_source` getters.
-
-* Fix for installed pkg-config file being broken when the prefix contains
-  spaces.
-
-* We now detect when the hashsum of on-disk objects does not match their
-  expected hashsum.
-
-* We now support open-ended ranges (e.g. "master..", "...master") in our
-  revision range parsing code.
-
-* We now correctly compute ignores with leading "/" in subdirectories.
-
-* We now optionally call `fsync` on loose objects, packfiles and their indexes,
-  loose references and packed reference files.
-
-* We can now build against OpenSSL v1.1 and against LibreSSL.
-
-* `GIT_MERGE_OPTIONS_INIT` now includes a setting to perform rename detection.
-  This aligns this structure with the default by `git_merge` and
-  `git_merge_trees` when `NULL` was provided for the options.
-
-* Improvements for reading index v4 files.
-
-* Perform additional retries for filesystem operations on Windows when files
-  are temporarily locked by other processes.
-
-### API additions
-
-* New family of functions to handle worktrees:
-
-    * `git_worktree_list()` lets you look up worktrees for a repository.
-    * `git_worktree_lookup()` lets you get a specific worktree.
-    * `git_worktree_open_from_repository()` lets you get the associated worktree
-      of a repository.
-      a worktree.
-    * `git_worktree_add` lets you create new worktrees.
-    * `git_worktree_prune` lets you remove worktrees from disk.
-    * `git_worktree_lock()` and `git_worktree_unlock()` let you lock
-      respectively unlock a worktree.
-    * `git_repository_open_from_worktree()` lets you open a repository via
-    * `git_repository_head_for_worktree()` lets you get the current `HEAD` for a
-      linked worktree.
-    * `git_repository_head_detached_for_worktree()` lets you check whether a
-      linked worktree is in detached HEAD mode.
-
-* `git_repository_item_path()` lets you retrieve paths for various repository
-  files.
-
-* `git_repository_commondir()` lets you retrieve the common directory of a
-  repository.
-
-* `git_branch_is_checked_out()` allows you to check whether a branch is checked
-  out in a repository or any of its worktrees.
-
-* `git_repository_submodule_cache_all()` and
-  `git_repository_submodule_cache_clear()` functions allow you to prime or clear
-  the submodule cache of a repository.
-
-* You can disable strict hash verifications via the
-  `GIT_OPT_ENABLE_STRICT_HASH_VERIFICATION` option with `git_libgit2_opts()`.
-
-* You can enable us calling `fsync` for various files inside the ".git"
-  directory by setting the `GIT_OPT_ENABLE_FSYNC_GITDIR` option with
-  `git_libgit2_opts()`.
-
-* You can now enable "offset deltas" when creating packfiles and negotiating
-  packfiles with a remote server by setting `GIT_OPT_ENABLE_OFS_DELTA` option
-  with `GIT_libgit2_opts()`.
-
-* You can now set the default share mode on Windows for opening files using
-  `GIT_OPT_SET_WINDOWS_SHAREMODE` option with `git_libgit2_opts()`.
-  You can query the current share mode with `GIT_OPT_GET_WINDOWS_SHAREMODE`.
-
-* `git_transport_smart_proxy_options()' enables you to get the proxy options for
-  smart transports.
-
-* The `GIT_FILTER_INIT` macro and the `git_filter_init` function are provided
-  to initialize a `git_filter` structure.
-
-### Breaking API changes
-
-* `clone_checkout_strategy` has been removed from
-  `git_submodule_update_option`. The checkout strategy used to clone will
-  be the same strategy specified in `checkout_opts`.
-
-v0.25
--------
-
-### Changes or improvements
-
-* Fix repository discovery with `git_repository_discover` and
-  `git_repository_open_ext` to match git's handling of a ceiling
-  directory at the current directory. git only checks ceiling
-  directories when its search ascends to a parent directory.  A ceiling
-  directory matching the starting directory will not prevent git from
-  finding a repository in the starting directory or a parent directory.
-
-* Do not fail when deleting remotes in the presence of broken
-  global configs which contain branches.
-
-* Support for reading and writing git index v4 files
-
-* Improve the performance of the revwalk and bring us closer to git's code.
-
-* The reference db has improved support for concurrency and returns `GIT_ELOCKED`
-  when an operation could not be performed due to locking.
-
-* Nanosecond resolution is now activated by default, following git's change to
-  do this.
-
-* We now restrict the set of ciphers we let OpenSSL use by default.
-
-* Users can now register their own merge drivers for use with `.gitattributes`.
-  The library also gained built-in support for the union merge driver.
-
-* The default for creating references is now to validate that the object does
-  exist.
-
-* Add `git_proxy_options` which is used by the different networking
-  implementations to let the caller specify the proxy settings instead of
-  relying on the environment variables.
-
-### API additions
-
-* You can now get the user-agent used by libgit2 using the
-  `GIT_OPT_GET_USER_AGENT` option with `git_libgit2_opts()`.
-  It is the counterpart to `GIT_OPT_SET_USER_AGENT`.
-
-* The `GIT_OPT_SET_SSL_CIPHERS` option for `git_libgit2_opts()` lets you specify
-  a custom list of ciphers to use for OpenSSL.
-
-* `git_commit_create_buffer()` creates a commit and writes it into a
-  user-provided buffer instead of writing it into the object db. Combine it with
-  `git_commit_create_with_signature()` in order to create a commit with a
-  cryptographic signature.
-
-* `git_blob_create_fromstream()` and
-  `git_blob_create_fromstream_commit()` allow you to create a blob by
-  writing into a stream. Useful when you do not know the final size or
-  want to copy the contents from another stream.
-
-* New flags for `git_repository_open_ext`:
-
-    * `GIT_REPOSITORY_OPEN_NO_DOTGIT` - Do not check for a repository by
-      appending `/.git` to the `start_path`; only open the repository if
-      `start_path` itself points to the git directory.
-    * `GIT_REPOSITORY_OPEN_FROM_ENV` - Find and open a git repository,
-      respecting the environment variables used by the git command-line
-      tools. If set, `git_repository_open_ext` will ignore the other
-      flags and the `ceiling_dirs` argument, and will allow a NULL
-      `path` to use `GIT_DIR` or search from the current directory. The
-      search for a repository will respect `$GIT_CEILING_DIRECTORIES`
-      and `$GIT_DISCOVERY_ACROSS_FILESYSTEM`.  The opened repository
-      will respect `$GIT_INDEX_FILE`, `$GIT_NAMESPACE`,
-      `$GIT_OBJECT_DIRECTORY`, and `$GIT_ALTERNATE_OBJECT_DIRECTORIES`.
-      In the future, this flag will also cause `git_repository_open_ext`
-      to respect `$GIT_WORK_TREE` and `$GIT_COMMON_DIR`; currently,
-      `git_repository_open_ext` with this flag will error out if either
-      `$GIT_WORK_TREE` or `$GIT_COMMON_DIR` is set.
-
-* `git_diff_from_buffer()` can create a `git_diff` object from the contents
-  of a git-style patch file.
-
-* `git_index_version()` and `git_index_set_version()` to get and set
-  the index version
-
-* `git_odb_expand_ids()` lets you check for the existence of multiple
-  objects at once.
-
-* The new `git_blob_dup()`, `git_commit_dup()`, `git_tag_dup()` and
-  `git_tree_dup()` functions provide type-specific wrappers for
-  `git_object_dup()` to reduce noise and increase type safety for callers.
-
-* `git_reference_dup()` lets you duplicate a reference to aid in ownership
-  management and cleanup.
-
-* `git_signature_from_buffer()` lets you create a signature from a string in the
-  format that appear in objects.
-
-* `git_tree_create_updated()` lets you create a tree based on another one
-  together with a list of updates. For the covered update cases, it's more
-  efficient than the `git_index` route.
-
-* `git_apply_patch()` applies hunks from a `git_patch` to a buffer.
-
-* `git_diff_to_buf()` lets you print an entire diff directory to a buffer,
-  similar to how `git_patch_to_buf()` works.
-
-* `git_proxy_init_options()` is added to initialize a `git_proxy_options`
-  structure at run-time.
-
-* `git_merge_driver_register()`, `git_merge_driver_unregister()` let you
-  register and unregister a custom merge driver to be used when `.gitattributes`
-  specifies it.
-
-* `git_merge_driver_lookup()` can be used to look up a merge driver by name.
-
-* `git_merge_driver_source_repo()`, `git_merge_driver_source_ancestor()`,
-  `git_merge_driver_source_ours()`, `git_merge_driver_source_theirs()`,
-  `git_merge_driver_source_file_options()` added as accessors to
-  `git_merge_driver_source`.
-
-### API removals
-
-* `git_blob_create_fromchunks()` has been removed in favour of
-  `git_blob_create_fromstream()`.
-
-### Breaking API changes
-
-* `git_packbuilder_object_count` and `git_packbuilder_written` now
-  return a `size_t` instead of a `uint32_t` for more thorough
-  compatibility with the rest of the library.
-
-* `git_packbuiler_progress` now provides explicitly sized `uint32_t`
-  values instead of `unsigned int`.
-
-* `git_diff_file` now includes an `id_abbrev` field that reflects the
-  number of nibbles set in the `id` field.
-
-* `git_odb_backend` now has a `freshen` function pointer.  This optional
-  function pointer is similar to the `exists` function, but it will update
-  a last-used marker.  For filesystem-based object databases, this updates
-  the timestamp of the file containing the object, to indicate "freshness".
-  If this is `NULL`, then it will not be called and the `exists` function
-  will be used instead.
-
-* `git_remote_connect()` now accepts `git_proxy_options` argument, and
-  `git_fetch_options` and `git_push_options` each have a `proxy_opts` field.
-
-* `git_merge_options` now provides a `default_driver` that can be used
-  to provide the name of a merge driver to be used to handle files changed
-  during a merge.
-
-v0.24
--------
-
-### Changes or improvements
-
-* Custom merge drivers can now be registered, which allows callers to
-  configure callbacks to honor `merge=driver` configuration in
-  `.gitattributes`.
-
-* Custom filters can now be registered with wildcard attributes, for
-  example `filter=*`.  Consumers should examine the attributes parameter
-  of the `check` function for details.
-
-* Symlinks are now followed when locking a file, which can be
-  necessary when multiple worktrees share a base repository.
-
-* You can now set your own user-agent to be sent for HTTP requests by
-  using the `GIT_OPT_SET_USER_AGENT` with `git_libgit2_opts()`.
-
-* You can set custom HTTP header fields to be sent along with requests
-  by passing them in the fetch and push options.
-
-* Tree objects are now assumed to be sorted. If a tree is not
-  correctly formed, it will give bad results. This is the git approach
-  and cuts a significant amount of time when reading the trees.
-
-* Filter registration is now protected against concurrent
-  registration.
-
-* Filenames which are not valid on Windows in an index no longer cause
-  to fail to parse it on that OS.
-
-* Rebases can now be performed purely in-memory, without touching the
-  repository's workdir.
-
-* When adding objects to the index, or when creating new tree or commit
-  objects, the inputs are validated to ensure that the dependent objects
-  exist and are of the correct type.  This object validation can be
-  disabled with the GIT_OPT_ENABLE_STRICT_OBJECT_CREATION option.
-
-* The WinHTTP transport's handling of bad credentials now behaves like
-  the others, asking for credentials again.
-
-### API additions
-
-* `git_config_lock()` has been added, which allow for
-  transactional/atomic complex updates to the configuration, removing
-  the opportunity for concurrent operations and not committing any
-  changes until the unlock.
-
-* `git_diff_options` added a new callback `progress_cb` to report on the
-  progress of the diff as files are being compared. The documentation of
-  the existing callback `notify_cb` was updated to reflect that it only
-  gets called when new deltas are added to the diff.
-
-* `git_fetch_options` and `git_push_options` have gained a `custom_headers`
-  field to set the extra HTTP header fields to send.
-
-* `git_stream_register_tls()` lets you register a callback to be used
-  as the constructor for a TLS stream instead of the libgit2 built-in
-  one.
-
-* `git_commit_header_field()` allows you to look up a specific header
-  field in a commit.
-
-* `git_commit_extract_signature()` extracts the signature from a
-  commit and gives you both the signature and the signed data so you
-  can verify it.
-
-### API removals
-
-* No APIs were removed in this version.
-
-### Breaking API changes
-
-* The `git_merge_tree_flag_t` is now `git_merge_flag_t`.  Subsequently,
-  its members are no longer prefixed with `GIT_MERGE_TREE_FLAG` but are
-  now prefixed with `GIT_MERGE_FLAG`, and the `tree_flags` field of the
-  `git_merge_options` structure is now named `flags`.
-
-* The `git_merge_file_flags_t` enum is now `git_merge_file_flag_t` for
-  consistency with other enum type names.
-
-* `git_cert` descendent types now have a proper `parent` member
-
-* It is the responsibility of the refdb backend to decide what to do
-  with the reflog on ref deletion. The file-based backend must delete
-  it, a database-backed one may wish to archive it.
-
-* `git_config_backend` has gained two entries. `lock` and `unlock`
-  with which to implement the transactional/atomic semantics for the
-  configuration backend.
-
-* `git_index_add` and `git_index_conflict_add()` will now use the case
-  as provided by the caller on case insensitive systems.  Previous
-  versions would keep the case as it existed in the index.  This does
-  not affect the higher-level `git_index_add_bypath` or
-  `git_index_add_frombuffer` functions.
-
-* The `notify_payload` field of `git_diff_options` was renamed to `payload`
-  to reflect that it's also the payload for the new progress callback.
-
-* The `git_config_level_t` enum has gained a higher-priority value
-  `GIT_CONFIG_LEVEL_PROGRAMDATA` which represent a rough Windows equivalent
-  to the system level configuration.
-
-* `git_rebase_options` now has a `merge_options` field.
-
-* The index no longer performs locking itself. This is not something
-  users of the library should have been relying on as it's not part of
-  the concurrency guarantees.
-
-* `git_remote_connect()` now takes a `custom_headers` argument to set
-  the extra HTTP header fields to send.
-
-v0.23
-------
-
-### Changes or improvements
-
-* Patience and minimal diff drivers can now be used for merges.
-
-* Merges can now ignore whitespace changes.
-
-* Updated binary identification in CRLF filtering to avoid false positives in
-  UTF-8 files.
-
-* Rename and copy detection is enabled for small files.
-
-* Checkout can now handle an initial checkout of a repository, making
-  `GIT_CHECKOUT_SAFE_CREATE` unnecessary for users of clone.
-
-* The signature parameter in the ref-modifying functions has been
-  removed. Use `git_repository_set_ident()` and
-  `git_repository_ident()` to override the signature to be used.
-
-* The local transport now auto-scales the number of threads to use
-  when creating the packfile instead of sticking to one.
-
-* Reference renaming now uses the right id for the old value.
-
-* The annotated version of branch creation, HEAD detaching and reset
-  allow for specifying the expression from the user to be put into the
-  reflog.
-
-* `git_rebase_commit` now returns `GIT_EUNMERGED` when you attempt to
-  commit with unstaged changes.
-
-* On Mac OS X, we now use SecureTransport to provide the cryptographic
-  support for HTTPS connections insead of OpenSSL.
-
-* Checkout can now accept an index for the baseline computations via the
-  `baseline_index` member.
-
-* The configuration for fetching is no longer stored inside the
-  `git_remote` struct but has been moved to a `git_fetch_options`. The
-  remote functions now take these options or the callbacks instead of
-  setting them beforehand.
-
-* `git_submodule` instances are no longer cached or shared across
-  lookup. Each submodule represents the configuration at the time of
-  loading.
-
-* The index now uses diffs for `add_all()` and `update_all()` which
-  gives it a speed boost and closer semantics to git.
-
-* The ssh transport now reports the stderr output from the server as
-  the error message, which allows you to get the "repository not
-  found" messages.
-
-* `git_index_conflict_add()` will remove staged entries that exist for
-  conflicted paths.
-
-* The flags for a `git_diff_file` will now have the `GIT_DIFF_FLAG_EXISTS`
-  bit set when a file exists on that side of the diff.  This is useful
-  for understanding whether a side of the diff exists in the presence of
-  a conflict.
-
-* The constructor for a write-stream into the odb now takes
-  `git_off_t` instead of `size_t` for the size of the blob, which
-  allows putting large files into the odb on 32-bit systems.
-
-* The remote's push and pull URLs now honor the url.$URL.insteadOf
-  configuration. This allows modifying URL prefixes to a custom
-  value via gitconfig.
-
-* `git_diff_foreach`, `git_diff_blobs`, `git_diff_blob_to_buffer`,
-  and `git_diff_buffers` now accept a new binary callback of type
-  `git_diff_binary_cb` that includes the binary diff information.
-
-* The race condition mitigations described in `racy-git.txt` have been
-  implemented.
-
-* If libcurl is installed, we will use it to connect to HTTP(S)
-  servers.
-
-### API additions
-
-* The `git_merge_options` gained a `file_flags` member.
-
-* Parsing and retrieving a configuration value as a path is exposed
-  via `git_config_parse_path()` and `git_config_get_path()`
-  respectively.
-
-* `git_repository_set_ident()` and `git_repository_ident()` serve to
-  set and query which identity will be used when writing to the
-  reflog.
-
-* `git_config_entry_free()` frees a config entry.
-
-* `git_config_get_string_buf()` provides a way to safely retrieve a
-  string from a non-snapshot configuration.
-
-* `git_annotated_commit_from_revspec()` allows to get an annotated
-  commit from an extended sha synatx string.
-
-* `git_repository_set_head_detached_from_annotated()`,
-  `git_branch_create_from_annotated()` and
-  `git_reset_from_annotated()` allow for the caller to provide an
-  annotated commit through which they can control what expression is
-  put into the reflog as the source/target.
-
-* `git_index_add_frombuffer()` can now create a blob from memory
-  buffer and add it to the index which is attached to a repository.
-
-* The structure `git_fetch_options` has been added to determine the
-  runtime configuration for fetching, such as callbacks, pruning and
-  autotag behaviour. It has the runtime initializer
-  `git_fetch_init_options()`.
-
-* The enum `git_fetch_prune_t` has been added, letting you specify the
-  pruning behaviour for a fetch.
-
-* A push operation will notify the caller of what updates it indends
-  to perform on the remote, which provides similar information to
-  git's pre-push hook.
-
-* `git_stash_apply()` can now apply a stashed state from the stash list,
-  placing the data into the working directory and index.
-
-* `git_stash_pop()` will apply a stashed state (like `git_stash_apply()`)
-  but will remove the stashed state after a successful application.
-
-* A new error code `GIT_EEOF` indicates an early EOF from the
-  server. This typically indicates an error with the URL or
-  configuration of the server, and tools can use this to show messages
-  about failing to communicate with the server.
-
-* A new error code `GIT_EINVALID` indicates that an argument to a
-  function is invalid, or an invalid operation was requested.
-
-* `git_diff_index_to_workdir()` and `git_diff_tree_to_index()` will now
-  produce deltas of type `GIT_DELTA_CONFLICTED` to indicate that the index
-  side of the delta is a conflict.
-
-* The `git_status` family of functions will now produce status of type
-  `GIT_STATUS_CONFLICTED` to indicate that a conflict exists for that file
-  in the index.
-
-* `git_index_entry_is_conflict()` is a utility function to determine if
-  a given index entry has a non-zero stage entry, indicating that it is
-  one side of a conflict.
-
-* It is now possible to pass a keypair via a buffer instead of a
-  path. For this, `GIT_CREDTYPE_SSH_MEMORY` and
-  `git_cred_ssh_key_memory_new()` have been added.
-
-* `git_filter_list_contains` will indicate whether a particular
-  filter will be run in the given filter list.
-
-* `git_commit_header_field()` has been added, which allows retrieving
-  the contents of an arbitrary header field.
-
-* `git_submodule_set_branch()` allows to set the configured branch for
-  a submodule.
-
-### API removals
-
-* `git_remote_save()` and `git_remote_clear_refspecs()` have been
-  removed. Remote's configuration is changed via the configuration
-  directly or through a convenience function which performs changes to
-  the configuration directly.
-
-* `git_remote_set_callbacks()`, `git_remote_get_callbacks()` and
-  `git_remote_set_transport()` have been removed and the remote no
-  longer stores this configuration.
-
-* `git_remote_set_fetch_refpecs()` and
-  `git_remote_set_push_refspecs()` have been removed. There is no
-  longer a way to set the base refspecs at run-time.
-
-* `git_submodule_save()` has been removed. The submodules are no
-  longer configured via the objects.
-
-* `git_submodule_reload_all()` has been removed as we no longer cache
-  submodules.
-
-### Breaking API changes
-
-* `git_smart_subtransport_cb` now has a `param` parameter.
-
-* The `git_merge_options` structure member `flags` has been renamed
-  to `tree_flags`.
-
-* The `git_merge_file_options` structure member `flags` is now
-  an unsigned int. It was previously a `git_merge_file_flags_t`.
-
-* `GIT_CHECKOUT_SAFE_CREATE` has been removed.  Most users will generally
-  be able to switch to `GIT_CHECKOUT_SAFE`, but if you require missing
-  file handling during checkout, you may now use `GIT_CHECKOUT_SAFE |
-  GIT_CHECKOUT_RECREATE_MISSING`.
-
-* The `git_clone_options` and `git_submodule_update_options`
-  structures no longer have a `signature` field.
-
-* The following functions have removed the signature and/or log message
-  parameters in favour of git-emulating ones.
-
-    * `git_branch_create()`, `git_branch_move()`
-    * `git_rebase_init()`, `git_rebase_abort()`
-    * `git_reference_symbolic_create_matching()`,
-      `git_reference_symbolic_create()`, `git_reference_create()`,
-      `git_reference_create_matching()`,
-      `git_reference_symbolic_set_target()`,
-      `git_reference_set_target()`, `git_reference_rename()`
-    * `git_remote_update_tips()`, `git_remote_fetch()`, `git_remote_push()`
-    * `git_repository_set_head()`,
-      `git_repository_set_head_detached()`,
-      `git_repository_detach_head()`
-    * `git_reset()`
-
-* `git_config_get_entry()` now gives back a ref-counted
-  `git_config_entry`. You must free it when you no longer need it.
-
-* `git_config_get_string()` will return an error if used on a
-  non-snapshot configuration, as there can be no guarantee that the
-  returned pointer is valid.
-
-* `git_note_default_ref()` now uses a `git_buf` to return the string,
-  as the string is otherwise not guaranteed to stay allocated.
-
-* `git_rebase_operation_current()` will return `GIT_REBASE_NO_OPERATION`
-  if it is called immediately after creating a rebase session but before
-  you have applied the first patch.
-
-* `git_rebase_options` now contains a `git_checkout_options` struct
-  that will be used for functions that modify the working directory,
-  namely `git_rebase_init`, `git_rebase_next` and
-  `git_rebase_abort`.  As a result, `git_rebase_open` now also takes
-  a `git_rebase_options` and only the `git_rebase_init` and
-  `git_rebase_open` functions take a `git_rebase_options`, where they
-  will persist the options to subsequent `git_rebase` calls.
-
-* The `git_clone_options` struct now has fetch options in a
-  `fetch_opts` field instead of remote callbacks in
-  `remote_callbacks`.
-
-* The remote callbacks has gained a new member `push_negotiation`
-  which gets called before sending the update commands to the server.
-
-* The following functions no longer act on a remote instance but
-  change the repository's configuration. Their signatures have changed
-  accordingly:
-
-    * `git_remote_set_url()`, `git_remote_seturl()`
-    * `git_remote_add_fetch()`, `git_remote_add_push()` and
-    * `git_remote_set_autotag()`
-
-* `git_remote_connect()` and `git_remote_prune()` now take a pointer
-  to the callbacks.
-
-* `git_remote_fetch()` and `git_remote_download()` now take a pointer
-  to fetch options which determine the runtime configuration.
-
-* The `git_remote_autotag_option_t` values have been changed. It has
-  gained a `_UNSPECIFIED` default value to specify no override for the
-  configured setting.
-
-* `git_remote_update_tips()` now takes a pointer to the callbacks as
-  well as a boolean whether to write `FETCH_HEAD` and the autotag
-  setting.
-
-* `git_remote_create_anonymous()` no longer takes a fetch refspec as
-  url-only remotes cannot have configured refspecs.
-
-* The `git_submodule_update_options` struct now has fetch options in
-  the `fetch_opts` field instead of callbacks in the
-  `remote_callbacks` field.
-
-* The following functions no longer act on a submodule instance but
-  change the repository's configuration. Their signatures have changed
-  accordingly:
-
-    * `git_submodule_set_url()`, `git_submodule_set_ignore()`,
-      `git_submodule_set_update()`,
-      `git_submodule_set_fetch_recurse_submodules()`.
-
-* `git_submodule_status()` no longer takes a submodule instance but a
-  repsitory, a submodule name and an ignore setting.
-
-* The `push` function in the `git_transport` interface now takes a
-  pointer to the remote callbacks.
-
-* The `git_index_entry` struct's fields' types have been changed to
-  more accurately reflect what is in fact stored in the
-  index. Specifically, time and file size are 32 bits intead of 64, as
-  these values are truncated.
-
-* `GIT_EMERGECONFLICT` is now `GIT_ECONFLICT`, which more accurately
-  describes the nature of the error.
-
-* It is no longer allowed to call `git_buf_grow()` on buffers
-  borrowing the memory they point to.
-
-v0.22
-------
-
-### Changes or improvements
-
-* `git_signature_new()` now requires a non-empty email address.
-
-* Use CommonCrypto libraries for SHA-1 calculation on Mac OS X.
-
-* Disable SSL compression and SSLv2 and SSLv3 ciphers in favor of TLSv1
-  in OpenSSL.
-
-* The fetch behavior of remotes with autotag set to `GIT_REMOTE_DOWNLOAD_TAGS_ALL`
-  has been changed to match git 1.9.0 and later. In this mode, libgit2 now
-  fetches all tags in addition to whatever else needs to be fetched.
-
-* `git_checkout()` now handles case-changing renames correctly on
-  case-insensitive filesystems; for example renaming "readme" to "README".
-
-* The search for libssh2 is now done via pkg-config instead of a
-  custom search of a few directories.
-
-* Add support for core.protectHFS and core.protectNTFS. Add more
-  validation for filenames which we write such as references.
-
-* The local transport now generates textual progress output like
-  git-upload-pack does ("counting objects").
-
-* `git_checkout_index()` can now check out an in-memory index that is not
-  necessarily the repository's index, so you may check out an index
-  that was produced by git_merge and friends while retaining the cached
-  information.
-
-* Remove the default timeout for receiving / sending data over HTTP using
-  the WinHTTP transport layer.
-
-* Add SPNEGO (Kerberos) authentication using GSSAPI on Unix systems.
-
-* Provide built-in objects for the empty blob (e69de29) and empty
-  tree (4b825dc) objects.
-
-* The index' tree cache is now filled upon read-tree and write-tree
-  and the cache is written to disk.
-
-* LF -> CRLF filter refuses to handle mixed-EOL files
-
-* LF -> CRLF filter now runs when * text = auto (with Git for Windows 1.9.4)
-
-* File unlocks are atomic again via rename. Read-only files on Windows are
-  made read-write if necessary.
-
-* Share open packfiles across repositories to share descriptors and mmaps.
-
-* Use a map for the treebuilder, making insertion O(1)
-
-* The build system now accepts an option EMBED_SSH_PATH which when set
-  tells it to include a copy of libssh2 at the given location. This is
-  enabled for MSVC.
-
-* Add support for refspecs with the asterisk in the middle of a
-  pattern.
-
-* Fetching now performs opportunistic updates. To achieve this, we
-  introduce a difference between active and passive refspecs, which
-  make `git_remote_download()` and `git_remote_fetch()` to take a list of
-  resfpecs to be the active list, similarly to how git fetch accepts a
-  list on the command-line.
-
-* The THREADSAFE option to build libgit2 with threading support has
-  been flipped to be on by default.
-
-* The remote object has learnt to prune remote-tracking branches. If
-  the remote is configured to do so, this will happen via
-  `git_remote_fetch()`. You can also call `git_remote_prune()` after
-  connecting or fetching to perform the prune.
-
-
-### API additions
-
-* Introduce `git_buf_text_is_binary()` and `git_buf_text_contains_nul()` for
-  consumers to perform binary detection on a git_buf.
-
-* `git_branch_upstream_remote()` has been introduced to provide the
-  branch.<name>.remote configuration value.
-
-* Introduce `git_describe_commit()` and `git_describe_workdir()` to provide
-  a description of the current commit (and working tree, respectively)
-  based on the nearest tag or reference
-
-* Introduce `git_merge_bases()` and the `git_oidarray` type to expose all
-  merge bases between two commits.
-
-* Introduce `git_merge_bases_many()` to expose all merge bases between
-  multiple commits.
-
-* Introduce rebase functionality (using the merge algorithm only).
-  Introduce `git_rebase_init()` to begin a new rebase session,
-  `git_rebase_open()` to open an in-progress rebase session,
-  `git_rebase_commit()` to commit the current rebase operation,
-  `git_rebase_next()` to apply the next rebase operation,
-  `git_rebase_abort()` to abort an in-progress rebase and `git_rebase_finish()`
-  to complete a rebase operation.
-
-* Introduce `git_note_author()` and `git_note_committer()` to get the author
-  and committer information on a `git_note`, respectively.
-
-* A factory function for ssh has been added which allows to change the
-  path of the programs to execute for receive-pack and upload-pack on
-  the server, `git_transport_ssh_with_paths()`.
-
-* The ssh transport supports asking the remote host for accepted
-  credential types as well as multiple challeges using a single
-  connection. This requires to know which username you want to connect
-  as, so this introduces the USERNAME credential type which the ssh
-  transport will use to ask for the username.
-
-* The `GIT_EPEEL` error code has been introduced when we cannot peel a tag
-  to the requested object type; if the given object otherwise cannot be
-  peeled, `GIT_EINVALIDSPEC` is returned.
-
-* Introduce `GIT_REPOSITORY_INIT_RELATIVE_GITLINK` to use relative paths
-  when writing gitlinks, as is used by git core for submodules.
-
-* `git_remote_prune()` has been added. See above for description.
-
-
-* Introduce reference transactions, which allow multiple references to
-  be locked at the same time and updates be queued. This also allows
-  us to safely update a reflog with arbitrary contents, as we need to
-  do for stash.
-
-### API removals
-
-* `git_remote_supported_url()` and `git_remote_is_valid_url()` have been
-  removed as they have become essentially useless with rsync-style ssh paths.
-
-* `git_clone_into()` and `git_clone_local_into()` have been removed from the
-  public API in favour of `git_clone callbacks`.
-
-* The option to ignore certificate errors via `git_remote_cert_check()`
-  is no longer present. Instead, `git_remote_callbacks` has gained a new
-  entry which lets the user perform their own certificate checks.
-
-### Breaking API changes
-
-* `git_cherry_pick()` is now `git_cherrypick()`.
-
-* The `git_submodule_update()` function was renamed to
-  `git_submodule_update_strategy()`. `git_submodule_update()` is now used to
-  provide functionalty similar to "git submodule update".
-
-* `git_treebuilder_create()` was renamed to `git_treebuilder_new()` to better
-  reflect it being a constructor rather than something which writes to
-  disk.
-
-* `git_treebuilder_new()` (was `git_treebuilder_create()`) now takes a
-  repository so that it can query repository configuration.
-  Subsequently, `git_treebuilder_write()` no longer takes a repository.
-
-* `git_threads_init()` and `git_threads_shutdown()` have been renamed to
-  `git_libgit2_init()` and `git_libgit2_shutdown()` to better explain what
-  their purpose is, as it's grown to be more than just about threads.
-
-* `git_libgit2_init()` and `git_libgit2_shutdown()` now return the number of
-  initializations of the library, so consumers may schedule work on the
-  first initialization.
-
-* The `git_transport_register()` function no longer takes a priority and takes
-  a URL scheme name (eg "http") instead of a prefix like "http://"
-
-* `git_index_name_entrycount()` and `git_index_reuc_entrycount()` now
-  return size_t instead of unsigned int.
-
-* The `context_lines` and `interhunk_lines` fields in `git_diff`_options are
-  now `uint32_t` instead of `uint16_t`. This allows to set them to `UINT_MAX`,
-  in effect asking for "infinite" context e.g. to iterate over all the
-  unmodified lines of a diff.
-
-* `git_status_file()` now takes an exact path. Use `git_status_list_new()` if
-  pathspec searching is needed.
-
-* `git_note_create()` has changed the position of the notes reference
-  name to match `git_note_remove()`.
-
-* Rename `git_remote_load()` to `git_remote_lookup()` to bring it in line
-  with the rest of the lookup functions.
-
-* `git_remote_rename()` now takes the repository and the remote's
-  current name. Accepting a remote indicates we want to change it,
-  which we only did partially. It is much clearer if we accept a name
-  and no loaded objects are changed.
-
-* `git_remote_delete()` now accepts the repository and the remote's name
-  instead of a loaded remote.
-
-* `git_merge_head` is now `git_annotated_commit`, to better reflect its usage
-  for multiple functions (including rebase)
-
-* The `git_clone_options` struct no longer provides the `ignore_cert_errors` or
-  `remote_name` members for remote customization.
-
-  Instead, the `git_clone_options` struct has two new members, `remote_cb` and
-  `remote_cb_payload`, which allow the caller to completely override the remote
-  creation process. If needed, the caller can use this callback to give their
-  remote a name other than the default (origin) or disable cert checking.
-
-  The `remote_callbacks` member has been preserved for convenience, although it
-  is not used when a remote creation callback is supplied.
-
-* The `git_clone`_options struct now provides `repository_cb` and
-  `repository_cb_payload` to allow the user to create a repository with
-  custom options.
-
-* The `git_push` struct to perform a push has been replaced with
-  `git_remote_upload()`. The refspecs and options are passed as a
-  function argument. `git_push_update_tips()` is now also
-  `git_remote_update_tips()` and the callbacks are in the same struct as
-  the rest.
-
-* The `git_remote_set_transport()` function now sets a transport factory function,
-  rather than a pre-existing transport instance.
-
-* The `git_transport` structure definition has moved into the sys/transport.h
-  file.
-
-* libgit2 no longer automatically sets the OpenSSL locking
-  functions. This is not something which we can know to do. A
-  last-resort convenience function is provided in sys/openssl.h,
-  `git_openssl_set_locking()` which can be used to set the locking.
index 83898c57022949f09a08f0fcf9437ac64b5f20fc..88eb9ec10a2346e04b564265b02b13dc1fac99ec 100644 (file)
 PROJECT(libgit2 C)
 CMAKE_MINIMUM_REQUIRED(VERSION 2.8.11)
 CMAKE_POLICY(SET CMP0015 NEW)
-IF (POLICY CMP0051)
+IF(POLICY CMP0051)
        CMAKE_POLICY(SET CMP0051 NEW)
 ENDIF()
-IF (POLICY CMP0042)
+IF(POLICY CMP0042)
        CMAKE_POLICY(SET CMP0042 NEW)
 ENDIF()
+IF(POLICY CMP0054)
+       CMAKE_POLICY(SET CMP0054 NEW)
+ENDIF()
 
 # Add find modules to the path
 SET(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${libgit2_SOURCE_DIR}/cmake/Modules/")
@@ -39,63 +42,58 @@ INCLUDE(EnableWarnings)
 
 # Build options
 #
-OPTION( SONAME                         "Set the (SO)VERSION of the target"             ON  )
-OPTION( BUILD_SHARED_LIBS      "Build Shared Library (OFF for Static)" ON  )
-OPTION( THREADSAFE                     "Build libgit2 as threadsafe"                   ON )
-OPTION( BUILD_CLAR                     "Build Tests using the Clar suite"              ON  )
-OPTION( BUILD_EXAMPLES         "Build library usage example apps"              OFF )
-OPTION( TAGS                           "Generate tags"                                                 OFF )
-OPTION( PROFILE                                "Generate profiling information"                OFF )
-OPTION( ENABLE_TRACE           "Enables tracing support"                               OFF )
-OPTION( LIBGIT2_FILENAME       "Name of the produced binary"                   OFF )
-
-SET(SHA1_BACKEND "CollisionDetection" CACHE STRING "Backend to use for SHA1. One of Generic, OpenSSL, Win32, CommonCrypto, CollisionDetection. ")
-OPTION( USE_SSH                                "Link with libssh to enable SSH support" ON )
-OPTION( USE_HTTPS                      "Enable HTTPS support. Can be set to a specific backend"        ON )
-OPTION( USE_GSSAPI                     "Link with libgssapi for SPNEGO auth"   OFF )
-OPTION( VALGRIND                       "Configure build for valgrind"                  OFF )
-OPTION( CURL                   "Use curl for HTTP if available" ON)
-OPTION( USE_EXT_HTTP_PARSER            "Use system HTTP_Parser if available" ON)
-OPTION( DEBUG_POOL                     "Enable debug pool allocator"                   OFF )
-OPTION( ENABLE_WERROR                  "Enable compilation with -Werror"               OFF )
-OPTION( USE_BUNDLED_ZLIB    "Use the bundled version of zlib"       OFF )
+OPTION(SONAME                          "Set the (SO)VERSION of the target"                      ON)
+OPTION(BUILD_SHARED_LIBS               "Build Shared Library (OFF for Static)"                  ON)
+OPTION(THREADSAFE                      "Build libgit2 as threadsafe"                            ON)
+OPTION(BUILD_CLAR                      "Build Tests using the Clar suite"                       ON)
+OPTION(BUILD_EXAMPLES                  "Build library usage example apps"                      OFF)
+OPTION(BUILD_FUZZERS                   "Build the fuzz targets"                                OFF)
+OPTION(TAGS                            "Generate tags"                                         OFF)
+OPTION(PROFILE                         "Generate profiling information"                        OFF)
+OPTION(ENABLE_TRACE                    "Enables tracing support"                               OFF)
+OPTION(LIBGIT2_FILENAME                        "Name of the produced binary"                           OFF)
+
+   SET(SHA1_BACKEND                    "CollisionDetection"                           CACHE STRING
+       "Backend to use for SHA1. One of Generic, OpenSSL, Win32, CommonCrypto, mbedTLS, CollisionDetection.")
+OPTION(USE_SSH                         "Link with libssh2 to enable SSH support"                ON)
+OPTION(USE_HTTPS                       "Enable HTTPS support. Can be set to a specific backend" ON)
+OPTION(USE_GSSAPI                      "Link with libgssapi for SPNEGO auth"                   OFF)
+OPTION(USE_STANDALONE_FUZZERS          "Enable standalone fuzzers (compatible with gcc)"       OFF)
+OPTION(VALGRIND                                "Configure build for valgrind"                          OFF)
+OPTION(USE_EXT_HTTP_PARSER             "Use system HTTP_Parser if available"                    ON)
+OPTION(DEBUG_POOL                      "Enable debug pool allocator"                           OFF)
+OPTION(ENABLE_WERROR                   "Enable compilation with -Werror"                       OFF)
+OPTION(USE_BUNDLED_ZLIB                "Use the bundled version of zlib"                       OFF)
+OPTION(DEPRECATE_HARD                  "Do not include deprecated functions in the library"    OFF)
 
 IF (UNIX AND NOT APPLE)
-       OPTION( ENABLE_REPRODUCIBLE_BUILDS      "Enable reproducible builds"                    OFF )
+       OPTION(ENABLE_REPRODUCIBLE_BUILDS "Enable reproducible builds"                          OFF)
 ENDIF()
 
 IF (APPLE)
-       OPTION( USE_ICONV                       "Link with and use iconv library"                ON )
+       OPTION(USE_ICONV                "Link with and use iconv library"                        ON)
 ENDIF()
 
 IF(MSVC)
-       # This option is only available when building with MSVC. By default, libgit2
-       # is build using the cdecl calling convention, which is useful if you're
-       # writing C. However, the CLR and Win32 API both expect stdcall.
-       #
-       # If you are writing a CLR program and want to link to libgit2, you'll want
-       # to turn this on by invoking CMake with the "-DSTDCALL=ON" argument.
-       OPTION( STDCALL                 "Build libgit2 with the __stdcall convention"   OFF  )
-
        # This option must match the settings used in your program, in particular if you
        # are linking statically
-       OPTION( STATIC_CRT              "Link the static CRT libraries" ON  )
+       OPTION(STATIC_CRT               "Link the static CRT libraries"                          ON)
 
        # If you want to embed a copy of libssh2 into libgit2, pass a
        # path to libssh2
-       OPTION( EMBED_SSH_PATH          "Path to libssh2 to embed (Windows)" OFF )
+       OPTION(EMBED_SSH_PATH           "Path to libssh2 to embed (Windows)"                    OFF)
 ENDIF()
 
 
 IF(WIN32)
        # By default, libgit2 is built with WinHTTP.  To use the built-in
        # HTTP transport, invoke CMake with the "-DWINHTTP=OFF" argument.
-       OPTION( WINHTTP                 "Use Win32 WinHTTP routines"    ON      )
+       OPTION(WINHTTP                  "Use Win32 WinHTTP routines"                             ON)
 ENDIF()
 
 IF(MSVC)
        # Enable MSVC CRTDBG memory leak reporting when in debug mode.
-       OPTION(MSVC_CRTDBG "Enable CRTDBG memory leak reporting" OFF)
+       OPTION(MSVC_CRTDBG              "Enable CRTDBG memory leak reporting"                   OFF)
 ENDIF()
 
 FILE(STRINGS "${libgit2_SOURCE_DIR}/include/git2/version.h" GIT2_HEADER REGEX "^#define LIBGIT2_VERSION \"[^\"]*\"$")
@@ -108,8 +106,16 @@ SET(LIBGIT2_VERSION_STRING "${LIBGIT2_VERSION_MAJOR}.${LIBGIT2_VERSION_MINOR}.${
 FILE(STRINGS "${libgit2_SOURCE_DIR}/include/git2/version.h" GIT2_HEADER_SOVERSION REGEX "^#define LIBGIT2_SOVERSION [0-9]+$")
 STRING(REGEX REPLACE "^.*LIBGIT2_SOVERSION ([0-9]+)$" "\\1" LIBGIT2_SOVERSION "${GIT2_HEADER_SOVERSION}")
 
+IF (DEPRECATE_HARD)
+       ADD_DEFINITIONS(-DGIT_DEPRECATE_HARD)
+ENDIF()
+
 # Platform specific compilation flags
 IF (MSVC)
+       IF (STDCALL)
+               MESSAGE(FATAL_ERROR "The STDCALL option is no longer supported; libgit2 is now always built as a cdecl library.  If you're using PInvoke, please add the CallingConventions.Cdecl attribute for support.")
+       ENDIF()
+
        ADD_DEFINITIONS(-D_SCL_SECURE_NO_WARNINGS)
        ADD_DEFINITIONS(-D_CRT_SECURE_NO_DEPRECATE)
        ADD_DEFINITIONS(-D_CRT_NONSTDC_NO_DEPRECATE)
@@ -120,10 +126,8 @@ IF (MSVC)
        # /MP - Parallel build
        SET(CMAKE_C_FLAGS "/GF /MP /nologo ${CMAKE_C_FLAGS}")
 
-       IF (STDCALL)
-               # /Gz - stdcall calling convention
-               SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /Gz")
-       ENDIF ()
+       # /Gd - explicitly set cdecl calling convention
+       SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /Gd")
 
        IF (STATIC_CRT)
                SET(CRT_FLAG_DEBUG "/MTd")
@@ -162,6 +166,9 @@ IF (MSVC)
        # /O1 - Optimize for size
        SET(CMAKE_C_FLAGS_MINSIZEREL "/DNDEBUG /O1 /Oy /GL /Gy ${CRT_FLAG_RELEASE}")
 
+       # /IGNORE:4221 - Ignore empty compilation units
+       SET(CMAKE_STATIC_LINKER_FLAGS "/IGNORE:4221")
+
        # /DYNAMICBASE - Address space load randomization (ASLR)
        # /NXCOMPAT - Data execution prevention (DEP)
        # /LARGEADDRESSAWARE - >2GB user address space on x86
@@ -197,7 +204,7 @@ ELSE ()
        ENABLE_WARNINGS(extra)
 
        IF (CMAKE_SYSTEM_NAME MATCHES "(Solaris|SunOS)")
-               SET(CMAKE_C_FLAGS "-std=c99 -D_POSIX_C_SOURCE=200112L -D__EXTENSIONS__ -D_POSIX_PTHREAD_SEMANTICS ${CMAKE_C_FLAGS}")
+               SET(CMAKE_C_FLAGS "-D_POSIX_C_SOURCE=200112L -D__EXTENSIONS__ -D_POSIX_PTHREAD_SEMANTICS ${CMAKE_C_FLAGS}")
        ENDIF()
 
        SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -D_DEBUG -O0")
@@ -223,15 +230,12 @@ ELSE ()
        ENABLE_WARNINGS(strict-prototypes)
        ENABLE_WARNINGS(declaration-after-statement)
        ENABLE_WARNINGS(shift-count-overflow)
-       DISABLE_WARNINGS(unused-const-variable)
-       DISABLE_WARNINGS(unused-function)
+       ENABLE_WARNINGS(unused-const-variable)
+       ENABLE_WARNINGS(unused-function)
        ENABLE_WARNINGS(format)
        ENABLE_WARNINGS(format-security)
        ENABLE_WARNINGS(int-conversion)
-
-       IF (APPLE) # Apple deprecated OpenSSL
-           DISABLE_WARNINGS(deprecated-declarations)
-       ENDIF()
+       DISABLE_WARNINGS(documentation-deprecated-sync)
 
        IF (PROFILE)
                SET(CMAKE_C_FLAGS "-pg ${CMAKE_C_FLAGS}")
@@ -249,6 +253,14 @@ ELSE()
        # that uses CMAKE_CONFIGURATION_TYPES and not CMAKE_BUILD_TYPE
 ENDIF()
 
+IF(BUILD_FUZZERS AND NOT USE_STANDALONE_FUZZERS)
+       # The actual sanitizer link target will be added when linking the fuzz
+       # targets.
+       SET(CMAKE_REQUIRED_FLAGS "-fsanitize=fuzzer-no-link")
+       ADD_C_FLAG(-fsanitize=fuzzer-no-link)
+       UNSET(CMAKE_REQUIRED_FLAGS)
+ENDIF ()
+
 ADD_SUBDIRECTORY(src)
 
 # Tests
@@ -286,6 +298,18 @@ IF (BUILD_EXAMPLES)
        ADD_SUBDIRECTORY(examples)
 ENDIF ()
 
+IF(BUILD_FUZZERS)
+       IF(NOT USE_STANDALONE_FUZZERS)
+               IF(BUILD_EXAMPLES)
+                       MESSAGE(FATAL_ERROR "Cannot build the fuzzer targets and the examples together")
+               ENDIF()
+               IF(BUILD_CLAR)
+                       MESSAGE(FATAL_ERROR "Cannot build the fuzzer targets and the tests together")
+               ENDIF()
+       ENDIF()
+       ADD_SUBDIRECTORY(fuzzers)
+ENDIF()
+
 IF(CMAKE_VERSION VERSION_GREATER 3)
        FEATURE_SUMMARY(WHAT ENABLED_FEATURES DESCRIPTION "Enabled features:")
        FEATURE_SUMMARY(WHAT DISABLED_FEATURES DESCRIPTION "Disabled features:")
diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md
deleted file mode 100644 (file)
index 0a0e4eb..0000000
+++ /dev/null
@@ -1,75 +0,0 @@
-# Contributor Covenant Code of Conduct
-
-## Our Pledge
-
-In the interest of fostering an open and welcoming environment, we as
-contributors and maintainers pledge to making participation in our project and
-our community a harassment-free experience for everyone, regardless of age, body
-size, disability, ethnicity, gender identity and expression, level of experience,
-nationality, personal appearance, race, religion, or sexual identity and
-orientation.
-
-## Our Standards
-
-Examples of behavior that contributes to creating a positive environment
-include:
-
-* Using welcoming and inclusive language
-* Being respectful of differing viewpoints and experiences
-* Gracefully accepting constructive criticism
-* Focusing on what is best for the community
-* Showing empathy towards other community members
-
-Examples of unacceptable behavior by participants include:
-
-* The use of sexualized language or imagery and unwelcome sexual attention or
-advances
-* Trolling, insulting/derogatory comments, and personal or political attacks
-* Public or private harassment
-* Publishing others' private information, such as a physical or electronic
-  address, without explicit permission
-* Other conduct which could reasonably be considered inappropriate in a
-  professional setting
-
-## Our Responsibilities
-
-Project maintainers are responsible for clarifying the standards of acceptable
-behavior and are expected to take appropriate and fair corrective action in
-response to any instances of unacceptable behavior.
-
-Project maintainers have the right and responsibility to remove, edit, or
-reject comments, commits, code, wiki edits, issues, and other contributions
-that are not aligned to this Code of Conduct, or to ban temporarily or
-permanently any contributor for other behaviors that they deem inappropriate,
-threatening, offensive, or harmful.
-
-## Scope
-
-This Code of Conduct applies both within project spaces and in public spaces
-when an individual is representing the project or its community. Examples of
-representing a project or community include using an official project e-mail
-address, posting via an official social media account, or acting as an appointed
-representative at an online or offline event. Representation of a project may be
-further defined and clarified by project maintainers.
-
-## Enforcement
-
-Instances of abusive, harassing, or otherwise unacceptable behavior may be
-reported by contacting the project team at [libgit2@gmail.com][email]. All
-complaints will be reviewed and investigated and will result in a response that
-is deemed necessary and appropriate to the circumstances. The project team is
-obligated to maintain confidentiality with regard to the reporter of an incident.
-Further details of specific enforcement policies may be posted separately.
-
-Project maintainers who do not follow or enforce the Code of Conduct in good
-faith may face temporary or permanent repercussions as determined by other
-members of the project's leadership.
-
-## Attribution
-
-This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
-available at [http://contributor-covenant.org/version/1/4][version]
-
-[email]: mailto:libgit2@gmail.com
-[homepage]: http://contributor-covenant.org
-[version]: http://contributor-covenant.org/version/1/4/
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
deleted file mode 100644 (file)
index 7f37223..0000000
+++ /dev/null
@@ -1,177 +0,0 @@
-# Welcome to libgit2!
-
-We're making it easy to do interesting things with git, and we'd love to have
-your help.
-
-## Licensing
-
-By contributing to libgit2, you agree to release your contribution under
-the terms of the license.  Except for the `examples` directory, all code
-is released under the [GPL v2 with linking exception](COPYING).
-
-The `examples` code is governed by the
-[CC0 Public Domain Dedication](examples/COPYING), so that you may copy
-from them into your own application.
-
-## Discussion & Chat
-
-We hang out in the
-[`#libgit2`](http://webchat.freenode.net/?channels=#libgit2)) channel on
-irc.freenode.net.
-
-Also, feel free to open an
-[Issue](https://github.com/libgit2/libgit2/issues/new) to start a discussion
-about any concerns you have.  We like to use Issues for that so there is an
-easily accessible permanent record of the conversation.
-
-## Libgit2 Versions
-
-The `master` branch is the main branch where development happens.
-Releases are tagged
-(e.g. [v0.21.0](https://github.com/libgit2/libgit2/releases/tag/v0.21.0) )
-and when a critical bug fix needs to be backported, it will be done on a
-`<tag>-maint` maintenance branch.
-
-## Reporting Bugs
-
-First, know which version of libgit2 your problem is in and include it in
-your bug report.  This can either be a tag (e.g.
-[v0.17.0](https://github.com/libgit2/libgit2/releases/tag/v0.17.0)) or a
-commit SHA
-(e.g. [01be7863](https://github.com/libgit2/libgit2/commit/01be7863)).
-Using [`git describe`](http://git-scm.com/docs/git-describe) is a
-great way to tell us what version you're working with.
-
-If you're not running against the latest `master` branch version,
-please compile and test against that to avoid re-reporting an issue that's
-already been fixed.
-
-It's *incredibly* helpful to be able to reproduce the problem.  Please
-include a list of steps, a bit of code, and/or a zipped repository (if
-possible).  Note that some of the libgit2 developers are employees of
-GitHub, so if your repository is private, find us on IRC and we'll figure
-out a way to help you.
-
-## Pull Requests
-
-Our work flow is a [typical GitHub
-flow](https://guides.github.com/introduction/flow/index.html), where
-contributors fork the [libgit2 repository](https://github.com/libgit2/libgit2),
-make their changes on branch, and submit a
-[Pull Request](https://help.github.com/articles/using-pull-requests)
-(a.k.a. "PR").  Pull requests should usually be targeted at the `master`
-branch.
-
-Life will be a lot easier for you (and us) if you follow this pattern
-(i.e. fork, named branch, submit PR).  If you use your fork's `master`
-branch directly, things can get messy.
-
-Please include a nice description of your changes when you submit your PR;
-if we have to read the whole diff to figure out why you're contributing
-in the first place, you're less likely to get feedback and have your change
-merged in.
-
-In addition to outlining your thought process in the PR's description, please
-also try to document it in your commits. We welcome it if every commit has a
-description of why you have been doing your changes alongside with your
-reasoning why this is a good idea. The messages shall be written in
-present-tense and in an imperative style (e.g. "Add feature foobar", not "Added
-feature foobar" or "Adding feature foobar"). Lines should be wrapped at 80
-characters so people with small screens are able to read the commit messages in
-their terminal without any problem.
-
-To make it easier to attribute commits to certain parts of our code base, we
-also prefer to have the commit subject be prefixed with a "scope". E.g. if you
-are changing code in our merging subsystem, make sure to prefix the subject with
-"merge:". The first word following the colon shall start with an lowercase
-letter. The maximum line length for the subject is 70 characters, preferably
-shorter.
-
-If you are starting to work on a particular area, feel free to submit a PR
-that highlights your work in progress (and note in the PR title that it's
-not ready to merge). These early PRs are welcome and will help in getting
-visibility for your fix, allow others to comment early on the changes and
-also let others know that you are currently working on something.
-
-Before wrapping up a PR, you should be sure to:
-
-* Write tests to cover any functional changes
-* Update documentation for any changed public APIs
-* Add to the [`CHANGELOG.md`](CHANGELOG.md) file describing any major changes
-
-## Unit Tests
-
-We believe that our unit tests allow us to keep the quality of libgit2
-high: any new changes must not cause unit test failures, and new changes
-should include unit tests that cover the bug fixes or new features.
-For bug fixes, we prefer unit tests that illustrate the failure before
-the change, but pass with your changes.
-
-In addition to new tests, please ensure that your changes do not cause
-any other test failures.  Running the entire test suite is helpful
-before you submit a pull request.  When you build libgit2, the test
-suite will also be built.  You can run most of the tests by simply running
-the resultant `libgit2_clar` binary.  If you want to run a specific
-unit test, you can name it with the `-s` option.  For example:
-
-    libgit2_clar -sstatus::worktree::long_filenames
-
-Or you can run an entire class of tests.  For example, to run all the
-worktree status tests:
-
-    libgit2_clar -sstatus::worktree
-
-The default test run is fairly exhaustive, but it will exclude some
-unit tests by default: in particular, those that talk to network
-servers and the tests that manipulate the filesystem in onerous
-ways (and may need to have special privileges to run).  To run the
-network tests:
-
-    libgit2_clar -ionline
-
-In addition, various tests may be enabled by environment variables,
-like the ones that write exceptionally large repositories or manipulate
-the filesystem structure in unexpected ways.  These tests *may be
-dangerous* to run on a normal machine and may harm your filesystem.  It's
-not recommended that you run these; instead, the continuous integration
-servers will run these (in a sandbox).
-
-## Porting Code From Other Open-Source Projects
-
-`libgit2` is licensed under the terms of the GPL v2 with a linking
-exception.  Any code brought in must be compatible with those terms.
-
-The most common case is porting code from core Git.  Git is a pure GPL
-project, which means that in order to port code to this project, we need the
-explicit permission of the author.  Check the
-[`git.git-authors`](https://github.com/libgit2/libgit2/blob/development/git.git-authors)
-file for authors who have already consented.
-
-Other licenses have other requirements; check the license of the library
-you're porting code *from* to see what you need to do.  As a general rule,
-MIT and BSD (3-clause) licenses are typically no problem.  Apache 2.0
-license typically doesn't work due to GPL incompatibility.
-
-If your pull request uses code from core Git, another project, or code
-from a forum / Stack Overflow, then *please* flag this in your PR and make
-sure you've given proper credit to the original author in the code
-snippet.
-
-## Style Guide
-
-The public API of `libgit2` is [ANSI C](http://en.wikipedia.org/wiki/ANSI_C)
-(a.k.a. C89) compatible.  Internally, `libgit2` is written using a portable
-subset of C99 - in order to compile with GCC, Clang, MSVC, etc., we keep
-local variable declarations at the tops of blocks only and avoid `//` style
-comments.  Additionally, `libgit2` follows some extra conventions for
-function and type naming, code formatting, and testing.
-
-We like to keep the source code consistent and easy to read.  Maintaining
-this takes some discipline, but it's been more than worth it.  Take a look
-at the [conventions
-file](https://github.com/libgit2/libgit2/blob/development/CONVENTIONS.md).
-
-## Starter Projects
-
-See our [projects
-list](https://github.com/libgit2/libgit2/blob/development/PROJECTS.md).
diff --git a/CONVENTIONS.md b/CONVENTIONS.md
deleted file mode 100644 (file)
index ffb696a..0000000
+++ /dev/null
@@ -1,266 +0,0 @@
-# Libgit2 Conventions
-
-We like to keep the source consistent and readable.  Herein are some
-guidelines that should help with that.
-
-## External API
-
-We have a few rules to avoid surprising ways of calling functions and
-some rules for consumers of the library to avoid stepping on each
-other's toes.
-
- - Property accessors return the value directly (e.g. an `int` or
-   `const char *`) but if a function can fail, we return a `int` value
-   and the output parameters go first in the parameter list, followed
-   by the object that a function is operating on, and then any other
-   arguments the function may need.
-
- - If a function returns an object as a return value, that function is
-   a getter and the object's lifetime is tied to the parent
-   object. Objects which are returned as the first argument as a
-   pointer-to-pointer are owned by the caller and it is responsible
-   for freeing it. Strings are returned via `git_buf` in order to
-   allow for re-use and safe freeing.
-
- - Most of what libgit2 does relates to I/O so as a general rule
-   you should assume that any function can fail due to errors as even
-   getting data from the filesystem can result in all sorts of errors
-   and complex failure cases.
-
- - Paths inside the Git system are separated by a slash (0x2F). If a
-   function accepts a path on disk, then backslashes (0x5C) are also
-   accepted on Windows.
-
- - Do not mix allocators. If something has been allocated by libgit2,
-   you do not know which is the right free function in the general
-   case. Use the free functions provided for each object type.
-
-## Compatibility
-
-`libgit2` runs on many different platforms with many different compilers.
-
-The public API of `libgit2` is [ANSI C](http://en.wikipedia.org/wiki/ANSI_C)
-(a.k.a. C89) compatible.
-
-Internally, `libgit2` is written using a portable subset of C99 - in order
-to maximize compatibility (e.g. with MSVC) we avoid certain C99
-extensions.  Specifically, we keep local variable declarations at the tops
-of blocks only and we avoid `//` style comments.
-
-Also, to the greatest extent possible, we try to avoid lots of `#ifdef`s
-inside the core code base.  This is somewhat unavoidable, but since it can
-really hamper maintainability, we keep it to a minimum.
-
-## Match Surrounding Code
-
-If there is one rule to take away from this document, it is *new code should
-match the surrounding code in a way that makes it impossible to distinguish
-the new from the old.* Consistency is more important to us than anyone's
-personal opinion about where braces should be placed or spaces vs. tabs.
-
-If a section of code is being completely rewritten, it is okay to bring it
-in line with the standards that are laid out here, but we will not accept
-submissions that contain a large number of changes that are merely
-reformatting.
-
-## Naming Things
-
-All external types and functions start with `git_` and all `#define` macros
-start with `GIT_`.  The `libgit2` API is mostly broken into related
-functional modules each with a corresponding header.  All functions in a
-module should be named like `git_modulename_functioname()`
-(e.g. `git_repository_open()`).
-
-Functions with a single output parameter should name that parameter `out`.
-Multiple outputs should be named `foo_out`, `bar_out`, etc.
-
-Parameters of type `git_oid` should be named `id`, or `foo_id`.  Calls that
-return an OID should be named `git_foo_id`.
-
-Where a callback function is used, the function should also include a
-user-supplied extra input that is a `void *` named "payload" that will be
-passed through to the callback at each invocation.
-
-## Typedefs
-
-Wherever possible, use `typedef`.  In some cases, if a structure is just a
-collection of function pointers, the pointer types don't need to be
-separately typedef'd, but loose function pointer types should be.
-
-## Exports
-
-All exported functions must be declared as:
-
-```c
-GIT_EXTERN(result_type) git_modulename_functionname(arg_list);
-```
-
-## Internals
-
-Functions whose *modulename* is followed by two underscores,
-for example `git_odb__read_packed`, are semi-private functions.
-They are primarily intended for use within the library itself,
-and may disappear or change their signature in a future release.
-
-## Parameters
-
-Out parameters come first.
-
-Whenever possible, pass argument pointers as `const`.  Some structures (such
-as `git_repository` and `git_index`) have mutable internal structure that
-prevents this.
-
-Callbacks should always take a `void *` payload as their last parameter.
-Callback pointers are grouped with their payloads, and typically come last
-when passed as arguments:
-
-```c
-int git_foo(git_repository *repo, git_foo_cb callback, void *payload);
-```
-
-## Memory Ownership
-
-Some APIs allocate memory which the caller is responsible for freeing; others
-return a pointer into a buffer that's owned by some other object.  Make this
-explicit in the documentation.
-
-## Return codes
-
-Most public APIs should return an `int` error code.  As is typical with most
-C library functions, a zero value indicates success and a negative value
-indicates failure.
-
-Some bindings will transform these returned error codes into exception
-types, so returning a semantically appropriate error code is important.
-Check
-[`include/git2/errors.h`](https://github.com/libgit2/libgit2/blob/development/include/git2/errors.h)
-for the return codes already defined.
-
-In your implementation, use `giterr_set()` to provide extended error
-information to callers.
-
-If a `libgit2` function internally invokes another function that reports an
-error, but the error is not propagated up, use `giterr_clear()` to prevent
-callers from getting the wrong error message later on.
-
-
-## Structs
-
-Most public types should be opaque, e.g.:
-
-```C
-typedef struct git_odb git_odb;
-```
-
-...with allocation functions returning an "instance" created within
-the library, and not within the application.  This allows the type
-to grow (or shrink) in size without rebuilding client code.
-
-To preserve ABI compatibility, include an `int version` field in all opaque
-structures, and initialize to the latest version in the construction call.
-Increment the "latest" version whenever the structure changes, and try to only
-append to the end of the structure.
-
-## Option Structures
-
-If a function's parameter count is too high, it may be desirable to package
-up the options in a structure.  Make them transparent, include a version
-field, and provide an initializer constant or constructor.  Using these
-structures should be this easy:
-
-```C
-git_foo_options opts = GIT_FOO_OPTIONS_INIT;
-opts.baz = BAZ_OPTION_ONE;
-git_foo(&opts);
-```
-
-## Enumerations
-
-Typedef all enumerated types.  If each option stands alone, use the enum
-type for passing them as parameters; if they are flags to be OR'ed together,
-pass them as `unsigned int` or `uint32_t` or some appropriate type.
-
-## Code Layout
-
-Try to keep lines less than 80 characters long.  This is a loose
-requirement, but going significantly over 80 columns is not nice.
-
-Use common sense to wrap most code lines; public function declarations
-can use a couple of different styles:
-
-```c
-/** All on one line is okay if it fits */
-GIT_EXTERN(int) git_foo_simple(git_oid *id);
-
-/** Otherwise one argument per line is a good next step */
-GIT_EXTERN(int) git_foo_id(
-       git_oid **out,
-       int a,
-       int b);
-```
-
-Indent with tabs; set your editor's tab width to 4 for best effect.
-
-Avoid trailing whitespace and only commit Unix-style newlines (i.e. no CRLF
-in the repository - just set `core.autocrlf` to true if you are writing code
-on a Windows machine).
-
-## Documentation
-
-All comments should conform to Doxygen "javadoc" style conventions for
-formatting the public API documentation.  Try to document every parameter,
-and keep the comments up to date if you change the parameter list.
-
-## Public Header Template
-
-Use this template when creating a new public header.
-
-```C
-#ifndef INCLUDE_git_${filename}_h__
-#define INCLUDE_git_${filename}_h__
-
-#include "git/common.h"
-
-/**
- * @file git/${filename}.h
- * @brief Git some description
- * @defgroup git_${filename} some description routines
- * @ingroup Git
- * @{
- */
-GIT_BEGIN_DECL
-
-/* ... definitions ... */
-
-/** @} */
-GIT_END_DECL
-#endif
-```
-
-## Inlined functions
-
-All inlined functions must be declared as:
-
-```C
-GIT_INLINE(result_type) git_modulename_functionname(arg_list);
-```
-
-`GIT_INLINE` (or `inline`) should not be used in public headers in order
-to preserve ANSI C compatibility.
-
-## Tests
-
-`libgit2` uses the [clar](https://github.com/vmg/clar) testing framework.
-
-All PRs should have corresponding tests.
-
-* If the PR fixes an existing issue, the test should fail prior to applying
-  the PR and succeed after applying it.
-* If the PR is for new functionality, then the tests should exercise that
-  new functionality to a certain extent.  We don't require 100% coverage
-  right now (although we are getting stricter over time).
-
-When adding new tests, we prefer if you attempt to reuse existing test data
-(in `tests-clar/resources/`) if possible.  If you are going to add new test
-repositories, please try to strip them of unnecessary files (e.g. sample
-hooks, etc).
diff --git a/PROJECTS.md b/PROJECTS.md
deleted file mode 100644 (file)
index 419fdcd..0000000
+++ /dev/null
@@ -1,93 +0,0 @@
-Projects For LibGit2
-====================
-
-So, you want to start helping out with `libgit2`? That's fantastic! We
-welcome contributions and we promise we'll try to be nice.
-
-This is a list of libgit2 related projects that new contributors can take
-on.  It includes a number of good starter projects as well as some larger
-ideas that no one is actively working on.
-
-## Before You Start
-
-Please start by reading the [README.md](README.md),
-[CONTRIBUTING.md](CONTRIBUTING.md), and [CONVENTIONS.md](CONVENTIONS.md)
-files before diving into one of these projects.  Those explain our work
-flow and coding conventions to help ensure that your work will be easily
-integrated into libgit2.
-
-Next, work through the build instructions and make sure you can clone the
-repository, compile it, and run the tests successfully.  That will make
-sure that your development environment is set up correctly and you are
-ready to start on libgit2 development.
-
-## Starter Projects
-
-These are good small projects to get started with libgit2.
-
-* Look at the `examples/` programs, find an existing one that mirrors a
-  core Git command and add a missing command-line option.  There are many
-  gaps right now and this helps demonstrate how to use the library.  Here
-  are some specific ideas (though there are many more):
-    * Fix the `examples/diff.c` implementation of the `-B`
-      (a.k.a. `--break-rewrites`) command line option to actually look for
-      the optional `[<n>][/<m>]` configuration values. There is an
-      existing comment that reads `/* TODO: parse thresholds */`. The
-      trick to this one will be doing it in a manner that is clean and
-      simple, but still handles the various cases correctly (e.g. `-B/70%`
-      is apparently a legal setting).
-    * As an extension to the matching idea for `examples/log.c`, add the
-      `-i` option to use `strcasestr()` for matches.
-    * For `examples/log.c`, implement the `--first-parent` option now that
-      libgit2 supports it in the revwalk API.
-* Pick a Git command that is not already emulated in `examples/` and write
-  a new example that mirrors the behavior.  Examples don't have to be
-  perfect emulations, but should demonstrate how to use the libgit2 APIs
-  to get results that are similar to Git commands.  This lets you (and us)
-  easily exercise a particular facet of the API and measure compatibility
-  and feature parity with core git.
-* Submit a PR to clarify documentation! While we do try to document all of
-  the APIs, your fresh eyes on the documentation will find areas that are
-  confusing much more easily.
-
-If none of these appeal to you, take a look at our issues list to see if
-there are any unresolved issues you'd like to jump in on.
-
-## Larger Projects
-
-These are ideas for larger projects mostly taken from our backlog of
-[Issues](https://github.com/libgit2/libgit2/issues).  Please don't dive
-into one of these as a first project for libgit2 - we'd rather get to
-know you first by successfully shipping your work on one of the smaller
-projects above.
-
-Some of these projects are broken down into subprojects and/or have
-some incremental steps listed towards the larger goal.  Those steps
-might make good smaller projects by themselves.
-
-* Port part of the Git test suite to run against the command line emulation
-  in `examples/`
-    * Pick a Git command that is emulated in our `examples/` area
-    * Extract the Git tests that exercise that command
-    * Convert the tests to call our emulation
-    * These tests could go in `examples/tests/`...
-* Add hooks API to enumerate and manage hooks (not run them at this point)
-    * Enumeration of available hooks
-    * Lookup API to see which hooks have a script and get the script
-    * Read/write API to load a hook script and write a hook script
-    * Eventually, callback API to invoke a hook callback when libgit2
-      executes the action in question
-* Isolate logic of ignore evaluation into a standalone API
-* Upgrade internal libxdiff code to latest from core Git
-* Tree builder improvements:
-    * Extend to allow building a tree hierarchy
-* Apply-patch API
-* Add a patch editing API to enable "git add -p" type operations
-* Textconv API to filter binary data before generating diffs (something
-  like the current Filter API, probably).
-* Performance profiling and improvement
-* Support "git replace" ref replacements
-* Include conflicts in diff results and in status
-    * GIT_DELTA_CONFLICT for items in conflict (with multiple files)
-    * Appropriate flags for status
-* Support sparse checkout (i.e. "core.sparsecheckout" and ".git/info/sparse-checkout")
index 1ec0bd800317f9e1bfafb86889228a50f8451a8a..3d05dab8e0a925881caa397ee909a363d0c8b77e 100644 (file)
--- a/README.md
+++ b/README.md
@@ -1,8 +1,13 @@
 libgit2 - the Git linkable library
 ==================================
 
-[![Azure Pipelines Build Status](https://dev.azure.com/libgit2/libgit2/_apis/build/status/libgit2)](https://dev.azure.com/libgit2/libgit2/_build/latest?definitionId=7)
-[![Coverity Scan Build Status](https://scan.coverity.com/projects/639/badge.svg)](https://scan.coverity.com/projects/639)
+| Build Status | |
+| ------------ | - |
+| **master** branch CI builds | [![Azure Pipelines Build Status](https://dev.azure.com/libgit2/libgit2/_apis/build/status/libgit2?branchName=master)](https://dev.azure.com/libgit2/libgit2/_build/latest?definitionId=7&branchName=master)   |
+| **v0.28 branch** CI builds | [![Azure Pipelines Build Status](https://dev.azure.com/libgit2/libgit2/_apis/build/status/libgit2?branchName=maint/v0.28)](https://dev.azure.com/libgit2/libgit2/_build/latest?definitionId=7&branchName=maint/v0.28) |
+| **v0.27 branch** CI builds | [![Azure Pipelines Build Status](https://dev.azure.com/libgit2/libgit2/_apis/build/status/libgit2?branchName=maint/v0.27)](https://dev.azure.com/libgit2/libgit2/_build/latest?definitionId=7&branchName=maint/v0.27) |
+| **v0.26 branch** CI builds | [![Azure Pipelines Build Status](https://dev.azure.com/libgit2/libgit2/_apis/build/status/libgit2?branchName=maint/v0.26)](https://dev.azure.com/libgit2/libgit2/_build/latest?definitionId=7&branchName=maint/v0.26) |
+| **Nightly** builds | [![Azure Pipelines Build Status](https://libgit2.visualstudio.com/libgit2/_apis/build/status/nightly?branchName=master&label=Full+Build)](https://libgit2.visualstudio.com/libgit2/_build/latest?definitionId=9&branchName=master) [![Coverity Build Status](https://dev.azure.com/libgit2/libgit2/_apis/build/status/coverity?branchName=master&label=Coverity+Build)](https://dev.azure.com/libgit2/libgit2/_build/latest?definitionId=21?branchName=master) [![Coverity Scan Build Status](https://scan.coverity.com/projects/639/badge.svg)](https://scan.coverity.com/projects/639) |
 
 `libgit2` is a portable, pure C implementation of the Git core methods
 provided as a linkable library with a solid API, allowing to build Git
@@ -26,6 +31,27 @@ with any kind of software without having to release its source code.
 Additionally, the example code has been released to the public domain (see the
 [separate license](examples/COPYING) for more information).
 
+Table of Contents
+=================
+
+* [Quick Start](#quick-start)
+* [Getting Help](#getting-help)
+* [What It Can Do](#what-it-can-do)
+* [Optional dependencies](#optional-dependencies)
+* [Initialization](#initialization)
+* [Threading](#threading)
+* [Conventions](#conventions)
+* [Building libgit2 - Using CMake](#building-libgit2---using-cmake)
+    * [Building](#building)
+    * [Installation](#installation)
+    * [Advanced Usage](#advanced-usage)
+    * [Compiler and linker options](#compiler-and-linker-options)
+    * [MacOS X](#macos-x)
+    * [Android](#android)
+* [Language Bindings](#language-bindings)
+* [How Can I Contribute?](#how-can-i-contribute)
+* [License](#license)
+
 Quick Start
 ===========
 
@@ -47,8 +73,8 @@ Quick Start
 2. Create the cmake build environment: `cmake ..`
 3. Build libgit2: `cmake --build .`
 
-Trouble with these steps?  Read `TROUBLESHOOTING.md`.  More detailed build
-guidance is available below.
+Trouble with these steps?  Read our (troubleshooting guide)[docs/troubleshooting.md].
+More detailed build guidance is available below.
 
 Getting Help
 ============
@@ -148,12 +174,12 @@ require assistance coordinating this, simply have the worker threads call
 Threading
 =========
 
-See [THREADING](THREADING.md) for information
+See [threading](docs/threading.md) for information
 
 Conventions
 ===========
 
-See [CONVENTIONS](CONVENTIONS.md) for an overview of the external
+See [conventions](docs/conventions.md) for an overview of the external
 and internal API/coding conventions we use.
 
 Building libgit2 - Using CMake
@@ -195,7 +221,7 @@ run the index tests:
     $ ./libgit2_clar -sindex
 
 To run a single test named `index::racy::diff`, which corresponds to the test
-function (`test_index_racy__diff`)[https://github.com/libgit2/libgit2/blob/master/tests/index/racy.c#L23]:
+function [`test_index_racy__diff`](https://github.com/libgit2/libgit2/blob/master/tests/index/racy.c#L23):
 
     $ ./libgit2_clar -sindex::racy::diff
 
@@ -230,7 +256,15 @@ The following CMake variables are declared:
 - `BUILD_SHARED_LIBS`: Build libgit2 as a Shared Library (defaults to ON)
 - `BUILD_CLAR`: Build [Clar](https://github.com/vmg/clar)-based test suite (defaults to ON)
 - `THREADSAFE`: Build libgit2 with threading support (defaults to ON)
-- `STDCALL`: Build libgit2 as `stdcall`. Turn off for `cdecl` (Windows; defaults to ON)
+
+To list all build options and their current value, you can do the
+following:
+
+       # Create and set up a build directory
+       $ mkdir build
+       $ cmake ..
+       # List all build options and their values
+       $ cmake -L
 
 Compiler and linker options
 ---------------------------
@@ -342,10 +376,10 @@ We welcome new contributors!  We have a number of issues marked as
 and
 ["easy fix"](https://github.com/libgit2/libgit2/issues?utf8=✓&q=is%3Aissue+is%3Aopen+label%3A%22easy+fix%22)
 that are good places to jump in and get started.  There's much more detailed
-information in our list of [outstanding projects](PROJECTS.md).
+information in our list of [outstanding projects](docs/projects.md).
 
-Please be sure to check the [contribution guidelines](CONTRIBUTING.md) to
-understand our workflow, and the libgit2 [coding conventions](CONVENTIONS.md).
+Please be sure to check the [contribution guidelines](docs/contributing.md) to
+understand our workflow, and the libgit2 [coding conventions](docs/conventions.md).
 
 License
 ==================================
diff --git a/THREADING.md b/THREADING.md
deleted file mode 100644 (file)
index 430bca8..0000000
+++ /dev/null
@@ -1,115 +0,0 @@
-Threads in libgit2
-==================
-
-You may safely use any libgit2 object from any thread, though there
-may be issues depending on the cryptographic libraries libgit2 or its
-dependencies link to (more on this later). For libgit2 itself,
-provided you take the following into consideration you won't run into
-issues:
-
-Sharing objects
----------------
-
-Use an object from a single thread at a time. Most data structures do
-not guard against concurrent access themselves. This is because they
-are rarely used in isolation and it makes more sense to synchronize
-access via a larger lock or similar mechanism.
-
-There are some objects which are read-only/immutable and are thus safe
-to share across threads, such as references and configuration
-snapshots.
-
-Error messages
---------------
-
-The error message is thread-local. The `giterr_last()` call must
-happen on the same thread as the error in order to get the
-message. Often this will be the case regardless, but if you use
-something like the [GCD](http://en.wikipedia.org/wiki/Grand_Central_Dispatch)
-on Mac OS X (where code is executed on an arbitrary thread), the code
-must make sure to retrieve the error code on the thread where the error
-happened.
-
-Threads and cryptographic libraries
-=======================================
-
-On Windows
-----------
-
-When built as a native Windows DLL, libgit2 uses WinCNG and WinHTTP,
-both of which are thread-safe. You do not need to do anything special.
-
-When using libssh2 which itself uses WinCNG, there are no special
-steps necessary. If you are using a MinGW or similar environment where
-libssh2 uses OpenSSL or libgcrypt, then the general case affects
-you.
-
-On Mac OS X
------------
-
-By default we use libcurl to perform the encryption. The
-system-provided libcurl uses SecureTransport, so no special steps are
-necessary. If you link against another libcurl (e.g. from homebrew)
-refer to the general case.
-
-If the option to use libcurl was deactivated, the library makes use of
-CommonCrypto and SecureTransport for cryptographic support. These are
-thread-safe and you do not need to do anything special.
-
-Note that libssh2 may still use OpenSSL itself. In that case, the
-general case still affects you if you use ssh.
-
-General Case
-------------
-
-If it's available, by default we use libcurl to provide HTTP tunneling support,
-which may be linked against a number of cryptographic libraries and has its
-own
-[recommendations for thread safety](https://curl.haxx.se/libcurl/c/threadsafe.html).
-
-If there are no alternative TLS implementations (currently only
-SecureTransport), libgit2 uses OpenSSL in order to use HTTPS as a transport.
-OpenSSL is thread-safe starting at version 1.1.0. If your copy of libgit2 is
-linked against that version, you do not need to take any further steps.
-
-Older versions of OpenSSL are made to be thread-implementation agnostic, and the
-users of the library must set which locking function it should use. libgit2
-cannot know what to set as the user of libgit2 may also be using OpenSSL independently and
-the locking settings must then live outside the lifetime of libgit2.
-
-Even if libgit2 doesn't use OpenSSL directly, OpenSSL can still be used by
-libssh2 or libcurl depending on the configuration. If OpenSSL is used by
-more than one library, you only need to set up threading for OpenSSL once.
-
-If libgit2 is linked against OpenSSL, it provides a last-resort convenience function
-`git_openssl_set_locking()` (available in `sys/openssl.h`) to use the
-platform-native mutex mechanisms to perform the locking, which you can use
-if you do not want to use OpenSSL outside of libgit2, or you
-know that libgit2 will outlive the rest of the operations. It is then not
-safe to use OpenSSL multi-threaded after libgit2's shutdown function
-has been called.  Note `git_openssl_set_locking()` only works if
-libgit2 uses OpenSSL directly - if OpenSSL is only used as a dependency
-of libssh2 or libcurl as described above, `git_openssl_set_locking()` is a no-op.
-
-If your programming language offers a package/bindings for OpenSSL,
-you should very strongly prefer to use that in order to set up
-locking, as they provide a level of coordination which is impossible
-when using this function.
-
-See the
-[OpenSSL documentation](https://www.openssl.org/docs/crypto/threads.html)
-on threading for more details, and http://trac.libssh2.org/wiki/MultiThreading
-for a specific example of providing the threading callbacks.
-
-libssh2 may be linked against OpenSSL or libgcrypt. If it uses OpenSSL,
-see the above paragraphs. If it uses libgcrypt, then you need to
-set up its locking before using it multi-threaded. libgit2 has no
-direct connection to libgcrypt and thus has no convenience functions for
-it (but libgcrypt has macros). Read libgcrypt's
-[threading documentation for more information](http://www.gnupg.org/documentation/manuals/gcrypt/Multi_002dThreading.html)
-
-It is your responsibility as an application author or packager to know
-what your dependencies are linked against and to take the appropriate
-steps to ensure the cryptographic libraries are thread-safe. We agree
-that this situation is far from ideal but at this time it is something
-the application authors need to deal with.
diff --git a/TROUBLESHOOTING.md b/TROUBLESHOOTING.md
deleted file mode 100644 (file)
index 085fff8..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-Troubleshooting libgit2 Problems
-================================
-
-CMake Failures
---------------
-
-* **`Asked for OpenSSL TLS backend, but it wasn't found`**
-  CMake cannot find your SSL/TLS libraries.  By default, libgit2 always
-  builds with HTTPS support, and you are encouraged to install the
-  OpenSSL libraries for your system (eg, `apt-get install libssl-dev`).
-
-  For development, if you simply want to disable HTTPS support entirely,
-  pass the `-DUSE_HTTPS=OFF` argument to `cmake` when configuring it.
index 9e17817dbec1a9df1419032d0b72032a576dc26d..bf733273b8cd8b601aaee9a5c10d099a7f6a87e2 100644 (file)
@@ -1,7 +1,7 @@
 {
  "name":   "libgit2",
  "github": "libgit2/libgit2",
- "input":  "include/git2",
+ "input":  "include",
  "prefix": "git_",
  "output": "docs",
  "branch": "gh-pages",
index 64007d1a24f8672a1a3e1875b3ed03afa7151d98..a37319adf301eb5670fa2934772a4e1ed0c192f3 100644 (file)
@@ -6,28 +6,56 @@ trigger:
 - maint/*
 
 jobs:
-- job: linux_trusty_gcc_openssl
-  displayName: 'Linux (Trusty; GCC; OpenSSL)'
+- job: linux_amd64_trusty_gcc_openssl
+  displayName: 'Linux (amd64; Trusty; GCC; OpenSSL)'
   pool:
     vmImage: 'Ubuntu 16.04'
   steps:
-  - template: ci/docker.yml
+  - template: azure-pipelines/docker.yml
     parameters:
-      imageName: 'libgit2/trusty-openssl:latest'
+      imageName: 'libgit2/trusty-amd64:latest'
       environmentVariables: |
        CC=gcc
+       CMAKE_OPTIONS=-DUSE_HTTPS=OpenSSL -DDEPRECATE_HARD=ON
        LEAK_CHECK=valgrind
 
-- job: linux_trusty_clang_openssl
-  displayName: 'Linux (Trusty; Clang; OpenSSL)'
+- job: linux_amd64_trusty_gcc_mbedtls
+  displayName: 'Linux (amd64; Trusty; GCC; mbedTLS)'
   pool:
     vmImage: 'Ubuntu 16.04'
   steps:
-  - template: ci/docker.yml
+  - template: azure-pipelines/docker.yml
     parameters:
-      imageName: 'libgit2/trusty-openssl:latest'
+      imageName: 'libgit2/trusty-amd64:latest'
+      environmentVariables: |
+       CC=gcc
+       CMAKE_OPTIONS=-DUSE_HTTPS=mbedTLS -DSHA1_BACKEND=mbedTLS -DDEPRECATE_HARD=ON
+       LEAK_CHECK=valgrind
+
+- job: linux_amd64_trusty_clang_openssl
+  displayName: 'Linux (amd64; Trusty; Clang; OpenSSL)'
+  pool:
+    vmImage: 'Ubuntu 16.04'
+  steps:
+  - template: azure-pipelines/docker.yml
+    parameters:
+      imageName: 'libgit2/trusty-amd64:latest'
+      environmentVariables: |
+       CC=clang
+       CMAKE_OPTIONS=-DUSE_HTTPS=OpenSSL -DDEPRECATE_HARD=ON
+       LEAK_CHECK=valgrind
+
+- job: linux_amd64_trusty_clang_mbedtls
+  displayName: 'Linux (amd64; Trusty; Clang; mbedTLS)'
+  pool:
+    vmImage: 'Ubuntu 16.04'
+  steps:
+  - template: azure-pipelines/docker.yml
+    parameters:
+      imageName: 'libgit2/trusty-amd64:latest'
       environmentVariables: |
        CC=clang
+       CMAKE_OPTIONS=-DUSE_HTTPS=mbedTLS -DSHA1_BACKEND=mbedTLS -DDEPRECATE_HARD=ON
        LEAK_CHECK=valgrind
 
 - job: macos
@@ -37,33 +65,35 @@ jobs:
   steps:
   - bash: . '$(Build.SourcesDirectory)/ci/setup-osx.sh'
     displayName: Setup
-  - template: ci/bash.yml
+  - template: azure-pipelines/bash.yml
     parameters:
       environmentVariables:
         TMPDIR: $(Agent.TempDirectory)
         PKG_CONFIG_PATH: /usr/local/opt/openssl/lib/pkgconfig
         LEAK_CHECK: leaks
+        CMAKE_OPTIONS: -G Ninja -DDEPRECATE_HARD=ON
+        SKIP_SSH_TESTS: true
 
 - job: windows_vs_amd64
-  displayName: 'Windows (Visual Studio; amd64)'
+  displayName: 'Windows (amd64; Visual Studio)'
   pool: Hosted
   steps:
-  - template: ci/powershell.yml
+  - template: azure-pipelines/powershell.yml
     parameters:
       environmentVariables:
-        CMAKE_OPTIONS: -DMSVC_CRTDBG=ON -G"Visual Studio 12 2013 Win64"
+        CMAKE_OPTIONS: -DMSVC_CRTDBG=ON -G"Visual Studio 12 2013 Win64" -DDEPRECATE_HARD=ON
 
 - job: windows_vs_x86
-  displayName: 'Windows (Visual Studio; x86)'
+  displayName: 'Windows (x86; Visual Studio)'
   pool: Hosted
   steps:
-  - template: ci/powershell.yml
+  - template: azure-pipelines/powershell.yml
     parameters:
       environmentVariables:
-        CMAKE_OPTIONS: -DMSVC_CRTDBG=ON -G"Visual Studio 12 2013"
+        CMAKE_OPTIONS: -DMSVC_CRTDBG=ON -G"Visual Studio 12 2013" -DDEPRECATE_HARD=ON
 
 - job: windows_mingw_amd64
-  displayName: 'Windows (MinGW; amd64)'
+  displayName: 'Windows (amd64; MinGW)'
   pool: Hosted
   steps:
   - powershell: . '$(Build.SourcesDirectory)\ci\setup-mingw.ps1'
@@ -71,14 +101,14 @@ jobs:
     env:
       TEMP: $(Agent.TempDirectory)
       ARCH: amd64
-  - template: ci/powershell.yml
+  - template: azure-pipelines/powershell.yml
     parameters:
       environmentVariables:
-        CMAKE_OPTIONS: -G"MinGW Makefiles"
+        CMAKE_OPTIONS: -G"MinGW Makefiles" -DDEPRECATE_HARD=ON
         PATH: $(Agent.TempDirectory)\mingw64\bin;C:\ProgramData\Oracle\Java\javapath;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\CMake\bin
 
 - job: windows_mingw_x86
-  displayName: 'Windows (MinGW; x86)'
+  displayName: 'Windows (x86; MinGW)'
   pool: Hosted
   steps:
   - powershell: . '$(Build.SourcesDirectory)\ci\setup-mingw.ps1'
@@ -87,8 +117,31 @@ jobs:
     env:
       TEMP: $(Agent.TempDirectory)
       ARCH: x86
-  - template: ci/powershell.yml
+  - template: azure-pipelines/powershell.yml
     parameters:
       environmentVariables:
-        CMAKE_OPTIONS: -G"MinGW Makefiles"
+        CMAKE_OPTIONS: -G"MinGW Makefiles" -DDEPRECATE_HARD=ON
         PATH: $(Agent.TempDirectory)\mingw32\bin;C:\ProgramData\Oracle\Java\javapath;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\CMake\bin
+
+- job: documentation
+  displayName: 'Generate Documentation'
+  pool:
+    vmImage: 'Ubuntu 16.04'
+  steps:
+  - script: |
+      git config user.name 'Documentation Generation'
+      git config user.email 'noreply@libgit2.org'
+      docker run --rm -v /home/vsts/work/1/s:/src -w /src libgit2/docurium:test cm doc api.docurium
+      git checkout gh-pages
+      cp -R * '$(Build.BinariesDirectory)'
+  - task: archivefiles@2
+    displayName: 'Archive Documentation'
+    inputs:
+      rootFolderOrFile: '$(Build.BinariesDirectory)'
+      includeRootFolder: false
+      archiveFile: '$(Build.ArtifactStagingDirectory)/api-documentation.zip'
+  - task: publishbuildartifacts@1
+    displayName: 'Upload Documentation'
+    inputs:
+      pathToPublish: '$(Build.ArtifactStagingDirectory)'
+      artifactName: 'docs'
diff --git a/azure-pipelines/bash.yml b/azure-pipelines/bash.yml
new file mode 100644 (file)
index 0000000..d776a36
--- /dev/null
@@ -0,0 +1,17 @@
+# These are the steps used for building on machines with bash.
+steps:
+- bash: . '$(Build.SourcesDirectory)/ci/build.sh'
+  displayName: Build
+  workingDirectory: '$(Build.BinariesDirectory)'
+  env: ${{ parameters.environmentVariables }}
+- bash: . '$(Build.SourcesDirectory)/ci/test.sh'
+  displayName: Test
+  workingDirectory: '$(Build.BinariesDirectory)'
+  env: ${{ parameters.environmentVariables }}
+- task: PublishTestResults@2
+  displayName: Publish Test Results
+  condition: succeededOrFailed()
+  inputs:
+    testResultsFiles: 'results_*.xml'
+    searchFolder: '$(Build.BinariesDirectory)'
+    mergeTestResults: true
diff --git a/azure-pipelines/coverity.yml b/azure-pipelines/coverity.yml
new file mode 100644 (file)
index 0000000..d8d3422
--- /dev/null
@@ -0,0 +1,36 @@
+resources:
+- repo: self
+
+jobs:
+- job: coverity
+  displayName: 'Coverity'
+  pool:
+    vmImage: 'Ubuntu 16.04'
+  steps:
+  - task: Docker@0
+    displayName: Build
+    inputs:
+      action: 'Run an image'
+      imageName: 'libgit2/trusty-openssl:latest'
+      volumes: |
+       $(Build.SourcesDirectory):/src
+       $(Build.BinariesDirectory):/build
+      envVars: |
+       COVERITY_TOKEN=$(COVERITY_TOKEN)
+      workDir: '/build'
+      containerCommand: '/src/ci/coverity-build.sh'
+      detached: false
+  - task: Docker@0
+    displayName: Publish
+    inputs:
+      action: 'Run an image'
+      imageName: 'libgit2/trusty-openssl:latest'
+      volumes: |
+       $(Build.SourcesDirectory):/src
+       $(Build.BinariesDirectory):/build
+      envVars: |
+       COVERITY_TOKEN=$(COVERITY_TOKEN)
+      workDir: '/build'
+      containerCommand: '/src/ci/coverity-publish.sh'
+      detached: false
+    continueOnError: true
diff --git a/azure-pipelines/docker.yml b/azure-pipelines/docker.yml
new file mode 100644 (file)
index 0000000..2744a63
--- /dev/null
@@ -0,0 +1,37 @@
+# These are the steps used in a container-based build in VSTS.
+steps:
+- ${{ if eq(parameters.qemu, 'true') }}:
+  - script: docker run --rm --privileged multiarch/qemu-user-static:register --reset
+    displayName: 'Register Docker QEMU'
+
+- task: docker@0
+  displayName: Build
+  inputs:
+    action: 'Run an image'
+    imageName: ${{ parameters.imageName }}
+    volumes: |
+     $(Build.SourcesDirectory):/src
+     $(Build.BinariesDirectory):/build
+    envVars: ${{ parameters.environmentVariables }}
+    workDir: '/build'
+    containerCommand: '/src/ci/build.sh'
+    detached: false
+- task: docker@0
+  displayName: Test
+  inputs:
+    action: 'Run an image'
+    imageName: ${{ parameters.imageName }}
+    volumes: |
+     $(Build.SourcesDirectory):/src
+     $(Build.BinariesDirectory):/build
+    envVars: ${{ parameters.environmentVariables }}
+    workDir: '/build'
+    containerCommand: '/src/ci/test.sh'
+    detached: false
+- task: publishtestresults@2
+  displayName: Publish Test Results
+  condition: succeededOrFailed()
+  inputs:
+    testResultsFiles: 'results_*.xml'
+    searchFolder: '$(Build.BinariesDirectory)'
+    mergeTestResults: true
diff --git a/azure-pipelines/nightly.yml b/azure-pipelines/nightly.yml
new file mode 100644 (file)
index 0000000..fd76b97
--- /dev/null
@@ -0,0 +1,189 @@
+resources:
+- repo: self
+
+jobs:
+- job: linux_amd64_trusty_gcc_openssl
+  displayName: 'Linux (amd64; Trusty; GCC; OpenSSL)'
+  pool:
+    vmImage: 'Ubuntu 16.04'
+  steps:
+  - template: docker.yml
+    parameters:
+      imageName: 'libgit2/trusty-amd64:latest'
+      environmentVariables: |
+       CC=gcc
+       CMAKE_OPTIONS=-DUSE_HTTPS=OpenSSL -DDEPRECATE_HARD=ON
+       LEAK_CHECK=valgrind
+       RUN_INVASIVE_TESTS=true
+
+- job: linux_amd64_trusty_gcc_mbedtls
+  displayName: 'Linux (amd64; Trusty; GCC; mbedTLS)'
+  pool:
+    vmImage: 'Ubuntu 16.04'
+  steps:
+  - template: docker.yml
+    parameters:
+      imageName: 'libgit2/trusty-amd64:latest'
+      environmentVariables: |
+       CC=gcc
+       CMAKE_OPTIONS=-DUSE_HTTPS=mbedTLS -DSHA1_BACKEND=mbedTLS -DDEPRECATE_HARD=ON
+       LEAK_CHECK=valgrind
+       RUN_INVASIVE_TESTS=true
+
+- job: linux_amd64_trusty_clang_openssl
+  displayName: 'Linux (amd64; Trusty; Clang; OpenSSL)'
+  pool:
+    vmImage: 'Ubuntu 16.04'
+  steps:
+  - template: docker.yml
+    parameters:
+      imageName: 'libgit2/trusty-amd64:latest'
+      environmentVariables: |
+       CC=clang
+       CMAKE_OPTIONS=-DUSE_HTTPS=OpenSSL -DDEPRECATE_HARD=ON
+       LEAK_CHECK=valgrind
+       RUN_INVASIVE_TESTS=true
+
+- job: linux_amd64_trusty_clang_mbedtls
+  displayName: 'Linux (amd64; Trusty; Clang; mbedTLS)'
+  pool:
+    vmImage: 'Ubuntu 16.04'
+  steps:
+  - template: docker.yml
+    parameters:
+      imageName: 'libgit2/trusty-amd64:latest'
+      environmentVariables: |
+       CC=clang
+       CMAKE_OPTIONS=-DUSE_HTTPS=mbedTLS -DSHA1_BACKEND=mbedTLS -DDEPRECATE_HARD=ON
+       LEAK_CHECK=valgrind
+       RUN_INVASIVE_TESTS=true
+
+- job: macos
+  displayName: 'macOS'
+  pool:
+    vmImage: 'macOS 10.13'
+  steps:
+  - bash: . '$(Build.SourcesDirectory)/ci/setup-osx.sh'
+    displayName: Setup
+  - template: bash.yml
+    parameters:
+      environmentVariables:
+        TMPDIR: $(Agent.TempDirectory)
+        PKG_CONFIG_PATH: /usr/local/opt/openssl/lib/pkgconfig
+        LEAK_CHECK: leaks
+        CMAKE_OPTIONS: -G Ninja -DDEPRECATE_HARD=ON
+        RUN_INVASIVE_TESTS: true
+        SKIP_SSH_TESTS: true
+
+- job: windows_vs_amd64
+  displayName: 'Windows (amd64; Visual Studio)'
+  pool: Hosted
+  steps:
+  - template: powershell.yml
+    parameters:
+      environmentVariables:
+        CMAKE_OPTIONS: -DMSVC_CRTDBG=ON -G"Visual Studio 12 2013 Win64" -DDEPRECATE_HARD=ON
+        RUN_INVASIVE_TESTS: true
+
+- job: windows_vs_x86
+  displayName: 'Windows (x86; Visual Studio)'
+  pool: Hosted
+  steps:
+  - template: powershell.yml
+    parameters:
+      environmentVariables:
+        CMAKE_OPTIONS: -DMSVC_CRTDBG=ON -G"Visual Studio 12 2013" -DDEPRECATE_HARD=ON
+        RUN_INVASIVE_TESTS: true
+
+- job: windows_mingw_amd64
+  displayName: 'Windows (amd64; MinGW)'
+  pool: Hosted
+  steps:
+  - powershell: . '$(Build.SourcesDirectory)\ci\setup-mingw.ps1'
+    displayName: Setup
+    env:
+      TEMP: $(Agent.TempDirectory)
+      ARCH: amd64
+  - template: powershell.yml
+    parameters:
+      environmentVariables:
+        CMAKE_OPTIONS: -G"MinGW Makefiles" -DDEPRECATE_HARD=ON
+        PATH: $(Agent.TempDirectory)\mingw64\bin;C:\ProgramData\Oracle\Java\javapath;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\CMake\bin
+        RUN_INVASIVE_TESTS: true
+
+- job: windows_mingw_x86
+  displayName: 'Windows (x86; MinGW)'
+  pool: Hosted
+  steps:
+  - powershell: . '$(Build.SourcesDirectory)\ci\setup-mingw.ps1'
+    displayName: Setup
+    workingDirectory: '$(Build.BinariesDirectory)'
+    env:
+      TEMP: $(Agent.TempDirectory)
+      ARCH: x86
+  - template: powershell.yml
+    parameters:
+      environmentVariables:
+        CMAKE_OPTIONS: -G"MinGW Makefiles" -DDEPRECATE_HARD=ON
+        PATH: $(Agent.TempDirectory)\mingw32\bin;C:\ProgramData\Oracle\Java\javapath;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\CMake\bin
+        RUN_INVASIVE_TESTS: true
+
+- job: linux_x86_bionic_gcc_openssl
+  displayName: 'Linux (x86; Bionic; GCC; OpenSSL)'
+  pool:
+    vmImage: 'Ubuntu 16.04'
+  steps:
+  - template: docker.yml
+    parameters:
+      qemu: 'true'
+      imageName: 'libgit2/bionic-x86:latest'
+      environmentVariables: |
+       CC=gcc
+       CMAKE_OPTIONS=-DUSE_HTTPS=OpenSSL -DDEPRECATE_HARD=ON
+       LEAK_CHECK=valgrind
+       RUN_INVASIVE_TESTS=true
+
+- job: linux_x86_bionic_clang_openssl
+  displayName: 'Linux (x86; Bionic; Clang; OpenSSL)'
+  pool:
+    vmImage: 'Ubuntu 16.04'
+  steps:
+  - template: docker.yml
+    parameters:
+      qemu: 'true'
+      imageName: 'libgit2/bionic-x86:latest'
+      environmentVariables: |
+       CC=clang
+       CMAKE_OPTIONS=-DUSE_HTTPS=OpenSSL -DDEPRECATE_HARD=ON
+       LEAK_CHECK=valgrind
+       RUN_INVASIVE_TESTS=true
+
+- job: linux_arm32_bionic_gcc_openssl
+  displayName: 'Linux (arm32; Bionic; GCC; OpenSSL)'
+  pool:
+    vmImage: 'Ubuntu 16.04'
+  steps:
+  - template: docker.yml
+    parameters:
+      qemu: 'true'
+      imageName: 'libgit2/bionic-arm32:latest'
+      environmentVariables: |
+       CC=gcc
+       CMAKE_OPTIONS=-DUSE_HTTPS=OpenSSL -DDEPRECATE_HARD=ON
+       RUN_INVASIVE_TESTS=true
+       SKIP_PROXY_TESTS=true
+
+- job: linux_arm64_bionic_gcc_openssl
+  displayName: 'Linux (arm64; Bionic; GCC; OpenSSL)'
+  pool:
+    vmImage: 'Ubuntu 16.04'
+  steps:
+  - template: docker.yml
+    parameters:
+      qemu: 'true'
+      imageName: 'libgit2/bionic-arm64:latest'
+      environmentVariables: |
+       CC=gcc
+       CMAKE_OPTIONS=-DUSE_HTTPS=OpenSSL -DDEPRECATE_HARD=ON
+       RUN_INVASIVE_TESTS=true
+       SKIP_PROXY_TESTS=true
diff --git a/azure-pipelines/powershell.yml b/azure-pipelines/powershell.yml
new file mode 100644 (file)
index 0000000..a2eb175
--- /dev/null
@@ -0,0 +1,17 @@
+# These are the steps used for building on machines with PowerShell.
+steps:
+- powershell: . '$(Build.SourcesDirectory)\ci\build.ps1'
+  displayName: Build
+  workingDirectory: '$(Build.BinariesDirectory)'
+  env: ${{ parameters.environmentVariables }}
+- powershell: . '$(Build.SourcesDirectory)\ci\test.ps1'
+  displayName: Test
+  workingDirectory: '$(Build.BinariesDirectory)'
+  env: ${{ parameters.environmentVariables }}
+- task: PublishTestResults@2
+  displayName: Publish Test Results
+  condition: succeededOrFailed()
+  inputs:
+    testResultsFiles: 'results_*.xml'
+    searchFolder: '$(Build.BinariesDirectory)'
+    mergeTestResults: true
diff --git a/ci/bash.yml b/ci/bash.yml
deleted file mode 100644 (file)
index d776a36..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-# These are the steps used for building on machines with bash.
-steps:
-- bash: . '$(Build.SourcesDirectory)/ci/build.sh'
-  displayName: Build
-  workingDirectory: '$(Build.BinariesDirectory)'
-  env: ${{ parameters.environmentVariables }}
-- bash: . '$(Build.SourcesDirectory)/ci/test.sh'
-  displayName: Test
-  workingDirectory: '$(Build.BinariesDirectory)'
-  env: ${{ parameters.environmentVariables }}
-- task: PublishTestResults@2
-  displayName: Publish Test Results
-  condition: succeededOrFailed()
-  inputs:
-    testResultsFiles: 'results_*.xml'
-    searchFolder: '$(Build.BinariesDirectory)'
-    mergeTestResults: true
index 3757be48d9753f1c716fda8b49b8bd5794eafcc3..7ffa610ae28ed8695c7459125f64e3d2a11586fa 100755 (executable)
@@ -16,8 +16,20 @@ indent() { sed "s/^/    /"; }
 echo "Source directory: ${SOURCE_DIR}"
 echo "Build directory:  ${BUILD_DIR}"
 echo ""
-echo "Operating system version:"
+
+if [ "$(uname -s)" = "Darwin" ]; then
+       echo "macOS version:"
+       sw_vers | indent
+fi
+
+if [ -f "/etc/debian_version" ]; then
+       echo "Debian version:"
+       lsb_release -a | indent
+fi
+
+echo "Kernel version:"
 uname -a 2>&1 | indent
+
 echo "CMake version:"
 cmake --version 2>&1 | indent
 echo "Compiler version:"
@@ -28,8 +40,8 @@ echo "##########################################################################
 echo "## Configuring build environment"
 echo "##############################################################################"
 
-echo cmake ${SOURCE_DIR} -DENABLE_WERROR=ON -DBUILD_EXAMPLES=ON ${CMAKE_OPTIONS}
-cmake ${SOURCE_DIR} -DENABLE_WERROR=ON -DBUILD_EXAMPLES=ON ${CMAKE_OPTIONS}
+echo cmake ${SOURCE_DIR} -DENABLE_WERROR=ON -DBUILD_EXAMPLES=ON -DBUILD_FUZZERS=ON -DUSE_STANDALONE_FUZZERS=ON ${CMAKE_OPTIONS}
+cmake ${SOURCE_DIR} -DENABLE_WERROR=ON -DBUILD_EXAMPLES=ON -DBUILD_FUZZERS=ON -DUSE_STANDALONE_FUZZERS=ON ${CMAKE_OPTIONS}
 
 echo ""
 echo "##############################################################################"
diff --git a/ci/coverity-build.sh b/ci/coverity-build.sh
new file mode 100755 (executable)
index 0000000..f8264fa
--- /dev/null
@@ -0,0 +1,41 @@
+#!/bin/bash
+
+set -e
+
+# Environment check
+[ -z "$COVERITY_TOKEN" ] && echo "Need to set a coverity token" && exit 1
+
+SOURCE_DIR=${SOURCE_DIR:-$( cd "$( dirname "${BASH_SOURCE[0]}" )" && dirname $( pwd ) )}
+BUILD_DIR=$(pwd)
+
+case $(uname -m) in
+       i?86)                           BITS=32 ;;
+       amd64|x86_64)   BITS=64 ;;
+esac
+SCAN_TOOL=https://scan.coverity.com/download/cxx/linux${BITS}
+TOOL_BASE=$(pwd)/_coverity-scan
+
+# Install coverity tools
+if [ ! -d "$TOOL_BASE" ]; then
+       echo "Downloading coverity..."
+       mkdir -p "$TOOL_BASE"
+       pushd "$TOOL_BASE"
+       wget -O coverity_tool.tgz $SCAN_TOOL \
+               --post-data "project=libgit2&token=$COVERITY_TOKEN"
+       tar xzf coverity_tool.tgz
+       popd
+       TOOL_DIR=$(find "$TOOL_BASE" -type d -name 'cov-analysis*')
+       ln -s "$TOOL_DIR" "$TOOL_BASE"/cov-analysis
+fi
+
+cp "${SOURCE_DIR}/script/user_nodefs.h" "$TOOL_BASE"/cov-analysis/config/user_nodefs.h
+
+COV_BUILD="$TOOL_BASE/cov-analysis/bin/cov-build"
+
+# Configure and build
+cmake ${SOURCE_DIR}
+
+COVERITY_UNSUPPORTED=1 \
+       $COV_BUILD --dir cov-int \
+       cmake --build .
+
diff --git a/ci/coverity-publish.sh b/ci/coverity-publish.sh
new file mode 100755 (executable)
index 0000000..2341b13
--- /dev/null
@@ -0,0 +1,33 @@
+#!/bin/bash
+
+set -e
+
+# Results check
+[ ! -d "cov-int" ] && echo "Coverity directory not found" && exit 1
+
+# Upload results
+tar czf libgit2.tgz cov-int
+
+SOURCE_DIR=${SOURCE_DIR:-$( cd "$( dirname "${BASH_SOURCE[0]}" )" && dirname $( pwd ) )}
+SHA=$(cd ${SOURCE_DIR} && git rev-parse --short HEAD)
+
+HTML="$(curl \
+       --silent \
+       --write-out "\n%{http_code}" \
+       --form token="$COVERITY_TOKEN" \
+       --form email=libgit2@gmail.com \
+       --form file=@libgit2.tgz \
+       --form version="$SHA" \
+       --form description="libgit2 build" \
+       https://scan.coverity.com/builds?project=libgit2)"
+
+# Body is everything up to the last line
+BODY="$(echo "$HTML" | head -n-1)"
+
+# Status code is the last line
+STATUS_CODE="$(echo "$HTML" | tail -n1)"
+
+if [ "${STATUS_CODE}" != "200" -a "${STATUS_CODE}" != "201" ]; then
+       echo "Received error code ${STATUS_CODE} from Coverity"
+       exit 1
+fi
diff --git a/ci/coverity.sh b/ci/coverity.sh
deleted file mode 100755 (executable)
index a97fae8..0000000
+++ /dev/null
@@ -1,65 +0,0 @@
-#!/bin/bash
-
-set -e
-
-# Environment check
-[ -z "$COVERITY_TOKEN" ] && echo "Need to set a coverity token" && exit 1
-
-SOURCE_DIR=${SOURCE_DIR:-$( cd "$( dirname "${BASH_SOURCE[0]}" )" && dirname $( pwd ) )}
-BUILD_DIR=$(pwd)
-
-case $(uname -m) in
-       i?86)                           BITS=32 ;;
-       amd64|x86_64)   BITS=64 ;;
-esac
-SCAN_TOOL=https://scan.coverity.com/download/cxx/linux${BITS}
-TOOL_BASE=$(pwd)/_coverity-scan
-
-# Install coverity tools
-if [ ! -d "$TOOL_BASE" ]; then
-       echo "Downloading coverity..."
-       mkdir -p "$TOOL_BASE"
-       pushd "$TOOL_BASE"
-       wget -O coverity_tool.tgz $SCAN_TOOL \
-               --post-data "project=libgit2&token=$COVERITY_TOKEN"
-       tar xzf coverity_tool.tgz
-       popd
-       TOOL_DIR=$(find "$TOOL_BASE" -type d -name 'cov-analysis*')
-       ln -s "$TOOL_DIR" "$TOOL_BASE"/cov-analysis
-fi
-
-cp "${SOURCE_DIR}/script/user_nodefs.h" "$TOOL_BASE"/cov-analysis/config/user_nodefs.h
-
-COV_BUILD="$TOOL_BASE/cov-analysis/bin/cov-build"
-
-# Configure and build
-cmake ${SOURCE_DIR}
-
-COVERITY_UNSUPPORTED=1 \
-       $COV_BUILD --dir cov-int \
-       cmake --build .
-
-# Upload results
-tar czf libgit2.tgz cov-int
-SHA=$(cd ${SOURCE_DIR} && git rev-parse --short HEAD)
-
-HTML="$(curl \
-       --silent \
-       --write-out "\n%{http_code}" \
-       --form token="$COVERITY_TOKEN" \
-       --form email=libgit2@gmail.com \
-       --form file=@libgit2.tgz \
-       --form version="$SHA" \
-       --form description="libgit2 build" \
-       https://scan.coverity.com/builds?project=libgit2)"
-# Body is everything up to the last line
-BODY="$(echo "$HTML" | head -n-1)"
-# Status code is the last line
-STATUS_CODE="$(echo "$HTML" | tail -n1)"
-
-echo "${BODY}"
-
-if [ "${STATUS_CODE}" != "200" -a "${STATUS_CODE}" != "201" ]; then
-       echo "Received error code ${STATUS_CODE} from Coverity"
-       exit 1
-fi
diff --git a/ci/docker.yml b/ci/docker.yml
deleted file mode 100644 (file)
index e925104..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-# These are the steps used in a container-based build in VSTS.
-steps:
-- task: docker@0
-  displayName: Build
-  inputs:
-    action: 'Run an image'
-    imageName: ${{ parameters.imageName }}
-    volumes: |
-     $(Build.SourcesDirectory):/src
-     $(Build.BinariesDirectory):/build
-    envVars: ${{ parameters.environmentVariables }}
-    workDir: '/build'
-    containerCommand: '/src/ci/build.sh'
-    detached: false
-- task: docker@0
-  displayName: Test
-  inputs:
-    action: 'Run an image'
-    imageName: ${{ parameters.imageName }}
-    volumes: |
-     $(Build.SourcesDirectory):/src
-     $(Build.BinariesDirectory):/build
-    envVars: ${{ parameters.environmentVariables }}
-    workDir: '/build'
-    containerCommand: '/src/ci/test.sh'
-    detached: false
-- task: publishtestresults@2
-  displayName: Publish Test Results
-  condition: succeededOrFailed()
-  inputs:
-    testResultsFiles: 'results_*.xml'
-    searchFolder: '$(Build.BinariesDirectory)'
-    mergeTestResults: true
diff --git a/ci/nightly.yml b/ci/nightly.yml
deleted file mode 100644 (file)
index 4d6d8a3..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-resources:
-- repo: self
-
-jobs:
-- job: coverity
-  displayName: 'Coverity'
-  pool:
-    vmImage: 'Ubuntu 16.04'
-  steps:
-  - task: Docker@0
-    displayName: Build
-    inputs:
-      action: 'Run an image'
-      imageName: 'libgit2/trusty-openssl:latest'
-      volumes: |
-       $(Build.SourcesDirectory):/src
-       $(Build.BinariesDirectory):/build
-      envVars: |
-       COVERITY_TOKEN=$(COVERITY_TOKEN)
-      workDir: '/build'
-      containerCommand: '/src/ci/coverity.sh'
-      detached: false
diff --git a/ci/powershell.yml b/ci/powershell.yml
deleted file mode 100644 (file)
index a2eb175..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-# These are the steps used for building on machines with PowerShell.
-steps:
-- powershell: . '$(Build.SourcesDirectory)\ci\build.ps1'
-  displayName: Build
-  workingDirectory: '$(Build.BinariesDirectory)'
-  env: ${{ parameters.environmentVariables }}
-- powershell: . '$(Build.SourcesDirectory)\ci\test.ps1'
-  displayName: Test
-  workingDirectory: '$(Build.BinariesDirectory)'
-  env: ${{ parameters.environmentVariables }}
-- task: PublishTestResults@2
-  displayName: Publish Test Results
-  condition: succeededOrFailed()
-  inputs:
-    testResultsFiles: 'results_*.xml'
-    searchFolder: '$(Build.BinariesDirectory)'
-    mergeTestResults: true
index a0db14ee07624bc39548bad58d3a7d7789bb5b54..c5ecb550b881ec2cd08ad52e97ce2640e137dccb 100755 (executable)
@@ -11,3 +11,17 @@ if [ -z "$SKIP_APT" ]; then
 fi
 
 mkdir -p /var/run/sshd
+
+if [ "$MBEDTLS" ]; then
+       MBEDTLS_DIR=${MBEDTLS_DIR:-$(mktemp -d ${TMPDIR}/mbedtls.XXXXXXXX)}
+
+       git clone --depth 10 --single-branch --branch mbedtls-2.6.1 https://github.com/ARMmbed/mbedtls.git ${MBEDTLS_DIR}
+       cd ${MBEDTLS_DIR}
+
+       CFLAGS=-fPIC cmake -DENABLE_PROGRAMS=OFF -DENABLE_TESTING=OFF -DUSE_SHARED_MBEDTLS_LIBRARY=OFF -DUSE_STATIC_MBEDTLS_LIBRARY=ON .
+       cmake --build .
+
+       if [ -z "$SKIP_MBEDTLS_INSTALL" ]; then
+               make install
+       fi
+fi
index 564910e4158abf3b594593169609d1e91b0c6f50..2e630eedbbabc0e60ecf50c6db8571d74eb4db58 100755 (executable)
@@ -3,6 +3,6 @@
 set -x
 
 brew update
-brew install pkgconfig zlib curl openssl libssh2
+brew install pkgconfig zlib curl openssl libssh2 ninja
 
 ln -s /Applications/Xcode.app/Contents/Developer/usr/lib/libLeaksAtExit.dylib /usr/local/lib
index 1cf02118f139dd1a5c82a8462b3b37e6545d1b56..06e0ab228bcefd32ab0bc3f11b1738c80d1bbd9e 100644 (file)
@@ -19,12 +19,17 @@ if ($Env:SKIP_TESTS) { exit }
 function run_test {
        $TestName = $args[0]
 
+       $TestCommand = (ctest -N -V -R "^$TestName$") -join "`n"
+
+       if (-Not ($TestCommand -match "(?ms).*\n^[0-9]*: Test command: ")) {
+               echo "Could not find tests: $TestName"
+               exit
+       }
+
        $TestCommand = (ctest -N -V -R "^$TestName$") -join "`n" -replace "(?ms).*\n^[0-9]*: Test command: ","" -replace "\n.*",""
        $TestCommand += " -r${BuildDir}\results_${TestName}.xml"
 
-       Write-Host $TestCommand
        Invoke-Expression $TestCommand
-
        if ($LastExitCode -ne 0) { $global:Success = $false }
 }
 
@@ -35,8 +40,8 @@ Write-Host "####################################################################
 if (-not $Env:SKIP_PROXY_TESTS) {
        Write-Host ""
        Write-Host "Starting HTTP proxy..."
-       Invoke-WebRequest -Method GET -Uri https://github.com/ethomson/poxyproxy/releases/download/v0.1.0/poxyproxy-0.1.0.jar -OutFile poxyproxy.jar
-       javaw -jar poxyproxy.jar -d --port 8080 --credentials foo:bar
+       Invoke-WebRequest -Method GET -Uri https://github.com/ethomson/poxyproxy/releases/download/v0.4.0/poxyproxy-0.4.0.jar -OutFile poxyproxy.jar
+       javaw -jar poxyproxy.jar -d --port 8080 --credentials foo:bar --quiet
 }
 
 Write-Host ""
@@ -46,6 +51,21 @@ Write-Host "####################################################################
 
 run_test offline
 
+if ($Env:RUN_INVASIVE_TESTS) {
+       Write-Host ""
+       Write-Host "##############################################################################"
+       Write-Host "## Running (invasive) tests"
+       Write-Host "##############################################################################"
+
+       $Env:GITTEST_INVASIVE_FS_SIZE=1
+       $Env:GITTEST_INVASIVE_MEMORY=1
+       $Env:GITTEST_INVASIVE_SPEED=1
+       run_test invasive
+       $Env:GITTEST_INVASIVE_FS_SIZE=$null
+       $Env:GITTEST_INVASIVE_MEMORY=$null
+       $Env:GITTEST_INVASIVE_SPEED=$null
+}
+
 if (-not $Env:SKIP_ONLINE_TESTS) {
        Write-Host ""
        Write-Host "##############################################################################"
@@ -60,12 +80,16 @@ if (-not $Env:SKIP_PROXY_TESTS) {
        Write-Host "Running proxy tests"
        Write-Host ""
 
-       $Env:GITTEST_REMOTE_PROXY_URL="localhost:8080"
+       $Env:GITTEST_REMOTE_PROXY_HOST="localhost:8080"
        $Env:GITTEST_REMOTE_PROXY_USER="foo"
        $Env:GITTEST_REMOTE_PROXY_PASS="bar"
 
        run_test proxy
 
+       $Env:GITTEST_REMOTE_PROXY_HOST=$null
+       $Env:GITTEST_REMOTE_PROXY_USER=$null
+       $Env:GITTEST_REMOTE_PROXY_PASS=$null
+
        taskkill /F /IM javaw.exe
 }
 
index fea9d82d7d80d66b57e9301db668032a7bdaa1e4..136ff2581a7419db02c6f6d219624d17feea5905 100755 (executable)
@@ -14,7 +14,7 @@ USER=${USER:-$(whoami)}
 SUCCESS=1
 
 VALGRIND="valgrind --leak-check=full --show-reachable=yes --error-exitcode=125 --num-callers=50 --suppressions=\"$SOURCE_DIR/libgit2_clar.supp\""
-LEAKS="MallocStackLogging=1 MallocScribble=1 leaks -quiet -atExit -- nohup"
+LEAKS="MallocStackLogging=1 MallocScribble=1 MallocLogFile=/dev/null CLAR_AT_EXIT=\"leaks -quiet \$PPID\""
 
 cleanup() {
        echo "Cleaning up..."
@@ -44,6 +44,12 @@ failure() {
 # JUnit-style XML files.
 run_test() {
        TEST_CMD=$(ctest -N -V -R "^${1}$" | sed -n 's/^[0-9]*: Test command: //p')
+
+       if [ -z "$TEST_CMD" ]; then
+               echo "Could not find tests: $1"
+               exit 1
+       fi
+
        TEST_CMD="${TEST_CMD} -r${BUILD_DIR}/results_${1}.xml"
 
        if [ "$LEAK_CHECK" = "valgrind" ]; then
@@ -73,8 +79,8 @@ fi
 
 if [ -z "$SKIP_PROXY_TESTS" ]; then
        echo "Starting HTTP proxy..."
-       curl -L https://github.com/ethomson/poxyproxy/releases/download/v0.1.0/poxyproxy-0.1.0.jar >poxyproxy.jar
-       java -jar poxyproxy.jar -d --port 8080 --credentials foo:bar >/dev/null 2>&1 &
+       curl -L https://github.com/ethomson/poxyproxy/releases/download/v0.4.0/poxyproxy-0.4.0.jar >poxyproxy.jar
+       java -jar poxyproxy.jar -d --address 127.0.0.1 --port 8080 --credentials foo:bar --quiet &
 fi
 
 if [ -z "$SKIP_SSH_TESTS" ]; then
@@ -130,6 +136,20 @@ if [ -z "$SKIP_OFFLINE_TESTS" ]; then
        run_test offline
 fi
 
+if [ -n "$RUN_INVASIVE_TESTS" ]; then
+       echo ""
+       echo "Running invasive tests"
+       echo ""
+
+       export GITTEST_INVASIVE_FS_SIZE=1
+       export GITTEST_INVASIVE_MEMORY=1
+       export GITTEST_INVASIVE_SPEED=1
+       run_test invasive
+       unset GITTEST_INVASIVE_FS_SIZE
+       unset GITTEST_INVASIVE_MEMORY
+       unset GITTEST_INVASIVE_SPEED
+fi
+
 if [ -z "$SKIP_ONLINE_TESTS" ]; then
        # Run the various online tests.  The "online" test suite only includes the
        # default online tests that do not require additional configuration.  The
@@ -158,11 +178,11 @@ if [ -z "$SKIP_PROXY_TESTS" ]; then
        echo "Running proxy tests"
        echo ""
 
-       export GITTEST_REMOTE_PROXY_URL="localhost:8080"
+       export GITTEST_REMOTE_PROXY_HOST="localhost:8080"
        export GITTEST_REMOTE_PROXY_USER="foo"
        export GITTEST_REMOTE_PROXY_PASS="bar"
        run_test proxy
-       unset GITTEST_REMOTE_PROXY_URL
+       unset GITTEST_REMOTE_PROXY_HOST
        unset GITTEST_REMOTE_PROXY_USER
        unset GITTEST_REMOTE_PROXY_PASS
 fi
@@ -187,6 +207,17 @@ if [ -z "$SKIP_SSH_TESTS" ]; then
        unset GITTEST_REMOTE_SSH_FINGERPRINT
 fi
 
+if [ -z "$SKIP_FUZZERS" ]; then
+       echo ""
+       echo "##############################################################################"
+       echo "## Running fuzzers"
+       echo "##############################################################################"
+
+       for fuzzer in fuzzers/*_fuzzer; do
+               "${fuzzer}" "${SOURCE_DIR}/fuzzers/corpora/$(basename "${fuzzer%_fuzzer}")" || failure
+       done
+fi
+
 cleanup
 
 if [ "$SUCCESS" -ne "1" ]; then
index 67fc895103e9612a7fdcf5bae94dc571088aca5d..b7aaa7910a969afe106300e301ebb905f0b382b3 100644 (file)
@@ -5,9 +5,23 @@
 
 INCLUDE(CheckCCompilerFlag)
 
+MACRO(ADD_C_FLAG _FLAG)
+       STRING(TOUPPER ${_FLAG} UPCASE)
+       STRING(REGEX REPLACE "[-=]" "_" UPCASE_PRETTY ${UPCASE})
+       STRING(REGEX REPLACE "^_+" "" UPCASE_PRETTY ${UPCASE_PRETTY})
+       CHECK_C_COMPILER_FLAG(${_FLAG} IS_${UPCASE_PRETTY}_SUPPORTED)
+
+       IF(IS_${UPCASE_PRETTY}_SUPPORTED)
+               SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${_FLAG}")
+       ELSE()
+               MESSAGE(FATAL_ERROR "Required flag ${_FLAG} is not supported")
+       ENDIF()
+ENDMACRO()
+
 MACRO(ADD_C_FLAG_IF_SUPPORTED _FLAG)
        STRING(TOUPPER ${_FLAG} UPCASE)
-       STRING(REGEX REPLACE "^-" "" UPCASE_PRETTY ${UPCASE}) 
+       STRING(REGEX REPLACE "[-=]" "_" UPCASE_PRETTY ${UPCASE})
+       STRING(REGEX REPLACE "^_+" "" UPCASE_PRETTY ${UPCASE_PRETTY})
        CHECK_C_COMPILER_FLAG(${_FLAG} IS_${UPCASE_PRETTY}_SUPPORTED)
 
        IF(IS_${UPCASE_PRETTY}_SUPPORTED)
index e7d7d398600dfa48bf4af455911ddb329da5b4ab..72e1523c4617b525be63b43f21e319be04b5d84e 100644 (file)
@@ -1,14 +1,11 @@
 MACRO(ENABLE_WARNINGS flag)
-       IF(ENABLE_WERROR)
-               ADD_C_FLAG_IF_SUPPORTED(-Werror=${flag})
-       ELSE()
-               ADD_C_FLAG_IF_SUPPORTED(-W${flag})
-       ENDIF()
+       ADD_C_FLAG_IF_SUPPORTED(-W${flag})
 ENDMACRO()
 
 MACRO(DISABLE_WARNINGS flag)
        ADD_C_FLAG_IF_SUPPORTED(-Wno-${flag})
-       IF(ENABLE_WERROR)
-               ADD_C_FLAG_IF_SUPPORTED(-Wno-error=${flag})
-       ENDIF()
 ENDMACRO()
+
+IF(ENABLE_WERROR)
+       ADD_C_FLAG_IF_SUPPORTED(-Werror)
+ENDIF()
diff --git a/cmake/Modules/FindmbedTLS.cmake b/cmake/Modules/FindmbedTLS.cmake
new file mode 100644 (file)
index 0000000..9329755
--- /dev/null
@@ -0,0 +1,93 @@
+# - Try to find mbedTLS
+# Once done this will define
+#
+# Read-Only variables
+#  MBEDTLS_FOUND - system has mbedTLS
+#  MBEDTLS_INCLUDE_DIR - the mbedTLS include directory
+#  MBEDTLS_LIBRARY_DIR - the mbedTLS library directory
+#  MBEDTLS_LIBRARIES - Link these to use mbedTLS
+#  MBEDTLS_LIBRARY - path to mbedTLS library
+#  MBEDX509_LIBRARY - path to mbedTLS X.509 library
+#  MBEDCRYPTO_LIBRARY - path to mbedTLS Crypto library
+#
+# Hint
+#  MBEDTLS_ROOT_DIR can be pointed to a local mbedTLS installation.
+
+SET(_MBEDTLS_ROOT_HINTS
+    ${MBEDTLS_ROOT_DIR}
+    ENV MBEDTLS_ROOT_DIR
+)
+
+SET(_MBEDTLS_ROOT_HINTS_AND_PATHS
+    HINTS ${_MBEDTLS_ROOT_HINTS}
+    PATHS ${_MBEDTLS_ROOT_PATHS}
+)
+
+FIND_PATH(MBEDTLS_INCLUDE_DIR
+    NAMES mbedtls/version.h
+    ${_MBEDTLS_ROOT_HINTS_AND_PATHS}
+    PATH_SUFFIXES include
+)
+
+IF(MBEDTLS_INCLUDE_DIR AND MBEDTLS_LIBRARIES)
+    # Already in cache, be silent
+    SET(MBEDTLS_FIND_QUIETLY TRUE)
+ENDIF()
+
+FIND_LIBRARY(MBEDTLS_LIBRARY
+    NAMES mbedtls libmbedtls
+    ${_MBEDTLS_ROOT_HINTS_AND_PATHS}
+    PATH_SUFFIXES library
+)
+FIND_LIBRARY(MBEDX509_LIBRARY
+    NAMES mbedx509 libmbedx509
+    ${_MBEDTLS_ROOT_HINTS_AND_PATHS}
+    PATH_SUFFIXES library
+)
+FIND_LIBRARY(MBEDCRYPTO_LIBRARY
+    NAMES mbedcrypto libmbedcrypto
+    ${_MBEDTLS_ROOT_HINTS_AND_PATHS}
+    PATH_SUFFIXES library
+)
+
+IF(MBEDTLS_INCLUDE_DIR AND MBEDTLS_LIBRARY AND MBEDX509_LIBRARY AND MBEDCRYPTO_LIBRARY)
+     SET(MBEDTLS_FOUND TRUE)
+ENDIF()
+
+IF(MBEDTLS_FOUND)
+    # split mbedTLS into -L and -l linker options, so we can set them for pkg-config
+    GET_FILENAME_COMPONENT(MBEDTLS_LIBRARY_DIR ${MBEDTLS_LIBRARY} PATH)
+    GET_FILENAME_COMPONENT(MBEDTLS_LIBRARY_FILE ${MBEDTLS_LIBRARY} NAME_WE)
+    GET_FILENAME_COMPONENT(MBEDX509_LIBRARY_FILE ${MBEDX509_LIBRARY} NAME_WE)
+    GET_FILENAME_COMPONENT(MBEDCRYPTO_LIBRARY_FILE ${MBEDCRYPTO_LIBRARY} NAME_WE)
+    STRING(REGEX REPLACE "^lib" "" MBEDTLS_LIBRARY_FILE ${MBEDTLS_LIBRARY_FILE})
+    STRING(REGEX REPLACE "^lib" "" MBEDX509_LIBRARY_FILE ${MBEDX509_LIBRARY_FILE})
+    STRING(REGEX REPLACE "^lib" "" MBEDCRYPTO_LIBRARY_FILE ${MBEDCRYPTO_LIBRARY_FILE})
+    SET(MBEDTLS_LIBRARIES "-L${MBEDTLS_LIBRARY_DIR} -l${MBEDTLS_LIBRARY_FILE} -l${MBEDX509_LIBRARY_FILE} -l${MBEDCRYPTO_LIBRARY_FILE}")
+
+    IF(NOT MBEDTLS_FIND_QUIETLY)
+        MESSAGE(STATUS "Found mbedTLS:")
+        FILE(READ ${MBEDTLS_INCLUDE_DIR}/mbedtls/version.h MBEDTLSCONTENT)
+        STRING(REGEX MATCH "MBEDTLS_VERSION_STRING +\"[0-9|.]+\"" MBEDTLSMATCH ${MBEDTLSCONTENT})
+        IF (MBEDTLSMATCH)
+            STRING(REGEX REPLACE "MBEDTLS_VERSION_STRING +\"([0-9|.]+)\"" "\\1" MBEDTLS_VERSION ${MBEDTLSMATCH})
+            MESSAGE(STATUS "  version ${MBEDTLS_VERSION}")
+        ENDIF(MBEDTLSMATCH)
+        MESSAGE(STATUS "  TLS: ${MBEDTLS_LIBRARY}")
+        MESSAGE(STATUS "  X509: ${MBEDX509_LIBRARY}")
+        MESSAGE(STATUS "  Crypto: ${MBEDCRYPTO_LIBRARY}")
+    ENDIF(NOT MBEDTLS_FIND_QUIETLY)
+ELSE(MBEDTLS_FOUND)
+    IF(MBEDTLS_FIND_REQUIRED)
+        MESSAGE(FATAL_ERROR "Could not find mbedTLS")
+    ENDIF(MBEDTLS_FIND_REQUIRED)
+ENDIF(MBEDTLS_FOUND)
+
+MARK_AS_ADVANCED(
+    MBEDTLS_INCLUDE_DIR
+    MBEDTLS_LIBRARY_DIR
+    MBEDTLS_LIBRARIES
+    MBEDTLS_LIBRARY
+    MBEDX509_LIBRARY
+    MBEDCRYPTO_LIBRARY
+)
diff --git a/docs/changelog.md b/docs/changelog.md
new file mode 100644 (file)
index 0000000..7d1dac6
--- /dev/null
@@ -0,0 +1,1161 @@
+v0.28.1
+-------
+
+This is a bugfix release with the following change:
+
+* The deprecated functions (`git_buf_free` and the `giterr_` family of
+  functions) are now exported properly.  In the v0.28 release, they were
+  not given the correct external attributes and they did not have the
+  correct linkage visibility in the v0.28 library.
+
+v0.28
+-----
+
+### Changes or improvements
+
+* The library is now always built with cdecl calling conventions on
+  Windows; the ability to build a stdcall library has been removed.
+
+* Reference log creation now honors `core.logallrefupdates=always`.
+
+* Fix some issues with the error-reporting in the OpenSSL backend.
+
+* HTTP proxy support is now builtin; libcurl is no longer used to support
+  proxies and is removed as a dependency.
+
+* Certificate and credential callbacks can now return `GIT_PASSTHROUGH`
+  to decline to act; libgit2 will behave as if there was no callback set
+  in the first place.
+
+* The line-ending filtering logic - when checking out files - has been
+  updated to match newer git (>= git 2.9) for proper interoperability.
+
+* Symbolic links are now supported on Windows when `core.symlinks` is set
+  to `true`.
+
+* Submodules with names which attempt to perform path traversal now have their
+  configuration ignored. Such names were blindly appended to the
+  `$GIT_DIR/modules` and a malicious name could lead to an attacker writing to
+  an arbitrary location. This matches git's handling of CVE-2018-11235.
+
+* Object validation is now performed during tree creation in the
+  `git_index_write_tree_to` API.
+
+* Configuration variable may now be specified on the same line as a section
+  header; previously this was erroneously a parser error.
+
+* When an HTTP server supports both NTLM and Negotiate authentication
+  mechanisms, we would previously fail to authenticate with any mechanism.
+
+* The `GIT_OPT_SET_PACK_MAX_OBJECTS` option can now set the maximum
+  number of objects allowed in a packfile being downloaded; this can help
+  limit the maximum memory used when fetching from an untrusted remote.
+
+* Line numbers in diffs loaded from patch files were not being populated;
+  they are now included in the results.
+
+* The repository's index is reloaded from disk at the beginning of
+  `git_merge` operations to ensure that it is up-to-date.
+
+* Mailmap handling APIs have been introduced, and the new commit APIs
+  `git_commit_committer_with_mailmap` and `git_commit_author_with_mailmap`
+  will use the mailmap to resolve the committer and author information.
+  In addition, blame will use the mailmap given when the
+  `GIT_BLAME_USE_MAILMAP` option.
+
+* Ignore handling for files in ignored folders would be ignored.
+
+* Worktrees can now be backed by bare repositories.
+
+* Trailing spaces are supported in `.gitignore` files, these spaces were
+  previously (and erroneously) treated as part of the pattern.
+
+* The library can now be built with mbedTLS support for HTTPS.
+
+* The diff status character 'T' will now be presented by the
+  `git_diff_status_char` API for diff entries that change type.
+
+* Revision walks previously would sometimes include commits that should
+  have been ignored; this is corrected.
+
+* Revision walks are now more efficient when the output is unsorted;
+  we now avoid walking all the way to the beginning of history unnecessarily.
+
+* Error-handling around index extension loading has been fixed. We were
+  previously always misreporting a truncated index (#4858).
+
+### API additions
+
+* The index may now be iterated atomically using `git_index_iterator`.
+
+* Remote objects can now be created with extended options using the
+  `git_remote_create_with_opts` API.
+
+* Diff objects can now be applied as changes to the working directory,
+  index or both, emulating the `git apply` command.  Additionally,
+  `git_apply_to_tree` can apply those changes to a tree object as a
+  fully in-memory operation.
+
+* You can now swap out memory allocators via the
+  `GIT_OPT_SET_ALLOCATOR` option with `git_libgit2_opts()`.
+
+* You can now ensure that functions do not discard unwritten changes to the
+  index via the `GIT_OPT_ENABLE_UNSAVED_INDEX_SAFETY` option to
+  `git_libgit2_opts()`.  This will cause functions that implicitly re-read
+  the index (eg, `git_checkout`) to fail if you have staged changes to the
+  index but you have not written the index to disk.  (Unless the checkout
+  has the FORCE flag specified.)
+
+  At present, this defaults to off, but we intend to enable this more
+  broadly in the future, as a warning or error.  We encourage you to
+  examine your code to ensure that you are not relying on the current
+  behavior that implicitly removes staged changes.
+
+* Reference specifications can be parsed from an arbitrary string with
+  the `git_refspec_parse` API.
+
+* You can now get the name and path of worktrees using the
+  `git_worktree_name` and `git_worktree_path` APIs, respectively.
+
+* The `ref` field has been added to `git_worktree_add_options` to enable
+  the creation of a worktree from a pre-existing branch.
+
+* It's now possible to analyze merge relationships between any two
+  references, not just against `HEAD`, using `git_merge_analysis_for_ref`.
+
+### API removals
+
+* The `git_buf_free` API is deprecated; it has been renamed to
+  `git_buf_dispose` for consistency.  The `git_buf_free` API will be
+  retained for backward compatibility for the foreseeable future.
+
+* The `git_otype` enumeration and its members are deprecated and have
+  been renamed for consistency.  The `GIT_OBJ_` enumeration values are
+  now prefixed with `GIT_OBJECT_`.  The old enumerations and macros
+  will be retained for backward compatibility for the foreseeable future.
+
+* Several index-related APIs have been renamed for consistency.  The
+  `GIT_IDXENTRY_` enumeration values and macros have been renamed to
+  be prefixed with `GIT_INDEX_ENTRY_`.  The `GIT_INDEXCAP` enumeration
+  values are now prefixed with `GIT_INDEX_CAPABILITY_`.  The old
+  enumerations and macros will be retained for backward compatibility
+  for the foreseeable future.
+
+* The error functions and enumeration values have been renamed for
+  consistency.  The `giterr_` functions and values prefix have been
+  renamed to be prefixed with `git_error_`; similarly, the `GITERR_`
+  constants have been renamed to be prefixed with `GIT_ERROR_`.
+  The old enumerations and macros will be retained for backward
+  compatibility for the foreseeable future.
+
+### Breaking API changes
+
+* The default checkout strategy changed from `DRY_RUN` to `SAFE` (#4531).
+
+* Adding a symlink as .gitmodules into the index from the workdir or checking
+  out such files is not allowed as this can make a Git implementation write
+  outside of the repository and bypass the fsck checks for CVE-2018-11235.
+
+v0.27
+---------
+
+### Changes or improvements
+
+* Improved `p_unlink` in `posix_w32.c` to try and make a file writable
+  before sleeping in the retry loop to prevent unnecessary calls to sleep.
+
+* The CMake build infrastructure has been improved to speed up building time.
+
+* A new CMake option "-DUSE_HTTPS=<backend>" makes it possible to explicitly
+  choose an HTTP backend.
+
+* A new CMake option "-DSHA1_BACKEND=<backend>" makes it possible to explicitly
+  choose an SHA1 backend. The collision-detecting backend is now the default.
+
+* A new CMake option "-DUSE_BUNDLED_ZLIB" makes it possible to explicitly use
+  the bundled zlib library.
+
+* A new CMake option "-DENABLE_REPRODUCIBLE_BUILDS" makes it possible to
+  generate a reproducible static archive. This requires support from your
+  toolchain.
+
+* The minimum required CMake version has been bumped to 2.8.11.
+
+* Writing to a configuration file now preserves the case of the key given by the
+  caller for the case-insensitive portions of the key (existing sections are
+  used even if they don't match).
+
+* We now support conditional includes in configuration files.
+
+* Fix for handling re-reading of configuration files with includes.
+
+* Fix for reading patches which contain exact renames only.
+
+* Fix for reading patches with whitespace in the compared files' paths.
+
+* We will now fill `FETCH_HEAD` from all passed refspecs instead of overwriting
+  with the last one.
+
+* There is a new diff option, `GIT_DIFF_INDENT_HEURISTIC` which activates a
+  heuristic which takes into account whitespace and indentation in order to
+  produce better diffs when dealing with ambiguous diff hunks.
+
+* Fix for pattern-based ignore rules where files ignored by a rule cannot be
+  un-ignored by another rule.
+
+* Sockets opened by libgit2 are now being closed on exec(3) if the platform
+  supports it.
+
+* Fix for peeling annotated tags from packed-refs files.
+
+* Fix reading huge loose objects from the object database.
+
+* Fix files not being treated as modified when only the file mode has changed.
+
+* We now explicitly reject adding submodules to the index via
+  `git_index_add_frombuffer`.
+
+* Fix handling of `GIT_DIFF_FIND_RENAMES_FROM_REWRITES` raising `SIGABRT` when
+  one file has been deleted and another file has been rewritten.
+
+* Fix for WinHTTP not properly handling NTLM and Negotiate challenges.
+
+* When using SSH-based transports, we now repeatedly ask for the passphrase to
+  decrypt the private key in case a wrong passphrase is being provided.
+
+* When generating conflict markers, they will now use the same line endings as
+  the rest of the file.
+
+### API additions
+
+* The `git_merge_file_options` structure now contains a new setting,
+  `marker_size`.  This allows users to set the size of markers that
+  delineate the sides of merged files in the output conflict file.
+  By default this is 7 (`GIT_MERGE_CONFLICT_MARKER_SIZE`), which
+  produces output markers like `<<<<<<<` and `>>>>>>>`.
+
+* `git_remote_create_detached()` creates a remote that is not associated
+  to any repository (and does not apply configuration like 'insteadof' rules).
+  This is mostly useful for e.g. emulating `git ls-remote` behavior.
+
+* `git_diff_patchid()` lets you generate patch IDs for diffs.
+
+* `git_status_options` now has an additional field `baseline` to allow creating
+  status lists against different trees.
+
+* New family of functions to allow creating notes for a specific notes commit
+  instead of for a notes reference.
+
+* New family of functions to allow parsing message trailers. This API is still
+  experimental and may change in future releases.
+
+### API removals
+
+### Breaking API changes
+
+* Signatures now distinguish between +0000 and -0000 UTC offsets.
+
+* The certificate check callback in the WinHTTP transport will now receive the
+  `message_cb_payload` instead of the `cred_acquire_payload`.
+
+* We are now reading symlinked directories under .git/refs.
+
+* We now refuse creating branches named "HEAD".
+
+* We now refuse reading and writing all-zero object IDs into the
+  object database.
+
+* We now read the effective user's configuration file instead of the real user's
+  configuration in case libgit2 runs as part of a setuid binary.
+
+* The `git_odb_open_rstream` function and its `readstream` callback in the
+  `git_odb_backend` interface have changed their signatures to allow providing
+  the object's size and type to the caller.
+
+v0.26
+-----
+
+### Changes or improvements
+
+* Support for opening, creating and modifying worktrees.
+
+* We can now detect SHA1 collisions resulting from the SHAttered attack. These
+  checks can be enabled at build time via `-DUSE_SHA1DC`.
+
+* Fix for missing implementation of `git_merge_driver_source` getters.
+
+* Fix for installed pkg-config file being broken when the prefix contains
+  spaces.
+
+* We now detect when the hashsum of on-disk objects does not match their
+  expected hashsum.
+
+* We now support open-ended ranges (e.g. "master..", "...master") in our
+  revision range parsing code.
+
+* We now correctly compute ignores with leading "/" in subdirectories.
+
+* We now optionally call `fsync` on loose objects, packfiles and their indexes,
+  loose references and packed reference files.
+
+* We can now build against OpenSSL v1.1 and against LibreSSL.
+
+* `GIT_MERGE_OPTIONS_INIT` now includes a setting to perform rename detection.
+  This aligns this structure with the default by `git_merge` and
+  `git_merge_trees` when `NULL` was provided for the options.
+
+* Improvements for reading index v4 files.
+
+* Perform additional retries for filesystem operations on Windows when files
+  are temporarily locked by other processes.
+
+### API additions
+
+* New family of functions to handle worktrees:
+
+    * `git_worktree_list()` lets you look up worktrees for a repository.
+    * `git_worktree_lookup()` lets you get a specific worktree.
+    * `git_worktree_open_from_repository()` lets you get the associated worktree
+      of a repository.
+      a worktree.
+    * `git_worktree_add` lets you create new worktrees.
+    * `git_worktree_prune` lets you remove worktrees from disk.
+    * `git_worktree_lock()` and `git_worktree_unlock()` let you lock
+      respectively unlock a worktree.
+    * `git_repository_open_from_worktree()` lets you open a repository via
+    * `git_repository_head_for_worktree()` lets you get the current `HEAD` for a
+      linked worktree.
+    * `git_repository_head_detached_for_worktree()` lets you check whether a
+      linked worktree is in detached HEAD mode.
+
+* `git_repository_item_path()` lets you retrieve paths for various repository
+  files.
+
+* `git_repository_commondir()` lets you retrieve the common directory of a
+  repository.
+
+* `git_branch_is_checked_out()` allows you to check whether a branch is checked
+  out in a repository or any of its worktrees.
+
+* `git_repository_submodule_cache_all()` and
+  `git_repository_submodule_cache_clear()` functions allow you to prime or clear
+  the submodule cache of a repository.
+
+* You can disable strict hash verifications via the
+  `GIT_OPT_ENABLE_STRICT_HASH_VERIFICATION` option with `git_libgit2_opts()`.
+
+* You can enable us calling `fsync` for various files inside the ".git"
+  directory by setting the `GIT_OPT_ENABLE_FSYNC_GITDIR` option with
+  `git_libgit2_opts()`.
+
+* You can now enable "offset deltas" when creating packfiles and negotiating
+  packfiles with a remote server by setting `GIT_OPT_ENABLE_OFS_DELTA` option
+  with `GIT_libgit2_opts()`.
+
+* You can now set the default share mode on Windows for opening files using
+  `GIT_OPT_SET_WINDOWS_SHAREMODE` option with `git_libgit2_opts()`.
+  You can query the current share mode with `GIT_OPT_GET_WINDOWS_SHAREMODE`.
+
+* `git_transport_smart_proxy_options()' enables you to get the proxy options for
+  smart transports.
+
+* The `GIT_FILTER_INIT` macro and the `git_filter_init` function are provided
+  to initialize a `git_filter` structure.
+
+### Breaking API changes
+
+* `clone_checkout_strategy` has been removed from
+  `git_submodule_update_option`. The checkout strategy used to clone will
+  be the same strategy specified in `checkout_opts`.
+
+v0.25
+-------
+
+### Changes or improvements
+
+* Fix repository discovery with `git_repository_discover` and
+  `git_repository_open_ext` to match git's handling of a ceiling
+  directory at the current directory. git only checks ceiling
+  directories when its search ascends to a parent directory.  A ceiling
+  directory matching the starting directory will not prevent git from
+  finding a repository in the starting directory or a parent directory.
+
+* Do not fail when deleting remotes in the presence of broken
+  global configs which contain branches.
+
+* Support for reading and writing git index v4 files
+
+* Improve the performance of the revwalk and bring us closer to git's code.
+
+* The reference db has improved support for concurrency and returns `GIT_ELOCKED`
+  when an operation could not be performed due to locking.
+
+* Nanosecond resolution is now activated by default, following git's change to
+  do this.
+
+* We now restrict the set of ciphers we let OpenSSL use by default.
+
+* Users can now register their own merge drivers for use with `.gitattributes`.
+  The library also gained built-in support for the union merge driver.
+
+* The default for creating references is now to validate that the object does
+  exist.
+
+* Add `git_proxy_options` which is used by the different networking
+  implementations to let the caller specify the proxy settings instead of
+  relying on the environment variables.
+
+### API additions
+
+* You can now get the user-agent used by libgit2 using the
+  `GIT_OPT_GET_USER_AGENT` option with `git_libgit2_opts()`.
+  It is the counterpart to `GIT_OPT_SET_USER_AGENT`.
+
+* The `GIT_OPT_SET_SSL_CIPHERS` option for `git_libgit2_opts()` lets you specify
+  a custom list of ciphers to use for OpenSSL.
+
+* `git_commit_create_buffer()` creates a commit and writes it into a
+  user-provided buffer instead of writing it into the object db. Combine it with
+  `git_commit_create_with_signature()` in order to create a commit with a
+  cryptographic signature.
+
+* `git_blob_create_fromstream()` and
+  `git_blob_create_fromstream_commit()` allow you to create a blob by
+  writing into a stream. Useful when you do not know the final size or
+  want to copy the contents from another stream.
+
+* New flags for `git_repository_open_ext`:
+
+    * `GIT_REPOSITORY_OPEN_NO_DOTGIT` - Do not check for a repository by
+      appending `/.git` to the `start_path`; only open the repository if
+      `start_path` itself points to the git directory.
+    * `GIT_REPOSITORY_OPEN_FROM_ENV` - Find and open a git repository,
+      respecting the environment variables used by the git command-line
+      tools. If set, `git_repository_open_ext` will ignore the other
+      flags and the `ceiling_dirs` argument, and will allow a NULL
+      `path` to use `GIT_DIR` or search from the current directory. The
+      search for a repository will respect `$GIT_CEILING_DIRECTORIES`
+      and `$GIT_DISCOVERY_ACROSS_FILESYSTEM`.  The opened repository
+      will respect `$GIT_INDEX_FILE`, `$GIT_NAMESPACE`,
+      `$GIT_OBJECT_DIRECTORY`, and `$GIT_ALTERNATE_OBJECT_DIRECTORIES`.
+      In the future, this flag will also cause `git_repository_open_ext`
+      to respect `$GIT_WORK_TREE` and `$GIT_COMMON_DIR`; currently,
+      `git_repository_open_ext` with this flag will error out if either
+      `$GIT_WORK_TREE` or `$GIT_COMMON_DIR` is set.
+
+* `git_diff_from_buffer()` can create a `git_diff` object from the contents
+  of a git-style patch file.
+
+* `git_index_version()` and `git_index_set_version()` to get and set
+  the index version
+
+* `git_odb_expand_ids()` lets you check for the existence of multiple
+  objects at once.
+
+* The new `git_blob_dup()`, `git_commit_dup()`, `git_tag_dup()` and
+  `git_tree_dup()` functions provide type-specific wrappers for
+  `git_object_dup()` to reduce noise and increase type safety for callers.
+
+* `git_reference_dup()` lets you duplicate a reference to aid in ownership
+  management and cleanup.
+
+* `git_signature_from_buffer()` lets you create a signature from a string in the
+  format that appear in objects.
+
+* `git_tree_create_updated()` lets you create a tree based on another one
+  together with a list of updates. For the covered update cases, it's more
+  efficient than the `git_index` route.
+
+* `git_apply_patch()` applies hunks from a `git_patch` to a buffer.
+
+* `git_diff_to_buf()` lets you print an entire diff directory to a buffer,
+  similar to how `git_patch_to_buf()` works.
+
+* `git_proxy_init_options()` is added to initialize a `git_proxy_options`
+  structure at run-time.
+
+* `git_merge_driver_register()`, `git_merge_driver_unregister()` let you
+  register and unregister a custom merge driver to be used when `.gitattributes`
+  specifies it.
+
+* `git_merge_driver_lookup()` can be used to look up a merge driver by name.
+
+* `git_merge_driver_source_repo()`, `git_merge_driver_source_ancestor()`,
+  `git_merge_driver_source_ours()`, `git_merge_driver_source_theirs()`,
+  `git_merge_driver_source_file_options()` added as accessors to
+  `git_merge_driver_source`.
+
+### API removals
+
+* `git_blob_create_fromchunks()` has been removed in favour of
+  `git_blob_create_fromstream()`.
+
+### Breaking API changes
+
+* `git_packbuilder_object_count` and `git_packbuilder_written` now
+  return a `size_t` instead of a `uint32_t` for more thorough
+  compatibility with the rest of the library.
+
+* `git_packbuiler_progress` now provides explicitly sized `uint32_t`
+  values instead of `unsigned int`.
+
+* `git_diff_file` now includes an `id_abbrev` field that reflects the
+  number of nibbles set in the `id` field.
+
+* `git_odb_backend` now has a `freshen` function pointer.  This optional
+  function pointer is similar to the `exists` function, but it will update
+  a last-used marker.  For filesystem-based object databases, this updates
+  the timestamp of the file containing the object, to indicate "freshness".
+  If this is `NULL`, then it will not be called and the `exists` function
+  will be used instead.
+
+* `git_remote_connect()` now accepts `git_proxy_options` argument, and
+  `git_fetch_options` and `git_push_options` each have a `proxy_opts` field.
+
+* `git_merge_options` now provides a `default_driver` that can be used
+  to provide the name of a merge driver to be used to handle files changed
+  during a merge.
+
+v0.24
+-------
+
+### Changes or improvements
+
+* Custom merge drivers can now be registered, which allows callers to
+  configure callbacks to honor `merge=driver` configuration in
+  `.gitattributes`.
+
+* Custom filters can now be registered with wildcard attributes, for
+  example `filter=*`.  Consumers should examine the attributes parameter
+  of the `check` function for details.
+
+* Symlinks are now followed when locking a file, which can be
+  necessary when multiple worktrees share a base repository.
+
+* You can now set your own user-agent to be sent for HTTP requests by
+  using the `GIT_OPT_SET_USER_AGENT` with `git_libgit2_opts()`.
+
+* You can set custom HTTP header fields to be sent along with requests
+  by passing them in the fetch and push options.
+
+* Tree objects are now assumed to be sorted. If a tree is not
+  correctly formed, it will give bad results. This is the git approach
+  and cuts a significant amount of time when reading the trees.
+
+* Filter registration is now protected against concurrent
+  registration.
+
+* Filenames which are not valid on Windows in an index no longer cause
+  to fail to parse it on that OS.
+
+* Rebases can now be performed purely in-memory, without touching the
+  repository's workdir.
+
+* When adding objects to the index, or when creating new tree or commit
+  objects, the inputs are validated to ensure that the dependent objects
+  exist and are of the correct type.  This object validation can be
+  disabled with the GIT_OPT_ENABLE_STRICT_OBJECT_CREATION option.
+
+* The WinHTTP transport's handling of bad credentials now behaves like
+  the others, asking for credentials again.
+
+### API additions
+
+* `git_config_lock()` has been added, which allow for
+  transactional/atomic complex updates to the configuration, removing
+  the opportunity for concurrent operations and not committing any
+  changes until the unlock.
+
+* `git_diff_options` added a new callback `progress_cb` to report on the
+  progress of the diff as files are being compared. The documentation of
+  the existing callback `notify_cb` was updated to reflect that it only
+  gets called when new deltas are added to the diff.
+
+* `git_fetch_options` and `git_push_options` have gained a `custom_headers`
+  field to set the extra HTTP header fields to send.
+
+* `git_stream_register_tls()` lets you register a callback to be used
+  as the constructor for a TLS stream instead of the libgit2 built-in
+  one.
+
+* `git_commit_header_field()` allows you to look up a specific header
+  field in a commit.
+
+* `git_commit_extract_signature()` extracts the signature from a
+  commit and gives you both the signature and the signed data so you
+  can verify it.
+
+### API removals
+
+* No APIs were removed in this version.
+
+### Breaking API changes
+
+* The `git_merge_tree_flag_t` is now `git_merge_flag_t`.  Subsequently,
+  its members are no longer prefixed with `GIT_MERGE_TREE_FLAG` but are
+  now prefixed with `GIT_MERGE_FLAG`, and the `tree_flags` field of the
+  `git_merge_options` structure is now named `flags`.
+
+* The `git_merge_file_flags_t` enum is now `git_merge_file_flag_t` for
+  consistency with other enum type names.
+
+* `git_cert` descendent types now have a proper `parent` member
+
+* It is the responsibility of the refdb backend to decide what to do
+  with the reflog on ref deletion. The file-based backend must delete
+  it, a database-backed one may wish to archive it.
+
+* `git_config_backend` has gained two entries. `lock` and `unlock`
+  with which to implement the transactional/atomic semantics for the
+  configuration backend.
+
+* `git_index_add` and `git_index_conflict_add()` will now use the case
+  as provided by the caller on case insensitive systems.  Previous
+  versions would keep the case as it existed in the index.  This does
+  not affect the higher-level `git_index_add_bypath` or
+  `git_index_add_frombuffer` functions.
+
+* The `notify_payload` field of `git_diff_options` was renamed to `payload`
+  to reflect that it's also the payload for the new progress callback.
+
+* The `git_config_level_t` enum has gained a higher-priority value
+  `GIT_CONFIG_LEVEL_PROGRAMDATA` which represent a rough Windows equivalent
+  to the system level configuration.
+
+* `git_rebase_options` now has a `merge_options` field.
+
+* The index no longer performs locking itself. This is not something
+  users of the library should have been relying on as it's not part of
+  the concurrency guarantees.
+
+* `git_remote_connect()` now takes a `custom_headers` argument to set
+  the extra HTTP header fields to send.
+
+v0.23
+------
+
+### Changes or improvements
+
+* Patience and minimal diff drivers can now be used for merges.
+
+* Merges can now ignore whitespace changes.
+
+* Updated binary identification in CRLF filtering to avoid false positives in
+  UTF-8 files.
+
+* Rename and copy detection is enabled for small files.
+
+* Checkout can now handle an initial checkout of a repository, making
+  `GIT_CHECKOUT_SAFE_CREATE` unnecessary for users of clone.
+
+* The signature parameter in the ref-modifying functions has been
+  removed. Use `git_repository_set_ident()` and
+  `git_repository_ident()` to override the signature to be used.
+
+* The local transport now auto-scales the number of threads to use
+  when creating the packfile instead of sticking to one.
+
+* Reference renaming now uses the right id for the old value.
+
+* The annotated version of branch creation, HEAD detaching and reset
+  allow for specifying the expression from the user to be put into the
+  reflog.
+
+* `git_rebase_commit` now returns `GIT_EUNMERGED` when you attempt to
+  commit with unstaged changes.
+
+* On Mac OS X, we now use SecureTransport to provide the cryptographic
+  support for HTTPS connections insead of OpenSSL.
+
+* Checkout can now accept an index for the baseline computations via the
+  `baseline_index` member.
+
+* The configuration for fetching is no longer stored inside the
+  `git_remote` struct but has been moved to a `git_fetch_options`. The
+  remote functions now take these options or the callbacks instead of
+  setting them beforehand.
+
+* `git_submodule` instances are no longer cached or shared across
+  lookup. Each submodule represents the configuration at the time of
+  loading.
+
+* The index now uses diffs for `add_all()` and `update_all()` which
+  gives it a speed boost and closer semantics to git.
+
+* The ssh transport now reports the stderr output from the server as
+  the error message, which allows you to get the "repository not
+  found" messages.
+
+* `git_index_conflict_add()` will remove staged entries that exist for
+  conflicted paths.
+
+* The flags for a `git_diff_file` will now have the `GIT_DIFF_FLAG_EXISTS`
+  bit set when a file exists on that side of the diff.  This is useful
+  for understanding whether a side of the diff exists in the presence of
+  a conflict.
+
+* The constructor for a write-stream into the odb now takes
+  `git_off_t` instead of `size_t` for the size of the blob, which
+  allows putting large files into the odb on 32-bit systems.
+
+* The remote's push and pull URLs now honor the url.$URL.insteadOf
+  configuration. This allows modifying URL prefixes to a custom
+  value via gitconfig.
+
+* `git_diff_foreach`, `git_diff_blobs`, `git_diff_blob_to_buffer`,
+  and `git_diff_buffers` now accept a new binary callback of type
+  `git_diff_binary_cb` that includes the binary diff information.
+
+* The race condition mitigations described in `racy-git.txt` have been
+  implemented.
+
+* If libcurl is installed, we will use it to connect to HTTP(S)
+  servers.
+
+### API additions
+
+* The `git_merge_options` gained a `file_flags` member.
+
+* Parsing and retrieving a configuration value as a path is exposed
+  via `git_config_parse_path()` and `git_config_get_path()`
+  respectively.
+
+* `git_repository_set_ident()` and `git_repository_ident()` serve to
+  set and query which identity will be used when writing to the
+  reflog.
+
+* `git_config_entry_free()` frees a config entry.
+
+* `git_config_get_string_buf()` provides a way to safely retrieve a
+  string from a non-snapshot configuration.
+
+* `git_annotated_commit_from_revspec()` allows to get an annotated
+  commit from an extended sha synatx string.
+
+* `git_repository_set_head_detached_from_annotated()`,
+  `git_branch_create_from_annotated()` and
+  `git_reset_from_annotated()` allow for the caller to provide an
+  annotated commit through which they can control what expression is
+  put into the reflog as the source/target.
+
+* `git_index_add_frombuffer()` can now create a blob from memory
+  buffer and add it to the index which is attached to a repository.
+
+* The structure `git_fetch_options` has been added to determine the
+  runtime configuration for fetching, such as callbacks, pruning and
+  autotag behaviour. It has the runtime initializer
+  `git_fetch_init_options()`.
+
+* The enum `git_fetch_prune_t` has been added, letting you specify the
+  pruning behaviour for a fetch.
+
+* A push operation will notify the caller of what updates it indends
+  to perform on the remote, which provides similar information to
+  git's pre-push hook.
+
+* `git_stash_apply()` can now apply a stashed state from the stash list,
+  placing the data into the working directory and index.
+
+* `git_stash_pop()` will apply a stashed state (like `git_stash_apply()`)
+  but will remove the stashed state after a successful application.
+
+* A new error code `GIT_EEOF` indicates an early EOF from the
+  server. This typically indicates an error with the URL or
+  configuration of the server, and tools can use this to show messages
+  about failing to communicate with the server.
+
+* A new error code `GIT_EINVALID` indicates that an argument to a
+  function is invalid, or an invalid operation was requested.
+
+* `git_diff_index_to_workdir()` and `git_diff_tree_to_index()` will now
+  produce deltas of type `GIT_DELTA_CONFLICTED` to indicate that the index
+  side of the delta is a conflict.
+
+* The `git_status` family of functions will now produce status of type
+  `GIT_STATUS_CONFLICTED` to indicate that a conflict exists for that file
+  in the index.
+
+* `git_index_entry_is_conflict()` is a utility function to determine if
+  a given index entry has a non-zero stage entry, indicating that it is
+  one side of a conflict.
+
+* It is now possible to pass a keypair via a buffer instead of a
+  path. For this, `GIT_CREDTYPE_SSH_MEMORY` and
+  `git_cred_ssh_key_memory_new()` have been added.
+
+* `git_filter_list_contains` will indicate whether a particular
+  filter will be run in the given filter list.
+
+* `git_commit_header_field()` has been added, which allows retrieving
+  the contents of an arbitrary header field.
+
+* `git_submodule_set_branch()` allows to set the configured branch for
+  a submodule.
+
+### API removals
+
+* `git_remote_save()` and `git_remote_clear_refspecs()` have been
+  removed. Remote's configuration is changed via the configuration
+  directly or through a convenience function which performs changes to
+  the configuration directly.
+
+* `git_remote_set_callbacks()`, `git_remote_get_callbacks()` and
+  `git_remote_set_transport()` have been removed and the remote no
+  longer stores this configuration.
+
+* `git_remote_set_fetch_refpecs()` and
+  `git_remote_set_push_refspecs()` have been removed. There is no
+  longer a way to set the base refspecs at run-time.
+
+* `git_submodule_save()` has been removed. The submodules are no
+  longer configured via the objects.
+
+* `git_submodule_reload_all()` has been removed as we no longer cache
+  submodules.
+
+### Breaking API changes
+
+* `git_smart_subtransport_cb` now has a `param` parameter.
+
+* The `git_merge_options` structure member `flags` has been renamed
+  to `tree_flags`.
+
+* The `git_merge_file_options` structure member `flags` is now
+  an unsigned int. It was previously a `git_merge_file_flags_t`.
+
+* `GIT_CHECKOUT_SAFE_CREATE` has been removed.  Most users will generally
+  be able to switch to `GIT_CHECKOUT_SAFE`, but if you require missing
+  file handling during checkout, you may now use `GIT_CHECKOUT_SAFE |
+  GIT_CHECKOUT_RECREATE_MISSING`.
+
+* The `git_clone_options` and `git_submodule_update_options`
+  structures no longer have a `signature` field.
+
+* The following functions have removed the signature and/or log message
+  parameters in favour of git-emulating ones.
+
+    * `git_branch_create()`, `git_branch_move()`
+    * `git_rebase_init()`, `git_rebase_abort()`
+    * `git_reference_symbolic_create_matching()`,
+      `git_reference_symbolic_create()`, `git_reference_create()`,
+      `git_reference_create_matching()`,
+      `git_reference_symbolic_set_target()`,
+      `git_reference_set_target()`, `git_reference_rename()`
+    * `git_remote_update_tips()`, `git_remote_fetch()`, `git_remote_push()`
+    * `git_repository_set_head()`,
+      `git_repository_set_head_detached()`,
+      `git_repository_detach_head()`
+    * `git_reset()`
+
+* `git_config_get_entry()` now gives back a ref-counted
+  `git_config_entry`. You must free it when you no longer need it.
+
+* `git_config_get_string()` will return an error if used on a
+  non-snapshot configuration, as there can be no guarantee that the
+  returned pointer is valid.
+
+* `git_note_default_ref()` now uses a `git_buf` to return the string,
+  as the string is otherwise not guaranteed to stay allocated.
+
+* `git_rebase_operation_current()` will return `GIT_REBASE_NO_OPERATION`
+  if it is called immediately after creating a rebase session but before
+  you have applied the first patch.
+
+* `git_rebase_options` now contains a `git_checkout_options` struct
+  that will be used for functions that modify the working directory,
+  namely `git_rebase_init`, `git_rebase_next` and
+  `git_rebase_abort`.  As a result, `git_rebase_open` now also takes
+  a `git_rebase_options` and only the `git_rebase_init` and
+  `git_rebase_open` functions take a `git_rebase_options`, where they
+  will persist the options to subsequent `git_rebase` calls.
+
+* The `git_clone_options` struct now has fetch options in a
+  `fetch_opts` field instead of remote callbacks in
+  `remote_callbacks`.
+
+* The remote callbacks has gained a new member `push_negotiation`
+  which gets called before sending the update commands to the server.
+
+* The following functions no longer act on a remote instance but
+  change the repository's configuration. Their signatures have changed
+  accordingly:
+
+    * `git_remote_set_url()`, `git_remote_seturl()`
+    * `git_remote_add_fetch()`, `git_remote_add_push()` and
+    * `git_remote_set_autotag()`
+
+* `git_remote_connect()` and `git_remote_prune()` now take a pointer
+  to the callbacks.
+
+* `git_remote_fetch()` and `git_remote_download()` now take a pointer
+  to fetch options which determine the runtime configuration.
+
+* The `git_remote_autotag_option_t` values have been changed. It has
+  gained a `_UNSPECIFIED` default value to specify no override for the
+  configured setting.
+
+* `git_remote_update_tips()` now takes a pointer to the callbacks as
+  well as a boolean whether to write `FETCH_HEAD` and the autotag
+  setting.
+
+* `git_remote_create_anonymous()` no longer takes a fetch refspec as
+  url-only remotes cannot have configured refspecs.
+
+* The `git_submodule_update_options` struct now has fetch options in
+  the `fetch_opts` field instead of callbacks in the
+  `remote_callbacks` field.
+
+* The following functions no longer act on a submodule instance but
+  change the repository's configuration. Their signatures have changed
+  accordingly:
+
+    * `git_submodule_set_url()`, `git_submodule_set_ignore()`,
+      `git_submodule_set_update()`,
+      `git_submodule_set_fetch_recurse_submodules()`.
+
+* `git_submodule_status()` no longer takes a submodule instance but a
+  repsitory, a submodule name and an ignore setting.
+
+* The `push` function in the `git_transport` interface now takes a
+  pointer to the remote callbacks.
+
+* The `git_index_entry` struct's fields' types have been changed to
+  more accurately reflect what is in fact stored in the
+  index. Specifically, time and file size are 32 bits intead of 64, as
+  these values are truncated.
+
+* `GIT_EMERGECONFLICT` is now `GIT_ECONFLICT`, which more accurately
+  describes the nature of the error.
+
+* It is no longer allowed to call `git_buf_grow()` on buffers
+  borrowing the memory they point to.
+
+v0.22
+------
+
+### Changes or improvements
+
+* `git_signature_new()` now requires a non-empty email address.
+
+* Use CommonCrypto libraries for SHA-1 calculation on Mac OS X.
+
+* Disable SSL compression and SSLv2 and SSLv3 ciphers in favor of TLSv1
+  in OpenSSL.
+
+* The fetch behavior of remotes with autotag set to `GIT_REMOTE_DOWNLOAD_TAGS_ALL`
+  has been changed to match git 1.9.0 and later. In this mode, libgit2 now
+  fetches all tags in addition to whatever else needs to be fetched.
+
+* `git_checkout()` now handles case-changing renames correctly on
+  case-insensitive filesystems; for example renaming "readme" to "README".
+
+* The search for libssh2 is now done via pkg-config instead of a
+  custom search of a few directories.
+
+* Add support for core.protectHFS and core.protectNTFS. Add more
+  validation for filenames which we write such as references.
+
+* The local transport now generates textual progress output like
+  git-upload-pack does ("counting objects").
+
+* `git_checkout_index()` can now check out an in-memory index that is not
+  necessarily the repository's index, so you may check out an index
+  that was produced by git_merge and friends while retaining the cached
+  information.
+
+* Remove the default timeout for receiving / sending data over HTTP using
+  the WinHTTP transport layer.
+
+* Add SPNEGO (Kerberos) authentication using GSSAPI on Unix systems.
+
+* Provide built-in objects for the empty blob (e69de29) and empty
+  tree (4b825dc) objects.
+
+* The index' tree cache is now filled upon read-tree and write-tree
+  and the cache is written to disk.
+
+* LF -> CRLF filter refuses to handle mixed-EOL files
+
+* LF -> CRLF filter now runs when * text = auto (with Git for Windows 1.9.4)
+
+* File unlocks are atomic again via rename. Read-only files on Windows are
+  made read-write if necessary.
+
+* Share open packfiles across repositories to share descriptors and mmaps.
+
+* Use a map for the treebuilder, making insertion O(1)
+
+* The build system now accepts an option EMBED_SSH_PATH which when set
+  tells it to include a copy of libssh2 at the given location. This is
+  enabled for MSVC.
+
+* Add support for refspecs with the asterisk in the middle of a
+  pattern.
+
+* Fetching now performs opportunistic updates. To achieve this, we
+  introduce a difference between active and passive refspecs, which
+  make `git_remote_download()` and `git_remote_fetch()` to take a list of
+  resfpecs to be the active list, similarly to how git fetch accepts a
+  list on the command-line.
+
+* The THREADSAFE option to build libgit2 with threading support has
+  been flipped to be on by default.
+
+* The remote object has learnt to prune remote-tracking branches. If
+  the remote is configured to do so, this will happen via
+  `git_remote_fetch()`. You can also call `git_remote_prune()` after
+  connecting or fetching to perform the prune.
+
+
+### API additions
+
+* Introduce `git_buf_text_is_binary()` and `git_buf_text_contains_nul()` for
+  consumers to perform binary detection on a git_buf.
+
+* `git_branch_upstream_remote()` has been introduced to provide the
+  branch.<name>.remote configuration value.
+
+* Introduce `git_describe_commit()` and `git_describe_workdir()` to provide
+  a description of the current commit (and working tree, respectively)
+  based on the nearest tag or reference
+
+* Introduce `git_merge_bases()` and the `git_oidarray` type to expose all
+  merge bases between two commits.
+
+* Introduce `git_merge_bases_many()` to expose all merge bases between
+  multiple commits.
+
+* Introduce rebase functionality (using the merge algorithm only).
+  Introduce `git_rebase_init()` to begin a new rebase session,
+  `git_rebase_open()` to open an in-progress rebase session,
+  `git_rebase_commit()` to commit the current rebase operation,
+  `git_rebase_next()` to apply the next rebase operation,
+  `git_rebase_abort()` to abort an in-progress rebase and `git_rebase_finish()`
+  to complete a rebase operation.
+
+* Introduce `git_note_author()` and `git_note_committer()` to get the author
+  and committer information on a `git_note`, respectively.
+
+* A factory function for ssh has been added which allows to change the
+  path of the programs to execute for receive-pack and upload-pack on
+  the server, `git_transport_ssh_with_paths()`.
+
+* The ssh transport supports asking the remote host for accepted
+  credential types as well as multiple challeges using a single
+  connection. This requires to know which username you want to connect
+  as, so this introduces the USERNAME credential type which the ssh
+  transport will use to ask for the username.
+
+* The `GIT_EPEEL` error code has been introduced when we cannot peel a tag
+  to the requested object type; if the given object otherwise cannot be
+  peeled, `GIT_EINVALIDSPEC` is returned.
+
+* Introduce `GIT_REPOSITORY_INIT_RELATIVE_GITLINK` to use relative paths
+  when writing gitlinks, as is used by git core for submodules.
+
+* `git_remote_prune()` has been added. See above for description.
+
+
+* Introduce reference transactions, which allow multiple references to
+  be locked at the same time and updates be queued. This also allows
+  us to safely update a reflog with arbitrary contents, as we need to
+  do for stash.
+
+### API removals
+
+* `git_remote_supported_url()` and `git_remote_is_valid_url()` have been
+  removed as they have become essentially useless with rsync-style ssh paths.
+
+* `git_clone_into()` and `git_clone_local_into()` have been removed from the
+  public API in favour of `git_clone callbacks`.
+
+* The option to ignore certificate errors via `git_remote_cert_check()`
+  is no longer present. Instead, `git_remote_callbacks` has gained a new
+  entry which lets the user perform their own certificate checks.
+
+### Breaking API changes
+
+* `git_cherry_pick()` is now `git_cherrypick()`.
+
+* The `git_submodule_update()` function was renamed to
+  `git_submodule_update_strategy()`. `git_submodule_update()` is now used to
+  provide functionalty similar to "git submodule update".
+
+* `git_treebuilder_create()` was renamed to `git_treebuilder_new()` to better
+  reflect it being a constructor rather than something which writes to
+  disk.
+
+* `git_treebuilder_new()` (was `git_treebuilder_create()`) now takes a
+  repository so that it can query repository configuration.
+  Subsequently, `git_treebuilder_write()` no longer takes a repository.
+
+* `git_threads_init()` and `git_threads_shutdown()` have been renamed to
+  `git_libgit2_init()` and `git_libgit2_shutdown()` to better explain what
+  their purpose is, as it's grown to be more than just about threads.
+
+* `git_libgit2_init()` and `git_libgit2_shutdown()` now return the number of
+  initializations of the library, so consumers may schedule work on the
+  first initialization.
+
+* The `git_transport_register()` function no longer takes a priority and takes
+  a URL scheme name (eg "http") instead of a prefix like "http://"
+
+* `git_index_name_entrycount()` and `git_index_reuc_entrycount()` now
+  return size_t instead of unsigned int.
+
+* The `context_lines` and `interhunk_lines` fields in `git_diff`_options are
+  now `uint32_t` instead of `uint16_t`. This allows to set them to `UINT_MAX`,
+  in effect asking for "infinite" context e.g. to iterate over all the
+  unmodified lines of a diff.
+
+* `git_status_file()` now takes an exact path. Use `git_status_list_new()` if
+  pathspec searching is needed.
+
+* `git_note_create()` has changed the position of the notes reference
+  name to match `git_note_remove()`.
+
+* Rename `git_remote_load()` to `git_remote_lookup()` to bring it in line
+  with the rest of the lookup functions.
+
+* `git_remote_rename()` now takes the repository and the remote's
+  current name. Accepting a remote indicates we want to change it,
+  which we only did partially. It is much clearer if we accept a name
+  and no loaded objects are changed.
+
+* `git_remote_delete()` now accepts the repository and the remote's name
+  instead of a loaded remote.
+
+* `git_merge_head` is now `git_annotated_commit`, to better reflect its usage
+  for multiple functions (including rebase)
+
+* The `git_clone_options` struct no longer provides the `ignore_cert_errors` or
+  `remote_name` members for remote customization.
+
+  Instead, the `git_clone_options` struct has two new members, `remote_cb` and
+  `remote_cb_payload`, which allow the caller to completely override the remote
+  creation process. If needed, the caller can use this callback to give their
+  remote a name other than the default (origin) or disable cert checking.
+
+  The `remote_callbacks` member has been preserved for convenience, although it
+  is not used when a remote creation callback is supplied.
+
+* The `git_clone`_options struct now provides `repository_cb` and
+  `repository_cb_payload` to allow the user to create a repository with
+  custom options.
+
+* The `git_push` struct to perform a push has been replaced with
+  `git_remote_upload()`. The refspecs and options are passed as a
+  function argument. `git_push_update_tips()` is now also
+  `git_remote_update_tips()` and the callbacks are in the same struct as
+  the rest.
+
+* The `git_remote_set_transport()` function now sets a transport factory function,
+  rather than a pre-existing transport instance.
+
+* The `git_transport` structure definition has moved into the sys/transport.h
+  file.
+
+* libgit2 no longer automatically sets the OpenSSL locking
+  functions. This is not something which we can know to do. A
+  last-resort convenience function is provided in sys/openssl.h,
+  `git_openssl_set_locking()` which can be used to set the locking.
diff --git a/docs/code_of_conduct.md b/docs/code_of_conduct.md
new file mode 100644 (file)
index 0000000..0a0e4eb
--- /dev/null
@@ -0,0 +1,75 @@
+# Contributor Covenant Code of Conduct
+
+## Our Pledge
+
+In the interest of fostering an open and welcoming environment, we as
+contributors and maintainers pledge to making participation in our project and
+our community a harassment-free experience for everyone, regardless of age, body
+size, disability, ethnicity, gender identity and expression, level of experience,
+nationality, personal appearance, race, religion, or sexual identity and
+orientation.
+
+## Our Standards
+
+Examples of behavior that contributes to creating a positive environment
+include:
+
+* Using welcoming and inclusive language
+* Being respectful of differing viewpoints and experiences
+* Gracefully accepting constructive criticism
+* Focusing on what is best for the community
+* Showing empathy towards other community members
+
+Examples of unacceptable behavior by participants include:
+
+* The use of sexualized language or imagery and unwelcome sexual attention or
+advances
+* Trolling, insulting/derogatory comments, and personal or political attacks
+* Public or private harassment
+* Publishing others' private information, such as a physical or electronic
+  address, without explicit permission
+* Other conduct which could reasonably be considered inappropriate in a
+  professional setting
+
+## Our Responsibilities
+
+Project maintainers are responsible for clarifying the standards of acceptable
+behavior and are expected to take appropriate and fair corrective action in
+response to any instances of unacceptable behavior.
+
+Project maintainers have the right and responsibility to remove, edit, or
+reject comments, commits, code, wiki edits, issues, and other contributions
+that are not aligned to this Code of Conduct, or to ban temporarily or
+permanently any contributor for other behaviors that they deem inappropriate,
+threatening, offensive, or harmful.
+
+## Scope
+
+This Code of Conduct applies both within project spaces and in public spaces
+when an individual is representing the project or its community. Examples of
+representing a project or community include using an official project e-mail
+address, posting via an official social media account, or acting as an appointed
+representative at an online or offline event. Representation of a project may be
+further defined and clarified by project maintainers.
+
+## Enforcement
+
+Instances of abusive, harassing, or otherwise unacceptable behavior may be
+reported by contacting the project team at [libgit2@gmail.com][email]. All
+complaints will be reviewed and investigated and will result in a response that
+is deemed necessary and appropriate to the circumstances. The project team is
+obligated to maintain confidentiality with regard to the reporter of an incident.
+Further details of specific enforcement policies may be posted separately.
+
+Project maintainers who do not follow or enforce the Code of Conduct in good
+faith may face temporary or permanent repercussions as determined by other
+members of the project's leadership.
+
+## Attribution
+
+This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
+available at [http://contributor-covenant.org/version/1/4][version]
+
+[email]: mailto:libgit2@gmail.com
+[homepage]: http://contributor-covenant.org
+[version]: http://contributor-covenant.org/version/1/4/
diff --git a/docs/contributing.md b/docs/contributing.md
new file mode 100644 (file)
index 0000000..21e42b1
--- /dev/null
@@ -0,0 +1,184 @@
+# Welcome to libgit2!
+
+We're making it easy to do interesting things with git, and we'd love to have
+your help.
+
+## Licensing
+
+By contributing to libgit2, you agree to release your contribution under
+the terms of the license.  Except for the `examples` and the
+`deps` directories, all code is released under the [GPL v2 with
+linking exception](../COPYING).
+
+The `examples` code is governed by the
+[CC0 Public Domain Dedication](../examples/COPYING), so that you may copy
+from them into your own application.
+
+The bundled dependencies in the `deps` directories are governed
+by the following licenses:
+
+- http-parser is licensed under [MIT license](../deps/http-parser/COPYING)
+- regex is governed by [LGPL v2.1+ license](../deps/regex/COPYING)
+- winhttp is governed by [LGPL v2.1+](../deps/winhttp/COPYING.LGPL) and [GPL v2 with linking exception](../deps/winhttp/COPYING.GPL)
+- zlib is governed by [zlib license](../deps/zlib/COPYING)
+
+## Discussion & Chat
+
+We hang out in the
+[`#libgit2`](http://webchat.freenode.net/?channels=#libgit2)) channel on
+irc.freenode.net.
+
+Also, feel free to open an
+[Issue](https://github.com/libgit2/libgit2/issues/new) to start a discussion
+about any concerns you have.  We like to use Issues for that so there is an
+easily accessible permanent record of the conversation.
+
+## Libgit2 Versions
+
+The `master` branch is the main branch where development happens.
+Releases are tagged
+(e.g. [v0.21.0](https://github.com/libgit2/libgit2/releases/tag/v0.21.0) )
+and when a critical bug fix needs to be backported, it will be done on a
+`<tag>-maint` maintenance branch.
+
+## Reporting Bugs
+
+First, know which version of libgit2 your problem is in and include it in
+your bug report.  This can either be a tag (e.g.
+[v0.17.0](https://github.com/libgit2/libgit2/releases/tag/v0.17.0)) or a
+commit SHA
+(e.g. [01be7863](https://github.com/libgit2/libgit2/commit/01be7863)).
+Using [`git describe`](http://git-scm.com/docs/git-describe) is a
+great way to tell us what version you're working with.
+
+If you're not running against the latest `master` branch version,
+please compile and test against that to avoid re-reporting an issue that's
+already been fixed.
+
+It's *incredibly* helpful to be able to reproduce the problem.  Please
+include a list of steps, a bit of code, and/or a zipped repository (if
+possible).  Note that some of the libgit2 developers are employees of
+GitHub, so if your repository is private, find us on IRC and we'll figure
+out a way to help you.
+
+## Pull Requests
+
+Our work flow is a [typical GitHub
+flow](https://guides.github.com/introduction/flow/index.html), where
+contributors fork the [libgit2 repository](https://github.com/libgit2/libgit2),
+make their changes on branch, and submit a
+[Pull Request](https://help.github.com/articles/using-pull-requests)
+(a.k.a. "PR").  Pull requests should usually be targeted at the `master`
+branch.
+
+Life will be a lot easier for you (and us) if you follow this pattern
+(i.e. fork, named branch, submit PR).  If you use your fork's `master`
+branch directly, things can get messy.
+
+Please include a nice description of your changes when you submit your PR;
+if we have to read the whole diff to figure out why you're contributing
+in the first place, you're less likely to get feedback and have your change
+merged in.
+
+In addition to outlining your thought process in the PR's description, please
+also try to document it in your commits. We welcome it if every commit has a
+description of why you have been doing your changes alongside with your
+reasoning why this is a good idea. The messages shall be written in
+present-tense and in an imperative style (e.g. "Add feature foobar", not "Added
+feature foobar" or "Adding feature foobar"). Lines should be wrapped at 80
+characters so people with small screens are able to read the commit messages in
+their terminal without any problem.
+
+To make it easier to attribute commits to certain parts of our code base, we
+also prefer to have the commit subject be prefixed with a "scope". E.g. if you
+are changing code in our merging subsystem, make sure to prefix the subject with
+"merge:". The first word following the colon shall start with an lowercase
+letter. The maximum line length for the subject is 70 characters, preferably
+shorter.
+
+If you are starting to work on a particular area, feel free to submit a PR
+that highlights your work in progress (and note in the PR title that it's
+not ready to merge). These early PRs are welcome and will help in getting
+visibility for your fix, allow others to comment early on the changes and
+also let others know that you are currently working on something.
+
+Before wrapping up a PR, you should be sure to:
+
+* Write tests to cover any functional changes
+* Update documentation for any changed public APIs
+* Add to the [`changelog.md`](changelog.md) file describing any major changes
+
+## Unit Tests
+
+We believe that our unit tests allow us to keep the quality of libgit2
+high: any new changes must not cause unit test failures, and new changes
+should include unit tests that cover the bug fixes or new features.
+For bug fixes, we prefer unit tests that illustrate the failure before
+the change, but pass with your changes.
+
+In addition to new tests, please ensure that your changes do not cause
+any other test failures.  Running the entire test suite is helpful
+before you submit a pull request.  When you build libgit2, the test
+suite will also be built.  You can run most of the tests by simply running
+the resultant `libgit2_clar` binary.  If you want to run a specific
+unit test, you can name it with the `-s` option.  For example:
+
+    libgit2_clar -sstatus::worktree::long_filenames
+
+Or you can run an entire class of tests.  For example, to run all the
+worktree status tests:
+
+    libgit2_clar -sstatus::worktree
+
+The default test run is fairly exhaustive, but it will exclude some
+unit tests by default: in particular, those that talk to network
+servers and the tests that manipulate the filesystem in onerous
+ways (and may need to have special privileges to run).  To run the
+network tests:
+
+    libgit2_clar -ionline
+
+In addition, various tests may be enabled by environment variables,
+like the ones that write exceptionally large repositories or manipulate
+the filesystem structure in unexpected ways.  These tests *may be
+dangerous* to run on a normal machine and may harm your filesystem.  It's
+not recommended that you run these; instead, the continuous integration
+servers will run these (in a sandbox).
+
+## Porting Code From Other Open-Source Projects
+
+`libgit2` is licensed under the terms of the GPL v2 with a linking
+exception.  Any code brought in must be compatible with those terms.
+
+The most common case is porting code from core Git.  Git is a pure GPL
+project, which means that in order to port code to this project, we need the
+explicit permission of the author.  Check the
+[`git.git-authors`](https://github.com/libgit2/libgit2/blob/development/git.git-authors)
+file for authors who have already consented.
+
+Other licenses have other requirements; check the license of the library
+you're porting code *from* to see what you need to do.  As a general rule,
+MIT and BSD (3-clause) licenses are typically no problem.  Apache 2.0
+license typically doesn't work due to GPL incompatibility.
+
+If your pull request uses code from core Git, another project, or code
+from a forum / Stack Overflow, then *please* flag this in your PR and make
+sure you've given proper credit to the original author in the code
+snippet.
+
+## Style Guide
+
+The public API of `libgit2` is [ANSI C](http://en.wikipedia.org/wiki/ANSI_C)
+(a.k.a. C89) compatible.  Internally, `libgit2` is written using a portable
+subset of C99 - in order to compile with GCC, Clang, MSVC, etc., we keep
+local variable declarations at the tops of blocks only and avoid `//` style
+comments.  Additionally, `libgit2` follows some extra conventions for
+function and type naming, code formatting, and testing.
+
+We like to keep the source code consistent and easy to read.  Maintaining
+this takes some discipline, but it's been more than worth it.  Take a look
+at the [conventions file](conventions.md).
+
+## Starter Projects
+
+See our [projects list](projects.md).
diff --git a/docs/conventions.md b/docs/conventions.md
new file mode 100644 (file)
index 0000000..a017db1
--- /dev/null
@@ -0,0 +1,266 @@
+# Libgit2 Conventions
+
+We like to keep the source consistent and readable.  Herein are some
+guidelines that should help with that.
+
+## External API
+
+We have a few rules to avoid surprising ways of calling functions and
+some rules for consumers of the library to avoid stepping on each
+other's toes.
+
+ - Property accessors return the value directly (e.g. an `int` or
+   `const char *`) but if a function can fail, we return a `int` value
+   and the output parameters go first in the parameter list, followed
+   by the object that a function is operating on, and then any other
+   arguments the function may need.
+
+ - If a function returns an object as a return value, that function is
+   a getter and the object's lifetime is tied to the parent
+   object. Objects which are returned as the first argument as a
+   pointer-to-pointer are owned by the caller and it is responsible
+   for freeing it. Strings are returned via `git_buf` in order to
+   allow for re-use and safe freeing.
+
+ - Most of what libgit2 does relates to I/O so as a general rule
+   you should assume that any function can fail due to errors as even
+   getting data from the filesystem can result in all sorts of errors
+   and complex failure cases.
+
+ - Paths inside the Git system are separated by a slash (0x2F). If a
+   function accepts a path on disk, then backslashes (0x5C) are also
+   accepted on Windows.
+
+ - Do not mix allocators. If something has been allocated by libgit2,
+   you do not know which is the right free function in the general
+   case. Use the free functions provided for each object type.
+
+## Compatibility
+
+`libgit2` runs on many different platforms with many different compilers.
+
+The public API of `libgit2` is [ANSI C](http://en.wikipedia.org/wiki/ANSI_C)
+(a.k.a. C89) compatible.
+
+Internally, `libgit2` is written using a portable subset of C99 - in order
+to maximize compatibility (e.g. with MSVC) we avoid certain C99
+extensions.  Specifically, we keep local variable declarations at the tops
+of blocks only and we avoid `//` style comments.
+
+Also, to the greatest extent possible, we try to avoid lots of `#ifdef`s
+inside the core code base.  This is somewhat unavoidable, but since it can
+really hamper maintainability, we keep it to a minimum.
+
+## Match Surrounding Code
+
+If there is one rule to take away from this document, it is *new code should
+match the surrounding code in a way that makes it impossible to distinguish
+the new from the old.* Consistency is more important to us than anyone's
+personal opinion about where braces should be placed or spaces vs. tabs.
+
+If a section of code is being completely rewritten, it is okay to bring it
+in line with the standards that are laid out here, but we will not accept
+submissions that contain a large number of changes that are merely
+reformatting.
+
+## Naming Things
+
+All external types and functions start with `git_` and all `#define` macros
+start with `GIT_`.  The `libgit2` API is mostly broken into related
+functional modules each with a corresponding header.  All functions in a
+module should be named like `git_modulename_functioname()`
+(e.g. `git_repository_open()`).
+
+Functions with a single output parameter should name that parameter `out`.
+Multiple outputs should be named `foo_out`, `bar_out`, etc.
+
+Parameters of type `git_oid` should be named `id`, or `foo_id`.  Calls that
+return an OID should be named `git_foo_id`.
+
+Where a callback function is used, the function should also include a
+user-supplied extra input that is a `void *` named "payload" that will be
+passed through to the callback at each invocation.
+
+## Typedefs
+
+Wherever possible, use `typedef`.  In some cases, if a structure is just a
+collection of function pointers, the pointer types don't need to be
+separately typedef'd, but loose function pointer types should be.
+
+## Exports
+
+All exported functions must be declared as:
+
+```c
+GIT_EXTERN(result_type) git_modulename_functionname(arg_list);
+```
+
+## Internals
+
+Functions whose *modulename* is followed by two underscores,
+for example `git_odb__read_packed`, are semi-private functions.
+They are primarily intended for use within the library itself,
+and may disappear or change their signature in a future release.
+
+## Parameters
+
+Out parameters come first.
+
+Whenever possible, pass argument pointers as `const`.  Some structures (such
+as `git_repository` and `git_index`) have mutable internal structure that
+prevents this.
+
+Callbacks should always take a `void *` payload as their last parameter.
+Callback pointers are grouped with their payloads, and typically come last
+when passed as arguments:
+
+```c
+int git_foo(git_repository *repo, git_foo_cb callback, void *payload);
+```
+
+## Memory Ownership
+
+Some APIs allocate memory which the caller is responsible for freeing; others
+return a pointer into a buffer that's owned by some other object.  Make this
+explicit in the documentation.
+
+## Return codes
+
+Most public APIs should return an `int` error code.  As is typical with most
+C library functions, a zero value indicates success and a negative value
+indicates failure.
+
+Some bindings will transform these returned error codes into exception
+types, so returning a semantically appropriate error code is important.
+Check
+[`include/git2/errors.h`](https://github.com/libgit2/libgit2/blob/development/include/git2/errors.h)
+for the return codes already defined.
+
+In your implementation, use `git_error_set()` to provide extended error
+information to callers.
+
+If a `libgit2` function internally invokes another function that reports an
+error, but the error is not propagated up, use `git_error_clear()` to prevent
+callers from getting the wrong error message later on.
+
+
+## Structs
+
+Most public types should be opaque, e.g.:
+
+```C
+typedef struct git_odb git_odb;
+```
+
+...with allocation functions returning an "instance" created within
+the library, and not within the application.  This allows the type
+to grow (or shrink) in size without rebuilding client code.
+
+To preserve ABI compatibility, include an `int version` field in all transparent
+structures, and initialize to the latest version in the constructor call.
+Increment the "latest" version whenever the structure changes, and try to only
+append to the end of the structure.
+
+## Option Structures
+
+If a function's parameter count is too high, it may be desirable to package
+up the options in a structure.  Make them transparent, include a version
+field, and provide an initializer constant or constructor.  Using these
+structures should be this easy:
+
+```C
+git_foo_options opts = GIT_FOO_OPTIONS_INIT;
+opts.baz = BAZ_OPTION_ONE;
+git_foo(&opts);
+```
+
+## Enumerations
+
+Typedef all enumerated types.  If each option stands alone, use the enum
+type for passing them as parameters; if they are flags to be OR'ed together,
+pass them as `unsigned int` or `uint32_t` or some appropriate type.
+
+## Code Layout
+
+Try to keep lines less than 80 characters long.  This is a loose
+requirement, but going significantly over 80 columns is not nice.
+
+Use common sense to wrap most code lines; public function declarations
+can use a couple of different styles:
+
+```c
+/** All on one line is okay if it fits */
+GIT_EXTERN(int) git_foo_simple(git_oid *id);
+
+/** Otherwise one argument per line is a good next step */
+GIT_EXTERN(int) git_foo_id(
+       git_oid **out,
+       int a,
+       int b);
+```
+
+Indent with tabs; set your editor's tab width to eight for best effect.
+
+Avoid trailing whitespace and only commit Unix-style newlines (i.e. no CRLF
+in the repository - just set `core.autocrlf` to true if you are writing code
+on a Windows machine).
+
+## Documentation
+
+All comments should conform to Doxygen "javadoc" style conventions for
+formatting the public API documentation.  Try to document every parameter,
+and keep the comments up to date if you change the parameter list.
+
+## Public Header Template
+
+Use this template when creating a new public header.
+
+```C
+#ifndef INCLUDE_git_${filename}_h__
+#define INCLUDE_git_${filename}_h__
+
+#include "git/common.h"
+
+/**
+ * @file git/${filename}.h
+ * @brief Git some description
+ * @defgroup git_${filename} some description routines
+ * @ingroup Git
+ * @{
+ */
+GIT_BEGIN_DECL
+
+/* ... definitions ... */
+
+/** @} */
+GIT_END_DECL
+#endif
+```
+
+## Inlined functions
+
+All inlined functions must be declared as:
+
+```C
+GIT_INLINE(result_type) git_modulename_functionname(arg_list);
+```
+
+`GIT_INLINE` (or `inline`) should not be used in public headers in order
+to preserve ANSI C compatibility.
+
+## Tests
+
+`libgit2` uses the [clar](https://github.com/vmg/clar) testing framework.
+
+All PRs should have corresponding tests.
+
+* If the PR fixes an existing issue, the test should fail prior to applying
+  the PR and succeed after applying it.
+* If the PR is for new functionality, then the tests should exercise that
+  new functionality to a certain extent.  We don't require 100% coverage
+  right now (although we are getting stricter over time).
+
+When adding new tests, we prefer if you attempt to reuse existing test data
+(in `tests-clar/resources/`) if possible.  If you are going to add new test
+repositories, please try to strip them of unnecessary files (e.g. sample
+hooks, etc).
diff --git a/docs/differences-from-git.md b/docs/differences-from-git.md
new file mode 100644 (file)
index 0000000..3f46508
--- /dev/null
@@ -0,0 +1,27 @@
+# Differences from Git
+
+In some instances, the functionality of libgit2 deviates slightly from Git. This can be because of technical limitations when developing a library, licensing limitations when converting functionality from Git to libgit2, or various other reasons.
+
+Repository and Workdir Path Reporting
+-------------------------------------
+
+When asking Git for the absolute path of a repository via `git rev-parse --absolute-git-dir`, it will output the path to the ".git" folder without a trailing slash. In contrast to that, the call `git_repository_path(repo)` will return the path with a trailing slash:
+
+```
+git rev-parse --absolute-git-dir -> /home/user/projects/libgit2/.git
+git_repository_path(repo) -> /home/user/projects/libgit2/.git/
+```
+
+The same difference exists when listing worktrees:
+
+```
+git worktree list -> /home/user/projects/libgit2
+git_repository_workdir(repo) -> /home/user/projects/libgit2/
+```
+
+Windows Junction Points
+-----------------------
+
+In libgit2, junction points are treated like symbolic links. They're handled specially in `git_win32__file_attribute_to_stat` in `src/win/w32_util.h`. This means that libgit2 tracks the directory itself as a link.
+
+In Git for Windows, junction points are treated like regular directories. This means that Git for Windows tracks the contents of the directory.
index 719244d2fd7314ae0dfd5d4ad449b4003e632373..05725f2ed064f151fc80e104609acb1f0c29d286 100644 (file)
@@ -9,7 +9,7 @@ and a generic error code (-1) for all critical or non-specific failures
 (e.g. running out of memory or system corruption).
 
 When a negative value is returned, an error message is also set.  The
-message can be accessed via the `giterr_last` function which will return a
+message can be accessed via the `git_error_last` function which will return a
 pointer to a `git_error` structure containing the error message text and
 the class of error (i.e. what part of the library generated the error).
 
@@ -51,7 +51,7 @@ look at the error message that was generated.
        int error = git_repository_open(&repo, "path/to/repo");
 
        if (error < 0) {
-               fprintf(stderr, "Could not open repository: %s\n", giterr_last()->message);
+               fprintf(stderr, "Could not open repository: %s\n", git_error_last()->message);
                exit(1);
        }
 
@@ -75,7 +75,7 @@ at the specific error values to decide what to do.
                        fprintf(stderr, "Could not find repository at path '%s'\n", path);
                else
                        fprintf(stderr, "Unable to open repository: %s\n",
-                               giterr_last()->message);
+                               git_error_last()->message);
                exit(1);
        }
 
@@ -86,7 +86,7 @@ at the specific error values to decide what to do.
 Some of the higher-level language bindings may use a range of information
 from libgit2 to convert error return codes into exceptions, including the
 specific error return codes and even the class of error and the error
-message returned by `giterr_last`, but the full range of that logic is
+message returned by `git_error_last`, but the full range of that logic is
 beyond the scope of this document.
 
 Example internal implementation
@@ -102,7 +102,7 @@ int git_repository_open(git_repository **repository, const char *path)
 {
        /* perform some logic to open the repository */
        if (p_exists(path) < 0) {
-               giterr_set(GITERR_REPOSITORY, "The path '%s' doesn't exist", path);
+               git_error_set(GIT_ERROR_REPOSITORY, "The path '%s' doesn't exist", path);
                return GIT_ENOTFOUND;
        }
 
@@ -110,13 +110,27 @@ int git_repository_open(git_repository **repository, const char *path)
 }
 ~~~
 
+Note that some error codes have been defined with a specific meaning in the
+context of callbacks:
+- `GIT_EUSER` provides a way to bubble up a non libgit2-related failure, which
+  allows it to be preserved all the way up to the initial function call (a `git_cred`
+  setup trying to access an unavailable LDAP server for instance).
+- `GIT_EPASSTHROUGH` provides a way to tell libgit2 that it should behave as if
+  no callback was provided. This is of special interest to bindings, which would
+  always provide a C function as a "trampoline", and decide at runtime what to do.
+
 The public error API
 --------------------
 
-- `const git_error *giterr_last(void)`: The main function used to look up
+- `const git_error *git_error_last(void)`: The main function used to look up
   the last error.  This may return NULL if no error has occurred.
   Otherwise this should return a `git_error` object indicating the class
   of error and the error message that was generated by the library.
+  Do not use this function unless the prior call to a libgit2 API
+  returned an error, as it can otherwise give misleading results.
+  libgit2's error strings are not cleared aggressively,
+  and this function may return an error string that reflects a prior error,
+  possibly even reflecting internal state.
 
   The last error is stored in thread-local storage when libgit2 is
   compiled with thread support, so you do not have to worry about another
@@ -128,7 +142,7 @@ The public error API
   bugs, but in the meantime, please code defensively and check for NULL
   when calling this function.
 
-- `void giterr_clear(void)`: This function clears the last error.  The
+- `void git_error_clear(void)`: This function clears the last error.  The
   library will call this when an error is generated by low level function
   and the higher level function handles the error.
 
@@ -136,14 +150,14 @@ The public error API
   function's error message is not cleared by higher level code that
   handles the error and returns zero.  Please report these as bugs, but in
   the meantime, a zero return value from a libgit2 API does not guarantee
-  that `giterr_last()` will return NULL.
+  that `git_error_last()` will return NULL.
 
-- `void giterr_set_str(int error_class, const char *message)`: This
+- `void git_error_set(int error_class, const char *message)`: This
   function can be used when writing a custom backend module to set the
   libgit2 error message.  See the documentation on this function for its
   use.  Normal usage of libgit2 will probably never need to call this API.
 
-- `void giterr_set_oom(void)`: This is a standard function for reporting
+- `void git_error_set_oom(void)`: This is a standard function for reporting
   an out-of-memory error.  It is written in a manner that it doesn't have
   to allocate any extra memory in order to record the error, so this is
   the best way to report that scenario.
@@ -177,18 +191,18 @@ There are some known bugs in the library where some functions may return a
 negative value but not set an error message and some other functions may
 return zero (no error) and yet leave an error message set.  Please report
 these cases as issues and they will be fixed.  In the meanwhile, please
-code defensively, checking that the return value of `giterr_last` is not
-NULL before using it, and not relying on `giterr_last` to return NULL when
+code defensively, checking that the return value of `git_error_last` is not
+NULL before using it, and not relying on `git_error_last` to return NULL when
 a function returns 0 for success.
 
 The internal error API
 ----------------------
 
-- `void giterr_set(int error_class, const char *fmt, ...)`: This is the
+- `void git_error_set(int error_class, const char *fmt, ...)`: This is the
   main internal function for setting an error.  It works like `printf` to
-  format the error message.  See the notes of `giterr_set_str` for a
+  format the error message.  See the notes of `git_error_set_str` for a
   general description of how error messages are stored (and also about
-  special handling for `error_class` of `GITERR_OS`).
+  special handling for `error_class` of `GIT_ERROR_OS`).
 
 Writing error messages
 ----------------------
@@ -243,7 +257,7 @@ General guidelines for error reporting
                ...
 
                if (git_commit_lookup(parent, repo, parent_id) < 0) {
-                       giterr_set(GITERR_COMMIT, "Overwrite lookup error message");
+                       git_error_set(GIT_ERROR_COMMIT, "Overwrite lookup error message");
                        return -1; /* mask error code */
                }
 
diff --git a/docs/fuzzing.md b/docs/fuzzing.md
new file mode 100644 (file)
index 0000000..cd82576
--- /dev/null
@@ -0,0 +1,71 @@
+# Fuzzing
+
+libgit2 is currently using [libFuzzer](https://libfuzzer.info) to perform
+automated fuzz testing. libFuzzer only works with clang.
+
+## Prerequisites** for building fuzz targets:
+
+1. All the prerequisites for [building libgit2](https://github.com/libgit2/libgit2).
+2. A recent version of clang. 6.0 is preferred. [pre-build Debian/Ubuntu
+   packages](https://github.com/libgit2/libgit2)
+
+## Build
+
+1. Create a build directory beneath the libgit2 source directory, and change
+   into it: `mkdir build && cd build`
+2. Choose one sanitizers to add. The currently supported sanitizers are
+   [`address`](https://clang.llvm.org/docs/AddressSanitizer.html),
+   [`undefined`](https://clang.llvm.org/docs/UndefinedBehaviorSanitizer.html),
+   and [`leak`/`address,leak`](https://clang.llvm.org/docs/LeakSanitizer.html).
+3. Create the cmake build environment and configure the build with the
+   sanitizer chosen: `CC=/usr/bin/clang-6.0 CFLAGS="-fsanitize=address" cmake
+   -DBUILD_CLAR=OFF -DBUILD_FUZZERS=ON -DCMAKE_BUILD_TYPE=RelWithDebInfo ..`.
+   Note that building the fuzzer targets is incompatible with the
+   tests and examples.
+4. Build libgit2: `cmake --build .`
+5. Exit the cmake build environment: `cd ..`
+
+## Run the fuzz targets
+
+1. `ASAN_SYMBOLIZER_PATH=/usr/bin/llvm-symbolize-6.0
+   LSAN_OPTIONS=allocator_may_return_null=1
+   ASAN_OPTIONS=allocator_may_return_null=1 ./build/fuzz/fuzz_packfile_raw
+   fuzz/corpora/fuzz_packfile_raw/`
+
+The `LSAN_OPTIONS` and `ASAN_OPTIONS` are there to allow `malloc(3)` to return
+`NULL`. The `LLVM_PROFILE_FILE` is there to override the path where libFuzzer
+will write the coverage report.
+
+## Get coverage
+
+In order to get coverage information, you need to add the "-fcoverage-mapping"
+and "-fprofile-instr-generate CFLAGS, and then run the fuzz target with
+`-runs=0`. That will produce a file called `default.profraw` (this behavior can
+be overridden by setting the `LLVM_PROFILE_FILE="yourfile.profraw"` environment
+variable).
+
+1. `llvm-profdata-6.0 merge -sparse default.profraw -o
+   fuzz_packfile_raw.profdata` transforms the data from a sparse representation
+   into a format that can be used by the other tools.
+2. `llvm-cov-6.0 report ./build/fuzz/fuzz_packfile_raw
+   -instr-profile=fuzz_packfile_raw.profdata` shows a high-level per-file
+   coverage report.
+3. `llvm-cov-6.0 show ./build/fuzz/fuzz_packfile_raw
+   -instr-profile=fuzz_packfile_raw.profdata [source file]` shows a line-by-line
+   coverage analysis of all the codebase (or a single source file).
+
+## Standalone mode
+
+In order to ensure that there are no regresions, each fuzzer target can be run
+in a standalone mode. This can be done by passing `-DUSE_STANDALONE_FUZZERS=ON`.
+This makes it compatible with gcc. This does not use the fuzzing engine, but
+just invokes every file in the chosen corpus.
+
+In order to get full coverage, though, you might want to also enable one of the
+sanitizers. You might need a recent version of clang to get full support.
+
+## References
+
+* [libFuzzer](https://llvm.org/docs/LibFuzzer.html) documentation.
+* [Source-based Code
+  Coverage](https://clang.llvm.org/docs/SourceBasedCodeCoverage.html).
diff --git a/docs/projects.md b/docs/projects.md
new file mode 100644 (file)
index 0000000..1b9f476
--- /dev/null
@@ -0,0 +1,93 @@
+Projects For LibGit2
+====================
+
+So, you want to start helping out with `libgit2`? That's fantastic! We
+welcome contributions and we promise we'll try to be nice.
+
+This is a list of libgit2 related projects that new contributors can take
+on.  It includes a number of good starter projects as well as some larger
+ideas that no one is actively working on.
+
+## Before You Start
+
+Please start by reading the [README.md](../README.md),
+[contributing.md](contributing.md), and [conventions.md](conventions.md)
+files before diving into one of these projects.  Those explain our work
+flow and coding conventions to help ensure that your work will be easily
+integrated into libgit2.
+
+Next, work through the build instructions and make sure you can clone the
+repository, compile it, and run the tests successfully.  That will make
+sure that your development environment is set up correctly and you are
+ready to start on libgit2 development.
+
+## Starter Projects
+
+These are good small projects to get started with libgit2.
+
+* Look at the `examples/` programs, find an existing one that mirrors a
+  core Git command and add a missing command-line option.  There are many
+  gaps right now and this helps demonstrate how to use the library.  Here
+  are some specific ideas (though there are many more):
+    * Fix the `examples/diff.c` implementation of the `-B`
+      (a.k.a. `--break-rewrites`) command line option to actually look for
+      the optional `[<n>][/<m>]` configuration values. There is an
+      existing comment that reads `/* TODO: parse thresholds */`. The
+      trick to this one will be doing it in a manner that is clean and
+      simple, but still handles the various cases correctly (e.g. `-B/70%`
+      is apparently a legal setting).
+    * As an extension to the matching idea for `examples/log.c`, add the
+      `-i` option to use `strcasestr()` for matches.
+    * For `examples/log.c`, implement the `--first-parent` option now that
+      libgit2 supports it in the revwalk API.
+* Pick a Git command that is not already emulated in `examples/` and write
+  a new example that mirrors the behavior.  Examples don't have to be
+  perfect emulations, but should demonstrate how to use the libgit2 APIs
+  to get results that are similar to Git commands.  This lets you (and us)
+  easily exercise a particular facet of the API and measure compatibility
+  and feature parity with core git.
+* Submit a PR to clarify documentation! While we do try to document all of
+  the APIs, your fresh eyes on the documentation will find areas that are
+  confusing much more easily.
+
+If none of these appeal to you, take a look at our issues list to see if
+there are any unresolved issues you'd like to jump in on.
+
+## Larger Projects
+
+These are ideas for larger projects mostly taken from our backlog of
+[Issues](https://github.com/libgit2/libgit2/issues).  Please don't dive
+into one of these as a first project for libgit2 - we'd rather get to
+know you first by successfully shipping your work on one of the smaller
+projects above.
+
+Some of these projects are broken down into subprojects and/or have
+some incremental steps listed towards the larger goal.  Those steps
+might make good smaller projects by themselves.
+
+* Port part of the Git test suite to run against the command line emulation
+  in `examples/`
+    * Pick a Git command that is emulated in our `examples/` area
+    * Extract the Git tests that exercise that command
+    * Convert the tests to call our emulation
+    * These tests could go in `examples/tests/`...
+* Add hooks API to enumerate and manage hooks (not run them at this point)
+    * Enumeration of available hooks
+    * Lookup API to see which hooks have a script and get the script
+    * Read/write API to load a hook script and write a hook script
+    * Eventually, callback API to invoke a hook callback when libgit2
+      executes the action in question
+* Isolate logic of ignore evaluation into a standalone API
+* Upgrade internal libxdiff code to latest from core Git
+* Tree builder improvements:
+    * Extend to allow building a tree hierarchy
+* Apply-patch API
+* Add a patch editing API to enable "git add -p" type operations
+* Textconv API to filter binary data before generating diffs (something
+  like the current Filter API, probably).
+* Performance profiling and improvement
+* Support "git replace" ref replacements
+* Include conflicts in diff results and in status
+    * GIT_DELTA_CONFLICT for items in conflict (with multiple files)
+    * Appropriate flags for status
+* Support sparse checkout (i.e. "core.sparsecheckout" and ".git/info/sparse-checkout")
index 42f032b120498668cc9535b09b7d643381979de5..a8eff056d65579cd7c146029a2bab2bef822f5fc 100644 (file)
@@ -10,12 +10,13 @@ We aim to release once every six months. We start the process by opening an issu
     
     Let's release v0.X, codenamed: <something witty>
     
-    - [ ] Bump the versions in the headers
+    - [ ] Bump the versions in the headers (`include/git2/version.h`)
+    - [ ] Bump the versions in the clib manifest (`package.json`)
     - [ ] Make a release candidate
     - [ ] Plug any final leaks
     - [ ] Fix any last-minute issues
-    - [ ] Make sure CHANGELOG reflects everything worth discussing
-    - [ ] Update the version in CHANGELOG and the header
+    - [ ] Make sure changelog.md reflects everything worth discussing
+    - [ ] Update the version in changelog.md and the header
     - [ ] Produce a release candidate
     - [ ] Tag
     - [ ] Create maint/v0.X
@@ -25,12 +26,13 @@ We tag at least one release candidate. This RC must carry the new version in the
 
 Preparing the first release candidate includes updating the version number of libgit2 to the new version number. To do so, a pull request shall be submitted that adjusts the version number in the following places:
 
-- CHANGELOG.md
+- docs/changelog.md
 - include/git2/version.h
+- package.json
 
 As soon as the pull request is merged, the merge commit shall be tagged with a lightweight tag.
 
-The tagging happens via GitHub's "releases" tab which lets us attach release notes to a particular tag. In the description we include the changes in `CHANGELOG.md` between the last full release. Use the following as a base for the release notes
+The tagging happens via GitHub's "releases" tab which lets us attach release notes to a particular tag. In the description we include the changes in `docs/changelog.md` between the last full release. Use the following as a base for the release notes
 
     This is the first release of the v0.X series, <codename>. The changelog follows.
 
diff --git a/docs/threading.md b/docs/threading.md
new file mode 100644 (file)
index 0000000..7dd3744
--- /dev/null
@@ -0,0 +1,115 @@
+Threads in libgit2
+==================
+
+You may safely use any libgit2 object from any thread, though there
+may be issues depending on the cryptographic libraries libgit2 or its
+dependencies link to (more on this later). For libgit2 itself,
+provided you take the following into consideration you won't run into
+issues:
+
+Sharing objects
+---------------
+
+Use an object from a single thread at a time. Most data structures do
+not guard against concurrent access themselves. This is because they
+are rarely used in isolation and it makes more sense to synchronize
+access via a larger lock or similar mechanism.
+
+There are some objects which are read-only/immutable and are thus safe
+to share across threads, such as references and configuration
+snapshots.
+
+Error messages
+--------------
+
+The error message is thread-local. The `git_error_last()` call must
+happen on the same thread as the error in order to get the
+message. Often this will be the case regardless, but if you use
+something like the [GCD](http://en.wikipedia.org/wiki/Grand_Central_Dispatch)
+on Mac OS X (where code is executed on an arbitrary thread), the code
+must make sure to retrieve the error code on the thread where the error
+happened.
+
+Threads and cryptographic libraries
+=======================================
+
+On Windows
+----------
+
+When built as a native Windows DLL, libgit2 uses WinCNG and WinHTTP,
+both of which are thread-safe. You do not need to do anything special.
+
+When using libssh2 which itself uses WinCNG, there are no special
+steps necessary. If you are using a MinGW or similar environment where
+libssh2 uses OpenSSL or libgcrypt, then the general case affects
+you.
+
+On Mac OS X
+-----------
+
+By default we use libcurl to perform the encryption. The
+system-provided libcurl uses SecureTransport, so no special steps are
+necessary. If you link against another libcurl (e.g. from homebrew)
+refer to the general case.
+
+If the option to use libcurl was deactivated, the library makes use of
+CommonCrypto and SecureTransport for cryptographic support. These are
+thread-safe and you do not need to do anything special.
+
+Note that libssh2 may still use OpenSSL itself. In that case, the
+general case still affects you if you use ssh.
+
+General Case
+------------
+
+If it's available, by default we use libcurl to provide HTTP tunneling support,
+which may be linked against a number of cryptographic libraries and has its
+own
+[recommendations for thread safety](https://curl.haxx.se/libcurl/c/threadsafe.html).
+
+If there are no alternative TLS implementations (currently only
+SecureTransport), libgit2 uses OpenSSL in order to use HTTPS as a transport.
+OpenSSL is thread-safe starting at version 1.1.0. If your copy of libgit2 is
+linked against that version, you do not need to take any further steps.
+
+Older versions of OpenSSL are made to be thread-implementation agnostic, and the
+users of the library must set which locking function it should use. libgit2
+cannot know what to set as the user of libgit2 may also be using OpenSSL independently and
+the locking settings must then live outside the lifetime of libgit2.
+
+Even if libgit2 doesn't use OpenSSL directly, OpenSSL can still be used by
+libssh2 or libcurl depending on the configuration. If OpenSSL is used by
+more than one library, you only need to set up threading for OpenSSL once.
+
+If libgit2 is linked against OpenSSL, it provides a last-resort convenience function
+`git_openssl_set_locking()` (available in `sys/openssl.h`) to use the
+platform-native mutex mechanisms to perform the locking, which you can use
+if you do not want to use OpenSSL outside of libgit2, or you
+know that libgit2 will outlive the rest of the operations. It is then not
+safe to use OpenSSL multi-threaded after libgit2's shutdown function
+has been called.  Note `git_openssl_set_locking()` only works if
+libgit2 uses OpenSSL directly - if OpenSSL is only used as a dependency
+of libssh2 or libcurl as described above, `git_openssl_set_locking()` is a no-op.
+
+If your programming language offers a package/bindings for OpenSSL,
+you should very strongly prefer to use that in order to set up
+locking, as they provide a level of coordination which is impossible
+when using this function.
+
+See the
+[OpenSSL documentation](https://www.openssl.org/docs/crypto/threads.html)
+on threading for more details, and http://trac.libssh2.org/wiki/MultiThreading
+for a specific example of providing the threading callbacks.
+
+libssh2 may be linked against OpenSSL or libgcrypt. If it uses OpenSSL,
+see the above paragraphs. If it uses libgcrypt, then you need to
+set up its locking before using it multi-threaded. libgit2 has no
+direct connection to libgcrypt and thus has no convenience functions for
+it (but libgcrypt has macros). Read libgcrypt's
+[threading documentation for more information](http://www.gnupg.org/documentation/manuals/gcrypt/Multi_002dThreading.html)
+
+It is your responsibility as an application author or packager to know
+what your dependencies are linked against and to take the appropriate
+steps to ensure the cryptographic libraries are thread-safe. We agree
+that this situation is far from ideal but at this time it is something
+the application authors need to deal with.
diff --git a/docs/troubleshooting.md b/docs/troubleshooting.md
new file mode 100644 (file)
index 0000000..085fff8
--- /dev/null
@@ -0,0 +1,13 @@
+Troubleshooting libgit2 Problems
+================================
+
+CMake Failures
+--------------
+
+* **`Asked for OpenSSL TLS backend, but it wasn't found`**
+  CMake cannot find your SSL/TLS libraries.  By default, libgit2 always
+  builds with HTTPS support, and you are encouraged to install the
+  OpenSSL libraries for your system (eg, `apt-get install libssl-dev`).
+
+  For development, if you simply want to disable HTTPS support entirely,
+  pass the `-DUSE_HTTPS=OFF` argument to `cmake` when configuring it.
index ca7515e5d6d6cd8b26df6614cb97c38caecefeed..e631b96f2b95bc7c8690f0b1516275d7ff5c2bd6 100644 (file)
@@ -1,7 +1,13 @@
 INCLUDE_DIRECTORIES(${LIBGIT2_INCLUDES})
+INCLUDE_DIRECTORIES(SYSTEM ${LIBGIT2_SYSTEM_INCLUDES})
 
 FILE(GLOB_RECURSE SRC_EXAMPLE_GIT2 network/*.c network/*.h common.?)
 ADD_EXECUTABLE(cgit2 ${SRC_EXAMPLE_GIT2})
+SET_TARGET_PROPERTIES(cgit2 PROPERTIES C_STANDARD 90)
+
+# Ensure that we do not use deprecated functions internally
+ADD_DEFINITIONS(-DGIT_DEPRECATE_HARD)
+
 IF(WIN32 OR ANDROID)
        TARGET_LINK_LIBRARIES(cgit2 git2)
 ELSE()
@@ -14,5 +20,6 @@ FOREACH(src_app ${SRC_EXAMPLE_APPS})
        IF(NOT ${app_name} STREQUAL "common")
                ADD_EXECUTABLE(${app_name} ${src_app} "common.c")
                TARGET_LINK_LIBRARIES(${app_name} git2)
+               SET_TARGET_PROPERTIES(${app_name} PROPERTIES C_STANDARD 90)
        ENDIF()
 ENDFOREACH()
index f948740a1cace85df9b155cf1a5bb039cfd168b5..0fb7d453589c7a6e6303bfa1d38d19a840efa511 100644 (file)
@@ -168,16 +168,16 @@ int main(int argc, char *argv[])
        case SHOW_PRETTY:
 
                switch (git_object_type(obj)) {
-               case GIT_OBJ_BLOB:
+               case GIT_OBJECT_BLOB:
                        show_blob((const git_blob *)obj);
                        break;
-               case GIT_OBJ_COMMIT:
+               case GIT_OBJECT_COMMIT:
                        show_commit((const git_commit *)obj);
                        break;
-               case GIT_OBJ_TREE:
+               case GIT_OBJECT_TREE:
                        show_tree((const git_tree *)obj);
                        break;
-               case GIT_OBJ_TAG:
+               case GIT_OBJECT_TAG:
                        show_tag((const git_tag *)obj);
                        break;
                default:
diff --git a/examples/checkout.c b/examples/checkout.c
new file mode 100644 (file)
index 0000000..9119d65
--- /dev/null
@@ -0,0 +1,235 @@
+/*
+ * libgit2 "checkout" example - shows how to perform checkouts
+ *
+ * Written by the libgit2 contributors
+ *
+ * To the extent possible under law, the author(s) have dedicated all copyright
+ * and related and neighboring rights to this software to the public domain
+ * worldwide. This software is distributed without any warranty.
+ *
+ * You should have received a copy of the CC0 Public Domain Dedication along
+ * with this software. If not, see
+ * <http://creativecommons.org/publicdomain/zero/1.0/>.
+ */
+
+#include "common.h"
+#include <assert.h>
+
+/* Define the printf format specifer to use for size_t output */
+#if defined(_MSC_VER) || defined(__MINGW32__)
+#      define PRIuZ "Iu"
+#      define PRIxZ "Ix"
+#      define PRIdZ "Id"
+#else
+#      define PRIuZ "zu"
+#      define PRIxZ "zx"
+#      define PRIdZ "zd"
+#endif
+
+/**
+ * The following example demonstrates how to do checkouts with libgit2.
+ *
+ * Recognized options are :
+ *  --force: force the checkout to happen.
+ *  --[no-]progress: show checkout progress, on by default.
+ *  --perf: show performance data.
+ */
+
+typedef struct {
+       int force : 1;
+       int progress : 1;
+       int perf : 1;
+} checkout_options;
+
+static void print_usage(void)
+{
+       fprintf(stderr, "usage: checkout [options] <branch>\n"
+               "Options are :\n"
+               "  --git-dir: use the following git repository.\n"
+               "  --force: force the checkout.\n"
+               "  --[no-]progress: show checkout progress.\n"
+               "  --perf: show performance data.\n");
+       exit(1);
+}
+
+static void parse_options(const char **repo_path, checkout_options *opts, struct args_info *args)
+{
+       if (args->argc <= 1)
+               print_usage();
+
+       memset(opts, 0, sizeof(*opts));
+
+       /* Default values */
+       opts->progress = 1;
+
+       for (args->pos = 1; args->pos < args->argc; ++args->pos) {
+               const char *curr = args->argv[args->pos];
+               int bool_arg;
+
+               if (strcmp(curr, "--") == 0) {
+                       break;
+               } else if (!strcmp(curr, "--force")) {
+                       opts->force = 1;
+               } else if (match_bool_arg(&bool_arg, args, "--progress")) {
+                       opts->progress = bool_arg;
+               } else if (match_bool_arg(&bool_arg, args, "--perf")) {
+                       opts->perf = bool_arg;
+               } else if (match_str_arg(repo_path, args, "--git-dir")) {
+                       continue;
+               } else {
+                       break;
+               }
+       }
+}
+
+/**
+ * This function is called to report progression, ie. it's called once with
+ * a NULL path and the number of total steps, then for each subsequent path,
+ * the current completed_step value.
+ */
+static void print_checkout_progress(const char *path, size_t completed_steps, size_t total_steps, void *payload)
+{
+       (void)payload;
+       if (path == NULL) {
+               printf("checkout started: %" PRIuZ " steps\n", total_steps);
+       } else {
+               printf("checkout: %s %" PRIuZ "/%" PRIuZ "\n", path, completed_steps, total_steps);
+       }
+}
+
+/**
+ * This function is called when the checkout completes, and is used to report the
+ * number of syscalls performed.
+ */
+static void print_perf_data(const git_checkout_perfdata *perfdata, void *payload)
+{
+       (void)payload;
+       printf("perf: stat: %" PRIuZ " mkdir: %" PRIuZ " chmod: %" PRIuZ "\n",
+              perfdata->stat_calls, perfdata->mkdir_calls, perfdata->chmod_calls);
+}
+
+/**
+ * This is the main "checkout <branch>" function, responsible for performing
+ * a branch-based checkout.
+ */
+static int perform_checkout_ref(git_repository *repo, git_annotated_commit *target, checkout_options *opts)
+{
+       git_checkout_options checkout_opts = GIT_CHECKOUT_OPTIONS_INIT;
+       git_commit *target_commit = NULL;
+       int err;
+
+       /** Setup our checkout options from the parsed options */
+       checkout_opts.checkout_strategy = GIT_CHECKOUT_SAFE;
+       if (opts->force)
+               checkout_opts.checkout_strategy = GIT_CHECKOUT_FORCE;
+
+       if (opts->progress)
+               checkout_opts.progress_cb = print_checkout_progress;
+
+       if (opts->perf)
+               checkout_opts.perfdata_cb = print_perf_data;
+
+       /** Grab the commit we're interested to move to */
+       err = git_commit_lookup(&target_commit, repo, git_annotated_commit_id(target));
+       if (err != 0) {
+               fprintf(stderr, "failed to lookup commit: %s\n", git_error_last()->message);
+               goto cleanup;
+       }
+
+       /**
+        * Perform the checkout so the workdir corresponds to what target_commit
+        * contains.
+        *
+        * Note that it's okay to pass a git_commit here, because it will be
+        * peeled to a tree.
+        */
+       err = git_checkout_tree(repo, (const git_object *)target_commit, &checkout_opts);
+       if (err != 0) {
+               fprintf(stderr, "failed to checkout tree: %s\n", git_error_last()->message);
+               goto cleanup;
+       }
+
+       /**
+        * Now that the checkout has completed, we have to update HEAD.
+        *
+        * Depending on the "origin" of target (ie. it's an OID or a branch name),
+        * we might need to detach HEAD.
+        */
+       if (git_annotated_commit_ref(target)) {
+               err = git_repository_set_head(repo, git_annotated_commit_ref(target));
+       } else {
+               err = git_repository_set_head_detached_from_annotated(repo, target);
+       }
+       if (err != 0) {
+               fprintf(stderr, "failed to update HEAD reference: %s\n", git_error_last()->message);
+               goto cleanup;
+       }
+
+cleanup:
+       git_commit_free(target_commit);
+
+       return err;
+}
+
+/** That example's entry point */
+int main(int argc, char **argv)
+{
+       git_repository *repo = NULL;
+       struct args_info args = ARGS_INFO_INIT;
+       checkout_options opts;
+       git_repository_state_t state;
+       git_annotated_commit *checkout_target = NULL;
+       int err = 0;
+       const char *path = ".";
+
+       /** Parse our command line options */
+       parse_options(&path, &opts, &args);
+
+       /** Initialize the library */
+       err = git_libgit2_init();
+       if (!err)
+               check_lg2(err, "Failed to initialize libgit2", NULL);
+
+       /** Open the repository corresponding to the options */
+       check_lg2(git_repository_open_ext(&repo, path, 0, NULL),
+                         "Could not open repository", NULL);
+
+       /** Make sure we're not about to checkout while something else is going on */
+       state = git_repository_state(repo);
+       if (state != GIT_REPOSITORY_STATE_NONE) {
+               fprintf(stderr, "repository is in unexpected state %d\n", state);
+               goto cleanup;
+       }
+
+       if (args.pos >= args.argc) {
+               fprintf(stderr, "unhandled\n");
+               err = -1;
+               goto cleanup;
+       } else if (strcmp("--", args.argv[args.pos])) {
+               /**
+                * Try to checkout the given path
+                */
+
+               fprintf(stderr, "unhandled path-based checkout\n");
+               err = 1;
+               goto cleanup;
+       } else {
+               /**
+                * Try to resolve a "refish" argument to a target libgit2 can use
+                */
+               err = resolve_refish(&checkout_target, repo, args.argv[args.pos]);
+               if (err != 0) {
+                       fprintf(stderr, "failed to resolve %s: %s\n", args.argv[args.pos], git_error_last()->message);
+                       goto cleanup;
+               }
+               err = perform_checkout_ref(repo, checkout_target, &opts);
+       }
+
+cleanup:
+       git_annotated_commit_free(checkout_target);
+
+       git_repository_free(repo);
+       git_libgit2_shutdown();
+
+       return err;
+}
index 118072044cd0690b22dbcf48a104d60972e86da6..e20767a9e942bb32156a318d64f4b492b63858e4 100644 (file)
@@ -12,6 +12,8 @@
  * <http://creativecommons.org/publicdomain/zero/1.0/>.
  */
 
+#include <assert.h>
+
 #include "common.h"
 
 void check_lg2(int error, const char *message, const char *extra)
@@ -22,7 +24,7 @@ void check_lg2(int error, const char *message, const char *extra)
        if (!error)
                return;
 
-       if ((lg2err = giterr_last()) != NULL && lg2err->message != NULL) {
+       if ((lg2err = git_error_last()) != NULL && lg2err->message != NULL) {
                lg2msg = lg2err->message;
                lg2spacer = " - ";
        }
@@ -182,6 +184,25 @@ static int match_int_internal(
        return 1;
 }
 
+int match_bool_arg(int *out, struct args_info *args, const char *opt)
+{
+       const char *found = args->argv[args->pos];
+
+       if (!strcmp(found, opt)) {
+               *out = 1;
+               return 1;
+       }
+
+       if (!strncmp(found, "--no-", strlen("--no-")) &&
+           !strcmp(found + strlen("--no-"), opt + 2)) {
+               *out = 0;
+               return 1;
+       }
+
+       *out = -1;
+       return 0;
+}
+
 int is_integer(int *out, const char *str, int allow_negative)
 {
        return match_int_internal(out, str, allow_negative, NULL);
@@ -229,7 +250,7 @@ void treeish_to_tree(
                "looking up object", treeish);
 
        check_lg2(
-               git_object_peel((git_object **)out, obj, GIT_OBJ_TREE),
+               git_object_peel((git_object **)out, obj, GIT_OBJECT_TREE),
                "resolving object to tree", treeish);
 
        git_object_free(obj);
@@ -245,3 +266,26 @@ void *xrealloc(void *oldp, size_t newsz)
        return p;
 }
 
+int resolve_refish(git_annotated_commit **commit, git_repository *repo, const char *refish)
+{
+       git_reference *ref;
+       git_object *obj;
+       int err = 0;
+
+       assert(commit != NULL);
+
+       err = git_reference_dwim(&ref, repo, refish);
+       if (err == GIT_OK) {
+               git_annotated_commit_from_ref(commit, repo, ref);
+               git_reference_free(ref);
+               return 0;
+       }
+
+       err = git_revparse_single(&obj, repo, refish);
+       if (err == GIT_OK) {
+               err = git_annotated_commit_lookup(commit, repo, git_object_id(obj));
+               git_object_free(obj);
+       }
+
+       return err;
+}
index af42324c23c6e4ab3495984bedeaa2dabcc1a712..1c7b2035e30520441e41dd4363d43e1e144554fa 100644 (file)
@@ -90,6 +90,15 @@ extern int match_uint32_arg(
 extern int match_int_arg(
        int *out, struct args_info *args, const char *opt, int allow_negative);
 
+/**
+ * Check current `args` entry against a "bool" `opt` (ie. --[no-]progress).
+ * If `opt` matches positively, out will be set to 1, or if `opt` matches
+ * negatively, out will be set to 0, and in both cases 1 will be returned.
+ * If neither the positive or the negative form of opt matched, out will be -1,
+ * and 0 will be returned.
+ */
+extern int match_bool_arg(int *out, struct args_info *args, const char *opt);
+
 /**
  * Basic output function for plain text diff output
  * Pass `FILE*` such as `stdout` or `stderr` as payload (or NULL == `stdout`)
@@ -108,3 +117,8 @@ extern void treeish_to_tree(
  * A realloc that exits on failure
  */
 extern void *xrealloc(void *oldp, size_t newsz);
+
+/**
+ * Convert a refish to an annotated commit.
+ */
+extern int resolve_refish(git_annotated_commit **commit, git_repository *repo, const char *refish);
index 9a4f7a59f3b4a12770b52d95c65a83e9dd1e17dc..1de0483a3cba738ad4808044055f9a0b5fc9e796 100644 (file)
@@ -332,6 +332,6 @@ static void diff_print_stats(git_diff *diff, struct opts *o)
 
        fputs(b.ptr, stdout);
 
-       git_buf_free(&b);
+       git_buf_dispose(&b);
        git_diff_stats_free(stats);
 }
index a8ceaaff96bd0a23d80ada56345eacdc4abb8367..3bc25fcf2b233fbb31b37d141a9eadf99a309ec2 100644 (file)
@@ -10,7 +10,7 @@ static int show_ref(git_reference *ref, void *data)
         const git_oid *oid;
         git_object *obj;
 
-        if (git_reference_type(ref) == GIT_REF_SYMBOLIC)
+        if (git_reference_type(ref) == GIT_REFERENCE_SYMBOLIC)
                 check_lg2(git_reference_resolve(&resolved, ref),
                           "Unable to resolve symbolic reference",
                           git_reference_name(ref));
@@ -18,7 +18,7 @@ static int show_ref(git_reference *ref, void *data)
         oid = git_reference_target(resolved ? resolved : ref);
         git_oid_fmt(hex, oid);
         hex[GIT_OID_HEXSZ] = 0;
-        check_lg2(git_object_lookup(&obj, repo, oid, GIT_OBJ_ANY),
+        check_lg2(git_object_lookup(&obj, repo, oid, GIT_OBJECT_ANY),
                   "Unable to lookup object", hex);
 
         printf("%s %-6s\t%s\n",
index 0780d3d495a09001854f4db249e13f32d282d2bd..e0f5b5ec5b2aeca502fadedad041fb1b099827c3 100644 (file)
@@ -66,7 +66,7 @@ static void config_files(const char *repo_path, git_repository *repo);
  */
 static void check_error(int error_code, const char *action)
 {
-       const git_error *error = giterr_last();
+       const git_error *error = git_error_last();
        if (!error_code)
                return;
 
@@ -145,11 +145,13 @@ static void oid_parsing(git_oid *oid)
         */
        git_oid_fromstr(oid, hex);
 
-       // Once we've converted the string into the oid value, we can get the raw
-       // value of the SHA by accessing `oid.id`
-
-       // Next we will convert the 20 byte raw SHA1 value to a human readable 40
-       // char hex value.
+       /*
+        * Once we've converted the string into the oid value, we can get the raw
+        * value of the SHA by accessing `oid.id`
+        *
+        * Next we will convert the 20 byte raw SHA1 value to a human readable 40
+        * char hex value.
+        */
        printf("\n*Raw to Hex*\n");
        out[GIT_OID_HEXSZ] = '\0';
 
@@ -183,7 +185,7 @@ static void object_database(git_repository *repo, git_oid *oid)
        int error;
        git_odb_object *obj;
        git_odb *odb;
-       git_otype otype;
+       git_object_t otype;
 
        git_repository_odb(&odb, repo);
 
@@ -239,7 +241,7 @@ static void object_database(git_repository *repo, git_oid *oid)
         * we'll write a new blob object that just contains a simple string.
         * Notice that we have to specify the object type as the `git_otype` enum.
         */
-       git_odb_write(oid, odb, "test data", sizeof("test data") - 1, GIT_OBJ_BLOB);
+       git_odb_write(oid, odb, "test data", sizeof("test data") - 1, GIT_OBJECT_BLOB);
 
        /**
         * Now that we've written the object, we can check out what SHA1 was
@@ -414,7 +416,7 @@ static void commit_parsing(git_repository *repo)
 static void tag_parsing(git_repository *repo)
 {
        git_commit *commit;
-       git_otype type;
+       git_object_t type;
        git_tag *tag;
        git_oid oid;
        const char *name, *message;
@@ -439,7 +441,7 @@ static void tag_parsing(git_repository *repo)
         */
        git_tag_target((git_object **)&commit, tag);
        name = git_tag_name(tag);               /* "test" */
-       type = git_tag_target_type(tag);        /* GIT_OBJ_COMMIT (otype enum) */
+       type = git_tag_target_type(tag);        /* GIT_OBJECT_COMMIT (object_t enum) */
        message = git_tag_message(tag);         /* "tag message\n" */
        printf("Tag Name: %s\nTag Type: %s\nTag Message: %s\n",
                name, git_object_type2string(type), message);
@@ -690,12 +692,12 @@ static void reference_listing(git_repository *repo)
                git_reference_lookup(&ref, repo, refname);
 
                switch (git_reference_type(ref)) {
-                       case GIT_REF_OID:
+                       case GIT_REFERENCE_DIRECT:
                                git_oid_fmt(oid_hex, git_reference_target(ref));
                                printf("%s [%s]\n", refname, oid_hex);
                                break;
 
-                       case GIT_REF_SYMBOLIC:
+                       case GIT_REFERENCE_SYMBOLIC:
                                printf("%s => %s\n", refname, git_reference_symbolic_target(ref));
                                break;
                        default:
index a107470ee7aa0031be3f2f90e7a6b9e33b46cd14..3e891e4d819517aae89b040ca5ae826d5f0580e8 100644 (file)
@@ -275,7 +275,7 @@ static int add_revision(struct log_state *s, const char *revstr)
                                git_object_id(revs.from), git_object_id(revs.to)),
                                "Could not find merge base", revstr);
                        check_lg2(
-                               git_object_lookup(&revs.to, s->repo, &base, GIT_OBJ_COMMIT),
+                               git_object_lookup(&revs.to, s->repo, &base, GIT_OBJECT_COMMIT),
                                "Could not find merge base commit", NULL);
 
                        push_rev(s, revs.to, hide);
diff --git a/examples/ls-files.c b/examples/ls-files.c
new file mode 100644 (file)
index 0000000..98c89c9
--- /dev/null
@@ -0,0 +1,140 @@
+/*
+ * libgit2 "ls-files" example - shows how to view all files currently in the index
+ *
+ * Written by the libgit2 contributors
+ *
+ * To the extent possible under law, the author(s) have dedicated all copyright
+ * and related and neighboring rights to this software to the public domain
+ * worldwide. This software is distributed without any warranty.
+ *
+ * You should have received a copy of the CC0 Public Domain Dedication along
+ * with this software. If not, see
+ * <http://creativecommons.org/publicdomain/zero/1.0/>.
+ */
+
+#include "common.h"
+#include "array.h"
+
+/**
+ * This example demonstrates the libgit2 index APIs to roughly
+ * simulate the output of `git ls-files`.
+ * `git ls-files` has many options and this currently does not show them.
+ *
+ * `git ls-files` base command shows all paths in the index at that time.
+ * This includes staged and committed files, but unstaged files will not display.
+ *
+ * This currently supports the default behavior and the `--error-unmatch` option.
+ */
+
+typedef struct {
+       int error_unmatch;
+       char *files[1024];
+       size_t file_count;
+} ls_options;
+
+static void usage(const char *message, const char *arg)
+{
+       if (message && arg)
+               fprintf(stderr, "%s: %s\n", message, arg);
+       else if (message)
+               fprintf(stderr, "%s\n", message);
+       fprintf(stderr, "usage: ls-files [--error-unmatch] [--] [<file>...]\n");
+       exit(1);
+}
+
+static int parse_options(ls_options *opts, int argc, char *argv[])
+{
+       int parsing_files = 0;
+       int i;
+
+       memset(opts, 0, sizeof(ls_options));
+
+       if (argc < 2)
+               return 0;
+
+       for (i = 1; i < argc; ++i) {
+               char *a = argv[i];
+
+               /* if it doesn't start with a '-' or is after the '--' then it is a file */
+               if (a[0] != '-' || parsing_files) {
+                       parsing_files = 1;
+
+                       /* watch for overflows (just in case) */
+                       if (opts->file_count == 1024) {
+                               fprintf(stderr, "ls-files can only support 1024 files at this time.\n");
+                               return -1;
+                       }
+
+                       opts->files[opts->file_count++] = a;
+               } else if (!strcmp(a, "--")) {
+                       parsing_files = 1;
+               } else if (!strcmp(a, "--error-unmatch")) {
+                       opts->error_unmatch = 1;
+               } else {
+                       usage("Unsupported argument", a);
+                       return -1;
+               }
+       }
+
+       return 0;
+}
+
+static int print_paths(ls_options *opts, git_index *index)
+{
+       size_t i;
+       const git_index_entry *entry;
+
+       /* if there are no files explicitly listed by the user print all entries in the index */
+       if (opts->file_count == 0) {
+               size_t entry_count = git_index_entrycount(index);
+
+               for (i = 0; i < entry_count; i++) {
+                       entry = git_index_get_byindex(index, i);
+                       puts(entry->path);
+               }
+               return 0;
+       }
+
+       /* loop through the files found in the args and print them if they exist */
+       for (i = 0; i < opts->file_count; ++i) {
+               const char *path = opts->files[i];
+
+               if ((entry = git_index_get_bypath(index, path, GIT_INDEX_STAGE_NORMAL)) != NULL) {
+                       puts(path);
+               } else if (opts->error_unmatch) {
+                       fprintf(stderr, "error: pathspec '%s' did not match any file(s) known to git.\n", path);
+                       fprintf(stderr, "Did you forget to 'git add'?\n");
+                       return -1;
+               }
+       }
+
+       return 0;
+}
+
+int main(int argc, char *argv[])
+{
+       ls_options opts;
+       git_repository *repo = NULL;
+       git_index *index = NULL;
+       int error;
+
+       if ((error = parse_options(&opts, argc, argv)) < 0)
+               return error;
+
+       git_libgit2_init();
+
+       if ((error = git_repository_open_ext(&repo, ".", 0, NULL)) < 0)
+               goto cleanup;
+
+       if ((error = git_repository_index(&index, repo)) < 0)
+               goto cleanup;
+
+       error = print_paths(&opts, index);
+
+cleanup:
+       git_index_free(index);
+       git_repository_free(repo);
+       git_libgit2_shutdown();
+
+       return error;
+}
index 59982cb9bd65ac285e0d37b7ee2861cd1c0e75de..13e3f9632b813f384e93e2974761b3b5f9aca044 100644 (file)
@@ -87,29 +87,6 @@ static void parse_options(const char **repo_path, merge_options *opts, int argc,
        }
 }
 
-static int resolve_refish(git_annotated_commit **commit, git_repository *repo, const char *refish)
-{
-       git_reference *ref;
-       int err = 0;
-       git_oid oid;
-
-       assert(commit != NULL);
-
-       err = git_reference_dwim(&ref, repo, refish);
-       if (err == GIT_OK) {
-               git_annotated_commit_from_ref(commit, repo, ref);
-               git_reference_free(ref);
-               return 0;
-       }
-
-       err = git_oid_fromstr(&oid, refish);
-       if (err == GIT_OK) {
-               err = git_annotated_commit_lookup(commit, repo, &oid);
-       }
-
-       return err;
-}
-
 static int resolve_heads(git_repository *repo, merge_options *opts)
 {
        git_annotated_commit **annotated = calloc(opts->heads_count, sizeof(git_annotated_commit *));
@@ -119,7 +96,7 @@ static int resolve_heads(git_repository *repo, merge_options *opts)
        for (i = 0; i < opts->heads_count; i++) {
                err = resolve_refish(&annotated[annotated_count++], repo, opts->heads[i]);
                if (err != 0) {
-                       fprintf(stderr, "failed to resolve refish %s: %s\n", opts->heads[i], giterr_last()->message);
+                       fprintf(stderr, "failed to resolve refish %s: %s\n", opts->heads[i], git_error_last()->message);
                        annotated_count--;
                        continue;
                }
@@ -176,7 +153,7 @@ static int perform_fastforward(git_repository *repo, const git_oid *target_oid,
        }
 
        /* Lookup the target object */
-       err = git_object_lookup(&target, repo, target_oid, GIT_OBJ_COMMIT);
+       err = git_object_lookup(&target, repo, target_oid, GIT_OBJECT_COMMIT);
        if (err != 0) {
                fprintf(stderr, "failed to lookup OID %s\n", git_oid_tostr_s(target_oid));
                return -1;
@@ -252,7 +229,7 @@ static int create_merge_commit(git_repository *repo, git_index *index, merge_opt
 
        /* Maybe that's a ref, so DWIM it */
        err = git_reference_dwim(&merge_ref, repo, opts->heads[0]);
-       check_lg2(err, "failed to DWIM reference", giterr_last()->message);
+       check_lg2(err, "failed to DWIM reference", git_error_last()->message);
 
        /* Grab a signature */
        check_lg2(git_signature_now(&sign, "Me", "me@example.com"), "failed to create signature", NULL);
@@ -274,7 +251,7 @@ static int create_merge_commit(git_repository *repo, git_index *index, merge_opt
        if (err < 0) goto cleanup;
 
        /* Setup our parent commits */
-       err = git_reference_peel((git_object **)&parents[0], head_ref, GIT_OBJ_COMMIT);
+       err = git_reference_peel((git_object **)&parents[0], head_ref, GIT_OBJECT_COMMIT);
        check_lg2(err, "failed to peel head reference", NULL);
        for (i = 0; i < opts->annotated_count; i++) {
                git_commit_lookup(&parents[i + 1], repo, git_annotated_commit_id(opts->annotated[i]));
index 540000bfd47d4bd925fb59c5834da96dfff73cc4..bbcd2e8487950d977e6fa23735550fc6d8be8ce6 100644 (file)
@@ -48,7 +48,7 @@ static void print_progress(const progress_data *pd)
 
 static int sideband_progress(const char *str, int len, void *payload)
 {
-       (void)payload; // unused
+       (void)payload; /* unused */
 
        printf("remote: %.*s", len, str);
        fflush(stdout);
@@ -82,15 +82,15 @@ int do_clone(git_repository *repo, int argc, char **argv)
        const char *path = argv[2];
        int error;
 
-       (void)repo; // unused
+       (void)repo; /* unused */
 
-       // Validate args
+       /* Validate args */
        if (argc < 3) {
                printf ("USAGE: %s <url> <path>\n", argv[0]);
                return -1;
        }
 
-       // Set up options
+       /* Set up options */
        checkout_opts.checkout_strategy = GIT_CHECKOUT_SAFE;
        checkout_opts.progress_cb = checkout_progress;
        checkout_opts.progress_payload = &pd;
@@ -100,11 +100,11 @@ int do_clone(git_repository *repo, int argc, char **argv)
        clone_opts.fetch_opts.callbacks.credentials = cred_acquire_cb;
        clone_opts.fetch_opts.callbacks.payload = &pd;
 
-       // Do the clone
+       /* Do the clone */
        error = git_clone(&cloned_repo, url, path, &clone_opts);
        printf("\n");
        if (error != 0) {
-               const git_error *err = giterr_last();
+               const git_error *err = git_error_last();
                if (err) printf("ERROR %d: %s\n", err->klass, err->message);
                else printf("ERROR %d: no detailed info\n", error);
        }
index 1d3d27b1b2d46cb03ad1b2a6ea3159ec880c9323..d0d0eb61029ca5d69fb218281efb72271a2649bb 100644 (file)
@@ -26,10 +26,10 @@ static int run_command(git_cb fn, git_repository *repo, struct args_info args)
        /* Run the command. If something goes wrong, print the error message to stderr */
        error = fn(repo, args.argc - args.pos, &args.argv[args.pos]);
        if (error < 0) {
-               if (giterr_last() == NULL)
+               if (git_error_last() == NULL)
                        fprintf(stderr, "Error without message");
                else
-                       fprintf(stderr, "Bad news:\n %s\n", giterr_last()->message);
+                       fprintf(stderr, "Bad news:\n %s\n", git_error_last()->message);
        }
 
        return !!error;
index 314f21160919a085f0a01b7d2a28be757b8d2986..128c7ebf5a25d9d761ce8fb461aa85244257668f 100644 (file)
 #endif
 #include "common.h"
 
-// This could be run in the main loop whilst the application waits for
-// the indexing to finish in a worker thread
+/*
+ * This could be run in the main loop whilst the application waits for
+ * the indexing to finish in a worker thread
+ */
 static int index_cb(const git_transfer_progress *stats, void *data)
 {
        (void)data;
@@ -46,7 +48,7 @@ int index_pack(git_repository *repo, int argc, char **argv)
                return EXIT_FAILURE;
        }
 
-       if (git_indexer_new(&idx, ".", 0, NULL, NULL, NULL) < 0) {
+       if (git_indexer_new(&idx, ".", 0, NULL, NULL) < 0) {
                puts("bad idx");
                return -1;
        }
index 9329da5d92f8728c252d097ea7fd6f730f8275ac..fb258acbe6abdb06ce2fbf426d5fec02c1992044 100644 (file)
@@ -12,7 +12,7 @@ static int use_remote(git_repository *repo, char *name)
        size_t refs_len, i;
        git_remote_callbacks callbacks = GIT_REMOTE_CALLBACKS_INIT;
 
-       // Find the remote by name
+       /* Find the remote by name */
        error = git_remote_lookup(&remote, repo, name);
        if (error < 0) {
                error = git_remote_create_anonymous(&remote, repo, name);
index e0d5a140689d8466f65b55d115fff7d3579acb81..1cb61ccd8d15e73496db4ebfd1c04892b9bd9019 100644 (file)
@@ -64,7 +64,7 @@ int main(int argc, char *argv[])
 
        check_lg2(git_repository_open(&repo, buf.ptr),
                "Could not open repository", NULL);
-       git_buf_free(&buf);
+       git_buf_dispose(&buf);
 
        switch (opt.cmd)
        {
index c6a70d90eef0f33ea1abf6a410fcb1655b1fc98e..fa405b8deb6ab353a4ec110032e316b0325f1e9f 100644 (file)
@@ -135,10 +135,10 @@ static int each_tag(const char *name, tag_state *state)
                        "Failed to lookup rev", name);
 
        switch (git_object_type(obj)) {
-               case GIT_OBJ_TAG:
+               case GIT_OBJECT_TAG:
                        print_tag((git_tag *) obj, state);
                        break;
-               case GIT_OBJ_COMMIT:
+               case GIT_OBJECT_COMMIT:
                        print_commit((git_commit *) obj, name, state);
                        break;
                default:
@@ -184,7 +184,7 @@ static void action_delete_tag(tag_state *state)
 
        printf("Deleted tag '%s' (was %s)\n", opts->tag_name, abbrev_oid.ptr);
 
-       git_buf_free(&abbrev_oid);
+       git_buf_dispose(&abbrev_oid);
        git_object_free(obj);
 }
 
diff --git a/fuzzers/CMakeLists.txt b/fuzzers/CMakeLists.txt
new file mode 100644 (file)
index 0000000..ea06123
--- /dev/null
@@ -0,0 +1,18 @@
+LINK_DIRECTORIES(${LIBGIT2_LIBDIRS})
+INCLUDE_DIRECTORIES(${LIBGIT2_INCLUDES})
+
+IF(BUILD_FUZZERS AND NOT USE_STANDALONE_FUZZERS)
+       ADD_C_FLAG(-fsanitize=fuzzer)
+ENDIF ()
+
+FILE(GLOB SRC_FUZZ RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} *_fuzzer.c)
+FOREACH(fuzz_target_src ${SRC_FUZZ})
+       STRING(REPLACE ".c" "" fuzz_target_name ${fuzz_target_src})
+       SET(${fuzz_target_name}_SOURCES ${fuzz_target_src} ${LIBGIT2_OBJECTS})
+       IF(USE_STANDALONE_FUZZERS)
+               LIST(APPEND ${fuzz_target_name}_SOURCES "standalone_driver.c")
+       ENDIF()
+       ADD_EXECUTABLE(${fuzz_target_name} ${${fuzz_target_name}_SOURCES})
+       SET_TARGET_PROPERTIES(${fuzz_target_name} PROPERTIES C_STANDARD 90)
+       TARGET_LINK_LIBRARIES(${fuzz_target_name} ${LIBGIT2_LIBS})
+ENDFOREACH()
diff --git a/fuzzers/config_file_fuzzer.c b/fuzzers/config_file_fuzzer.c
new file mode 100644 (file)
index 0000000..fa52642
--- /dev/null
@@ -0,0 +1,65 @@
+/*
+ * libgit2 config file parser fuzz target.
+ *
+ * Copyright (C) the libgit2 contributors. All rights reserved.
+ *
+ * This file is part of libgit2, distributed under the GNU GPL v2 with
+ * a Linking Exception. For full terms see the included COPYING file.
+ */
+
+#include <git2.h>
+#include "config_backend.h"
+
+#include <stdlib.h>
+#include <stdio.h>
+#include <unistd.h>
+#include <limits.h>
+#include <errno.h>
+
+#define UNUSED(x) (void)(x)
+
+int foreach_cb(const git_config_entry *entry, void *payload)
+{
+       UNUSED(entry);
+       UNUSED(payload);
+
+       return 0;
+}
+
+int LLVMFuzzerInitialize(int *argc, char ***argv)
+{
+       UNUSED(argc);
+       UNUSED(argv);
+
+       if (git_libgit2_init() < 0)
+               abort();
+
+       return 0;
+}
+
+int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
+{
+       git_config *cfg = NULL;
+       git_config_backend *backend = NULL;
+       int err = 0;
+
+       if ((err = git_config_new(&cfg)) != 0) {
+               goto out;
+       }
+
+       if ((err = git_config_backend_from_string(&backend, (const char*)data, size)) != 0) {
+               goto out;
+       }
+       if ((err = git_config_add_backend(cfg, backend, 0, NULL, 0)) != 0) {
+               goto out;
+       }
+       /* Now owned by the config */
+       backend = NULL;
+
+       git_config_foreach(cfg, foreach_cb, NULL);
+ out:
+       git_config_backend_free(backend);
+       git_config_free(cfg);
+
+       return 0;
+}
diff --git a/fuzzers/corpora/config_file/git2.dat b/fuzzers/corpora/config_file/git2.dat
new file mode 100644 (file)
index 0000000..e556154
--- /dev/null
@@ -0,0 +1,11 @@
+[core]
+       repositoryformatversion = 0
+       filemode = true
+       bare = false
+       logallrefupdates = true
+[remote "origin"]
+       url = git@github.com:libgit2/libgit2
+       fetch = +refs/heads/*:refs/remotes/origin/*
+[branch "master"]
+       remote = origin
+       merge = refs/heads/master
diff --git a/fuzzers/corpora/download_refs/clone.dat b/fuzzers/corpora/download_refs/clone.dat
new file mode 100644 (file)
index 0000000..f3e56b0
Binary files /dev/null and b/fuzzers/corpora/download_refs/clone.dat differ
diff --git a/fuzzers/corpora/objects/blob b/fuzzers/corpora/objects/blob
new file mode 100644 (file)
index 0000000..9fe99d8
--- /dev/null
@@ -0,0 +1,359 @@
+libgit2 - the Git linkable library
+==================================
+
+[![Travis Build Status](https://secure.travis-ci.org/libgit2/libgit2.svg?branch=master)](http://travis-ci.org/libgit2/libgit2)
+[![AppVeyor Build Status](https://ci.appveyor.com/api/projects/status/xvof5b4t5480a2q3/branch/master?svg=true)](https://ci.appveyor.com/project/libgit2/libgit2/branch/master)
+[![Coverity Scan Build Status](https://scan.coverity.com/projects/639/badge.svg)](https://scan.coverity.com/projects/639)
+
+`libgit2` is a portable, pure C implementation of the Git core methods
+provided as a linkable library with a solid API, allowing to build Git
+functionality into your application.  Language bindings like
+[Rugged](https://github.com/libgit2/rugged) (Ruby),
+[LibGit2Sharp](https://github.com/libgit2/libgit2sharp) (.NET),
+[pygit2](http://www.pygit2.org/) (Python) and
+[NodeGit](http://nodegit.org) (Node) allow you to build Git tooling
+in your favorite language.
+
+`libgit2` is used to power Git GUI clients like
+[GitKraken](https://gitkraken.com/) and [gmaster](https://gmaster.io/)
+and on Git hosting providers like [GitHub](https://github.com/),
+[GitLab](https://gitlab.com/) and
+[Visual Studio Team Services](https://visualstudio.com/team-services/).
+We perform the merge every time you click "merge pull request".
+
+`libgit2` is licensed under a **very permissive license** (GPLv2 with a special
+Linking Exception).  This basically means that you can link it (unmodified)
+with any kind of software without having to release its source code.
+Additionally, the example code has been released to the public domain (see the
+[separate license](examples/COPYING) for more information).
+
+Quick Start
+===========
+
+**Prerequisites** for building libgit2:
+
+1. [CMake](https://cmake.org/), and is recommended to be installed into
+   your `PATH`.
+2. [Python](https://www.python.org) is used by our test framework, and
+   should be installed into your `PATH`.
+3. C compiler: libgit2 is C90 and should compile on most compilers.
+   * Windows: Visual Studio is recommended
+   * Mac: Xcode is recommended
+   * Unix: gcc or clang is recommended.
+
+**Build**
+
+1. Create a build directory beneath the libgit2 source directory, and change
+   into it: `mkdir build && cd build`
+2. Create the cmake build environment: `cmake ..`
+3. Build libgit2: `cmake --build .`
+
+Trouble with these steps?  Read `TROUBLESHOOTING.md`.  More detailed build
+guidance is available below.
+
+Getting Help
+============
+
+**Join us on Slack**
+
+Visit [slack.libgit2.org](http://slack.libgit2.org/) to sign up, then join
+us in `#libgit2`.  If you prefer IRC, you can also point your client to our
+slack channel once you've registered.
+
+**Getting Help**
+
+If you have questions about the library, please be sure to check out the
+[API documentation](http://libgit2.github.com/libgit2/).  If you still have
+questions, reach out to us on Slack or post a question on 
+[StackOverflow](http://stackoverflow.com/questions/tagged/libgit2) (with the `libgit2` tag).
+
+**Reporting Bugs**
+
+Please open a [GitHub Issue](https://github.com/libgit2/libgit2/issues) and
+include as much information as possible.  If possible, provide sample code
+that illustrates the problem you're seeing.  If you're seeing a bug only
+on a specific repository, please provide a link to it if possible.
+
+We ask that you not open a GitHub Issue for help, only for bug reports.
+
+**Reporting Security Issues**
+
+In case you think to have found a security issue with libgit2, please do not
+open a public issue.  Instead, you can report the issue to the private mailing
+list [security@libgit2.com](mailto:security@libgit2.com).
+
+What It Can Do
+==============
+
+libgit2 provides you with the ability to manage Git repositories in the
+programming language of your choice.  It's used in production to power many
+applications including GitHub.com, Plastic SCM and Visual Studio Team Services.
+
+It does not aim to replace the git tool or its user-facing commands. Some APIs
+resemble the plumbing commands as those align closely with the concepts of the
+Git system, but most commands a user would type are out of scope for this
+library to implement directly.
+
+The library provides:
+
+* SHA conversions, formatting and shortening
+* abstracted ODB backend system
+* commit, tag, tree and blob parsing, editing, and write-back
+* tree traversal
+* revision walking
+* index file (staging area) manipulation
+* reference management (including packed references)
+* config file management
+* high level repository management
+* thread safety and reentrancy
+* descriptive and detailed error messages
+* ...and more (over 175 different API calls)
+
+As libgit2 is purely a consumer of the Git system, we have to
+adjust to changes made upstream. This has two major consequences:
+
+* Some changes may require us to change provided interfaces. While we try to
+  implement functions in a generic way so that no future changes are required,
+  we cannot promise a completely stable API.
+* As we have to keep up with changes in behavior made upstream, we may lag
+  behind in some areas. We usually to document these incompatibilities in our
+  issue tracker with the label "git change".
+
+Optional dependencies
+=====================
+
+While the library provides git functionality without the need for
+dependencies, it can make use of a few libraries to add to it:
+
+- pthreads (non-Windows) to enable threadsafe access as well as multi-threaded pack generation
+- OpenSSL (non-Windows) to talk over HTTPS and provide the SHA-1 functions
+- LibSSH2 to enable the SSH transport
+- iconv (OSX) to handle the HFS+ path encoding peculiarities
+
+Initialization
+===============
+
+The library needs to keep track of some global state. Call
+
+    git_libgit2_init();
+
+before calling any other libgit2 functions. You can call this function many times. A matching number of calls to
+
+    git_libgit2_shutdown();
+
+will free the resources.  Note that if you have worker threads, you should
+call `git_libgit2_shutdown` *after* those threads have exited.  If you
+require assistance coordinating this, simply have the worker threads call
+`git_libgit2_init` at startup and `git_libgit2_shutdown` at shutdown.
+
+Threading
+=========
+
+See [THREADING](THREADING.md) for information
+
+Conventions
+===========
+
+See [CONVENTIONS](CONVENTIONS.md) for an overview of the external
+and internal API/coding conventions we use.
+
+Building libgit2 - Using CMake
+==============================
+
+Building
+--------
+
+`libgit2` builds cleanly on most platforms without any external dependencies.
+Under Unix-like systems, like Linux, \*BSD and Mac OS X, libgit2 expects `pthreads` to be available;
+they should be installed by default on all systems. Under Windows, libgit2 uses the native Windows API
+for threading.
+
+The `libgit2` library is built using [CMake](<https://cmake.org/>) (version 2.8 or newer) on all platforms.
+
+On most systems you can build the library using the following commands
+
+       $ mkdir build && cd build
+       $ cmake ..
+       $ cmake --build .
+
+Alternatively you can point the CMake GUI tool to the CMakeLists.txt file and generate platform specific build project or IDE workspace.
+
+Running Tests
+-------------
+
+Once built, you can run the tests from the `build` directory with the command
+
+       $ ctest -V
+
+Alternatively you can run the test suite directly using,
+
+       $ ./libgit2_clar
+
+Invoking the test suite directly is useful because it allows you to execute
+individual tests, or groups of tests using the `-s` flag.  For example, to
+run the index tests:
+
+    $ ./libgit2_clar -sindex
+
+To run a single test named `index::racy::diff`, which corresponds to the test
+function (`test_index_racy__diff`)[https://github.com/libgit2/libgit2/blob/master/tests/index/racy.c#L23]:
+
+    $ ./libgit2_clar -sindex::racy::diff
+
+The test suite will print a `.` for every passing test, and an `F` for any
+failing test.  An `S` indicates that a test was skipped because it is not
+applicable to your platform or is particularly expensive.
+
+**Note:** There should be _no_ failing tests when you build an unmodified
+source tree from a [release](https://github.com/libgit2/libgit2/releases),
+or from the [master branch](https://github.com/libgit2/libgit2/tree/master).
+Please contact us or [open an issue](https://github.com/libgit2/libgit2/issues)
+if you see test failures.
+
+Installation
+------------
+
+To install the library you can specify the install prefix by setting:
+
+       $ cmake .. -DCMAKE_INSTALL_PREFIX=/install/prefix
+       $ cmake --build . --target install
+
+Advanced Usage
+--------------
+
+For more advanced use or questions about CMake please read <https://cmake.org/Wiki/CMake_FAQ>.
+
+The following CMake variables are declared:
+
+- `BIN_INSTALL_DIR`: Where to install binaries to.
+- `LIB_INSTALL_DIR`: Where to install libraries to.
+- `INCLUDE_INSTALL_DIR`: Where to install headers to.
+- `BUILD_SHARED_LIBS`: Build libgit2 as a Shared Library (defaults to ON)
+- `BUILD_CLAR`: Build [Clar](https://github.com/vmg/clar)-based test suite (defaults to ON)
+- `THREADSAFE`: Build libgit2 with threading support (defaults to ON)
+- `STDCALL`: Build libgit2 as `stdcall`. Turn off for `cdecl` (Windows; defaults to ON)
+
+Compiler and linker options
+---------------------------
+
+CMake lets you specify a few variables to control the behavior of the
+compiler and linker. These flags are rarely used but can be useful for
+64-bit to 32-bit cross-compilation.
+
+- `CMAKE_C_FLAGS`: Set your own compiler flags
+- `CMAKE_FIND_ROOT_PATH`: Override the search path for libraries
+- `ZLIB_LIBRARY`, `OPENSSL_SSL_LIBRARY` AND `OPENSSL_CRYPTO_LIBRARY`:
+Tell CMake where to find those specific libraries
+
+MacOS X
+-------
+
+If you want to build a universal binary for Mac OS X, CMake sets it
+all up for you if you use `-DCMAKE_OSX_ARCHITECTURES="i386;x86_64"`
+when configuring.
+
+Android
+-------
+
+Extract toolchain from NDK using, `make-standalone-toolchain.sh` script.
+Optionally, crosscompile and install OpenSSL inside of it. Then create CMake
+toolchain file that configures paths to your crosscompiler (substitute `{PATH}`
+with full path to the toolchain):
+
+       SET(CMAKE_SYSTEM_NAME Linux)
+       SET(CMAKE_SYSTEM_VERSION Android)
+
+       SET(CMAKE_C_COMPILER   {PATH}/bin/arm-linux-androideabi-gcc)
+       SET(CMAKE_CXX_COMPILER {PATH}/bin/arm-linux-androideabi-g++)
+       SET(CMAKE_FIND_ROOT_PATH {PATH}/sysroot/)
+
+       SET(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
+       SET(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
+       SET(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
+
+Add `-DCMAKE_TOOLCHAIN_FILE={pathToToolchainFile}` to cmake command
+when configuring.
+
+Language Bindings
+==================================
+
+Here are the bindings to libgit2 that are currently available:
+
+* C++
+    * libqgit2, Qt bindings <https://projects.kde.org/projects/playground/libs/libqgit2/repository/>
+* Chicken Scheme
+    * chicken-git <https://wiki.call-cc.org/egg/git>
+* D
+    * dlibgit <https://github.com/s-ludwig/dlibgit>
+* Delphi
+    * GitForDelphi <https://github.com/libgit2/GitForDelphi>
+* Erlang
+    * Geef <https://github.com/carlosmn/geef>
+* Go
+    * git2go <https://github.com/libgit2/git2go>
+* GObject
+    * libgit2-glib <https://wiki.gnome.org/Projects/Libgit2-glib>
+* Guile
+       * Guile-Git <https://gitlab.com/guile-git/guile-git>
+* Haskell
+    * hgit2 <https://github.com/jwiegley/gitlib>
+* Java
+    * Jagged <https://github.com/ethomson/jagged>
+* Julia
+    * LibGit2.jl <https://github.com/jakebolewski/LibGit2.jl>
+* Lua
+    * luagit2 <https://github.com/libgit2/luagit2>
+* .NET
+    * libgit2sharp <https://github.com/libgit2/libgit2sharp>
+* Node.js
+    * nodegit <https://github.com/nodegit/nodegit>
+* Objective-C
+    * objective-git <https://github.com/libgit2/objective-git>
+* OCaml
+    * ocaml-libgit2 <https://github.com/fxfactorial/ocaml-libgit2>
+* Parrot Virtual Machine
+    * parrot-libgit2 <https://github.com/letolabs/parrot-libgit2>
+* Perl
+    * Git-Raw <https://github.com/jacquesg/p5-Git-Raw>
+* PHP
+    * php-git <https://github.com/libgit2/php-git>
+* PowerShell
+    * PSGit <https://github.com/PoshCode/PSGit>
+* Python
+    * pygit2 <https://github.com/libgit2/pygit2>
+* R
+    * git2r <https://github.com/ropensci/git2r>
+* Ruby
+    * Rugged <https://github.com/libgit2/rugged>
+* Rust
+    * git2-rs <https://github.com/alexcrichton/git2-rs>
+* Swift
+    * SwiftGit2 <https://github.com/SwiftGit2/SwiftGit2>
+* Vala
+    * libgit2.vapi <https://github.com/apmasell/vapis/blob/master/libgit2.vapi>
+
+If you start another language binding to libgit2, please let us know so
+we can add it to the list.
+
+How Can I Contribute?
+==================================
+
+We welcome new contributors!  We have a number of issues marked as
+["up for grabs"](https://github.com/libgit2/libgit2/issues?q=is%3Aissue+is%3Aopen+label%3A%22up+for+grabs%22)
+and
+["easy fix"](https://github.com/libgit2/libgit2/issues?utf8=✓&q=is%3Aissue+is%3Aopen+label%3A%22easy+fix%22)
+that are good places to jump in and get started.  There's much more detailed
+information in our list of [outstanding projects](PROJECTS.md).
+
+Please be sure to check the [contribution guidelines](CONTRIBUTING.md) to
+understand our workflow, and the libgit2 [coding conventions](CONVENTIONS.md).
+
+License
+==================================
+
+`libgit2` is under GPL2 **with linking exception**. This means you can link to
+and use the library from any program, proprietary or open source; paid or
+gratis.  However, if you modify libgit2 itself, you must distribute the
+source to your modified version of libgit2.
+
+See the [COPYING file](COPYING) for the full license text.
diff --git a/fuzzers/corpora/objects/commit b/fuzzers/corpora/objects/commit
new file mode 100644 (file)
index 0000000..519495f
--- /dev/null
@@ -0,0 +1,20 @@
+tree 3e7ac388cadae960fe7e22175ce0da878afe9d18
+parent 8b89f362a34fcccdf1c6c5f3445895b71d9c6d56
+parent c590b41fe4057a84a9bd31a5605ceef2c309b0f8
+author Patrick Steinhardt <ps@pks.im> 1538760730 +0200
+committer GitHub <noreply@github.com> 1538760730 +0200
+gpgsig -----BEGIN PGP SIGNATURE-----
+ wsBcBAABCAAQBQJbt6AaCRBK7hj4Ov3rIwAAdHIIAKZGIpS0dAirVRt5NVFj3ZtC
+ o2Q3ADC0XpYLKkEsClhG7pVtr7MRZZ8+qaJpbxn9j9WZZ4UtEeDjseos+pMNn9Mf
+ OQQntNzGAbHSw0apyYT+mTUKaVONPev4fw9Lnc/RJ/iWwHx+4gmgNqLwV3foaCW9
+ w1JzCL+BVJyZI80jrEehihhUnpIUOuMBwGjzSt54Zn5JqviC4cIldF2sXFGQqvsq
+ 3WDNnEUYanU6cLAdb9Pd6bVBI1EJnRLxehSeYiSaRPmLhQyhkH8KZ5lSi8iuH1C4
+ bjA6HaEUwCeq0k9Le6BUu93BExEOFcuu8+zEKCrwCdSwdEQ3Iakv8dh7XlT9iUY=
+ =nGP0
+ -----END PGP SIGNATURE-----
+
+Merge pull request #4834 from pks-t/pks/v0.27.5
+
+Security release v0.27.5
\ No newline at end of file
diff --git a/fuzzers/corpora/objects/tag b/fuzzers/corpora/objects/tag
new file mode 100644 (file)
index 0000000..f5f1c5e
--- /dev/null
@@ -0,0 +1,6 @@
+object a8d447f68076d1520f69649bb52629941be7031f
+type commit
+tag testtag
+tagger Patrick Steinhardt <ps@pks.im> 1539253015 +0200
+
+Tag message
diff --git a/fuzzers/corpora/objects/tree b/fuzzers/corpora/objects/tree
new file mode 100644 (file)
index 0000000..d6639d8
Binary files /dev/null and b/fuzzers/corpora/objects/tree differ
diff --git a/fuzzers/corpora/packfile/004bd06c91c0dc8ab7e963f4b5e87be00292911e b/fuzzers/corpora/packfile/004bd06c91c0dc8ab7e963f4b5e87be00292911e
new file mode 100644 (file)
index 0000000..53c9642
--- /dev/null
@@ -0,0 +1 @@
+ÐPACK
\ No newline at end of file
diff --git a/fuzzers/corpora/packfile/00b67414c7b17916b3bd0a3d02284937fa0c4378 b/fuzzers/corpora/packfile/00b67414c7b17916b3bd0a3d02284937fa0c4378
new file mode 100644 (file)
index 0000000..838a007
Binary files /dev/null and b/fuzzers/corpora/packfile/00b67414c7b17916b3bd0a3d02284937fa0c4378 differ
diff --git a/fuzzers/corpora/packfile/02eaeb43f0ec7dbfd91bd75e7ddcc7fd590dbc77 b/fuzzers/corpora/packfile/02eaeb43f0ec7dbfd91bd75e7ddcc7fd590dbc77
new file mode 100644 (file)
index 0000000..48fe2b3
Binary files /dev/null and b/fuzzers/corpora/packfile/02eaeb43f0ec7dbfd91bd75e7ddcc7fd590dbc77 differ
diff --git a/fuzzers/corpora/packfile/02f4286569be24124d8ab209733b7492f7560310 b/fuzzers/corpora/packfile/02f4286569be24124d8ab209733b7492f7560310
new file mode 100644 (file)
index 0000000..3944cd0
Binary files /dev/null and b/fuzzers/corpora/packfile/02f4286569be24124d8ab209733b7492f7560310 differ
diff --git a/fuzzers/corpora/packfile/037ba5f9d6d695aa4739810f8bea6e795c1d7614 b/fuzzers/corpora/packfile/037ba5f9d6d695aa4739810f8bea6e795c1d7614
new file mode 100644 (file)
index 0000000..f4ea551
Binary files /dev/null and b/fuzzers/corpora/packfile/037ba5f9d6d695aa4739810f8bea6e795c1d7614 differ
diff --git a/fuzzers/corpora/packfile/038e06289ac876f109fc12ca4b8284497ca26821 b/fuzzers/corpora/packfile/038e06289ac876f109fc12ca4b8284497ca26821
new file mode 100644 (file)
index 0000000..24923c4
Binary files /dev/null and b/fuzzers/corpora/packfile/038e06289ac876f109fc12ca4b8284497ca26821 differ
diff --git a/fuzzers/corpora/packfile/042dc4512fa3d391c5170cf3aa61e6a638f84342 b/fuzzers/corpora/packfile/042dc4512fa3d391c5170cf3aa61e6a638f84342
new file mode 100644 (file)
index 0000000..597a6db
--- /dev/null
@@ -0,0 +1 @@
+i
\ No newline at end of file
diff --git a/fuzzers/corpora/packfile/044bf19babf3f9cde07adbfa2a45c7508538cbe8 b/fuzzers/corpora/packfile/044bf19babf3f9cde07adbfa2a45c7508538cbe8
new file mode 100644 (file)
index 0000000..73a4013
Binary files /dev/null and b/fuzzers/corpora/packfile/044bf19babf3f9cde07adbfa2a45c7508538cbe8 differ
diff --git a/fuzzers/corpora/packfile/044e12ea43bee3c4befe27ba4687bee98d505fd7 b/fuzzers/corpora/packfile/044e12ea43bee3c4befe27ba4687bee98d505fd7
new file mode 100644 (file)
index 0000000..1e12966
Binary files /dev/null and b/fuzzers/corpora/packfile/044e12ea43bee3c4befe27ba4687bee98d505fd7 differ
diff --git a/fuzzers/corpora/packfile/061fb208431db793bbd3645b7a16058a1e2a2412 b/fuzzers/corpora/packfile/061fb208431db793bbd3645b7a16058a1e2a2412
new file mode 100644 (file)
index 0000000..12183ab
--- /dev/null
@@ -0,0 +1 @@
\ No newline at end of file
diff --git a/fuzzers/corpora/packfile/06576556d1ad802f247cad11ae748be47b70cd9c b/fuzzers/corpora/packfile/06576556d1ad802f247cad11ae748be47b70cd9c
new file mode 100644 (file)
index 0000000..ac044e5
--- /dev/null
@@ -0,0 +1 @@
+R
\ No newline at end of file
diff --git a/fuzzers/corpora/packfile/06ceea0c98756d302c302410fffe0dc54a055486 b/fuzzers/corpora/packfile/06ceea0c98756d302c302410fffe0dc54a055486
new file mode 100644 (file)
index 0000000..add37f9
Binary files /dev/null and b/fuzzers/corpora/packfile/06ceea0c98756d302c302410fffe0dc54a055486 differ
diff --git a/fuzzers/corpora/packfile/071e65ac0bf08f2424a89a4a499004c1bb9f3f6c b/fuzzers/corpora/packfile/071e65ac0bf08f2424a89a4a499004c1bb9f3f6c
new file mode 100644 (file)
index 0000000..748750c
Binary files /dev/null and b/fuzzers/corpora/packfile/071e65ac0bf08f2424a89a4a499004c1bb9f3f6c differ
diff --git a/fuzzers/corpora/packfile/0739ff2f064568a4d775c8061958e66c419dbea0 b/fuzzers/corpora/packfile/0739ff2f064568a4d775c8061958e66c419dbea0
new file mode 100644 (file)
index 0000000..aed5f16
Binary files /dev/null and b/fuzzers/corpora/packfile/0739ff2f064568a4d775c8061958e66c419dbea0 differ
diff --git a/fuzzers/corpora/packfile/077760469bf8392342d09329c732b98d24be2c30 b/fuzzers/corpora/packfile/077760469bf8392342d09329c732b98d24be2c30
new file mode 100644 (file)
index 0000000..c9553bc
Binary files /dev/null and b/fuzzers/corpora/packfile/077760469bf8392342d09329c732b98d24be2c30 differ
diff --git a/fuzzers/corpora/packfile/08534f33c201a45017b502e90a800f1b708ebcb3 b/fuzzers/corpora/packfile/08534f33c201a45017b502e90a800f1b708ebcb3
new file mode 100644 (file)
index 0000000..b7d5379
--- /dev/null
@@ -0,0 +1 @@
+\
\ No newline at end of file
diff --git a/fuzzers/corpora/packfile/09e9046a7d6125cf2915a326a1504dd75d0543b5 b/fuzzers/corpora/packfile/09e9046a7d6125cf2915a326a1504dd75d0543b5
new file mode 100644 (file)
index 0000000..86d7321
--- /dev/null
@@ -0,0 +1 @@
+\ fÿ
\ No newline at end of file
diff --git a/fuzzers/corpora/packfile/0ade7c2cf97f75d009975f4d720d1fa6c19f4897 b/fuzzers/corpora/packfile/0ade7c2cf97f75d009975f4d720d1fa6c19f4897
new file mode 100644 (file)
index 0000000..f11c82a
--- /dev/null
@@ -0,0 +1 @@
+9
\ No newline at end of file
diff --git a/fuzzers/corpora/packfile/0c316c67c1450aee57ffa3f74c19ea5d32d44622 b/fuzzers/corpora/packfile/0c316c67c1450aee57ffa3f74c19ea5d32d44622
new file mode 100644 (file)
index 0000000..08d7351
Binary files /dev/null and b/fuzzers/corpora/packfile/0c316c67c1450aee57ffa3f74c19ea5d32d44622 differ
diff --git a/fuzzers/corpora/packfile/0c395c44e4dd5b67caae8a98a66741e17e8af136 b/fuzzers/corpora/packfile/0c395c44e4dd5b67caae8a98a66741e17e8af136
new file mode 100644 (file)
index 0000000..e899a79
Binary files /dev/null and b/fuzzers/corpora/packfile/0c395c44e4dd5b67caae8a98a66741e17e8af136 differ
diff --git a/fuzzers/corpora/packfile/0cb9120e5ae00b0d660a111ef85fc9194a5f244a b/fuzzers/corpora/packfile/0cb9120e5ae00b0d660a111ef85fc9194a5f244a
new file mode 100644 (file)
index 0000000..9fb6a66
Binary files /dev/null and b/fuzzers/corpora/packfile/0cb9120e5ae00b0d660a111ef85fc9194a5f244a differ
diff --git a/fuzzers/corpora/packfile/0d44e7156d04cd269fd1219c58c3b79dc8c41d60 b/fuzzers/corpora/packfile/0d44e7156d04cd269fd1219c58c3b79dc8c41d60
new file mode 100644 (file)
index 0000000..cf18be0
Binary files /dev/null and b/fuzzers/corpora/packfile/0d44e7156d04cd269fd1219c58c3b79dc8c41d60 differ
diff --git a/fuzzers/corpora/packfile/0d77a48bea1dde6e5d391a65456dc0aa3d9cc5e3 b/fuzzers/corpora/packfile/0d77a48bea1dde6e5d391a65456dc0aa3d9cc5e3
new file mode 100644 (file)
index 0000000..6d3c9c0
Binary files /dev/null and b/fuzzers/corpora/packfile/0d77a48bea1dde6e5d391a65456dc0aa3d9cc5e3 differ
diff --git a/fuzzers/corpora/packfile/0db25107ff248616cadc75b7819b21d06394cf25 b/fuzzers/corpora/packfile/0db25107ff248616cadc75b7819b21d06394cf25
new file mode 100644 (file)
index 0000000..c158d57
Binary files /dev/null and b/fuzzers/corpora/packfile/0db25107ff248616cadc75b7819b21d06394cf25 differ
diff --git a/fuzzers/corpora/packfile/0debae2db7ef2933f386bac21a2d3bebb473070e b/fuzzers/corpora/packfile/0debae2db7ef2933f386bac21a2d3bebb473070e
new file mode 100644 (file)
index 0000000..1f9443f
Binary files /dev/null and b/fuzzers/corpora/packfile/0debae2db7ef2933f386bac21a2d3bebb473070e differ
diff --git a/fuzzers/corpora/packfile/0e2d48524de33394ca82ea3a43f5f04aac6e86c7 b/fuzzers/corpora/packfile/0e2d48524de33394ca82ea3a43f5f04aac6e86c7
new file mode 100644 (file)
index 0000000..1fd3289
Binary files /dev/null and b/fuzzers/corpora/packfile/0e2d48524de33394ca82ea3a43f5f04aac6e86c7 differ
diff --git a/fuzzers/corpora/packfile/0e49f6aa78f3b2f6c3fa5d281d5b1052fa9951dc b/fuzzers/corpora/packfile/0e49f6aa78f3b2f6c3fa5d281d5b1052fa9951dc
new file mode 100644 (file)
index 0000000..286d703
Binary files /dev/null and b/fuzzers/corpora/packfile/0e49f6aa78f3b2f6c3fa5d281d5b1052fa9951dc differ
diff --git a/fuzzers/corpora/packfile/0f2982027f0b3b05250267b19e3969f8797e389e b/fuzzers/corpora/packfile/0f2982027f0b3b05250267b19e3969f8797e389e
new file mode 100644 (file)
index 0000000..57505d2
--- /dev/null
@@ -0,0 +1 @@
+ÐPACK\ 5ïïð\8e
\ No newline at end of file
diff --git a/fuzzers/corpora/packfile/11f6ad8ec52a2984abaafd7c3b516503785c2072 b/fuzzers/corpora/packfile/11f6ad8ec52a2984abaafd7c3b516503785c2072
new file mode 100644 (file)
index 0000000..c1b0730
--- /dev/null
@@ -0,0 +1 @@
+x
\ No newline at end of file
diff --git a/fuzzers/corpora/packfile/123ca693d81a8cfd99760ff5ca9e152ded878537 b/fuzzers/corpora/packfile/123ca693d81a8cfd99760ff5ca9e152ded878537
new file mode 100644 (file)
index 0000000..e680914
Binary files /dev/null and b/fuzzers/corpora/packfile/123ca693d81a8cfd99760ff5ca9e152ded878537 differ
diff --git a/fuzzers/corpora/packfile/12878ca5643ab15a4a847e74ddd84fb365736af2 b/fuzzers/corpora/packfile/12878ca5643ab15a4a847e74ddd84fb365736af2
new file mode 100644 (file)
index 0000000..6029463
Binary files /dev/null and b/fuzzers/corpora/packfile/12878ca5643ab15a4a847e74ddd84fb365736af2 differ
diff --git a/fuzzers/corpora/packfile/13f292a24a9e79ae911f5d5e1ef7db0112601e64 b/fuzzers/corpora/packfile/13f292a24a9e79ae911f5d5e1ef7db0112601e64
new file mode 100644 (file)
index 0000000..36b85ed
Binary files /dev/null and b/fuzzers/corpora/packfile/13f292a24a9e79ae911f5d5e1ef7db0112601e64 differ
diff --git a/fuzzers/corpora/packfile/13facd9b4b5b4509fee92c7ccc1c82ed90624172 b/fuzzers/corpora/packfile/13facd9b4b5b4509fee92c7ccc1c82ed90624172
new file mode 100644 (file)
index 0000000..82f4fa0
Binary files /dev/null and b/fuzzers/corpora/packfile/13facd9b4b5b4509fee92c7ccc1c82ed90624172 differ
diff --git a/fuzzers/corpora/packfile/140092a21903fdc56c98de126725fa6bead98ab1 b/fuzzers/corpora/packfile/140092a21903fdc56c98de126725fa6bead98ab1
new file mode 100644 (file)
index 0000000..11006ca
Binary files /dev/null and b/fuzzers/corpora/packfile/140092a21903fdc56c98de126725fa6bead98ab1 differ
diff --git a/fuzzers/corpora/packfile/1489f923c4dca729178b3e3233458550d8dddf29 b/fuzzers/corpora/packfile/1489f923c4dca729178b3e3233458550d8dddf29
new file mode 100644 (file)
index 0000000..09f370e
Binary files /dev/null and b/fuzzers/corpora/packfile/1489f923c4dca729178b3e3233458550d8dddf29 differ
diff --git a/fuzzers/corpora/packfile/1501a58834f24f95442f190653a50dd67d01e19d b/fuzzers/corpora/packfile/1501a58834f24f95442f190653a50dd67d01e19d
new file mode 100644 (file)
index 0000000..3bbe254
Binary files /dev/null and b/fuzzers/corpora/packfile/1501a58834f24f95442f190653a50dd67d01e19d differ
diff --git a/fuzzers/corpora/packfile/15eddee57cafb11e927810d62230a6e104de1d5c b/fuzzers/corpora/packfile/15eddee57cafb11e927810d62230a6e104de1d5c
new file mode 100644 (file)
index 0000000..4c563e6
Binary files /dev/null and b/fuzzers/corpora/packfile/15eddee57cafb11e927810d62230a6e104de1d5c differ
diff --git a/fuzzers/corpora/packfile/1632aa4b049f1118306485b11c70c499a0200dd5 b/fuzzers/corpora/packfile/1632aa4b049f1118306485b11c70c499a0200dd5
new file mode 100644 (file)
index 0000000..677f3ab
Binary files /dev/null and b/fuzzers/corpora/packfile/1632aa4b049f1118306485b11c70c499a0200dd5 differ
diff --git a/fuzzers/corpora/packfile/18e1cf33b179a5cbaaf0baac8279ec4ed1cbdcf3 b/fuzzers/corpora/packfile/18e1cf33b179a5cbaaf0baac8279ec4ed1cbdcf3
new file mode 100644 (file)
index 0000000..8445262
Binary files /dev/null and b/fuzzers/corpora/packfile/18e1cf33b179a5cbaaf0baac8279ec4ed1cbdcf3 differ
diff --git a/fuzzers/corpora/packfile/18e768865207e0b90047487b66532b20bc74b1a2 b/fuzzers/corpora/packfile/18e768865207e0b90047487b66532b20bc74b1a2
new file mode 100644 (file)
index 0000000..2069d5b
Binary files /dev/null and b/fuzzers/corpora/packfile/18e768865207e0b90047487b66532b20bc74b1a2 differ
diff --git a/fuzzers/corpora/packfile/1940c66b45a3bd5c847330b207fd87aee6e96194 b/fuzzers/corpora/packfile/1940c66b45a3bd5c847330b207fd87aee6e96194
new file mode 100644 (file)
index 0000000..5b8513e
Binary files /dev/null and b/fuzzers/corpora/packfile/1940c66b45a3bd5c847330b207fd87aee6e96194 differ
diff --git a/fuzzers/corpora/packfile/1966ab31dc80ab75196b0cbf28e3960a0eb3f6c5 b/fuzzers/corpora/packfile/1966ab31dc80ab75196b0cbf28e3960a0eb3f6c5
new file mode 100644 (file)
index 0000000..572d311
Binary files /dev/null and b/fuzzers/corpora/packfile/1966ab31dc80ab75196b0cbf28e3960a0eb3f6c5 differ
diff --git a/fuzzers/corpora/packfile/19da91f2603889267dfd77786e07a5b8f067d62a b/fuzzers/corpora/packfile/19da91f2603889267dfd77786e07a5b8f067d62a
new file mode 100644 (file)
index 0000000..8b43ca9
--- /dev/null
@@ -0,0 +1 @@
\ No newline at end of file
diff --git a/fuzzers/corpora/packfile/1a72795a3dffdfc999b030d9aab7237dea1e2bc1 b/fuzzers/corpora/packfile/1a72795a3dffdfc999b030d9aab7237dea1e2bc1
new file mode 100644 (file)
index 0000000..5a8a38b
Binary files /dev/null and b/fuzzers/corpora/packfile/1a72795a3dffdfc999b030d9aab7237dea1e2bc1 differ
diff --git a/fuzzers/corpora/packfile/1e29cf67a66f225b338610fbcdf1b8185a8f5b7d b/fuzzers/corpora/packfile/1e29cf67a66f225b338610fbcdf1b8185a8f5b7d
new file mode 100644 (file)
index 0000000..52219de
Binary files /dev/null and b/fuzzers/corpora/packfile/1e29cf67a66f225b338610fbcdf1b8185a8f5b7d differ
diff --git a/fuzzers/corpora/packfile/1eb8977ef8c3be9ee896d785663c762c7e32be28 b/fuzzers/corpora/packfile/1eb8977ef8c3be9ee896d785663c762c7e32be28
new file mode 100644 (file)
index 0000000..d924eb7
Binary files /dev/null and b/fuzzers/corpora/packfile/1eb8977ef8c3be9ee896d785663c762c7e32be28 differ
diff --git a/fuzzers/corpora/packfile/1f0837530c1c3d122157f2eaa9c2178dcc3580df b/fuzzers/corpora/packfile/1f0837530c1c3d122157f2eaa9c2178dcc3580df
new file mode 100644 (file)
index 0000000..26b0c60
Binary files /dev/null and b/fuzzers/corpora/packfile/1f0837530c1c3d122157f2eaa9c2178dcc3580df differ
diff --git a/fuzzers/corpora/packfile/1f3c5fd6dc091faa397bce776aa97b457388fdae b/fuzzers/corpora/packfile/1f3c5fd6dc091faa397bce776aa97b457388fdae
new file mode 100644 (file)
index 0000000..5b5232d
Binary files /dev/null and b/fuzzers/corpora/packfile/1f3c5fd6dc091faa397bce776aa97b457388fdae differ
diff --git a/fuzzers/corpora/packfile/20528983163f834108150a7191600ff94ae2c1d2 b/fuzzers/corpora/packfile/20528983163f834108150a7191600ff94ae2c1d2
new file mode 100644 (file)
index 0000000..05189f0
Binary files /dev/null and b/fuzzers/corpora/packfile/20528983163f834108150a7191600ff94ae2c1d2 differ
diff --git a/fuzzers/corpora/packfile/20a725140a8ffbe11bb71c1b83f19452147e5180 b/fuzzers/corpora/packfile/20a725140a8ffbe11bb71c1b83f19452147e5180
new file mode 100644 (file)
index 0000000..f0337fa
Binary files /dev/null and b/fuzzers/corpora/packfile/20a725140a8ffbe11bb71c1b83f19452147e5180 differ
diff --git a/fuzzers/corpora/packfile/2149aa9e07dda9bbf502e088d8d0a38e8fb94f2e b/fuzzers/corpora/packfile/2149aa9e07dda9bbf502e088d8d0a38e8fb94f2e
new file mode 100644 (file)
index 0000000..e7754ca
--- /dev/null
@@ -0,0 +1 @@
\ No newline at end of file
diff --git a/fuzzers/corpora/packfile/21b664aa8c86aaee4007d9bdbc2d63bf82bd5109 b/fuzzers/corpora/packfile/21b664aa8c86aaee4007d9bdbc2d63bf82bd5109
new file mode 100644 (file)
index 0000000..44c6604
Binary files /dev/null and b/fuzzers/corpora/packfile/21b664aa8c86aaee4007d9bdbc2d63bf82bd5109 differ
diff --git a/fuzzers/corpora/packfile/21b9ec8a7d7ac4d542c9bf7b2e26581cfcfaaab6 b/fuzzers/corpora/packfile/21b9ec8a7d7ac4d542c9bf7b2e26581cfcfaaab6
new file mode 100644 (file)
index 0000000..c2f5439
Binary files /dev/null and b/fuzzers/corpora/packfile/21b9ec8a7d7ac4d542c9bf7b2e26581cfcfaaab6 differ
diff --git a/fuzzers/corpora/packfile/21c07e2affed6b0134d5dc28ea6c4937e691c761 b/fuzzers/corpora/packfile/21c07e2affed6b0134d5dc28ea6c4937e691c761
new file mode 100644 (file)
index 0000000..ee9fc89
Binary files /dev/null and b/fuzzers/corpora/packfile/21c07e2affed6b0134d5dc28ea6c4937e691c761 differ
diff --git a/fuzzers/corpora/packfile/23841d4076641ebcb4f58d1fd03047528c9d359b b/fuzzers/corpora/packfile/23841d4076641ebcb4f58d1fd03047528c9d359b
new file mode 100644 (file)
index 0000000..76b0b49
Binary files /dev/null and b/fuzzers/corpora/packfile/23841d4076641ebcb4f58d1fd03047528c9d359b differ
diff --git a/fuzzers/corpora/packfile/23b9174c42560de6525b1f103125f599479f95cb b/fuzzers/corpora/packfile/23b9174c42560de6525b1f103125f599479f95cb
new file mode 100644 (file)
index 0000000..4bef2f6
Binary files /dev/null and b/fuzzers/corpora/packfile/23b9174c42560de6525b1f103125f599479f95cb differ
diff --git a/fuzzers/corpora/packfile/241cbd6dfb6e53c43c73b62f9384359091dcbf56 b/fuzzers/corpora/packfile/241cbd6dfb6e53c43c73b62f9384359091dcbf56
new file mode 100644 (file)
index 0000000..bd0fd35
--- /dev/null
@@ -0,0 +1 @@
\ No newline at end of file
diff --git a/fuzzers/corpora/packfile/245a2ddea41e6531944933c4420b8c9790ac351b b/fuzzers/corpora/packfile/245a2ddea41e6531944933c4420b8c9790ac351b
new file mode 100644 (file)
index 0000000..99cbc9b
Binary files /dev/null and b/fuzzers/corpora/packfile/245a2ddea41e6531944933c4420b8c9790ac351b differ
diff --git a/fuzzers/corpora/packfile/2541e340271ea496a392870bcc20d3510287b9e9 b/fuzzers/corpora/packfile/2541e340271ea496a392870bcc20d3510287b9e9
new file mode 100644 (file)
index 0000000..ff63b2a
Binary files /dev/null and b/fuzzers/corpora/packfile/2541e340271ea496a392870bcc20d3510287b9e9 differ
diff --git a/fuzzers/corpora/packfile/276af22d5bf94344737fb1a5eb5de7d335004493 b/fuzzers/corpora/packfile/276af22d5bf94344737fb1a5eb5de7d335004493
new file mode 100644 (file)
index 0000000..fd2b077
Binary files /dev/null and b/fuzzers/corpora/packfile/276af22d5bf94344737fb1a5eb5de7d335004493 differ
diff --git a/fuzzers/corpora/packfile/27d5482eebd075de44389774fce28c69f45c8a75 b/fuzzers/corpora/packfile/27d5482eebd075de44389774fce28c69f45c8a75
new file mode 100644 (file)
index 0000000..be54354
--- /dev/null
@@ -0,0 +1 @@
+h
\ No newline at end of file
diff --git a/fuzzers/corpora/packfile/28334bd612cb539de776370995f60c8032215434 b/fuzzers/corpora/packfile/28334bd612cb539de776370995f60c8032215434
new file mode 100644 (file)
index 0000000..6d67b28
Binary files /dev/null and b/fuzzers/corpora/packfile/28334bd612cb539de776370995f60c8032215434 differ
diff --git a/fuzzers/corpora/packfile/2973e2ac092cba077d7350bfffe1cf2e0644a6e1 b/fuzzers/corpora/packfile/2973e2ac092cba077d7350bfffe1cf2e0644a6e1
new file mode 100644 (file)
index 0000000..1066746
Binary files /dev/null and b/fuzzers/corpora/packfile/2973e2ac092cba077d7350bfffe1cf2e0644a6e1 differ
diff --git a/fuzzers/corpora/packfile/2adcd01e876b12d867c858ffaec38c42c59c36c7 b/fuzzers/corpora/packfile/2adcd01e876b12d867c858ffaec38c42c59c36c7
new file mode 100644 (file)
index 0000000..4323d10
Binary files /dev/null and b/fuzzers/corpora/packfile/2adcd01e876b12d867c858ffaec38c42c59c36c7 differ
diff --git a/fuzzers/corpora/packfile/2b28470644f5d0323643da99c831d82f20a7a74f b/fuzzers/corpora/packfile/2b28470644f5d0323643da99c831d82f20a7a74f
new file mode 100644 (file)
index 0000000..a65ff49
Binary files /dev/null and b/fuzzers/corpora/packfile/2b28470644f5d0323643da99c831d82f20a7a74f differ
diff --git a/fuzzers/corpora/packfile/2b86229020ba808df84e16f800dc152254f18f64 b/fuzzers/corpora/packfile/2b86229020ba808df84e16f800dc152254f18f64
new file mode 100644 (file)
index 0000000..bd650d2
Binary files /dev/null and b/fuzzers/corpora/packfile/2b86229020ba808df84e16f800dc152254f18f64 differ
diff --git a/fuzzers/corpora/packfile/2cc5bf2f780cd85ad93d232890f418625f4d1274 b/fuzzers/corpora/packfile/2cc5bf2f780cd85ad93d232890f418625f4d1274
new file mode 100644 (file)
index 0000000..f45a38c
--- /dev/null
@@ -0,0 +1 @@
+Pw
\ No newline at end of file
diff --git a/fuzzers/corpora/packfile/2d6ae8fa82b656879dd3371d0a6899e88ef34e76 b/fuzzers/corpora/packfile/2d6ae8fa82b656879dd3371d0a6899e88ef34e76
new file mode 100644 (file)
index 0000000..cd62a7b
Binary files /dev/null and b/fuzzers/corpora/packfile/2d6ae8fa82b656879dd3371d0a6899e88ef34e76 differ
diff --git a/fuzzers/corpora/packfile/2e74d24e887678f0681d4c7c010477b8b9697f1a b/fuzzers/corpora/packfile/2e74d24e887678f0681d4c7c010477b8b9697f1a
new file mode 100644 (file)
index 0000000..ae9780b
--- /dev/null
@@ -0,0 +1 @@
+\88
\ No newline at end of file
diff --git a/fuzzers/corpora/packfile/2f436c68a7b0be43aa6d4ad5126ec9401a9f9211 b/fuzzers/corpora/packfile/2f436c68a7b0be43aa6d4ad5126ec9401a9f9211
new file mode 100644 (file)
index 0000000..4841ef5
Binary files /dev/null and b/fuzzers/corpora/packfile/2f436c68a7b0be43aa6d4ad5126ec9401a9f9211 differ
diff --git a/fuzzers/corpora/packfile/2fec48b0dcb45b98597bfec12bf0dc650543b3e3 b/fuzzers/corpora/packfile/2fec48b0dcb45b98597bfec12bf0dc650543b3e3
new file mode 100644 (file)
index 0000000..0ded0e3
Binary files /dev/null and b/fuzzers/corpora/packfile/2fec48b0dcb45b98597bfec12bf0dc650543b3e3 differ
diff --git a/fuzzers/corpora/packfile/31bd25636a9807d6024e78b9b3d02fbb1a02835e b/fuzzers/corpora/packfile/31bd25636a9807d6024e78b9b3d02fbb1a02835e
new file mode 100644 (file)
index 0000000..15d1751
--- /dev/null
@@ -0,0 +1 @@
+ÿÿÿ@
\ No newline at end of file
diff --git a/fuzzers/corpora/packfile/323c88be36ecc20ff30b21cf417106554042db04 b/fuzzers/corpora/packfile/323c88be36ecc20ff30b21cf417106554042db04
new file mode 100644 (file)
index 0000000..0e5c2cb
Binary files /dev/null and b/fuzzers/corpora/packfile/323c88be36ecc20ff30b21cf417106554042db04 differ
diff --git a/fuzzers/corpora/packfile/33b3aa957ca4fb31873033a7f460617f1fe81e32 b/fuzzers/corpora/packfile/33b3aa957ca4fb31873033a7f460617f1fe81e32
new file mode 100644 (file)
index 0000000..cea3b12
Binary files /dev/null and b/fuzzers/corpora/packfile/33b3aa957ca4fb31873033a7f460617f1fe81e32 differ
diff --git a/fuzzers/corpora/packfile/34303d14e37c9ddfb0bad130e006fec927e13785 b/fuzzers/corpora/packfile/34303d14e37c9ddfb0bad130e006fec927e13785
new file mode 100644 (file)
index 0000000..1adb6b1
Binary files /dev/null and b/fuzzers/corpora/packfile/34303d14e37c9ddfb0bad130e006fec927e13785 differ
diff --git a/fuzzers/corpora/packfile/34dac9466a4a2c15aaeef13a9567f6827ace7748 b/fuzzers/corpora/packfile/34dac9466a4a2c15aaeef13a9567f6827ace7748
new file mode 100644 (file)
index 0000000..2b0708e
Binary files /dev/null and b/fuzzers/corpora/packfile/34dac9466a4a2c15aaeef13a9567f6827ace7748 differ
diff --git a/fuzzers/corpora/packfile/356a192b7913b04c54574d18c28d46e6395428ab b/fuzzers/corpora/packfile/356a192b7913b04c54574d18c28d46e6395428ab
new file mode 100644 (file)
index 0000000..56a6051
--- /dev/null
@@ -0,0 +1 @@
+1
\ No newline at end of file
diff --git a/fuzzers/corpora/packfile/35bf585248be2c6d3940e15b85f72c4146903097 b/fuzzers/corpora/packfile/35bf585248be2c6d3940e15b85f72c4146903097
new file mode 100644 (file)
index 0000000..f17d4fa
Binary files /dev/null and b/fuzzers/corpora/packfile/35bf585248be2c6d3940e15b85f72c4146903097 differ
diff --git a/fuzzers/corpora/packfile/3725a1c4431714019827277deac8ec2efeed8f1d b/fuzzers/corpora/packfile/3725a1c4431714019827277deac8ec2efeed8f1d
new file mode 100644 (file)
index 0000000..f58c271
Binary files /dev/null and b/fuzzers/corpora/packfile/3725a1c4431714019827277deac8ec2efeed8f1d differ
diff --git a/fuzzers/corpora/packfile/37a2b7de1fadc9eab2d5fabf5dfe7007c245dbee b/fuzzers/corpora/packfile/37a2b7de1fadc9eab2d5fabf5dfe7007c245dbee
new file mode 100644 (file)
index 0000000..0c71198
Binary files /dev/null and b/fuzzers/corpora/packfile/37a2b7de1fadc9eab2d5fabf5dfe7007c245dbee differ
diff --git a/fuzzers/corpora/packfile/37ab8a0ca81fc62279057401761f7730a5a8f1b2 b/fuzzers/corpora/packfile/37ab8a0ca81fc62279057401761f7730a5a8f1b2
new file mode 100644 (file)
index 0000000..d9b74cf
Binary files /dev/null and b/fuzzers/corpora/packfile/37ab8a0ca81fc62279057401761f7730a5a8f1b2 differ
diff --git a/fuzzers/corpora/packfile/38011be20a664dcd2594e712a26c063c2d50efcd b/fuzzers/corpora/packfile/38011be20a664dcd2594e712a26c063c2d50efcd
new file mode 100644 (file)
index 0000000..bd80616
Binary files /dev/null and b/fuzzers/corpora/packfile/38011be20a664dcd2594e712a26c063c2d50efcd differ
diff --git a/fuzzers/corpora/packfile/3838851a5da8239c2ae6cbbe869c81446c720e87 b/fuzzers/corpora/packfile/3838851a5da8239c2ae6cbbe869c81446c720e87
new file mode 100644 (file)
index 0000000..d1282b9
Binary files /dev/null and b/fuzzers/corpora/packfile/3838851a5da8239c2ae6cbbe869c81446c720e87 differ
diff --git a/fuzzers/corpora/packfile/3921322ac01429b001f88d64c8319088fe49218e b/fuzzers/corpora/packfile/3921322ac01429b001f88d64c8319088fe49218e
new file mode 100644 (file)
index 0000000..6ed50eb
Binary files /dev/null and b/fuzzers/corpora/packfile/3921322ac01429b001f88d64c8319088fe49218e differ
diff --git a/fuzzers/corpora/packfile/395df8f7c51f007019cb30201c49e884b46b92fa b/fuzzers/corpora/packfile/395df8f7c51f007019cb30201c49e884b46b92fa
new file mode 100644 (file)
index 0000000..fa7af8b
--- /dev/null
@@ -0,0 +1 @@
+z
\ No newline at end of file
diff --git a/fuzzers/corpora/packfile/3e98eb4fd65d3f2c41fa979db0f5678b310e51fe b/fuzzers/corpora/packfile/3e98eb4fd65d3f2c41fa979db0f5678b310e51fe
new file mode 100644 (file)
index 0000000..8f1d1f5
Binary files /dev/null and b/fuzzers/corpora/packfile/3e98eb4fd65d3f2c41fa979db0f5678b310e51fe differ
diff --git a/fuzzers/corpora/packfile/3f9ec359d0cb573cb6d2b2df64c9f4048ea298b8 b/fuzzers/corpora/packfile/3f9ec359d0cb573cb6d2b2df64c9f4048ea298b8
new file mode 100644 (file)
index 0000000..3c1f737
Binary files /dev/null and b/fuzzers/corpora/packfile/3f9ec359d0cb573cb6d2b2df64c9f4048ea298b8 differ
diff --git a/fuzzers/corpora/packfile/4067250457728bf775aa310ef253b223ae2fe4dc b/fuzzers/corpora/packfile/4067250457728bf775aa310ef253b223ae2fe4dc
new file mode 100644 (file)
index 0000000..1e9a88b
Binary files /dev/null and b/fuzzers/corpora/packfile/4067250457728bf775aa310ef253b223ae2fe4dc differ
diff --git a/fuzzers/corpora/packfile/40818db87e110b29cb864f73265586cc054f5bbb b/fuzzers/corpora/packfile/40818db87e110b29cb864f73265586cc054f5bbb
new file mode 100644 (file)
index 0000000..e5e52b2
Binary files /dev/null and b/fuzzers/corpora/packfile/40818db87e110b29cb864f73265586cc054f5bbb differ
diff --git a/fuzzers/corpora/packfile/418f9fb9ce1d4efdf481ca8fff9dadd09caee9fc b/fuzzers/corpora/packfile/418f9fb9ce1d4efdf481ca8fff9dadd09caee9fc
new file mode 100644 (file)
index 0000000..93eb935
Binary files /dev/null and b/fuzzers/corpora/packfile/418f9fb9ce1d4efdf481ca8fff9dadd09caee9fc differ
diff --git a/fuzzers/corpora/packfile/41ca0ae865b686089b8d99e9d661da291ce51019 b/fuzzers/corpora/packfile/41ca0ae865b686089b8d99e9d661da291ce51019
new file mode 100644 (file)
index 0000000..e6f394f
Binary files /dev/null and b/fuzzers/corpora/packfile/41ca0ae865b686089b8d99e9d661da291ce51019 differ
diff --git a/fuzzers/corpora/packfile/42099b4af021e53fd8fd4e056c2568d7c2e3ffa8 b/fuzzers/corpora/packfile/42099b4af021e53fd8fd4e056c2568d7c2e3ffa8
new file mode 100644 (file)
index 0000000..35ec3b9
--- /dev/null
@@ -0,0 +1 @@
+/
\ No newline at end of file
diff --git a/fuzzers/corpora/packfile/420ce645ce1c93cee59a06da2159cbbb251e4c01 b/fuzzers/corpora/packfile/420ce645ce1c93cee59a06da2159cbbb251e4c01
new file mode 100644 (file)
index 0000000..5e6efc2
Binary files /dev/null and b/fuzzers/corpora/packfile/420ce645ce1c93cee59a06da2159cbbb251e4c01 differ
diff --git a/fuzzers/corpora/packfile/4345cb1fa27885a8fbfe7c0c830a592cc76a552b b/fuzzers/corpora/packfile/4345cb1fa27885a8fbfe7c0c830a592cc76a552b
new file mode 100644 (file)
index 0000000..02691e3
--- /dev/null
@@ -0,0 +1 @@
+%
\ No newline at end of file
diff --git a/fuzzers/corpora/packfile/450718a71a93a1b5ff982595432400b0fa876fb6 b/fuzzers/corpora/packfile/450718a71a93a1b5ff982595432400b0fa876fb6
new file mode 100644 (file)
index 0000000..977e595
Binary files /dev/null and b/fuzzers/corpora/packfile/450718a71a93a1b5ff982595432400b0fa876fb6 differ
diff --git a/fuzzers/corpora/packfile/453a312eb77b9d4198ac62faef10ecf3e283120c b/fuzzers/corpora/packfile/453a312eb77b9d4198ac62faef10ecf3e283120c
new file mode 100644 (file)
index 0000000..b25fe53
Binary files /dev/null and b/fuzzers/corpora/packfile/453a312eb77b9d4198ac62faef10ecf3e283120c differ
diff --git a/fuzzers/corpora/packfile/45470317334b614ce4d119c05ed2d6250dbc6061 b/fuzzers/corpora/packfile/45470317334b614ce4d119c05ed2d6250dbc6061
new file mode 100644 (file)
index 0000000..4b9a0a9
Binary files /dev/null and b/fuzzers/corpora/packfile/45470317334b614ce4d119c05ed2d6250dbc6061 differ
diff --git a/fuzzers/corpora/packfile/45a65193e30784b0124f4fed659eb7e46552c2d0 b/fuzzers/corpora/packfile/45a65193e30784b0124f4fed659eb7e46552c2d0
new file mode 100644 (file)
index 0000000..5bd7dea
--- /dev/null
@@ -0,0 +1 @@
\ No newline at end of file
diff --git a/fuzzers/corpora/packfile/45cff3494791ded181e1e3dab1c7a0e40130b57b b/fuzzers/corpora/packfile/45cff3494791ded181e1e3dab1c7a0e40130b57b
new file mode 100644 (file)
index 0000000..a92e1a5
Binary files /dev/null and b/fuzzers/corpora/packfile/45cff3494791ded181e1e3dab1c7a0e40130b57b differ
diff --git a/fuzzers/corpora/packfile/481dedc2855981510024d48828af0fe35a1503dd b/fuzzers/corpora/packfile/481dedc2855981510024d48828af0fe35a1503dd
new file mode 100644 (file)
index 0000000..3d95cc3
Binary files /dev/null and b/fuzzers/corpora/packfile/481dedc2855981510024d48828af0fe35a1503dd differ
diff --git a/fuzzers/corpora/packfile/49a6448a722742b1b392f0471542ee0c572c5a9a b/fuzzers/corpora/packfile/49a6448a722742b1b392f0471542ee0c572c5a9a
new file mode 100644 (file)
index 0000000..c767ee5
Binary files /dev/null and b/fuzzers/corpora/packfile/49a6448a722742b1b392f0471542ee0c572c5a9a differ
diff --git a/fuzzers/corpora/packfile/4a6e6af93dea13a5720be52b95f2948e0cab4602 b/fuzzers/corpora/packfile/4a6e6af93dea13a5720be52b95f2948e0cab4602
new file mode 100644 (file)
index 0000000..013d77b
Binary files /dev/null and b/fuzzers/corpora/packfile/4a6e6af93dea13a5720be52b95f2948e0cab4602 differ
diff --git a/fuzzers/corpora/packfile/4ac25548f35e06eb9f91b0f15b89db3cb5bcb283 b/fuzzers/corpora/packfile/4ac25548f35e06eb9f91b0f15b89db3cb5bcb283
new file mode 100644 (file)
index 0000000..2ee6580
Binary files /dev/null and b/fuzzers/corpora/packfile/4ac25548f35e06eb9f91b0f15b89db3cb5bcb283 differ
diff --git a/fuzzers/corpora/packfile/4b586169f192749a0aa023ad6e4edd2e15d67f53 b/fuzzers/corpora/packfile/4b586169f192749a0aa023ad6e4edd2e15d67f53
new file mode 100644 (file)
index 0000000..d517c58
Binary files /dev/null and b/fuzzers/corpora/packfile/4b586169f192749a0aa023ad6e4edd2e15d67f53 differ
diff --git a/fuzzers/corpora/packfile/4c3c8ec0e25da9342dc87c2e78d3040c381514ce b/fuzzers/corpora/packfile/4c3c8ec0e25da9342dc87c2e78d3040c381514ce
new file mode 100644 (file)
index 0000000..c6a1059
Binary files /dev/null and b/fuzzers/corpora/packfile/4c3c8ec0e25da9342dc87c2e78d3040c381514ce differ
diff --git a/fuzzers/corpora/packfile/4d5189cd1411daaa579df34591c6a5946204c9a0 b/fuzzers/corpora/packfile/4d5189cd1411daaa579df34591c6a5946204c9a0
new file mode 100644 (file)
index 0000000..ac19046
Binary files /dev/null and b/fuzzers/corpora/packfile/4d5189cd1411daaa579df34591c6a5946204c9a0 differ
diff --git a/fuzzers/corpora/packfile/4d7f1bfa928c0d3399598d562e346c6e23de6a03 b/fuzzers/corpora/packfile/4d7f1bfa928c0d3399598d562e346c6e23de6a03
new file mode 100644 (file)
index 0000000..712cf00
Binary files /dev/null and b/fuzzers/corpora/packfile/4d7f1bfa928c0d3399598d562e346c6e23de6a03 differ
diff --git a/fuzzers/corpora/packfile/4eee38183d6fce3f42224738be58d0e3975300f4 b/fuzzers/corpora/packfile/4eee38183d6fce3f42224738be58d0e3975300f4
new file mode 100644 (file)
index 0000000..4434b93
Binary files /dev/null and b/fuzzers/corpora/packfile/4eee38183d6fce3f42224738be58d0e3975300f4 differ
diff --git a/fuzzers/corpora/packfile/4f2e2af611d6567abcf5b6bfc579487ac417a8d4 b/fuzzers/corpora/packfile/4f2e2af611d6567abcf5b6bfc579487ac417a8d4
new file mode 100644 (file)
index 0000000..d16ad16
Binary files /dev/null and b/fuzzers/corpora/packfile/4f2e2af611d6567abcf5b6bfc579487ac417a8d4 differ
diff --git a/fuzzers/corpora/packfile/4fa04b2c3ac839c36c4a3b51bf882eb99b7cd097 b/fuzzers/corpora/packfile/4fa04b2c3ac839c36c4a3b51bf882eb99b7cd097
new file mode 100644 (file)
index 0000000..0102fe3
Binary files /dev/null and b/fuzzers/corpora/packfile/4fa04b2c3ac839c36c4a3b51bf882eb99b7cd097 differ
diff --git a/fuzzers/corpora/packfile/4fbe10aede9fd9ce2030c6e567a9281e1a5338f4 b/fuzzers/corpora/packfile/4fbe10aede9fd9ce2030c6e567a9281e1a5338f4
new file mode 100644 (file)
index 0000000..83ca019
Binary files /dev/null and b/fuzzers/corpora/packfile/4fbe10aede9fd9ce2030c6e567a9281e1a5338f4 differ
diff --git a/fuzzers/corpora/packfile/5037f4f74273aed9a09122af5f4acc10f42c033a b/fuzzers/corpora/packfile/5037f4f74273aed9a09122af5f4acc10f42c033a
new file mode 100644 (file)
index 0000000..cc94079
Binary files /dev/null and b/fuzzers/corpora/packfile/5037f4f74273aed9a09122af5f4acc10f42c033a differ
diff --git a/fuzzers/corpora/packfile/511993d3c99719e38a6779073019dacd7178ddb9 b/fuzzers/corpora/packfile/511993d3c99719e38a6779073019dacd7178ddb9
new file mode 100644 (file)
index 0000000..675f43a
--- /dev/null
@@ -0,0 +1 @@
+P
\ No newline at end of file
diff --git a/fuzzers/corpora/packfile/520aa436eab6343c3729f51f0f8048e6b87f6aeb b/fuzzers/corpora/packfile/520aa436eab6343c3729f51f0f8048e6b87f6aeb
new file mode 100644 (file)
index 0000000..b5ec5af
--- /dev/null
@@ -0,0 +1 @@
+ÏÏ
\ No newline at end of file
diff --git a/fuzzers/corpora/packfile/521e228f3b62dca81d87d2e7d5476657d7b5e0a9 b/fuzzers/corpora/packfile/521e228f3b62dca81d87d2e7d5476657d7b5e0a9
new file mode 100644 (file)
index 0000000..c0ea9e9
Binary files /dev/null and b/fuzzers/corpora/packfile/521e228f3b62dca81d87d2e7d5476657d7b5e0a9 differ
diff --git a/fuzzers/corpora/packfile/52e37dfd77d56769dc8a96388aa26695a8108dac b/fuzzers/corpora/packfile/52e37dfd77d56769dc8a96388aa26695a8108dac
new file mode 100644 (file)
index 0000000..57d12a9
Binary files /dev/null and b/fuzzers/corpora/packfile/52e37dfd77d56769dc8a96388aa26695a8108dac differ
diff --git a/fuzzers/corpora/packfile/5374fb6be0a406cf8d0e95771ecb032254d21305 b/fuzzers/corpora/packfile/5374fb6be0a406cf8d0e95771ecb032254d21305
new file mode 100644 (file)
index 0000000..42b16b0
Binary files /dev/null and b/fuzzers/corpora/packfile/5374fb6be0a406cf8d0e95771ecb032254d21305 differ
diff --git a/fuzzers/corpora/packfile/53e1d4898c15c8ee3ef5e2fb279d151108725731 b/fuzzers/corpora/packfile/53e1d4898c15c8ee3ef5e2fb279d151108725731
new file mode 100644 (file)
index 0000000..516958e
Binary files /dev/null and b/fuzzers/corpora/packfile/53e1d4898c15c8ee3ef5e2fb279d151108725731 differ
diff --git a/fuzzers/corpora/packfile/53e61ad37ca92b7f6c0396e5fab1ed8743e73da0 b/fuzzers/corpora/packfile/53e61ad37ca92b7f6c0396e5fab1ed8743e73da0
new file mode 100644 (file)
index 0000000..ded2968
Binary files /dev/null and b/fuzzers/corpora/packfile/53e61ad37ca92b7f6c0396e5fab1ed8743e73da0 differ
diff --git a/fuzzers/corpora/packfile/55df2a59ed6a888ee2f0cdfdcc8582696702de7a b/fuzzers/corpora/packfile/55df2a59ed6a888ee2f0cdfdcc8582696702de7a
new file mode 100644 (file)
index 0000000..a4a063a
--- /dev/null
@@ -0,0 +1 @@
\ No newline at end of file
diff --git a/fuzzers/corpora/packfile/56a2020f68c5eb72786ea168cc2a7e8ea34ad9c2 b/fuzzers/corpora/packfile/56a2020f68c5eb72786ea168cc2a7e8ea34ad9c2
new file mode 100644 (file)
index 0000000..be0ff0d
Binary files /dev/null and b/fuzzers/corpora/packfile/56a2020f68c5eb72786ea168cc2a7e8ea34ad9c2 differ
diff --git a/fuzzers/corpora/packfile/578678e78b72f8bcb9f414e4129ae5d85a4af914 b/fuzzers/corpora/packfile/578678e78b72f8bcb9f414e4129ae5d85a4af914
new file mode 100644 (file)
index 0000000..7482954
Binary files /dev/null and b/fuzzers/corpora/packfile/578678e78b72f8bcb9f414e4129ae5d85a4af914 differ
diff --git a/fuzzers/corpora/packfile/5a8bc5597fd0b2b44194ffabce46e2fa94c1ffd7 b/fuzzers/corpora/packfile/5a8bc5597fd0b2b44194ffabce46e2fa94c1ffd7
new file mode 100644 (file)
index 0000000..4c88499
Binary files /dev/null and b/fuzzers/corpora/packfile/5a8bc5597fd0b2b44194ffabce46e2fa94c1ffd7 differ
diff --git a/fuzzers/corpora/packfile/5bab61eb53176449e25c2c82f172b82cb13ffb9d b/fuzzers/corpora/packfile/5bab61eb53176449e25c2c82f172b82cb13ffb9d
new file mode 100644 (file)
index 0000000..0d758c9
--- /dev/null
@@ -0,0 +1 @@
+?
\ No newline at end of file
diff --git a/fuzzers/corpora/packfile/5c2dd944dde9e08881bef0894fe7b22a5c9c4b06 b/fuzzers/corpora/packfile/5c2dd944dde9e08881bef0894fe7b22a5c9c4b06
new file mode 100644 (file)
index 0000000..0fe2fa5
--- /dev/null
@@ -0,0 +1 @@
+j
\ No newline at end of file
diff --git a/fuzzers/corpora/packfile/5cb4674f4468d39f061d1df3c95b9c2dca529c54 b/fuzzers/corpora/packfile/5cb4674f4468d39f061d1df3c95b9c2dca529c54
new file mode 100644 (file)
index 0000000..9b54d9f
Binary files /dev/null and b/fuzzers/corpora/packfile/5cb4674f4468d39f061d1df3c95b9c2dca529c54 differ
diff --git a/fuzzers/corpora/packfile/60b6fbfe65dc1796a09a734e054223aba8c90260 b/fuzzers/corpora/packfile/60b6fbfe65dc1796a09a734e054223aba8c90260
new file mode 100644 (file)
index 0000000..a7df9a6
Binary files /dev/null and b/fuzzers/corpora/packfile/60b6fbfe65dc1796a09a734e054223aba8c90260 differ
diff --git a/fuzzers/corpora/packfile/611f5b9368427ef823f7ed89ad23667b02a06435 b/fuzzers/corpora/packfile/611f5b9368427ef823f7ed89ad23667b02a06435
new file mode 100644 (file)
index 0000000..56ee380
Binary files /dev/null and b/fuzzers/corpora/packfile/611f5b9368427ef823f7ed89ad23667b02a06435 differ
diff --git a/fuzzers/corpora/packfile/6214b4afdbfe63400ce428d47a58a2e29f682738 b/fuzzers/corpora/packfile/6214b4afdbfe63400ce428d47a58a2e29f682738
new file mode 100644 (file)
index 0000000..09e3c40
Binary files /dev/null and b/fuzzers/corpora/packfile/6214b4afdbfe63400ce428d47a58a2e29f682738 differ
diff --git a/fuzzers/corpora/packfile/634b675b80d51b52c3c6fbc73181ed47f61749ba b/fuzzers/corpora/packfile/634b675b80d51b52c3c6fbc73181ed47f61749ba
new file mode 100644 (file)
index 0000000..9afac4f
Binary files /dev/null and b/fuzzers/corpora/packfile/634b675b80d51b52c3c6fbc73181ed47f61749ba differ
diff --git a/fuzzers/corpora/packfile/6431f1b31dc492fad89732b7d3e511fa7361985d b/fuzzers/corpora/packfile/6431f1b31dc492fad89732b7d3e511fa7361985d
new file mode 100644 (file)
index 0000000..b68409e
Binary files /dev/null and b/fuzzers/corpora/packfile/6431f1b31dc492fad89732b7d3e511fa7361985d differ
diff --git a/fuzzers/corpora/packfile/6442fd4bbb7656f142c92050da17b0e81e79fad1 b/fuzzers/corpora/packfile/6442fd4bbb7656f142c92050da17b0e81e79fad1
new file mode 100644 (file)
index 0000000..2ca2d96
Binary files /dev/null and b/fuzzers/corpora/packfile/6442fd4bbb7656f142c92050da17b0e81e79fad1 differ
diff --git a/fuzzers/corpora/packfile/6486c8cf6bcc2fca60502564924f6b266399df3d b/fuzzers/corpora/packfile/6486c8cf6bcc2fca60502564924f6b266399df3d
new file mode 100644 (file)
index 0000000..a80e209
Binary files /dev/null and b/fuzzers/corpora/packfile/6486c8cf6bcc2fca60502564924f6b266399df3d differ
diff --git a/fuzzers/corpora/packfile/651c573b6fdd393e97536a47f8b9e65226e29c33 b/fuzzers/corpora/packfile/651c573b6fdd393e97536a47f8b9e65226e29c33
new file mode 100644 (file)
index 0000000..ec11120
Binary files /dev/null and b/fuzzers/corpora/packfile/651c573b6fdd393e97536a47f8b9e65226e29c33 differ
diff --git a/fuzzers/corpora/packfile/657fc646e93cb999417f43f0ec77fbad694e3e18 b/fuzzers/corpora/packfile/657fc646e93cb999417f43f0ec77fbad694e3e18
new file mode 100644 (file)
index 0000000..acb56a8
Binary files /dev/null and b/fuzzers/corpora/packfile/657fc646e93cb999417f43f0ec77fbad694e3e18 differ
diff --git a/fuzzers/corpora/packfile/65cc90263dec0020ceabc727d33aa587e57fc175 b/fuzzers/corpora/packfile/65cc90263dec0020ceabc727d33aa587e57fc175
new file mode 100644 (file)
index 0000000..d14a6c3
--- /dev/null
@@ -0,0 +1 @@
+ÿ÷
\ No newline at end of file
diff --git a/fuzzers/corpora/packfile/688934845f22049cb14668832efa33d45013b6b9 b/fuzzers/corpora/packfile/688934845f22049cb14668832efa33d45013b6b9
new file mode 100644 (file)
index 0000000..15294a5
Binary files /dev/null and b/fuzzers/corpora/packfile/688934845f22049cb14668832efa33d45013b6b9 differ
diff --git a/fuzzers/corpora/packfile/6b0d31c0d563223024da45691584643ac78c96e8 b/fuzzers/corpora/packfile/6b0d31c0d563223024da45691584643ac78c96e8
new file mode 100644 (file)
index 0000000..08b9811
--- /dev/null
@@ -0,0 +1 @@
+m
\ No newline at end of file
diff --git a/fuzzers/corpora/packfile/6b4dc6028a3a684a20dbc427b15a37ea2fd12dd1 b/fuzzers/corpora/packfile/6b4dc6028a3a684a20dbc427b15a37ea2fd12dd1
new file mode 100644 (file)
index 0000000..d76aa6f
Binary files /dev/null and b/fuzzers/corpora/packfile/6b4dc6028a3a684a20dbc427b15a37ea2fd12dd1 differ
diff --git a/fuzzers/corpora/packfile/6b7486fc2a47a40eb5a85a5edf53af60d48be7d5 b/fuzzers/corpora/packfile/6b7486fc2a47a40eb5a85a5edf53af60d48be7d5
new file mode 100644 (file)
index 0000000..d1e0eed
Binary files /dev/null and b/fuzzers/corpora/packfile/6b7486fc2a47a40eb5a85a5edf53af60d48be7d5 differ
diff --git a/fuzzers/corpora/packfile/6bace82ea640ac0a78963c79483faf0faa7fd168 b/fuzzers/corpora/packfile/6bace82ea640ac0a78963c79483faf0faa7fd168
new file mode 100644 (file)
index 0000000..8c53a7f
--- /dev/null
@@ -0,0 +1 @@
\ No newline at end of file
diff --git a/fuzzers/corpora/packfile/6ca38da5f096a5847776e4d50cb63121341fd67c b/fuzzers/corpora/packfile/6ca38da5f096a5847776e4d50cb63121341fd67c
new file mode 100644 (file)
index 0000000..628bda0
Binary files /dev/null and b/fuzzers/corpora/packfile/6ca38da5f096a5847776e4d50cb63121341fd67c differ
diff --git a/fuzzers/corpora/packfile/6d344a65b9edced36045f94215b6810799789334 b/fuzzers/corpora/packfile/6d344a65b9edced36045f94215b6810799789334
new file mode 100644 (file)
index 0000000..1c79442
Binary files /dev/null and b/fuzzers/corpora/packfile/6d344a65b9edced36045f94215b6810799789334 differ
diff --git a/fuzzers/corpora/packfile/6dd655e8ef0573eb1c41151af924974aa1e9c454 b/fuzzers/corpora/packfile/6dd655e8ef0573eb1c41151af924974aa1e9c454
new file mode 100644 (file)
index 0000000..5304756
Binary files /dev/null and b/fuzzers/corpora/packfile/6dd655e8ef0573eb1c41151af924974aa1e9c454 differ
diff --git a/fuzzers/corpora/packfile/6e118259c2940fafba0a9ceeef6308e12e881ae1 b/fuzzers/corpora/packfile/6e118259c2940fafba0a9ceeef6308e12e881ae1
new file mode 100644 (file)
index 0000000..23597c3
Binary files /dev/null and b/fuzzers/corpora/packfile/6e118259c2940fafba0a9ceeef6308e12e881ae1 differ
diff --git a/fuzzers/corpora/packfile/6e4b5ef83333606a16a63b579f221f6ffb7b48ee b/fuzzers/corpora/packfile/6e4b5ef83333606a16a63b579f221f6ffb7b48ee
new file mode 100644 (file)
index 0000000..6d72c9a
--- /dev/null
@@ -0,0 +1 @@
\e
\ No newline at end of file
diff --git a/fuzzers/corpora/packfile/6f47ff60d54c012103a0c28851ffa9eab3002511 b/fuzzers/corpora/packfile/6f47ff60d54c012103a0c28851ffa9eab3002511
new file mode 100644 (file)
index 0000000..a7efd53
Binary files /dev/null and b/fuzzers/corpora/packfile/6f47ff60d54c012103a0c28851ffa9eab3002511 differ
diff --git a/fuzzers/corpora/packfile/701a765befff451207517d56c3fe8609d059867d b/fuzzers/corpora/packfile/701a765befff451207517d56c3fe8609d059867d
new file mode 100644 (file)
index 0000000..ee936e3
Binary files /dev/null and b/fuzzers/corpora/packfile/701a765befff451207517d56c3fe8609d059867d differ
diff --git a/fuzzers/corpora/packfile/7050f56d64b28499c89d5430761f18a8a2a933d4 b/fuzzers/corpora/packfile/7050f56d64b28499c89d5430761f18a8a2a933d4
new file mode 100644 (file)
index 0000000..a3df396
Binary files /dev/null and b/fuzzers/corpora/packfile/7050f56d64b28499c89d5430761f18a8a2a933d4 differ
diff --git a/fuzzers/corpora/packfile/724fa0194f615e1a0f08184a9f1520123f8e2833 b/fuzzers/corpora/packfile/724fa0194f615e1a0f08184a9f1520123f8e2833
new file mode 100644 (file)
index 0000000..dd6df78
Binary files /dev/null and b/fuzzers/corpora/packfile/724fa0194f615e1a0f08184a9f1520123f8e2833 differ
diff --git a/fuzzers/corpora/packfile/72c52d0d98717e21dfee45418a046a19198b5d5d b/fuzzers/corpora/packfile/72c52d0d98717e21dfee45418a046a19198b5d5d
new file mode 100644 (file)
index 0000000..922e306
Binary files /dev/null and b/fuzzers/corpora/packfile/72c52d0d98717e21dfee45418a046a19198b5d5d differ
diff --git a/fuzzers/corpora/packfile/72cec0949c5743ee1df67b41ece5d6806f9bede6 b/fuzzers/corpora/packfile/72cec0949c5743ee1df67b41ece5d6806f9bede6
new file mode 100644 (file)
index 0000000..366439d
Binary files /dev/null and b/fuzzers/corpora/packfile/72cec0949c5743ee1df67b41ece5d6806f9bede6 differ
diff --git a/fuzzers/corpora/packfile/72e6bfb7b881befc0b461334411d70ae227a426a b/fuzzers/corpora/packfile/72e6bfb7b881befc0b461334411d70ae227a426a
new file mode 100644 (file)
index 0000000..c7986f6
Binary files /dev/null and b/fuzzers/corpora/packfile/72e6bfb7b881befc0b461334411d70ae227a426a differ
diff --git a/fuzzers/corpora/packfile/73b74736664ad85828ce1be2e29fb4a68d24402b b/fuzzers/corpora/packfile/73b74736664ad85828ce1be2e29fb4a68d24402b
new file mode 100644 (file)
index 0000000..009080e
--- /dev/null
@@ -0,0 +1 @@
\ No newline at end of file
diff --git a/fuzzers/corpora/packfile/745bedb79413d20844a8b0e96fbec51b4989c65d b/fuzzers/corpora/packfile/745bedb79413d20844a8b0e96fbec51b4989c65d
new file mode 100644 (file)
index 0000000..0022a3e
--- /dev/null
@@ -0,0 +1 @@
\ No newline at end of file
diff --git a/fuzzers/corpora/packfile/748142c17e56d0f0ad9e4d6525b39294d81261d6 b/fuzzers/corpora/packfile/748142c17e56d0f0ad9e4d6525b39294d81261d6
new file mode 100644 (file)
index 0000000..7ac1cad
Binary files /dev/null and b/fuzzers/corpora/packfile/748142c17e56d0f0ad9e4d6525b39294d81261d6 differ
diff --git a/fuzzers/corpora/packfile/74dfea2e26741a8778fb942d1d60a84d0759d7a0 b/fuzzers/corpora/packfile/74dfea2e26741a8778fb942d1d60a84d0759d7a0
new file mode 100644 (file)
index 0000000..fe307f6
--- /dev/null
@@ -0,0 +1 @@
+\98o
\ No newline at end of file
diff --git a/fuzzers/corpora/packfile/767b2efbb7502a2f652a448b471693d32c128677 b/fuzzers/corpora/packfile/767b2efbb7502a2f652a448b471693d32c128677
new file mode 100644 (file)
index 0000000..90a8f3a
Binary files /dev/null and b/fuzzers/corpora/packfile/767b2efbb7502a2f652a448b471693d32c128677 differ
diff --git a/fuzzers/corpora/packfile/78abe558c4277852128d4b91282edcb68f86bdea b/fuzzers/corpora/packfile/78abe558c4277852128d4b91282edcb68f86bdea
new file mode 100644 (file)
index 0000000..30644d1
Binary files /dev/null and b/fuzzers/corpora/packfile/78abe558c4277852128d4b91282edcb68f86bdea differ
diff --git a/fuzzers/corpora/packfile/7960246c2db6d39e68dfe93ded358a3acba8f896 b/fuzzers/corpora/packfile/7960246c2db6d39e68dfe93ded358a3acba8f896
new file mode 100644 (file)
index 0000000..4d3703a
Binary files /dev/null and b/fuzzers/corpora/packfile/7960246c2db6d39e68dfe93ded358a3acba8f896 differ
diff --git a/fuzzers/corpora/packfile/7a4ff814176b55af008ad9580201d5e659242f05 b/fuzzers/corpora/packfile/7a4ff814176b55af008ad9580201d5e659242f05
new file mode 100644 (file)
index 0000000..029e4fc
Binary files /dev/null and b/fuzzers/corpora/packfile/7a4ff814176b55af008ad9580201d5e659242f05 differ
diff --git a/fuzzers/corpora/packfile/7a752694fce29ded083fbabbc9ff95f5b92a3d9c b/fuzzers/corpora/packfile/7a752694fce29ded083fbabbc9ff95f5b92a3d9c
new file mode 100644 (file)
index 0000000..82b5593
Binary files /dev/null and b/fuzzers/corpora/packfile/7a752694fce29ded083fbabbc9ff95f5b92a3d9c differ
diff --git a/fuzzers/corpora/packfile/7a81af3e591ac713f81ea1efe93dcf36157d8376 b/fuzzers/corpora/packfile/7a81af3e591ac713f81ea1efe93dcf36157d8376
new file mode 100644 (file)
index 0000000..883ad6e
--- /dev/null
@@ -0,0 +1 @@
+o
\ No newline at end of file
diff --git a/fuzzers/corpora/packfile/7c957a1fd650f9ae0eadc112837ea451a692affc b/fuzzers/corpora/packfile/7c957a1fd650f9ae0eadc112837ea451a692affc
new file mode 100644 (file)
index 0000000..251bc95
Binary files /dev/null and b/fuzzers/corpora/packfile/7c957a1fd650f9ae0eadc112837ea451a692affc differ
diff --git a/fuzzers/corpora/packfile/7cda4ab6a0daf50f675d5225cbc166c86a8ef95f b/fuzzers/corpora/packfile/7cda4ab6a0daf50f675d5225cbc166c86a8ef95f
new file mode 100644 (file)
index 0000000..9e58e19
Binary files /dev/null and b/fuzzers/corpora/packfile/7cda4ab6a0daf50f675d5225cbc166c86a8ef95f differ
diff --git a/fuzzers/corpora/packfile/7cf184f4c67ad58283ecb19349720b0cae756829 b/fuzzers/corpora/packfile/7cf184f4c67ad58283ecb19349720b0cae756829
new file mode 100644 (file)
index 0000000..8ac2eb5
--- /dev/null
@@ -0,0 +1 @@
+H
\ No newline at end of file
diff --git a/fuzzers/corpora/packfile/7df1ea8d86d601c3bd39977ea85e5f74c9db6acb b/fuzzers/corpora/packfile/7df1ea8d86d601c3bd39977ea85e5f74c9db6acb
new file mode 100644 (file)
index 0000000..0865a4a
Binary files /dev/null and b/fuzzers/corpora/packfile/7df1ea8d86d601c3bd39977ea85e5f74c9db6acb differ
diff --git a/fuzzers/corpora/packfile/820ec3e39089d863641a1be6942445db3ff34270 b/fuzzers/corpora/packfile/820ec3e39089d863641a1be6942445db3ff34270
new file mode 100644 (file)
index 0000000..a7a949a
Binary files /dev/null and b/fuzzers/corpora/packfile/820ec3e39089d863641a1be6942445db3ff34270 differ
diff --git a/fuzzers/corpora/packfile/827704fd978bd02a46268b7396b202a52ad261ed b/fuzzers/corpora/packfile/827704fd978bd02a46268b7396b202a52ad261ed
new file mode 100644 (file)
index 0000000..855e5fc
Binary files /dev/null and b/fuzzers/corpora/packfile/827704fd978bd02a46268b7396b202a52ad261ed differ
diff --git a/fuzzers/corpora/packfile/828acfc1d49a0fdbcd9f238138ff65582c2a9fc8 b/fuzzers/corpora/packfile/828acfc1d49a0fdbcd9f238138ff65582c2a9fc8
new file mode 100644 (file)
index 0000000..cf479ad
Binary files /dev/null and b/fuzzers/corpora/packfile/828acfc1d49a0fdbcd9f238138ff65582c2a9fc8 differ
diff --git a/fuzzers/corpora/packfile/8306a2f04a47fe4c95098675ffa25c074ecd89de b/fuzzers/corpora/packfile/8306a2f04a47fe4c95098675ffa25c074ecd89de
new file mode 100644 (file)
index 0000000..44cda73
Binary files /dev/null and b/fuzzers/corpora/packfile/8306a2f04a47fe4c95098675ffa25c074ecd89de differ
diff --git a/fuzzers/corpora/packfile/8327db1c6a884d8b3e3cefd94cec9eb94bffae0a b/fuzzers/corpora/packfile/8327db1c6a884d8b3e3cefd94cec9eb94bffae0a
new file mode 100644 (file)
index 0000000..315e1e6
Binary files /dev/null and b/fuzzers/corpora/packfile/8327db1c6a884d8b3e3cefd94cec9eb94bffae0a differ
diff --git a/fuzzers/corpora/packfile/847f4e42f8f2730a48d19951d8829621b2e70082 b/fuzzers/corpora/packfile/847f4e42f8f2730a48d19951d8829621b2e70082
new file mode 100644 (file)
index 0000000..22952d5
Binary files /dev/null and b/fuzzers/corpora/packfile/847f4e42f8f2730a48d19951d8829621b2e70082 differ
diff --git a/fuzzers/corpora/packfile/84a516841ba77a5b4648de2cd0dfcb30ea46dbb4 b/fuzzers/corpora/packfile/84a516841ba77a5b4648de2cd0dfcb30ea46dbb4
new file mode 100644 (file)
index 0000000..3410062
--- /dev/null
@@ -0,0 +1 @@
+c
\ No newline at end of file
diff --git a/fuzzers/corpora/packfile/8552526f5aba95119c0b95b61cd40386e7a3738b b/fuzzers/corpora/packfile/8552526f5aba95119c0b95b61cd40386e7a3738b
new file mode 100644 (file)
index 0000000..6a29f0f
Binary files /dev/null and b/fuzzers/corpora/packfile/8552526f5aba95119c0b95b61cd40386e7a3738b differ
diff --git a/fuzzers/corpora/packfile/8565db62ac64209ff009ac40e7c2d2ac4ae944eb b/fuzzers/corpora/packfile/8565db62ac64209ff009ac40e7c2d2ac4ae944eb
new file mode 100644 (file)
index 0000000..066b1da
Binary files /dev/null and b/fuzzers/corpora/packfile/8565db62ac64209ff009ac40e7c2d2ac4ae944eb differ
diff --git a/fuzzers/corpora/packfile/859b3346967c5c3c136459e565b402f9a936aa0d b/fuzzers/corpora/packfile/859b3346967c5c3c136459e565b402f9a936aa0d
new file mode 100644 (file)
index 0000000..9c10c98
Binary files /dev/null and b/fuzzers/corpora/packfile/859b3346967c5c3c136459e565b402f9a936aa0d differ
diff --git a/fuzzers/corpora/packfile/86a69caf3c5866d78d80da087b1b843cfea5e907 b/fuzzers/corpora/packfile/86a69caf3c5866d78d80da087b1b843cfea5e907
new file mode 100644 (file)
index 0000000..b122e37
Binary files /dev/null and b/fuzzers/corpora/packfile/86a69caf3c5866d78d80da087b1b843cfea5e907 differ
diff --git a/fuzzers/corpora/packfile/86e1fb54a04fc18ee482b794ba3b2b306f6515d4 b/fuzzers/corpora/packfile/86e1fb54a04fc18ee482b794ba3b2b306f6515d4
new file mode 100644 (file)
index 0000000..7d31055
Binary files /dev/null and b/fuzzers/corpora/packfile/86e1fb54a04fc18ee482b794ba3b2b306f6515d4 differ
diff --git a/fuzzers/corpora/packfile/86f217ee467d31ad9ad2a8c502b91279cd7f1c40 b/fuzzers/corpora/packfile/86f217ee467d31ad9ad2a8c502b91279cd7f1c40
new file mode 100644 (file)
index 0000000..9951e26
Binary files /dev/null and b/fuzzers/corpora/packfile/86f217ee467d31ad9ad2a8c502b91279cd7f1c40 differ
diff --git a/fuzzers/corpora/packfile/8768a53e1d4c182907306300f9ca90cfd8018383 b/fuzzers/corpora/packfile/8768a53e1d4c182907306300f9ca90cfd8018383
new file mode 100644 (file)
index 0000000..3ea63c2
--- /dev/null
@@ -0,0 +1 @@
+\85
\ No newline at end of file
diff --git a/fuzzers/corpora/packfile/8834a7aac170c494f45aa4da71b9605a52d82435 b/fuzzers/corpora/packfile/8834a7aac170c494f45aa4da71b9605a52d82435
new file mode 100644 (file)
index 0000000..40d2f60
Binary files /dev/null and b/fuzzers/corpora/packfile/8834a7aac170c494f45aa4da71b9605a52d82435 differ
diff --git a/fuzzers/corpora/packfile/883f023f38a031d8a8e8ce2cba6614b9bff5d41f b/fuzzers/corpora/packfile/883f023f38a031d8a8e8ce2cba6614b9bff5d41f
new file mode 100644 (file)
index 0000000..30928b6
Binary files /dev/null and b/fuzzers/corpora/packfile/883f023f38a031d8a8e8ce2cba6614b9bff5d41f differ
diff --git a/fuzzers/corpora/packfile/88738071086eb04e47b77d1ca28b35ddbfaa0968 b/fuzzers/corpora/packfile/88738071086eb04e47b77d1ca28b35ddbfaa0968
new file mode 100644 (file)
index 0000000..7c1f28e
Binary files /dev/null and b/fuzzers/corpora/packfile/88738071086eb04e47b77d1ca28b35ddbfaa0968 differ
diff --git a/fuzzers/corpora/packfile/892aef744c87c6ee4ba3dd457c7ca02ba3d359bd b/fuzzers/corpora/packfile/892aef744c87c6ee4ba3dd457c7ca02ba3d359bd
new file mode 100644 (file)
index 0000000..16e6f0a
Binary files /dev/null and b/fuzzers/corpora/packfile/892aef744c87c6ee4ba3dd457c7ca02ba3d359bd differ
diff --git a/fuzzers/corpora/packfile/8afb5c282d23c4055500f88a10b26383c682c900 b/fuzzers/corpora/packfile/8afb5c282d23c4055500f88a10b26383c682c900
new file mode 100644 (file)
index 0000000..cf91507
Binary files /dev/null and b/fuzzers/corpora/packfile/8afb5c282d23c4055500f88a10b26383c682c900 differ
diff --git a/fuzzers/corpora/packfile/8b3dfce4cd7b8942eedb52af0e9ca4caa5c6de61 b/fuzzers/corpora/packfile/8b3dfce4cd7b8942eedb52af0e9ca4caa5c6de61
new file mode 100644 (file)
index 0000000..4c8cc0c
Binary files /dev/null and b/fuzzers/corpora/packfile/8b3dfce4cd7b8942eedb52af0e9ca4caa5c6de61 differ
diff --git a/fuzzers/corpora/packfile/8c2cccf751bb5844bea8dc63c22e3f8e4489411e b/fuzzers/corpora/packfile/8c2cccf751bb5844bea8dc63c22e3f8e4489411e
new file mode 100644 (file)
index 0000000..70e2d30
Binary files /dev/null and b/fuzzers/corpora/packfile/8c2cccf751bb5844bea8dc63c22e3f8e4489411e differ
diff --git a/fuzzers/corpora/packfile/8e30894298502ba4d43af98f1ec3088f9b8f29d5 b/fuzzers/corpora/packfile/8e30894298502ba4d43af98f1ec3088f9b8f29d5
new file mode 100644 (file)
index 0000000..c4df802
Binary files /dev/null and b/fuzzers/corpora/packfile/8e30894298502ba4d43af98f1ec3088f9b8f29d5 differ
diff --git a/fuzzers/corpora/packfile/8eb4d738f7170d2e0594b779f782eb3171c9d421 b/fuzzers/corpora/packfile/8eb4d738f7170d2e0594b779f782eb3171c9d421
new file mode 100644 (file)
index 0000000..410a7d6
Binary files /dev/null and b/fuzzers/corpora/packfile/8eb4d738f7170d2e0594b779f782eb3171c9d421 differ
diff --git a/fuzzers/corpora/packfile/8f46a043da3aa5d466ade170e62b0b9f362b4c5b b/fuzzers/corpora/packfile/8f46a043da3aa5d466ade170e62b0b9f362b4c5b
new file mode 100644 (file)
index 0000000..172736f
Binary files /dev/null and b/fuzzers/corpora/packfile/8f46a043da3aa5d466ade170e62b0b9f362b4c5b differ
diff --git a/fuzzers/corpora/packfile/9295f39686016bf3abb1d6e9924d6725c1263920 b/fuzzers/corpora/packfile/9295f39686016bf3abb1d6e9924d6725c1263920
new file mode 100644 (file)
index 0000000..04be533
Binary files /dev/null and b/fuzzers/corpora/packfile/9295f39686016bf3abb1d6e9924d6725c1263920 differ
diff --git a/fuzzers/corpora/packfile/92fa2c2237724e7ba49e9c59adad8d61ce400bbf b/fuzzers/corpora/packfile/92fa2c2237724e7ba49e9c59adad8d61ce400bbf
new file mode 100644 (file)
index 0000000..b890df0
Binary files /dev/null and b/fuzzers/corpora/packfile/92fa2c2237724e7ba49e9c59adad8d61ce400bbf differ
diff --git a/fuzzers/corpora/packfile/936548b53e1a1e30cb30747a87203abd4eae78ea b/fuzzers/corpora/packfile/936548b53e1a1e30cb30747a87203abd4eae78ea
new file mode 100644 (file)
index 0000000..2171770
Binary files /dev/null and b/fuzzers/corpora/packfile/936548b53e1a1e30cb30747a87203abd4eae78ea differ
diff --git a/fuzzers/corpora/packfile/9835ad3ff27939bc1315632d6a22980b377c36e4 b/fuzzers/corpora/packfile/9835ad3ff27939bc1315632d6a22980b377c36e4
new file mode 100644 (file)
index 0000000..025ad50
--- /dev/null
@@ -0,0 +1 @@
+\98Pÿð\ 3\ 5ÿðï\ 6ÿðï
\ No newline at end of file
diff --git a/fuzzers/corpora/packfile/9857740c36a95415fa3be04cdf184db7b41a8b3e b/fuzzers/corpora/packfile/9857740c36a95415fa3be04cdf184db7b41a8b3e
new file mode 100644 (file)
index 0000000..7d3242f
Binary files /dev/null and b/fuzzers/corpora/packfile/9857740c36a95415fa3be04cdf184db7b41a8b3e differ
diff --git a/fuzzers/corpora/packfile/98c35b9d5e7b430d0d4ef70f642d8e2f3266b6d4 b/fuzzers/corpora/packfile/98c35b9d5e7b430d0d4ef70f642d8e2f3266b6d4
new file mode 100644 (file)
index 0000000..ea7c76e
Binary files /dev/null and b/fuzzers/corpora/packfile/98c35b9d5e7b430d0d4ef70f642d8e2f3266b6d4 differ
diff --git a/fuzzers/corpora/packfile/9929b50ac145c0781a0347be1559764edc668173 b/fuzzers/corpora/packfile/9929b50ac145c0781a0347be1559764edc668173
new file mode 100644 (file)
index 0000000..33f1e92
--- /dev/null
@@ -0,0 +1 @@
+\9ePACK\ 3³³
\ No newline at end of file
diff --git a/fuzzers/corpora/packfile/9bf6a450d87badf2d495c2df37081ea16156915a b/fuzzers/corpora/packfile/9bf6a450d87badf2d495c2df37081ea16156915a
new file mode 100644 (file)
index 0000000..ff4c483
Binary files /dev/null and b/fuzzers/corpora/packfile/9bf6a450d87badf2d495c2df37081ea16156915a differ
diff --git a/fuzzers/corpora/packfile/9bffb3ff7a4429144305b770162074bbffe39ce9 b/fuzzers/corpora/packfile/9bffb3ff7a4429144305b770162074bbffe39ce9
new file mode 100644 (file)
index 0000000..aa9c335
Binary files /dev/null and b/fuzzers/corpora/packfile/9bffb3ff7a4429144305b770162074bbffe39ce9 differ
diff --git a/fuzzers/corpora/packfile/9c040d3207196e3aeee0df389170d6e59733ba0f b/fuzzers/corpora/packfile/9c040d3207196e3aeee0df389170d6e59733ba0f
new file mode 100644 (file)
index 0000000..4c4e68a
Binary files /dev/null and b/fuzzers/corpora/packfile/9c040d3207196e3aeee0df389170d6e59733ba0f differ
diff --git a/fuzzers/corpora/packfile/9c740d0f3b8875a3b19f1cf1a88d5192a997a68d b/fuzzers/corpora/packfile/9c740d0f3b8875a3b19f1cf1a88d5192a997a68d
new file mode 100644 (file)
index 0000000..1f1ea65
Binary files /dev/null and b/fuzzers/corpora/packfile/9c740d0f3b8875a3b19f1cf1a88d5192a997a68d differ
diff --git a/fuzzers/corpora/packfile/9cf72097400efb70d06179e6b00abb4cdec74e66 b/fuzzers/corpora/packfile/9cf72097400efb70d06179e6b00abb4cdec74e66
new file mode 100644 (file)
index 0000000..25cfb39
Binary files /dev/null and b/fuzzers/corpora/packfile/9cf72097400efb70d06179e6b00abb4cdec74e66 differ
diff --git a/fuzzers/corpora/packfile/9d36c270ef1f14214742562238dc747242d4756e b/fuzzers/corpora/packfile/9d36c270ef1f14214742562238dc747242d4756e
new file mode 100644 (file)
index 0000000..c54dc55
Binary files /dev/null and b/fuzzers/corpora/packfile/9d36c270ef1f14214742562238dc747242d4756e differ
diff --git a/fuzzers/corpora/packfile/9fb415ccadc8e7b0f38646ec5782d5895111e259 b/fuzzers/corpora/packfile/9fb415ccadc8e7b0f38646ec5782d5895111e259
new file mode 100644 (file)
index 0000000..473ebb7
Binary files /dev/null and b/fuzzers/corpora/packfile/9fb415ccadc8e7b0f38646ec5782d5895111e259 differ
diff --git a/fuzzers/corpora/packfile/a13b7fbb454fe3bdebd07a51d466484aa41ee142 b/fuzzers/corpora/packfile/a13b7fbb454fe3bdebd07a51d466484aa41ee142
new file mode 100644 (file)
index 0000000..48edf15
Binary files /dev/null and b/fuzzers/corpora/packfile/a13b7fbb454fe3bdebd07a51d466484aa41ee142 differ
diff --git a/fuzzers/corpora/packfile/a1a7715c7596c77b892dc6d4debb7c108ca4ef97 b/fuzzers/corpora/packfile/a1a7715c7596c77b892dc6d4debb7c108ca4ef97
new file mode 100644 (file)
index 0000000..3958311
--- /dev/null
@@ -0,0 +1 @@
\ No newline at end of file
diff --git a/fuzzers/corpora/packfile/a1ac8b656af02b56aefe6029db36b1af9fb664ef b/fuzzers/corpora/packfile/a1ac8b656af02b56aefe6029db36b1af9fb664ef
new file mode 100644 (file)
index 0000000..eeae769
Binary files /dev/null and b/fuzzers/corpora/packfile/a1ac8b656af02b56aefe6029db36b1af9fb664ef differ
diff --git a/fuzzers/corpora/packfile/a343687e2522222c2d49e8cb18d3feda64cf1d66 b/fuzzers/corpora/packfile/a343687e2522222c2d49e8cb18d3feda64cf1d66
new file mode 100644 (file)
index 0000000..7d24f8c
Binary files /dev/null and b/fuzzers/corpora/packfile/a343687e2522222c2d49e8cb18d3feda64cf1d66 differ
diff --git a/fuzzers/corpora/packfile/a6f57425137e9aa54537f0b3f5364ce165aedb0a b/fuzzers/corpora/packfile/a6f57425137e9aa54537f0b3f5364ce165aedb0a
new file mode 100644 (file)
index 0000000..d50394e
--- /dev/null
@@ -0,0 +1 @@
\ No newline at end of file
diff --git a/fuzzers/corpora/packfile/a73df4ce29f75cc638a7a2d823fee57d909ab681 b/fuzzers/corpora/packfile/a73df4ce29f75cc638a7a2d823fee57d909ab681
new file mode 100644 (file)
index 0000000..1a443b9
Binary files /dev/null and b/fuzzers/corpora/packfile/a73df4ce29f75cc638a7a2d823fee57d909ab681 differ
diff --git a/fuzzers/corpora/packfile/a7ee38bb7be4fc44198cb2685d9601dcf2b9f569 b/fuzzers/corpora/packfile/a7ee38bb7be4fc44198cb2685d9601dcf2b9f569
new file mode 100644 (file)
index 0000000..449e49e
--- /dev/null
@@ -0,0 +1 @@
+K
\ No newline at end of file
diff --git a/fuzzers/corpora/packfile/a8b9b91157274e617bf4ac5045fc0c6ac97e76f7 b/fuzzers/corpora/packfile/a8b9b91157274e617bf4ac5045fc0c6ac97e76f7
new file mode 100644 (file)
index 0000000..8e4277b
Binary files /dev/null and b/fuzzers/corpora/packfile/a8b9b91157274e617bf4ac5045fc0c6ac97e76f7 differ
diff --git a/fuzzers/corpora/packfile/a9c697f383f59a3b0642cd55b88190bce6201bae b/fuzzers/corpora/packfile/a9c697f383f59a3b0642cd55b88190bce6201bae
new file mode 100644 (file)
index 0000000..990de0a
Binary files /dev/null and b/fuzzers/corpora/packfile/a9c697f383f59a3b0642cd55b88190bce6201bae differ
diff --git a/fuzzers/corpora/packfile/ab064cd6847c0fa546bbec4241eb9b095e0e73da b/fuzzers/corpora/packfile/ab064cd6847c0fa546bbec4241eb9b095e0e73da
new file mode 100644 (file)
index 0000000..b95307b
Binary files /dev/null and b/fuzzers/corpora/packfile/ab064cd6847c0fa546bbec4241eb9b095e0e73da differ
diff --git a/fuzzers/corpora/packfile/ab2c64588d3d9dc5c54c48d414e6d46d6a78cfa6 b/fuzzers/corpora/packfile/ab2c64588d3d9dc5c54c48d414e6d46d6a78cfa6
new file mode 100644 (file)
index 0000000..02f5e79
Binary files /dev/null and b/fuzzers/corpora/packfile/ab2c64588d3d9dc5c54c48d414e6d46d6a78cfa6 differ
diff --git a/fuzzers/corpora/packfile/abe729b06750880778312618dcebb43257ec03e0 b/fuzzers/corpora/packfile/abe729b06750880778312618dcebb43257ec03e0
new file mode 100644 (file)
index 0000000..fc1860b
Binary files /dev/null and b/fuzzers/corpora/packfile/abe729b06750880778312618dcebb43257ec03e0 differ
diff --git a/fuzzers/corpora/packfile/ac1bf5a5fe61e5784f72b364ef1bcddfb0d13716 b/fuzzers/corpora/packfile/ac1bf5a5fe61e5784f72b364ef1bcddfb0d13716
new file mode 100644 (file)
index 0000000..5b9fb92
Binary files /dev/null and b/fuzzers/corpora/packfile/ac1bf5a5fe61e5784f72b364ef1bcddfb0d13716 differ
diff --git a/fuzzers/corpora/packfile/ac47b6d3f0e479df3292131535f8e0d99c288de9 b/fuzzers/corpora/packfile/ac47b6d3f0e479df3292131535f8e0d99c288de9
new file mode 100644 (file)
index 0000000..def06ef
Binary files /dev/null and b/fuzzers/corpora/packfile/ac47b6d3f0e479df3292131535f8e0d99c288de9 differ
diff --git a/fuzzers/corpora/packfile/ac9231da4082430afe8f4d40127814c613648d8e b/fuzzers/corpora/packfile/ac9231da4082430afe8f4d40127814c613648d8e
new file mode 100644 (file)
index 0000000..501a6bb
--- /dev/null
@@ -0,0 +1 @@
+       
\ No newline at end of file
diff --git a/fuzzers/corpora/packfile/ace9ffcaa273c01c0eb60381321e47edf4842332 b/fuzzers/corpora/packfile/ace9ffcaa273c01c0eb60381321e47edf4842332
new file mode 100644 (file)
index 0000000..783b97f
Binary files /dev/null and b/fuzzers/corpora/packfile/ace9ffcaa273c01c0eb60381321e47edf4842332 differ
diff --git a/fuzzers/corpora/packfile/ad6ba9b0bc076987efbeb11ce3fc92bc1df69d0a b/fuzzers/corpora/packfile/ad6ba9b0bc076987efbeb11ce3fc92bc1df69d0a
new file mode 100644 (file)
index 0000000..d6e99fc
Binary files /dev/null and b/fuzzers/corpora/packfile/ad6ba9b0bc076987efbeb11ce3fc92bc1df69d0a differ
diff --git a/fuzzers/corpora/packfile/ae99dcb9b5e1b09aa5df6bb2fada3a3de61268fe b/fuzzers/corpora/packfile/ae99dcb9b5e1b09aa5df6bb2fada3a3de61268fe
new file mode 100644 (file)
index 0000000..09e47fd
Binary files /dev/null and b/fuzzers/corpora/packfile/ae99dcb9b5e1b09aa5df6bb2fada3a3de61268fe differ
diff --git a/fuzzers/corpora/packfile/aeeacf0499ace69549fe2c76757d4948ba65a10b b/fuzzers/corpora/packfile/aeeacf0499ace69549fe2c76757d4948ba65a10b
new file mode 100644 (file)
index 0000000..4832b6e
Binary files /dev/null and b/fuzzers/corpora/packfile/aeeacf0499ace69549fe2c76757d4948ba65a10b differ
diff --git a/fuzzers/corpora/packfile/af6614c37604ee5d3f7b00cddca761a8776283b5 b/fuzzers/corpora/packfile/af6614c37604ee5d3f7b00cddca761a8776283b5
new file mode 100644 (file)
index 0000000..f41a799
Binary files /dev/null and b/fuzzers/corpora/packfile/af6614c37604ee5d3f7b00cddca761a8776283b5 differ
diff --git a/fuzzers/corpora/packfile/afd44f8c385a922c8caacc1ea5688d324bad5b39 b/fuzzers/corpora/packfile/afd44f8c385a922c8caacc1ea5688d324bad5b39
new file mode 100644 (file)
index 0000000..eec2110
Binary files /dev/null and b/fuzzers/corpora/packfile/afd44f8c385a922c8caacc1ea5688d324bad5b39 differ
diff --git a/fuzzers/corpora/packfile/aff024fe4ab0fece4091de044c58c9ae4233383a b/fuzzers/corpora/packfile/aff024fe4ab0fece4091de044c58c9ae4233383a
new file mode 100644 (file)
index 0000000..6bf0c97
--- /dev/null
@@ -0,0 +1 @@
+w
\ No newline at end of file
diff --git a/fuzzers/corpora/packfile/b1f86f05d4928c8393fe0f138c0714df3978f0bb b/fuzzers/corpora/packfile/b1f86f05d4928c8393fe0f138c0714df3978f0bb
new file mode 100644 (file)
index 0000000..a36092c
Binary files /dev/null and b/fuzzers/corpora/packfile/b1f86f05d4928c8393fe0f138c0714df3978f0bb differ
diff --git a/fuzzers/corpora/packfile/b452cd4b70f2827e3cbd6d5dd20f678b6e55f813 b/fuzzers/corpora/packfile/b452cd4b70f2827e3cbd6d5dd20f678b6e55f813
new file mode 100644 (file)
index 0000000..f763b0d
Binary files /dev/null and b/fuzzers/corpora/packfile/b452cd4b70f2827e3cbd6d5dd20f678b6e55f813 differ
diff --git a/fuzzers/corpora/packfile/b491dbad4c3edc87aa5a7f12b2c9a447a712c20d b/fuzzers/corpora/packfile/b491dbad4c3edc87aa5a7f12b2c9a447a712c20d
new file mode 100644 (file)
index 0000000..9e7d3e0
Binary files /dev/null and b/fuzzers/corpora/packfile/b491dbad4c3edc87aa5a7f12b2c9a447a712c20d differ
diff --git a/fuzzers/corpora/packfile/b54664965911c6fe91e18cd01b68a75c8183b530 b/fuzzers/corpora/packfile/b54664965911c6fe91e18cd01b68a75c8183b530
new file mode 100644 (file)
index 0000000..39e8d66
--- /dev/null
@@ -0,0 +1 @@
\ No newline at end of file
diff --git a/fuzzers/corpora/packfile/b68542373c05c0ed25231d09955b2c699d37c45b b/fuzzers/corpora/packfile/b68542373c05c0ed25231d09955b2c699d37c45b
new file mode 100644 (file)
index 0000000..050ac90
--- /dev/null
@@ -0,0 +1 @@
\ No newline at end of file
diff --git a/fuzzers/corpora/packfile/b706e78cf7110a78dfccce991cd4ce22c6fd898a b/fuzzers/corpora/packfile/b706e78cf7110a78dfccce991cd4ce22c6fd898a
new file mode 100644 (file)
index 0000000..e905006
Binary files /dev/null and b/fuzzers/corpora/packfile/b706e78cf7110a78dfccce991cd4ce22c6fd898a differ
diff --git a/fuzzers/corpora/packfile/b8d3910a75ad8a7058f9c3f202f8eb27419137d7 b/fuzzers/corpora/packfile/b8d3910a75ad8a7058f9c3f202f8eb27419137d7
new file mode 100644 (file)
index 0000000..0a0adc4
Binary files /dev/null and b/fuzzers/corpora/packfile/b8d3910a75ad8a7058f9c3f202f8eb27419137d7 differ
diff --git a/fuzzers/corpora/packfile/b93abe6094fb4ebbfa7414fbceb7199ce766075b b/fuzzers/corpora/packfile/b93abe6094fb4ebbfa7414fbceb7199ce766075b
new file mode 100644 (file)
index 0000000..fb7b651
Binary files /dev/null and b/fuzzers/corpora/packfile/b93abe6094fb4ebbfa7414fbceb7199ce766075b differ
diff --git a/fuzzers/corpora/packfile/b9a64cc0694f3ac4a3c530c721bbf69026192187 b/fuzzers/corpora/packfile/b9a64cc0694f3ac4a3c530c721bbf69026192187
new file mode 100644 (file)
index 0000000..c775b6f
Binary files /dev/null and b/fuzzers/corpora/packfile/b9a64cc0694f3ac4a3c530c721bbf69026192187 differ
diff --git a/fuzzers/corpora/packfile/b9e5319eca8fbc26e5c322e0b151ed8ed60628d1 b/fuzzers/corpora/packfile/b9e5319eca8fbc26e5c322e0b151ed8ed60628d1
new file mode 100644 (file)
index 0000000..54e0431
Binary files /dev/null and b/fuzzers/corpora/packfile/b9e5319eca8fbc26e5c322e0b151ed8ed60628d1 differ
diff --git a/fuzzers/corpora/packfile/ba390745a04c5394601f7aa73fe795097b814d1a b/fuzzers/corpora/packfile/ba390745a04c5394601f7aa73fe795097b814d1a
new file mode 100644 (file)
index 0000000..1738d2d
Binary files /dev/null and b/fuzzers/corpora/packfile/ba390745a04c5394601f7aa73fe795097b814d1a differ
diff --git a/fuzzers/corpora/packfile/bb7d065b776833337d3e1a3071de4d5d2759d78b b/fuzzers/corpora/packfile/bb7d065b776833337d3e1a3071de4d5d2759d78b
new file mode 100644 (file)
index 0000000..2882b18
--- /dev/null
@@ -0,0 +1 @@
+\93
\ No newline at end of file
diff --git a/fuzzers/corpora/packfile/bb99cf0bb3e5d75d59300e6ca9cb1f67ce315e3a b/fuzzers/corpora/packfile/bb99cf0bb3e5d75d59300e6ca9cb1f67ce315e3a
new file mode 100644 (file)
index 0000000..7450e26
Binary files /dev/null and b/fuzzers/corpora/packfile/bb99cf0bb3e5d75d59300e6ca9cb1f67ce315e3a differ
diff --git a/fuzzers/corpora/packfile/bd9722d91e0615cbdae3cee3476ec6181fbad98d b/fuzzers/corpora/packfile/bd9722d91e0615cbdae3cee3476ec6181fbad98d
new file mode 100644 (file)
index 0000000..a8f95b6
Binary files /dev/null and b/fuzzers/corpora/packfile/bd9722d91e0615cbdae3cee3476ec6181fbad98d differ
diff --git a/fuzzers/corpora/packfile/bf8b4530d8d246dd74ac53a13471bba17941dff7 b/fuzzers/corpora/packfile/bf8b4530d8d246dd74ac53a13471bba17941dff7
new file mode 100644 (file)
index 0000000..6b2aaa7
--- /dev/null
@@ -0,0 +1 @@
+\ 1
\ No newline at end of file
diff --git a/fuzzers/corpora/packfile/bffc4698ad4aaddd977fe857da20858aa6654263 b/fuzzers/corpora/packfile/bffc4698ad4aaddd977fe857da20858aa6654263
new file mode 100644 (file)
index 0000000..b7cde14
Binary files /dev/null and b/fuzzers/corpora/packfile/bffc4698ad4aaddd977fe857da20858aa6654263 differ
diff --git a/fuzzers/corpora/packfile/c0ea828d8f9c4a2c0fc6253908cd283f6c7994a1 b/fuzzers/corpora/packfile/c0ea828d8f9c4a2c0fc6253908cd283f6c7994a1
new file mode 100644 (file)
index 0000000..ab56763
Binary files /dev/null and b/fuzzers/corpora/packfile/c0ea828d8f9c4a2c0fc6253908cd283f6c7994a1 differ
diff --git a/fuzzers/corpora/packfile/c151b760696d665265187501c51f38cd84503634 b/fuzzers/corpora/packfile/c151b760696d665265187501c51f38cd84503634
new file mode 100644 (file)
index 0000000..4be2460
--- /dev/null
@@ -0,0 +1 @@
\ No newline at end of file
diff --git a/fuzzers/corpora/packfile/c16f90096603258174790bc85f076413dad0e228 b/fuzzers/corpora/packfile/c16f90096603258174790bc85f076413dad0e228
new file mode 100644 (file)
index 0000000..d736f27
Binary files /dev/null and b/fuzzers/corpora/packfile/c16f90096603258174790bc85f076413dad0e228 differ
diff --git a/fuzzers/corpora/packfile/c20fc8fb8f1d44050c281089191b8eac2dc9444c b/fuzzers/corpora/packfile/c20fc8fb8f1d44050c281089191b8eac2dc9444c
new file mode 100644 (file)
index 0000000..221c482
Binary files /dev/null and b/fuzzers/corpora/packfile/c20fc8fb8f1d44050c281089191b8eac2dc9444c differ
diff --git a/fuzzers/corpora/packfile/c2143b1a0db17957bec1b41bb2e5f75aa135981e b/fuzzers/corpora/packfile/c2143b1a0db17957bec1b41bb2e5f75aa135981e
new file mode 100644 (file)
index 0000000..52e60b4
--- /dev/null
@@ -0,0 +1 @@
+\18
\ No newline at end of file
diff --git a/fuzzers/corpora/packfile/c22c3fba53bb2c5579b47852fa9ec54a88c03472 b/fuzzers/corpora/packfile/c22c3fba53bb2c5579b47852fa9ec54a88c03472
new file mode 100644 (file)
index 0000000..45df778
Binary files /dev/null and b/fuzzers/corpora/packfile/c22c3fba53bb2c5579b47852fa9ec54a88c03472 differ
diff --git a/fuzzers/corpora/packfile/c297564cff1bb4f7933221050cfcffa36c59f691 b/fuzzers/corpora/packfile/c297564cff1bb4f7933221050cfcffa36c59f691
new file mode 100644 (file)
index 0000000..751e6bb
Binary files /dev/null and b/fuzzers/corpora/packfile/c297564cff1bb4f7933221050cfcffa36c59f691 differ
diff --git a/fuzzers/corpora/packfile/c2c4da76233acd3efe08eaebb7ae8dc9b3036527 b/fuzzers/corpora/packfile/c2c4da76233acd3efe08eaebb7ae8dc9b3036527
new file mode 100644 (file)
index 0000000..5533ee3
Binary files /dev/null and b/fuzzers/corpora/packfile/c2c4da76233acd3efe08eaebb7ae8dc9b3036527 differ
diff --git a/fuzzers/corpora/packfile/c3d47118536d19a8d1a601978510cc24344aa8df b/fuzzers/corpora/packfile/c3d47118536d19a8d1a601978510cc24344aa8df
new file mode 100644 (file)
index 0000000..dac4251
Binary files /dev/null and b/fuzzers/corpora/packfile/c3d47118536d19a8d1a601978510cc24344aa8df differ
diff --git a/fuzzers/corpora/packfile/c4cbb032db94c57061003a85d30bdf4117979b1e b/fuzzers/corpora/packfile/c4cbb032db94c57061003a85d30bdf4117979b1e
new file mode 100644 (file)
index 0000000..e46252e
Binary files /dev/null and b/fuzzers/corpora/packfile/c4cbb032db94c57061003a85d30bdf4117979b1e differ
diff --git a/fuzzers/corpora/packfile/c7090127a03c0e7230c11a649e4f98fcb4ca2b75 b/fuzzers/corpora/packfile/c7090127a03c0e7230c11a649e4f98fcb4ca2b75
new file mode 100644 (file)
index 0000000..7009494
Binary files /dev/null and b/fuzzers/corpora/packfile/c7090127a03c0e7230c11a649e4f98fcb4ca2b75 differ
diff --git a/fuzzers/corpora/packfile/c8b839665bd381ff7d006b1b08c35f94f1818556 b/fuzzers/corpora/packfile/c8b839665bd381ff7d006b1b08c35f94f1818556
new file mode 100644 (file)
index 0000000..234b26a
Binary files /dev/null and b/fuzzers/corpora/packfile/c8b839665bd381ff7d006b1b08c35f94f1818556 differ
diff --git a/fuzzers/corpora/packfile/ca8c7c16d1d6b60e951dcfb558cc97e14231c750 b/fuzzers/corpora/packfile/ca8c7c16d1d6b60e951dcfb558cc97e14231c750
new file mode 100644 (file)
index 0000000..e0b7aec
Binary files /dev/null and b/fuzzers/corpora/packfile/ca8c7c16d1d6b60e951dcfb558cc97e14231c750 differ
diff --git a/fuzzers/corpora/packfile/cb46c744c83541a0900e1e61780c18d43031a08b b/fuzzers/corpora/packfile/cb46c744c83541a0900e1e61780c18d43031a08b
new file mode 100644 (file)
index 0000000..825026b
--- /dev/null
@@ -0,0 +1 @@
\ No newline at end of file
diff --git a/fuzzers/corpora/packfile/cbf1e454dc7ac878bd23e3dfd0b6a28a50b2155d b/fuzzers/corpora/packfile/cbf1e454dc7ac878bd23e3dfd0b6a28a50b2155d
new file mode 100644 (file)
index 0000000..7e60ba4
Binary files /dev/null and b/fuzzers/corpora/packfile/cbf1e454dc7ac878bd23e3dfd0b6a28a50b2155d differ
diff --git a/fuzzers/corpora/packfile/cbfb8cae82ddd82c04996f474fdb4f1b80dcb6db b/fuzzers/corpora/packfile/cbfb8cae82ddd82c04996f474fdb4f1b80dcb6db
new file mode 100644 (file)
index 0000000..7bd0640
Binary files /dev/null and b/fuzzers/corpora/packfile/cbfb8cae82ddd82c04996f474fdb4f1b80dcb6db differ
diff --git a/fuzzers/corpora/packfile/cf74f755c004ca634818f8ba44c99fffbaa950a1 b/fuzzers/corpora/packfile/cf74f755c004ca634818f8ba44c99fffbaa950a1
new file mode 100644 (file)
index 0000000..6c8a3e2
Binary files /dev/null and b/fuzzers/corpora/packfile/cf74f755c004ca634818f8ba44c99fffbaa950a1 differ
diff --git a/fuzzers/corpora/packfile/d07e4bc786c88b8d2304f84c7db2098666f822c0 b/fuzzers/corpora/packfile/d07e4bc786c88b8d2304f84c7db2098666f822c0
new file mode 100644 (file)
index 0000000..5639b6d
--- /dev/null
@@ -0,0 +1 @@
\ No newline at end of file
diff --git a/fuzzers/corpora/packfile/d17ab0db9edea68e8f9f51f471decae84b192a1a b/fuzzers/corpora/packfile/d17ab0db9edea68e8f9f51f471decae84b192a1a
new file mode 100644 (file)
index 0000000..e3ec67e
Binary files /dev/null and b/fuzzers/corpora/packfile/d17ab0db9edea68e8f9f51f471decae84b192a1a differ
diff --git a/fuzzers/corpora/packfile/d1854cae891ec7b29161ccaf79a24b00c274bdaa b/fuzzers/corpora/packfile/d1854cae891ec7b29161ccaf79a24b00c274bdaa
new file mode 100644 (file)
index 0000000..ef073cc
--- /dev/null
@@ -0,0 +1 @@
+n
\ No newline at end of file
diff --git a/fuzzers/corpora/packfile/d22aac18f8b435fc34566fe0d3f42464aec9458c b/fuzzers/corpora/packfile/d22aac18f8b435fc34566fe0d3f42464aec9458c
new file mode 100644 (file)
index 0000000..766a326
Binary files /dev/null and b/fuzzers/corpora/packfile/d22aac18f8b435fc34566fe0d3f42464aec9458c differ
diff --git a/fuzzers/corpora/packfile/d446a50788c32053358495358696f9d595358bcf b/fuzzers/corpora/packfile/d446a50788c32053358495358696f9d595358bcf
new file mode 100644 (file)
index 0000000..1015f8e
Binary files /dev/null and b/fuzzers/corpora/packfile/d446a50788c32053358495358696f9d595358bcf differ
diff --git a/fuzzers/corpora/packfile/d461cbcff85c87b0068f0e9c15d2056197cdfa52 b/fuzzers/corpora/packfile/d461cbcff85c87b0068f0e9c15d2056197cdfa52
new file mode 100644 (file)
index 0000000..e475e61
Binary files /dev/null and b/fuzzers/corpora/packfile/d461cbcff85c87b0068f0e9c15d2056197cdfa52 differ
diff --git a/fuzzers/corpora/packfile/d54709a1b46002c81f57da533379e57f00afe942 b/fuzzers/corpora/packfile/d54709a1b46002c81f57da533379e57f00afe942
new file mode 100644 (file)
index 0000000..010a294
Binary files /dev/null and b/fuzzers/corpora/packfile/d54709a1b46002c81f57da533379e57f00afe942 differ
diff --git a/fuzzers/corpora/packfile/d567007f84b83e82df7069838bf8b6c5826b18a8 b/fuzzers/corpora/packfile/d567007f84b83e82df7069838bf8b6c5826b18a8
new file mode 100644 (file)
index 0000000..feb21a2
Binary files /dev/null and b/fuzzers/corpora/packfile/d567007f84b83e82df7069838bf8b6c5826b18a8 differ
diff --git a/fuzzers/corpora/packfile/d5e60b9f94126a9ec865fda83feb6835d294b76b b/fuzzers/corpora/packfile/d5e60b9f94126a9ec865fda83feb6835d294b76b
new file mode 100644 (file)
index 0000000..63dd395
Binary files /dev/null and b/fuzzers/corpora/packfile/d5e60b9f94126a9ec865fda83feb6835d294b76b differ
diff --git a/fuzzers/corpora/packfile/d81092a4f3607ddbba85862facf2285459696078 b/fuzzers/corpora/packfile/d81092a4f3607ddbba85862facf2285459696078
new file mode 100644 (file)
index 0000000..0074e17
Binary files /dev/null and b/fuzzers/corpora/packfile/d81092a4f3607ddbba85862facf2285459696078 differ
diff --git a/fuzzers/corpora/packfile/d898eb860ceac044950605db88429e029ea278ef b/fuzzers/corpora/packfile/d898eb860ceac044950605db88429e029ea278ef
new file mode 100644 (file)
index 0000000..a74a67e
Binary files /dev/null and b/fuzzers/corpora/packfile/d898eb860ceac044950605db88429e029ea278ef differ
diff --git a/fuzzers/corpora/packfile/d8fc60ccdd8f555c1858b9f0820f263e3d2b58ec b/fuzzers/corpora/packfile/d8fc60ccdd8f555c1858b9f0820f263e3d2b58ec
new file mode 100644 (file)
index 0000000..9d3cd68
--- /dev/null
@@ -0,0 +1 @@
\ No newline at end of file
diff --git a/fuzzers/corpora/packfile/d9b69c63cdc0c1622f2fab84d1307f9e0c0fa3b9 b/fuzzers/corpora/packfile/d9b69c63cdc0c1622f2fab84d1307f9e0c0fa3b9
new file mode 100644 (file)
index 0000000..1f4966d
Binary files /dev/null and b/fuzzers/corpora/packfile/d9b69c63cdc0c1622f2fab84d1307f9e0c0fa3b9 differ
diff --git a/fuzzers/corpora/packfile/db1bb4b7348d387623dcaf0a743d0b11fa18409f b/fuzzers/corpora/packfile/db1bb4b7348d387623dcaf0a743d0b11fa18409f
new file mode 100644 (file)
index 0000000..bed137b
Binary files /dev/null and b/fuzzers/corpora/packfile/db1bb4b7348d387623dcaf0a743d0b11fa18409f differ
diff --git a/fuzzers/corpora/packfile/db291360a195c79ae504a3dfb2cd0f71cbc11902 b/fuzzers/corpora/packfile/db291360a195c79ae504a3dfb2cd0f71cbc11902
new file mode 100644 (file)
index 0000000..aaebf73
Binary files /dev/null and b/fuzzers/corpora/packfile/db291360a195c79ae504a3dfb2cd0f71cbc11902 differ
diff --git a/fuzzers/corpora/packfile/dc98359b3ef2ced9c3d07636c89d475a564c39d9 b/fuzzers/corpora/packfile/dc98359b3ef2ced9c3d07636c89d475a564c39d9
new file mode 100644 (file)
index 0000000..44b5bbe
Binary files /dev/null and b/fuzzers/corpora/packfile/dc98359b3ef2ced9c3d07636c89d475a564c39d9 differ
diff --git a/fuzzers/corpora/packfile/dccc5642917b20b4dd64d3e44b71d08da30445e9 b/fuzzers/corpora/packfile/dccc5642917b20b4dd64d3e44b71d08da30445e9
new file mode 100644 (file)
index 0000000..d6430c2
Binary files /dev/null and b/fuzzers/corpora/packfile/dccc5642917b20b4dd64d3e44b71d08da30445e9 differ
diff --git a/fuzzers/corpora/packfile/dd79c8cfb8beeacd0460429944b4ecbe95a31561 b/fuzzers/corpora/packfile/dd79c8cfb8beeacd0460429944b4ecbe95a31561
new file mode 100644 (file)
index 0000000..8a908ec
--- /dev/null
@@ -0,0 +1 @@
\ No newline at end of file
diff --git a/fuzzers/corpora/packfile/de9550264c4e2dbef14e1281ff3693f2d19dc1c9 b/fuzzers/corpora/packfile/de9550264c4e2dbef14e1281ff3693f2d19dc1c9
new file mode 100644 (file)
index 0000000..2c096ff
Binary files /dev/null and b/fuzzers/corpora/packfile/de9550264c4e2dbef14e1281ff3693f2d19dc1c9 differ
diff --git a/fuzzers/corpora/packfile/df8b4d163e9ed75634eb56467343bde73b13263e b/fuzzers/corpora/packfile/df8b4d163e9ed75634eb56467343bde73b13263e
new file mode 100644 (file)
index 0000000..5c3529e
Binary files /dev/null and b/fuzzers/corpora/packfile/df8b4d163e9ed75634eb56467343bde73b13263e differ
diff --git a/fuzzers/corpora/packfile/e0184adedf913b076626646d3f52c3b49c39ad6d b/fuzzers/corpora/packfile/e0184adedf913b076626646d3f52c3b49c39ad6d
new file mode 100644 (file)
index 0000000..9fb75b8
--- /dev/null
@@ -0,0 +1 @@
+E
\ No newline at end of file
diff --git a/fuzzers/corpora/packfile/e0905bac594c818b9cfa909269114977c4d6d1b2 b/fuzzers/corpora/packfile/e0905bac594c818b9cfa909269114977c4d6d1b2
new file mode 100644 (file)
index 0000000..40f2025
Binary files /dev/null and b/fuzzers/corpora/packfile/e0905bac594c818b9cfa909269114977c4d6d1b2 differ
diff --git a/fuzzers/corpora/packfile/e0bcb16cd6b42128201e1b6454323175a7e412f0 b/fuzzers/corpora/packfile/e0bcb16cd6b42128201e1b6454323175a7e412f0
new file mode 100644 (file)
index 0000000..7386ac1
Binary files /dev/null and b/fuzzers/corpora/packfile/e0bcb16cd6b42128201e1b6454323175a7e412f0 differ
diff --git a/fuzzers/corpora/packfile/e1ac9563c33f4f31b3e147b9d2fef80fca550948 b/fuzzers/corpora/packfile/e1ac9563c33f4f31b3e147b9d2fef80fca550948
new file mode 100644 (file)
index 0000000..c87f08b
Binary files /dev/null and b/fuzzers/corpora/packfile/e1ac9563c33f4f31b3e147b9d2fef80fca550948 differ
diff --git a/fuzzers/corpora/packfile/e230c91352f1b07f6f34da803d07e75c06897b30 b/fuzzers/corpora/packfile/e230c91352f1b07f6f34da803d07e75c06897b30
new file mode 100644 (file)
index 0000000..ff1376f
Binary files /dev/null and b/fuzzers/corpora/packfile/e230c91352f1b07f6f34da803d07e75c06897b30 differ
diff --git a/fuzzers/corpora/packfile/e26b3bacbfd6603d021d4ddadbac94b7b7aa0034 b/fuzzers/corpora/packfile/e26b3bacbfd6603d021d4ddadbac94b7b7aa0034
new file mode 100644 (file)
index 0000000..e6bdb3a
--- /dev/null
@@ -0,0 +1 @@
+\b\ 3!
\ No newline at end of file
diff --git a/fuzzers/corpora/packfile/e2a6f8dc3dc5d6c859f19d6e0fa64745201df0a6 b/fuzzers/corpora/packfile/e2a6f8dc3dc5d6c859f19d6e0fa64745201df0a6
new file mode 100644 (file)
index 0000000..3afd5ca
Binary files /dev/null and b/fuzzers/corpora/packfile/e2a6f8dc3dc5d6c859f19d6e0fa64745201df0a6 differ
diff --git a/fuzzers/corpora/packfile/e2ba004118345660b379df5147bfa7a39d884dbc b/fuzzers/corpora/packfile/e2ba004118345660b379df5147bfa7a39d884dbc
new file mode 100644 (file)
index 0000000..cb1ff94
Binary files /dev/null and b/fuzzers/corpora/packfile/e2ba004118345660b379df5147bfa7a39d884dbc differ
diff --git a/fuzzers/corpora/packfile/e45aaf139d726366a18dce9e4854ee6c82901677 b/fuzzers/corpora/packfile/e45aaf139d726366a18dce9e4854ee6c82901677
new file mode 100644 (file)
index 0000000..0ba1db8
Binary files /dev/null and b/fuzzers/corpora/packfile/e45aaf139d726366a18dce9e4854ee6c82901677 differ
diff --git a/fuzzers/corpora/packfile/e4b3ab7e8c18de815fc8bd6ebfd5d52cf1924a8e b/fuzzers/corpora/packfile/e4b3ab7e8c18de815fc8bd6ebfd5d52cf1924a8e
new file mode 100644 (file)
index 0000000..786d94b
Binary files /dev/null and b/fuzzers/corpora/packfile/e4b3ab7e8c18de815fc8bd6ebfd5d52cf1924a8e differ
diff --git a/fuzzers/corpora/packfile/e6818b96c50bb749911248959af81a9c412a0223 b/fuzzers/corpora/packfile/e6818b96c50bb749911248959af81a9c412a0223
new file mode 100644 (file)
index 0000000..b8ac98e
Binary files /dev/null and b/fuzzers/corpora/packfile/e6818b96c50bb749911248959af81a9c412a0223 differ
diff --git a/fuzzers/corpora/packfile/e69f20e9f683920d3fb4329abd951e878b1f9372 b/fuzzers/corpora/packfile/e69f20e9f683920d3fb4329abd951e878b1f9372
new file mode 100644 (file)
index 0000000..c137216
--- /dev/null
@@ -0,0 +1 @@
+F
\ No newline at end of file
diff --git a/fuzzers/corpora/packfile/e6eb439fef7d5461bc3552aa7c064d24e44c5f32 b/fuzzers/corpora/packfile/e6eb439fef7d5461bc3552aa7c064d24e44c5f32
new file mode 100644 (file)
index 0000000..9ab1a4d
Binary files /dev/null and b/fuzzers/corpora/packfile/e6eb439fef7d5461bc3552aa7c064d24e44c5f32 differ
diff --git a/fuzzers/corpora/packfile/e9d9930dc3fea44fbc7acb0d1ef4bd867f1c902b b/fuzzers/corpora/packfile/e9d9930dc3fea44fbc7acb0d1ef4bd867f1c902b
new file mode 100644 (file)
index 0000000..bd8ffbe
Binary files /dev/null and b/fuzzers/corpora/packfile/e9d9930dc3fea44fbc7acb0d1ef4bd867f1c902b differ
diff --git a/fuzzers/corpora/packfile/eb05b6ad73fb1f69ef750d0b9cb6c606ab9d949f b/fuzzers/corpora/packfile/eb05b6ad73fb1f69ef750d0b9cb6c606ab9d949f
new file mode 100644 (file)
index 0000000..aaba356
Binary files /dev/null and b/fuzzers/corpora/packfile/eb05b6ad73fb1f69ef750d0b9cb6c606ab9d949f differ
diff --git a/fuzzers/corpora/packfile/eb0814ae767e5f28b87c998b0f44dcf80814db1b b/fuzzers/corpora/packfile/eb0814ae767e5f28b87c998b0f44dcf80814db1b
new file mode 100644 (file)
index 0000000..f834b0b
Binary files /dev/null and b/fuzzers/corpora/packfile/eb0814ae767e5f28b87c998b0f44dcf80814db1b differ
diff --git a/fuzzers/corpora/packfile/ebbd9763912dd557d08abd1373c867a4b56e6a41 b/fuzzers/corpora/packfile/ebbd9763912dd557d08abd1373c867a4b56e6a41
new file mode 100644 (file)
index 0000000..9a5a0ed
Binary files /dev/null and b/fuzzers/corpora/packfile/ebbd9763912dd557d08abd1373c867a4b56e6a41 differ
diff --git a/fuzzers/corpora/packfile/ebcdcb7effcc3f06e0d503638ac621de877fc554 b/fuzzers/corpora/packfile/ebcdcb7effcc3f06e0d503638ac621de877fc554
new file mode 100644 (file)
index 0000000..ef60809
--- /dev/null
@@ -0,0 +1 @@
\ No newline at end of file
diff --git a/fuzzers/corpora/packfile/eddccafb2716adafb9ad48203f0621bb00ebc73f b/fuzzers/corpora/packfile/eddccafb2716adafb9ad48203f0621bb00ebc73f
new file mode 100644 (file)
index 0000000..9b1c9fb
Binary files /dev/null and b/fuzzers/corpora/packfile/eddccafb2716adafb9ad48203f0621bb00ebc73f differ
diff --git a/fuzzers/corpora/packfile/edfbf20c83d3cec45470105581f7dc8b7e0889da b/fuzzers/corpora/packfile/edfbf20c83d3cec45470105581f7dc8b7e0889da
new file mode 100644 (file)
index 0000000..bf9c390
Binary files /dev/null and b/fuzzers/corpora/packfile/edfbf20c83d3cec45470105581f7dc8b7e0889da differ
diff --git a/fuzzers/corpora/packfile/f03218467b1c74e465cebb3b8092e21a5122f31d b/fuzzers/corpora/packfile/f03218467b1c74e465cebb3b8092e21a5122f31d
new file mode 100644 (file)
index 0000000..d7539e4
Binary files /dev/null and b/fuzzers/corpora/packfile/f03218467b1c74e465cebb3b8092e21a5122f31d differ
diff --git a/fuzzers/corpora/packfile/f28600befd899a94bed8e62853e90655d614f439 b/fuzzers/corpora/packfile/f28600befd899a94bed8e62853e90655d614f439
new file mode 100644 (file)
index 0000000..5087f32
Binary files /dev/null and b/fuzzers/corpora/packfile/f28600befd899a94bed8e62853e90655d614f439 differ
diff --git a/fuzzers/corpora/packfile/f3b15185b7a9a10716752d58434fe656d839092e b/fuzzers/corpora/packfile/f3b15185b7a9a10716752d58434fe656d839092e
new file mode 100644 (file)
index 0000000..8575244
Binary files /dev/null and b/fuzzers/corpora/packfile/f3b15185b7a9a10716752d58434fe656d839092e differ
diff --git a/fuzzers/corpora/packfile/f436ed7933482610e08e18b40e9eec102b63b7d4 b/fuzzers/corpora/packfile/f436ed7933482610e08e18b40e9eec102b63b7d4
new file mode 100644 (file)
index 0000000..4a7dcff
Binary files /dev/null and b/fuzzers/corpora/packfile/f436ed7933482610e08e18b40e9eec102b63b7d4 differ
diff --git a/fuzzers/corpora/packfile/f55ea5b7c1cf5400aae56d7faf65a42320d0323a b/fuzzers/corpora/packfile/f55ea5b7c1cf5400aae56d7faf65a42320d0323a
new file mode 100644 (file)
index 0000000..c5e3137
Binary files /dev/null and b/fuzzers/corpora/packfile/f55ea5b7c1cf5400aae56d7faf65a42320d0323a differ
diff --git a/fuzzers/corpora/packfile/f5eeab2d009aa4984378df6bfdd89366b7ecbb32 b/fuzzers/corpora/packfile/f5eeab2d009aa4984378df6bfdd89366b7ecbb32
new file mode 100644 (file)
index 0000000..15828cf
Binary files /dev/null and b/fuzzers/corpora/packfile/f5eeab2d009aa4984378df6bfdd89366b7ecbb32 differ
diff --git a/fuzzers/corpora/packfile/f6250c8b3cc0510e0f8f621100be83f018e2d234 b/fuzzers/corpora/packfile/f6250c8b3cc0510e0f8f621100be83f018e2d234
new file mode 100644 (file)
index 0000000..ab03a5e
Binary files /dev/null and b/fuzzers/corpora/packfile/f6250c8b3cc0510e0f8f621100be83f018e2d234 differ
diff --git a/fuzzers/corpora/packfile/f7168410c7158ff7331698930937f9cdc54f4d8a b/fuzzers/corpora/packfile/f7168410c7158ff7331698930937f9cdc54f4d8a
new file mode 100644 (file)
index 0000000..e42053d
Binary files /dev/null and b/fuzzers/corpora/packfile/f7168410c7158ff7331698930937f9cdc54f4d8a differ
diff --git a/fuzzers/corpora/packfile/f91847640af285c1b8a6df27f5c50686ed0deb70 b/fuzzers/corpora/packfile/f91847640af285c1b8a6df27f5c50686ed0deb70
new file mode 100644 (file)
index 0000000..615255f
Binary files /dev/null and b/fuzzers/corpora/packfile/f91847640af285c1b8a6df27f5c50686ed0deb70 differ
diff --git a/fuzzers/corpora/packfile/fa58a6b2d3286a136a43afeeaac589d2dde0a2a6 b/fuzzers/corpora/packfile/fa58a6b2d3286a136a43afeeaac589d2dde0a2a6
new file mode 100644 (file)
index 0000000..860053e
Binary files /dev/null and b/fuzzers/corpora/packfile/fa58a6b2d3286a136a43afeeaac589d2dde0a2a6 differ
diff --git a/fuzzers/corpora/packfile/fe3667be5fd2ffdd553ae04a534a2e9ce5445188 b/fuzzers/corpora/packfile/fe3667be5fd2ffdd553ae04a534a2e9ce5445188
new file mode 100644 (file)
index 0000000..d92e574
Binary files /dev/null and b/fuzzers/corpora/packfile/fe3667be5fd2ffdd553ae04a534a2e9ce5445188 differ
diff --git a/fuzzers/corpora/packfile/ff21cad92ddd105224408fa696e91080a8cf98fb b/fuzzers/corpora/packfile/ff21cad92ddd105224408fa696e91080a8cf98fb
new file mode 100644 (file)
index 0000000..c1cfc00
Binary files /dev/null and b/fuzzers/corpora/packfile/ff21cad92ddd105224408fa696e91080a8cf98fb differ
diff --git a/fuzzers/corpora/packfile/ff9804ac04790bd58cdd124526c00b920469b812 b/fuzzers/corpora/packfile/ff9804ac04790bd58cdd124526c00b920469b812
new file mode 100644 (file)
index 0000000..4280c82
Binary files /dev/null and b/fuzzers/corpora/packfile/ff9804ac04790bd58cdd124526c00b920469b812 differ
diff --git a/fuzzers/corpora/packfile/ffc54ca808e7666f250133ad0ae2185ad688a826 b/fuzzers/corpora/packfile/ffc54ca808e7666f250133ad0ae2185ad688a826
new file mode 100644 (file)
index 0000000..4489a65
--- /dev/null
@@ -0,0 +1 @@
\ No newline at end of file
diff --git a/fuzzers/download_refs_fuzzer.c b/fuzzers/download_refs_fuzzer.c
new file mode 100644 (file)
index 0000000..93f1b49
--- /dev/null
@@ -0,0 +1,211 @@
+/*
+ * libgit2 raw packfile fuzz target.
+ *
+ * Copyright (C) the libgit2 contributors. All rights reserved.
+ *
+ * This file is part of libgit2, distributed under the GNU GPL v2 with
+ * a Linking Exception. For full terms see the included COPYING file.
+ */
+
+#include <string.h>
+#include <stdlib.h>
+#include <string.h>
+#include <stdio.h>
+#include <unistd.h>
+
+#include "git2.h"
+#include "git2/sys/transport.h"
+
+#define UNUSED(x) (void)(x)
+
+struct fuzzer_buffer {
+       const unsigned char *data;
+       size_t size;
+};
+
+struct fuzzer_stream {
+       git_smart_subtransport_stream base;
+       const unsigned char *readp;
+       const unsigned char *endp;
+};
+
+struct fuzzer_subtransport {
+       git_smart_subtransport base;
+       git_transport *owner;
+       struct fuzzer_buffer data;
+};
+
+static git_repository *repo;
+
+static int fuzzer_stream_read(git_smart_subtransport_stream *stream,
+       char *buffer,
+       size_t buf_size,
+       size_t *bytes_read)
+{
+       struct fuzzer_stream *fs = (struct fuzzer_stream *) stream;
+       size_t avail = fs->endp - fs->readp;
+
+       *bytes_read = (buf_size > avail) ? avail : buf_size;
+       memcpy(buffer, fs->readp, *bytes_read);
+       fs->readp += *bytes_read;
+
+       return 0;
+}
+
+static int fuzzer_stream_write(git_smart_subtransport_stream *stream,
+         const char *buffer, size_t len)
+{
+       UNUSED(stream);
+       UNUSED(buffer);
+       UNUSED(len);
+       return 0;
+}
+
+static void fuzzer_stream_free(git_smart_subtransport_stream *stream)
+{
+       free(stream);
+}
+
+static int fuzzer_stream_new(
+       struct fuzzer_stream **out,
+       const struct fuzzer_buffer *data)
+{
+       struct fuzzer_stream *stream = malloc(sizeof(*stream));
+       if (!stream)
+               return -1;
+
+       stream->readp = data->data;
+       stream->endp = data->data + data->size;
+       stream->base.read = fuzzer_stream_read;
+       stream->base.write = fuzzer_stream_write;
+       stream->base.free = fuzzer_stream_free;
+
+       *out = stream;
+
+       return 0;
+}
+
+static int fuzzer_subtransport_action(
+       git_smart_subtransport_stream **out,
+       git_smart_subtransport *transport,
+       const char *url,
+       git_smart_service_t action)
+{
+       struct fuzzer_subtransport *ft = (struct fuzzer_subtransport *) transport;
+
+       UNUSED(url);
+       UNUSED(action);
+
+       return fuzzer_stream_new((struct fuzzer_stream **) out, &ft->data);
+}
+
+static int fuzzer_subtransport_close(git_smart_subtransport *transport)
+{
+       UNUSED(transport);
+       return 0;
+}
+
+static void fuzzer_subtransport_free(git_smart_subtransport *transport)
+{
+       free(transport);
+}
+
+static int fuzzer_subtransport_new(
+       struct fuzzer_subtransport **out,
+       git_transport *owner,
+       const struct fuzzer_buffer *data)
+{
+       struct fuzzer_subtransport *sub = malloc(sizeof(*sub));
+       if (!sub)
+               return -1;
+
+       sub->owner = owner;
+       sub->data.data = data->data;
+       sub->data.size = data->size;
+       sub->base.action = fuzzer_subtransport_action;
+       sub->base.close = fuzzer_subtransport_close;
+       sub->base.free = fuzzer_subtransport_free;
+
+       *out = sub;
+
+       return 0;
+}
+
+int fuzzer_subtransport_cb(
+       git_smart_subtransport **out,
+       git_transport *owner,
+       void *payload)
+{
+       struct fuzzer_buffer *buf = (struct fuzzer_buffer *) payload;
+       struct fuzzer_subtransport *sub;
+
+       if (fuzzer_subtransport_new(&sub, owner, buf) < 0)
+               return -1;
+
+       *out = &sub->base;
+       return 0;
+}
+
+int fuzzer_transport_cb(git_transport **out, git_remote *owner, void *param)
+{
+       git_smart_subtransport_definition def = {
+               fuzzer_subtransport_cb,
+               1,
+               param
+       };
+       return git_transport_smart(out, owner, &def);
+}
+
+void fuzzer_git_abort(const char *op)
+{
+       const git_error *err = git_error_last();
+       fprintf(stderr, "unexpected libgit error: %s: %s\n",
+               op, err ? err->message : "<none>");
+       abort();
+}
+
+int LLVMFuzzerInitialize(int *argc, char ***argv)
+{
+       char tmp[] = "/tmp/git2.XXXXXX";
+
+       UNUSED(argc);
+       UNUSED(argv);
+
+       if (git_libgit2_init() < 0)
+               abort();
+
+       if (git_libgit2_opts(GIT_OPT_SET_PACK_MAX_OBJECTS, 10000000) < 0)
+               abort();
+
+       if (mkdtemp(tmp) != tmp)
+               abort();
+
+       if (git_repository_init(&repo, tmp, 1) < 0)
+               fuzzer_git_abort("git_repository_init");
+
+       return 0;
+}
+
+int LLVMFuzzerTestOneInput(const unsigned char *data, size_t size)
+{
+       struct fuzzer_buffer buffer = { data, size };
+       git_remote_callbacks callbacks = GIT_REMOTE_CALLBACKS_INIT;
+       git_remote *remote;
+
+       if (git_remote_create_anonymous(&remote, repo, "fuzzer://remote-url") < 0)
+               fuzzer_git_abort("git_remote_create");
+
+       callbacks.transport = fuzzer_transport_cb;
+       callbacks.payload = &buffer;
+
+       if (git_remote_connect(remote, GIT_DIRECTION_FETCH,
+           &callbacks, NULL, NULL) < 0)
+               goto out;
+
+       git_remote_download(remote, NULL, NULL);
+
+    out:
+       git_remote_free(remote);
+
+       return 0;
+}
diff --git a/fuzzers/objects_fuzzer.c b/fuzzers/objects_fuzzer.c
new file mode 100644 (file)
index 0000000..1feff77
--- /dev/null
@@ -0,0 +1,47 @@
+/*
+ * libgit2 packfile fuzzer target.
+ *
+ * Copyright (C) the libgit2 contributors. All rights reserved.
+ *
+ * This file is part of libgit2, distributed under the GNU GPL v2 with
+ * a Linking Exception. For full terms see the included COPYING file.
+ */
+
+#include "git2.h"
+#include "object.h"
+
+#define UNUSED(x) (void)(x)
+
+int LLVMFuzzerInitialize(int *argc, char ***argv)
+{
+       UNUSED(argc);
+       UNUSED(argv);
+
+       if (git_libgit2_init() < 0)
+               abort();
+
+       return 0;
+}
+
+int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
+{
+       const git_object_t types[] = {
+               GIT_OBJECT_BLOB, GIT_OBJECT_TREE, GIT_OBJECT_COMMIT, GIT_OBJECT_TAG
+       };
+       git_object *object = NULL;
+       size_t i;
+
+       /*
+        * Brute-force parse this as every object type. We want
+        * to stress the parsing logic anyway, so this is fine
+        * to do.
+        */
+       for (i = 0; i < ARRAY_SIZE(types); i++) {
+               if (git_object__from_raw(&object, (const char *) data, size, types[i]) < 0)
+                       continue;
+               git_object_free(object);
+               object = NULL;
+       }
+
+       return 0;
+}
diff --git a/fuzzers/packfile_fuzzer.c b/fuzzers/packfile_fuzzer.c
new file mode 100644 (file)
index 0000000..a448233
--- /dev/null
@@ -0,0 +1,122 @@
+/*
+ * libgit2 packfile fuzzer target.
+ *
+ * Copyright (C) the libgit2 contributors. All rights reserved.
+ *
+ * This file is part of libgit2, distributed under the GNU GPL v2 with
+ * a Linking Exception. For full terms see the included COPYING file.
+ */
+
+#include <stdbool.h>
+#include <stdint.h>
+#include <stdio.h>
+#include <limits.h>
+#include <unistd.h>
+
+#include "git2.h"
+#include "git2/sys/mempack.h"
+
+#define UNUSED(x) (void)(x)
+
+static git_odb *odb = NULL;
+static git_odb_backend *mempack = NULL;
+
+/* Arbitrary object to seed the ODB. */
+static const unsigned char base_obj[] = { 07, 076 };
+static const unsigned int base_obj_len = 2;
+
+int LLVMFuzzerInitialize(int *argc, char ***argv)
+{
+       UNUSED(argc);
+       UNUSED(argv);
+       if (git_libgit2_init() < 0) {
+               fprintf(stderr, "Failed to initialize libgit2\n");
+               abort();
+       }
+       if (git_libgit2_opts(GIT_OPT_SET_PACK_MAX_OBJECTS, 10000000) < 0) {
+               fprintf(stderr, "Failed to limit maximum pack object count\n");
+               abort();
+       }
+       if (git_odb_new(&odb) < 0) {
+               fprintf(stderr, "Failed to create the odb\n");
+               abort();
+       }
+       if (git_mempack_new(&mempack) < 0) {
+               fprintf(stderr, "Failed to create the mempack\n");
+               abort();
+       }
+       if (git_odb_add_backend(odb, mempack, 999) < 0) {
+               fprintf(stderr, "Failed to add the mempack\n");
+               abort();
+       }
+       return 0;
+}
+
+int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
+{
+       git_indexer *indexer = NULL;
+       git_transfer_progress stats = {0, 0};
+       bool append_hash = false;
+       git_oid id;
+       char hash[GIT_OID_HEXSZ + 1] = {0};
+       char path[PATH_MAX];
+
+       if (size == 0)
+               return 0;
+
+       if (!odb || !mempack) {
+               fprintf(stderr, "Global state not initialized\n");
+               abort();
+       }
+       git_mempack_reset(mempack);
+
+       if (git_odb_write(&id, odb, base_obj, base_obj_len, GIT_OBJECT_BLOB) < 0) {
+               fprintf(stderr, "Failed to add an object to the odb\n");
+               abort();
+       }
+
+       if (git_indexer_new(&indexer, ".", 0, odb, NULL) < 0) {
+               fprintf(stderr, "Failed to create the indexer: %s\n",
+                       git_error_last()->message);
+               abort();
+       }
+
+       /*
+        * If the first byte in the stream has the high bit set, append the
+        * SHA1 hash so that the packfile is somewhat valid.
+        */
+       append_hash = *data & 0x80;
+       ++data;
+       --size;
+
+       if (git_indexer_append(indexer, data, size, &stats) < 0)
+               goto cleanup;
+       if (append_hash) {
+               git_oid oid;
+               if (git_odb_hash(&oid, data, size, GIT_OBJECT_BLOB) < 0) {
+                       fprintf(stderr, "Failed to compute the SHA1 hash\n");
+                       abort();
+               }
+               if (git_indexer_append(indexer, &oid, sizeof(oid), &stats) < 0) {
+                       goto cleanup;
+               }
+       }
+       if (git_indexer_commit(indexer, &stats) < 0)
+               goto cleanup;
+
+       /*
+        * We made it! We managed to produce a valid packfile.
+        * Let's clean it up.
+        */
+       git_oid_fmt(hash, git_indexer_hash(indexer));
+       printf("Generated packfile %s\n", hash);
+       snprintf(path, sizeof(path), "pack-%s.idx", hash);
+       unlink(path);
+       snprintf(path, sizeof(path), "pack-%s.pack", hash);
+       unlink(path);
+
+cleanup:
+       git_mempack_reset(mempack);
+       git_indexer_free(indexer);
+       return 0;
+}
diff --git a/fuzzers/standalone_driver.c b/fuzzers/standalone_driver.c
new file mode 100644 (file)
index 0000000..000bfbf
--- /dev/null
@@ -0,0 +1,77 @@
+/*
+ * Copyright (C) the libgit2 contributors. All rights reserved.
+ *
+ * This file is part of libgit2, distributed under the GNU GPL v2 with
+ * a Linking Exception. For full terms see the included COPYING file.
+ */
+
+#include <assert.h>
+#include <dirent.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <sys/types.h>
+
+#include "git2.h"
+#include "fileops.h"
+#include "path.h"
+
+extern int LLVMFuzzerTestOneInput(const unsigned char *data, size_t size);
+extern int LLVMFuzzerInitialize(int *argc, char ***argv);
+
+static int run_one_file(const char *filename)
+{
+       git_buf buf = GIT_BUF_INIT;
+       int error = 0;
+
+       if (git_futils_readbuffer(&buf, filename) < 0) {
+               fprintf(stderr, "Failed to read %s: %m\n", filename);
+               error = -1;
+               goto exit;
+       }
+
+       LLVMFuzzerTestOneInput((const unsigned char *)buf.ptr, buf.size);
+exit:
+       git_buf_dispose(&buf);
+       return error;
+}
+
+int main(int argc, char **argv)
+{
+       git_vector corpus_files = GIT_VECTOR_INIT;
+       char *filename = NULL;
+       unsigned i = 0;
+       int error = 0;
+
+       if (git_libgit2_init() < 0) {
+               fprintf(stderr, "Failed to initialize libgit2\n");
+               abort();
+       }
+
+       if (argc != 2) {
+               fprintf(stderr, "Usage: %s <corpus directory>\n", argv[0]);
+               error = -1;
+               goto exit;
+       }
+
+       fprintf(stderr, "Running %s against %s\n", argv[0], argv[1]);
+       LLVMFuzzerInitialize(&argc, &argv);
+
+       if (git_path_dirload(&corpus_files, argv[1], 0, 0x0) < 0) {
+               fprintf(stderr, "Failed to scan corpus directory: %m\n");
+               error = -1;
+               goto exit;
+       }
+       git_vector_foreach(&corpus_files, i, filename) {
+               fprintf(stderr, "\tRunning %s...\n", filename);
+               if (run_one_file(filename) < 0) {
+                       error = -1;
+                       goto exit;
+               }
+       }
+       fprintf(stderr, "Done %d runs\n", i);
+
+exit:
+       git_vector_free_deep(&corpus_files);
+       git_libgit2_shutdown();
+       return error;
+}
index 3bc009fcc4f47476d0f3dad691079cea08d57597..905bdd24fa23c4d1a03e400a2ae8ecc639769da3 100644 (file)
@@ -46,6 +46,7 @@ ok    Brian Downing <bdowning@lavos.net>
 ok     Brian Gernhardt <benji@silverinsanity.com>
 ok     Christian Couder <chriscool@tuxfamily.org>
 ok     Daniel Barkalow <barkalow@iabervon.org>
+ok     Elijah Newren <newren@gmail.com>
 ok     Florian Forster <octo@verplant.org>
 ok     Gustaf Hendeby <hendeby@isy.liu.se>
 ok     Holger Weiss <holger@zedat.fu-berlin.de>
index 5f6104ef78863f68f7e0f5db72f3447dafd8bcd9..c07c26038d9e14f5473076ae8dc9cf13baf8bf60 100644 (file)
@@ -9,6 +9,7 @@
 #define INCLUDE_git_git_h__
 
 #include "git2/annotated_commit.h"
+#include "git2/apply.h"
 #include "git2/attr.h"
 #include "git2/blob.h"
 #include "git2/blame.h"
@@ -20,6 +21,7 @@
 #include "git2/commit.h"
 #include "git2/common.h"
 #include "git2/config.h"
+#include "git2/deprecated.h"
 #include "git2/describe.h"
 #include "git2/diff.h"
 #include "git2/errors.h"
@@ -29,6 +31,7 @@
 #include "git2/ignore.h"
 #include "git2/index.h"
 #include "git2/indexer.h"
+#include "git2/mailmap.h"
 #include "git2/merge.h"
 #include "git2/message.h"
 #include "git2/net.h"
index 7fb896a5faa86fe63c9b1f67f151f24d0e70e40b..fa795bfc48bd45f1ba59acfd2406b02fd6a377be 100644 (file)
@@ -103,6 +103,15 @@ GIT_EXTERN(int) git_annotated_commit_from_revspec(
 GIT_EXTERN(const git_oid *) git_annotated_commit_id(
        const git_annotated_commit *commit);
 
+/**
+ * Get the refname that the given `git_annotated_commit` refers to.
+ *
+ * @param commit the given annotated commit
+ * @return ref name.
+ */
+GIT_EXTERN(const char *) git_annotated_commit_ref(
+       const git_annotated_commit *commit);
+
 /**
  * Frees a `git_annotated_commit`.
  *
diff --git a/include/git2/apply.h b/include/git2/apply.h
new file mode 100644 (file)
index 0000000..91f93d7
--- /dev/null
@@ -0,0 +1,129 @@
+/*
+ * Copyright (C) the libgit2 contributors. All rights reserved.
+ *
+ * This file is part of libgit2, distributed under the GNU GPL v2 with
+ * a Linking Exception. For full terms see the included COPYING file.
+ */
+#ifndef INCLUDE_git_apply_h__
+#define INCLUDE_git_apply_h__
+
+#include "common.h"
+#include "types.h"
+#include "oid.h"
+#include "diff.h"
+
+/**
+ * @file git2/apply.h
+ * @brief Git patch application routines
+ * @defgroup git_apply Git patch application routines
+ * @ingroup Git
+ * @{
+ */
+GIT_BEGIN_DECL
+
+/**
+ * When applying a patch, callback that will be made per delta (file).
+ *
+ * When the callback:
+ * - returns < 0, the apply process will be aborted.
+ * - returns > 0, the delta will not be applied, but the apply process
+ *      continues
+ * - returns 0, the delta is applied, and the apply process continues.
+ *
+ * @param delta The delta to be applied
+ * @param payload User-specified payload
+ */
+typedef int GIT_CALLBACK(git_apply_delta_cb)(
+       const git_diff_delta *delta,
+       void *payload);
+
+/**
+ * When applying a patch, callback that will be made per hunk.
+ *
+ * When the callback:
+ * - returns < 0, the apply process will be aborted.
+ * - returns > 0, the hunk will not be applied, but the apply process
+ *      continues
+ * - returns 0, the hunk is applied, and the apply process continues.
+ *
+ * @param hunk The hunk to be applied
+ * @param payload User-specified payload
+ */
+typedef int GIT_CALLBACK(git_apply_hunk_cb)(
+       const git_diff_hunk *hunk,
+       void *payload);
+
+/**
+ * Apply options structure
+ *
+ * Initialize with `GIT_APPLY_OPTIONS_INIT`. Alternatively, you can
+ * use `git_apply_init_options`.
+ *
+ * @see git_apply_to_tree, git_apply
+ */
+typedef struct {
+       unsigned int version;
+
+       git_apply_delta_cb delta_cb;
+       git_apply_hunk_cb hunk_cb;
+       void *payload;
+} git_apply_options;
+
+#define GIT_APPLY_OPTIONS_VERSION 1
+#define GIT_APPLY_OPTIONS_INIT {GIT_APPLY_OPTIONS_VERSION}
+
+/**
+ * Apply a `git_diff` to a `git_tree`, and return the resulting image
+ * as an index.
+ *
+ * @param out the postimage of the application
+ * @param repo the repository to apply
+ * @param preimage the tree to apply the diff to
+ * @param diff the diff to apply
+ * @param options the options for the apply (or null for defaults)
+ */
+GIT_EXTERN(int) git_apply_to_tree(
+       git_index **out,
+       git_repository *repo,
+       git_tree *preimage,
+       git_diff *diff,
+       const git_apply_options *options);
+
+typedef enum {
+       /**
+        * Apply the patch to the workdir, leaving the index untouched.
+        * This is the equivalent of `git apply` with no location argument.
+        */
+       GIT_APPLY_LOCATION_WORKDIR = 0,
+
+       /**
+        * Apply the patch to the index, leaving the working directory
+        * untouched.  This is the equivalent of `git apply --cached`.
+        */
+       GIT_APPLY_LOCATION_INDEX = 1,
+
+       /**
+        * Apply the patch to both the working directory and the index.
+        * This is the equivalent of `git apply --index`.
+        */
+       GIT_APPLY_LOCATION_BOTH = 2,
+} git_apply_location_t;
+
+/**
+ * Apply a `git_diff` to the given repository, making changes directly
+ * in the working directory, the index, or both.
+ *
+ * @param repo the repository to apply to
+ * @param diff the diff to apply
+ * @param location the location to apply (workdir, index or both)
+ * @param options the options for the apply (or null for defaults)
+ */
+GIT_EXTERN(int) git_apply(
+       git_repository *repo,
+       git_diff *diff,
+       git_apply_location_t location,
+       const git_apply_options *options);
+
+/** @} */
+GIT_END_DECL
+#endif
index 0238f3dd70246be016440a51ff641457a1bd19d2..3752b99137afe73f40304371af223ecbbe8b85ea 100644 (file)
@@ -186,7 +186,23 @@ GIT_EXTERN(int) git_attr_get_many(
        size_t num_attr,
        const char **names);
 
-typedef int (*git_attr_foreach_cb)(const char *name, const char *value, void *payload);
+/**
+ * The callback used with git_attr_foreach.
+ *
+ * This callback will be invoked only once per attribute name, even if there
+ * are multiple rules for a given file. The highest priority rule will be
+ * used.
+ *
+ * @see git_attr_foreach.
+ *
+ * @param name The attribute name.
+ * @param value The attribute value. May be NULL if the attribute is explicitly
+ *              set to UNSPECIFIED using the '!' sign.
+ * @param payload A user-specified pointer.
+ * @return 0 to continue looping, non-zero to stop. This value will be returned
+ *         from git_attr_foreach.
+ */
+typedef int GIT_CALLBACK(git_attr_foreach_cb)(const char *name, const char *value, void *payload);
 
 /**
  * Loop over all the git attributes for a path.
@@ -196,13 +212,8 @@ typedef int (*git_attr_foreach_cb)(const char *name, const char *value, void *pa
  * @param path Path inside the repo to check attributes.  This does not have
  *             to exist, but if it does not, then it will be treated as a
  *             plain file (i.e. not a directory).
- * @param callback Function to invoke on each attribute name and value.  The
- *             value may be NULL is the attribute is explicitly set to
- *             UNSPECIFIED using the '!' sign.  Callback will be invoked
- *             only once per attribute name, even if there are multiple
- *             rules for a given file.  The highest priority rule will be
- *             used.  Return a non-zero value from this to stop looping.
- *             The value will be returned from `git_attr_foreach`.
+ * @param callback Function to invoke on each attribute name and value.
+ *                 See git_attr_foreach_cb.
  * @param payload Passed on as extra parameter to callback function.
  * @return 0 on success, non-zero callback return value, or error code
  */
index 84bb7f94cfc7985b4a6f25a32a9ece0bbfa4fb21..eef863f9ce17b4c5cf8cbe230c7b532355676d39 100644 (file)
@@ -43,38 +43,47 @@ typedef enum {
        /** Restrict the search of commits to those reachable following only the
         * first parents. */
        GIT_BLAME_FIRST_PARENT = (1<<4),
+       /** Use mailmap file to map author and committer names and email addresses
+        * to canonical real names and email addresses. The mailmap will be read
+        * from the working directory, or HEAD in a bare repository. */
+       GIT_BLAME_USE_MAILMAP = (1<<5),
 } git_blame_flag_t;
 
 /**
  * Blame options structure
  *
- * Use zeros to indicate default settings.  It's easiest to use the
- * `GIT_BLAME_OPTIONS_INIT` macro:
- *     git_blame_options opts = GIT_BLAME_OPTIONS_INIT;
+ * Initialize with `GIT_BLAME_OPTIONS_INIT`. Alternatively, you can
+ * use `git_blame_init_options`.
  *
- * - `flags` is a combination of the `git_blame_flag_t` values above.
- * - `min_match_characters` is the lower bound on the number of alphanumeric
- *   characters that must be detected as moving/copying within a file for it to
- *   associate those lines with the parent commit. The default value is 20.
- *   This value only takes effect if any of the `GIT_BLAME_TRACK_COPIES_*`
- *   flags are specified.
- * - `newest_commit` is the id of the newest commit to consider.  The default
- *                   is HEAD.
- * - `oldest_commit` is the id of the oldest commit to consider.  The default
- *                   is the first commit encountered with a NULL parent.
- *     - `min_line` is the first line in the file to blame.  The default is 1 (line
- *                  numbers start with 1).
- *     - `max_line` is the last line in the file to blame.  The default is the last
- *                  line of the file.
  */
 typedef struct git_blame_options {
        unsigned int version;
 
+       /** A combination of `git_blame_flag_t` */
        uint32_t flags;
+       /** The lower bound on the number of alphanumeric
+        *   characters that must be detected as moving/copying within a file for it to
+        *   associate those lines with the parent commit. The default value is 20.
+        *   This value only takes effect if any of the `GIT_BLAME_TRACK_COPIES_*`
+        *   flags are specified.
+        */
        uint16_t min_match_characters;
+       /** The id of the newest commit to consider. The default is HEAD. */
        git_oid newest_commit;
+       /**
+        * The id of the oldest commit to consider.
+        * The default is the first commit encountered with a NULL parent.
+        */
        git_oid oldest_commit;
+       /**
+        * The first line in the file to blame.
+        * The default is 1 (line numbers start with 1).
+        */
        size_t min_line;
+       /**
+        * The last line in the file to blame.
+        * The default is the last line of the file.
+        */
        size_t max_line;
 } git_blame_options;
 
@@ -82,11 +91,13 @@ typedef struct git_blame_options {
 #define GIT_BLAME_OPTIONS_INIT {GIT_BLAME_OPTIONS_VERSION}
 
 /**
- * Initializes a `git_blame_options` with default values. Equivalent to
- * creating an instance with GIT_BLAME_OPTIONS_INIT.
+ * Initialize git_blame_options structure
  *
- * @param opts The `git_blame_options` struct to initialize
- * @param version Version of struct; pass `GIT_BLAME_OPTIONS_VERSION`
+ * Initializes a `git_blame_options` with default values. Equivalent to creating
+ * an instance with GIT_BLAME_OPTIONS_INIT.
+ *
+ * @param opts The `git_blame_options` struct to initialize.
+ * @param version The struct version; pass `GIT_BLAME_OPTIONS_VERSION`.
  * @return Zero on success; -1 on failure.
  */
 GIT_EXTERN(int) git_blame_init_options(
@@ -101,6 +112,9 @@ GIT_EXTERN(int) git_blame_init_options(
  *   changed.
  * - `final_start_line_number` is the 1-based line number where this hunk
  *   begins, in the final version of the file
+ * - `final_signature` is the author of `final_commit_id`. If
+ *   `GIT_BLAME_USE_MAILMAP` has been specified, it will contain the canonical
+ *    real name and email address.
  * - `orig_commit_id` is the OID of the commit where this hunk was found.  This
  *   will usually be the same as `final_commit_id`, except when
  *   `GIT_BLAME_TRACK_COPIES_ANY_COMMIT_COPIES` has been specified.
@@ -109,6 +123,9 @@ GIT_EXTERN(int) git_blame_init_options(
  * - `orig_start_line_number` is the 1-based line number where this hunk begins
  *   in the file named by `orig_path` in the commit specified by
  *   `orig_commit_id`.
+ * - `orig_signature` is the author of `orig_commit_id`. If
+ *   `GIT_BLAME_USE_MAILMAP` has been specified, it will contain the canonical
+ *    real name and email address.
  * - `boundary` is 1 iff the hunk has been tracked to a boundary commit (the
  *   root, or the commit specified in git_blame_options.oldest_commit)
  */
@@ -128,7 +145,7 @@ typedef struct git_blame_hunk {
 } git_blame_hunk;
 
 
-/* Opaque structure to hold blame results */
+/** Opaque structure to hold blame results */
 typedef struct git_blame git_blame;
 
 /**
@@ -166,7 +183,7 @@ GIT_EXTERN(const git_blame_hunk*) git_blame_get_hunk_byline(
  * @param path path to file to consider
  * @param options options for the blame operation.  If NULL, this is treated as
  *                though GIT_BLAME_OPTIONS_INIT were passed.
- * @return 0 on success, or an error code. (use giterr_last for information
+ * @return 0 on success, or an error code. (use git_error_last for information
  *         about the error.)
  */
 GIT_EXTERN(int) git_blame_file(
@@ -190,7 +207,7 @@ GIT_EXTERN(int) git_blame_file(
  *                  from git_blame_file)
  * @param buffer the (possibly) modified contents of the file
  * @param buffer_len number of valid bytes in the buffer
- * @return 0 on success, or an error code. (use giterr_last for information
+ * @return 0 on success, or an error code. (use git_error_last for information
  *         about the error)
  */
 GIT_EXTERN(int) git_blame_buffer(
index 70204c440a63f0262569b32dbb4cc9d6a5e933b7..ff1a4818f914919f33f5216cafb667303b30b0d9 100644 (file)
@@ -105,7 +105,7 @@ GIT_EXTERN(git_off_t) git_blob_rawsize(const git_blob *blob);
  * attributes set for the blob and the content detected in it.
  *
  * The output is written into a `git_buf` which the caller must free
- * when done (via `git_buf_free`).
+ * when done (via `git_buf_dispose`).
  *
  * If no filters need to be applied, then the `out` buffer will just
  * be populated with a pointer to the raw content of the blob.  In
index 88fe723a0a5a52baab714054acc6487e9f4e2741..8a4ce29a999a971d63be333178f5fb6574b66158 100644 (file)
@@ -278,7 +278,7 @@ GIT_EXTERN(int) git_branch_remote_name(
 
 
 /**
- * Retrieve the name fo the upstream remote of a local branch
+ * Retrieve the name of the upstream remote of a local branch
  *
  * @param buf the buffer into which to write the name
  * @param repo the repository in which to look
index 9fc6a58055b54943b8837eb0a94ebc7f9e93f4c4..0027678b88793f4cded7c3e8f8f85824615a3d13 100644 (file)
@@ -25,7 +25,7 @@ GIT_BEGIN_DECL
  * caller and have the caller take responsibility for freeing that memory.
  * This can be awkward if the caller does not have easy access to the same
  * allocation functions that libgit2 is using.  In those cases, libgit2
- * will fill in a `git_buf` and the caller can use `git_buf_free()` to
+ * will fill in a `git_buf` and the caller can use `git_buf_dispose()` to
  * release it when they are done.
  *
  * A `git_buf` may also be used for the caller to pass in a reference to
@@ -69,7 +69,7 @@ typedef struct {
  *
  * @param buffer The buffer to deallocate
  */
-GIT_EXTERN(void) git_buf_free(git_buf *buffer);
+GIT_EXTERN(void) git_buf_dispose(git_buf *buffer);
 
 /**
  * Resize the buffer allocation to make more space.
index 4a9dbb0218f5a59dc7a04391674c9c963236409c..3fb3fc127f67f1088a7377074c4a23ad700ceac3 100644 (file)
@@ -67,7 +67,7 @@ GIT_BEGIN_DECL
  * To emulate `git checkout -f`, use `GIT_CHECKOUT_FORCE`.
  *
  *
- * There are some additional flags to modified the behavior of checkout:
+ * There are some additional flags to modify the behavior of checkout:
  *
  * - GIT_CHECKOUT_ALLOW_CONFLICTS makes SAFE mode apply safe file updates
  *   even if there are conflicts (instead of cancelling the checkout).
@@ -220,7 +220,7 @@ typedef struct {
 } git_checkout_perfdata;
 
 /** Checkout notification callback function */
-typedef int (*git_checkout_notify_cb)(
+typedef int GIT_CALLBACK(git_checkout_notify_cb)(
        git_checkout_notify_t why,
        const char *path,
        const git_diff_file *baseline,
@@ -229,29 +229,28 @@ typedef int (*git_checkout_notify_cb)(
        void *payload);
 
 /** Checkout progress notification function */
-typedef void (*git_checkout_progress_cb)(
+typedef void GIT_CALLBACK(git_checkout_progress_cb)(
        const char *path,
        size_t completed_steps,
        size_t total_steps,
        void *payload);
 
 /** Checkout perfdata notification function */
-typedef void (*git_checkout_perfdata_cb)(
+typedef void GIT_CALLBACK(git_checkout_perfdata_cb)(
        const git_checkout_perfdata *perfdata,
        void *payload);
 
 /**
  * Checkout options structure
  *
- * Zero out for defaults.  Initialize with `GIT_CHECKOUT_OPTIONS_INIT` macro to
- * correctly set the `version` field.  E.g.
+ * Initialize with `GIT_CHECKOUT_OPTIONS_INIT`. Alternatively, you can
+ * use `git_checkout_init_options`.
  *
- *             git_checkout_options opts = GIT_CHECKOUT_OPTIONS_INIT;
  */
 typedef struct git_checkout_options {
        unsigned int version;
 
-       unsigned int checkout_strategy; /**< default will be a dry run */
+       unsigned int checkout_strategy; /**< default will be a safe checkout */
 
        int disable_filters;    /**< don't apply filters like CRLF conversion */
        unsigned int dir_mode;  /**< default is 0755 */
@@ -295,16 +294,18 @@ typedef struct git_checkout_options {
 } git_checkout_options;
 
 #define GIT_CHECKOUT_OPTIONS_VERSION 1
-#define GIT_CHECKOUT_OPTIONS_INIT {GIT_CHECKOUT_OPTIONS_VERSION}
+#define GIT_CHECKOUT_OPTIONS_INIT {GIT_CHECKOUT_OPTIONS_VERSION, GIT_CHECKOUT_SAFE}
 
 /**
-* Initializes a `git_checkout_options` with default values. Equivalent to
-* creating an instance with GIT_CHECKOUT_OPTIONS_INIT.
-*
-* @param opts the `git_checkout_options` struct to initialize.
-* @param version Version of struct; pass `GIT_CHECKOUT_OPTIONS_VERSION`
-* @return Zero on success; -1 on failure.
-*/
+ * Initialize git_checkout_options structure
+ *
+ * Initializes a `git_checkout_options` with default values. Equivalent to creating
+ * an instance with GIT_CHECKOUT_OPTIONS_INIT.
+ *
+ * @param opts The `git_checkout_options` struct to initialize.
+ * @param version The struct version; pass `GIT_CHECKOUT_OPTIONS_VERSION`.
+ * @return Zero on success; -1 on failure.
+ */
 GIT_EXTERN(int) git_checkout_init_options(
        git_checkout_options *opts,
        unsigned int version);
@@ -324,7 +325,7 @@ GIT_EXTERN(int) git_checkout_init_options(
  * @param opts specifies checkout options (may be NULL)
  * @return 0 on success, GIT_EUNBORNBRANCH if HEAD points to a non
  *         existing branch, non-zero value returned by `notify_cb`, or
- *         other error code < 0 (use giterr_last for error details)
+ *         other error code < 0 (use git_error_last for error details)
  */
 GIT_EXTERN(int) git_checkout_head(
        git_repository *repo,
@@ -337,7 +338,7 @@ GIT_EXTERN(int) git_checkout_head(
  * @param index index to be checked out (or NULL to use repository index)
  * @param opts specifies checkout options (may be NULL)
  * @return 0 on success, non-zero return value from `notify_cb`, or error
- *         code < 0 (use giterr_last for error details)
+ *         code < 0 (use git_error_last for error details)
  */
 GIT_EXTERN(int) git_checkout_index(
        git_repository *repo,
@@ -353,7 +354,7 @@ GIT_EXTERN(int) git_checkout_index(
  * the working directory (or NULL to use HEAD)
  * @param opts specifies checkout options (may be NULL)
  * @return 0 on success, non-zero return value from `notify_cb`, or error
- *         code < 0 (use giterr_last for error details)
+ *         code < 0 (use git_error_last for error details)
  */
 GIT_EXTERN(int) git_checkout_tree(
        git_repository *repo,
index edec96a944baf25a8892da03d23c2dd238e3cbde..ca6f72075d4935ca2ced9ee5f5b0a17f66451f76 100644 (file)
@@ -37,11 +37,13 @@ typedef struct {
 #define GIT_CHERRYPICK_OPTIONS_INIT {GIT_CHERRYPICK_OPTIONS_VERSION, 0, GIT_MERGE_OPTIONS_INIT, GIT_CHECKOUT_OPTIONS_INIT}
 
 /**
- * Initializes a `git_cherrypick_options` with default values. Equivalent to
- * creating an instance with GIT_CHERRYPICK_OPTIONS_INIT.
+ * Initialize git_cherrypick_options structure
  *
- * @param opts the `git_cherrypick_options` struct to initialize
- * @param version Version of struct; pass `GIT_CHERRYPICK_OPTIONS_VERSION`
+ * Initializes a `git_cherrypick_options` with default values. Equivalent to creating
+ * an instance with GIT_CHERRYPICK_OPTIONS_INIT.
+ *
+ * @param opts The `git_cherrypick_options` struct to initialize.
+ * @param version The struct version; pass `GIT_CHERRYPICK_OPTIONS_VERSION`.
  * @return Zero on success; -1 on failure.
  */
 GIT_EXTERN(int) git_cherrypick_init_options(
index 9e23aaccb845bb6908f1ddb73e2a117886cea1af..790a82832e00564f2bc99fae880d6bd96961f380 100644 (file)
@@ -66,7 +66,7 @@ typedef enum {
  * @param payload an opaque payload
  * @return 0, GIT_EINVALIDSPEC, GIT_EEXISTS or an error code
  */
-typedef int (*git_remote_create_cb)(
+typedef int GIT_CALLBACK(git_remote_create_cb)(
        git_remote **out,
        git_repository *repo,
        const char *name,
@@ -87,7 +87,7 @@ typedef int (*git_remote_create_cb)(
  * @param payload payload specified by the options
  * @return 0, or a negative value to indicate error
  */
-typedef int (*git_repository_create_cb)(
+typedef int GIT_CALLBACK(git_repository_create_cb)(
        git_repository **out,
        const char *path,
        int bare,
@@ -96,9 +96,9 @@ typedef int (*git_repository_create_cb)(
 /**
  * Clone options structure
  *
- * Use the GIT_CLONE_OPTIONS_INIT to get the default settings, like this:
+ * Initialize with `GIT_CLONE_OPTIONS_INIT`. Alternatively, you can
+ * use `git_clone_init_options`.
  *
- *             git_clone_options opts = GIT_CLONE_OPTIONS_INIT;
  */
 typedef struct git_clone_options {
        unsigned int version;
@@ -169,11 +169,13 @@ typedef struct git_clone_options {
        GIT_FETCH_OPTIONS_INIT }
 
 /**
- * Initializes a `git_clone_options` with default values. Equivalent to
- * creating an instance with GIT_CLONE_OPTIONS_INIT.
+ * Initialize git_clone_options structure
  *
- * @param opts The `git_clone_options` struct to initialize
- * @param version Version of struct; pass `GIT_CLONE_OPTIONS_VERSION`
+ * Initializes a `git_clone_options` with default values. Equivalent to creating
+ * an instance with GIT_CLONE_OPTIONS_INIT.
+ *
+ * @param opts The `git_clone_options` struct to initialize.
+ * @param version The struct version; pass `GIT_CLONE_OPTIONS_VERSION`.
  * @return Zero on success; -1 on failure.
  */
 GIT_EXTERN(int) git_clone_init_options(
@@ -194,7 +196,7 @@ GIT_EXTERN(int) git_clone_init_options(
  *        function works as though GIT_OPTIONS_INIT were passed.
  * @return 0 on success, any non-zero return value from a callback
  *         function, or a negative value to indicate an error (use
- *         `giterr_last` for a detailed error message)
+ *         `git_error_last` for a detailed error message)
  */
 GIT_EXTERN(int) git_clone(
        git_repository **out,
index 692b3bdd92439eec756e19c42df750aac94ea6f4..7e0409cc7d527be6b23eed64f5e5e6ce4d3e35da 100644 (file)
@@ -172,6 +172,34 @@ GIT_EXTERN(const git_signature *) git_commit_committer(const git_commit *commit)
  */
 GIT_EXTERN(const git_signature *) git_commit_author(const git_commit *commit);
 
+/**
+ * Get the committer of a commit, using the mailmap to map names and email
+ * addresses to canonical real names and email addresses.
+ *
+ * Call `git_signature_free` to free the signature.
+ *
+ * @param out a pointer to store the resolved signature.
+ * @param commit a previously loaded commit.
+ * @param mailmap the mailmap to resolve with. (may be NULL)
+ * @return 0 or an error code
+ */
+GIT_EXTERN(int) git_commit_committer_with_mailmap(
+       git_signature **out, const git_commit *commit, const git_mailmap *mailmap);
+
+/**
+ * Get the author of a commit, using the mailmap to map names and email
+ * addresses to canonical real names and email addresses.
+ *
+ * Call `git_signature_free` to free the signature.
+ *
+ * @param out a pointer to store the resolved signature.
+ * @param commit a previously loaded commit.
+ * @param mailmap the mailmap to resolve with. (may be NULL)
+ * @return 0 or an error code
+ */
+GIT_EXTERN(int) git_commit_author_with_mailmap(
+       git_signature **out, const git_commit *commit, const git_mailmap *mailmap);
+
 /**
  * Get the full raw text of the commit header.
  *
@@ -268,8 +296,8 @@ GIT_EXTERN(int) git_commit_header_field(git_buf *out, const git_commit *commit,
  * Extract the signature from a commit
  *
  * If the id is not for a commit, the error class will be
- * `GITERR_INVALID`. If the commit does not have a signature, the
- * error class will be `GITERR_OBJECT`.
+ * `GIT_ERROR_INVALID`. If the commit does not have a signature, the
+ * error class will be `GIT_ERROR_OBJECT`.
  *
  * @param signature the signature block; existing content will be
  * overwritten
index f65cfdd01e838e5316552ad09ecc85f715b86e31..70c02a48cf998023c7c5c12208d4b0cb5e5e4105 100644 (file)
@@ -43,11 +43,30 @@ typedef size_t size_t;
                         __attribute__((visibility("default"))) \
                         type
 #elif defined(_MSC_VER)
-# define GIT_EXTERN(type) __declspec(dllexport) type
+# define GIT_EXTERN(type) __declspec(dllexport) type __cdecl
 #else
 # define GIT_EXTERN(type) extern type
 #endif
 
+/** Declare a callback function for application use. */
+#if defined(_MSC_VER)
+# define GIT_CALLBACK(name) (__cdecl *name)
+#else
+# define GIT_CALLBACK(name) (*name)
+#endif
+
+/** Declare a function as deprecated. */
+#if defined(__GNUC__)
+# define GIT_DEPRECATED(func) \
+                        __attribute__((deprecated)) \
+                        __attribute__((used)) \
+                        func
+#elif defined(_MSC_VER)
+# define GIT_DEPRECATED(func) __declspec(deprecated) func
+#else
+# define GIT_DEPRECATED(func) func
+#endif
+
 /** Declare a function's takes printf style arguments. */
 #ifdef __GNUC__
 # define GIT_FORMAT_PRINTF(a,b) __attribute__((format (printf, a, b)))
@@ -183,6 +202,10 @@ typedef enum {
        GIT_OPT_GET_WINDOWS_SHAREMODE,
        GIT_OPT_SET_WINDOWS_SHAREMODE,
        GIT_OPT_ENABLE_STRICT_HASH_VERIFICATION,
+       GIT_OPT_SET_ALLOCATOR,
+       GIT_OPT_ENABLE_UNSAVED_INDEX_SAFETY,
+       GIT_OPT_GET_PACK_MAX_OBJECTS,
+       GIT_OPT_SET_PACK_MAX_OBJECTS
 } git_libgit2_opt_t;
 
 /**
@@ -228,13 +251,13 @@ typedef enum {
  *             >   `GIT_CONFIG_LEVEL_GLOBAL`, `GIT_CONFIG_LEVEL_XDG`, or
  *             >   `GIT_CONFIG_LEVEL_PROGRAMDATA`.
  *
- *     * opts(GIT_OPT_SET_CACHE_OBJECT_LIMIT, git_otype type, size_t size)
+ *     * opts(GIT_OPT_SET_CACHE_OBJECT_LIMIT, git_object_t type, size_t size)
  *
  *             > Set the maximum data size for the given type of object to be
  *             > considered eligible for caching in memory.  Setting to value to
  *             > zero means that that type of object will not be cached.
- *             > Defaults to 0 for GIT_OBJ_BLOB (i.e. won't cache blobs) and 4k
- *             > for GIT_OBJ_COMMIT, GIT_OBJ_TREE, and GIT_OBJ_TAG.
+ *             > Defaults to 0 for GIT_OBJECT_BLOB (i.e. won't cache blobs) and 4k
+ *             > for GIT_OBJECT_COMMIT, GIT_OBJECT_TREE, and GIT_OBJECT_TAG.
  *
  *     * opts(GIT_OPT_SET_CACHE_MAX_SIZE, ssize_t max_storage_bytes)
  *
@@ -345,6 +368,33 @@ typedef enum {
  *             > additional checksum calculation on each object. This defaults
  *             > to enabled.
  *
+ *      opts(GIT_OPT_SET_ALLOCATOR, git_allocator *allocator)
+ *
+ *             > Set the memory allocator to a different memory allocator. This
+ *             > allocator will then be used to make all memory allocations for
+ *             > libgit2 operations.  If the given `allocator` is NULL, then the
+ *             > system default will be restored.
+ *
+ *      opts(GIT_OPT_ENABLE_UNSAVED_INDEX_SAFETY, int enabled)
+ *
+ *             > Ensure that there are no unsaved changes in the index before
+ *             > beginning any operation that reloads the index from disk (eg,
+ *             > checkout).  If there are unsaved changes, the instruction will
+ *             > fail.  (Using the FORCE flag to checkout will still overwrite
+ *             > these changes.)
+ *
+ *      opts(GIT_OPT_GET_PACK_MAX_OBJECTS, size_t *out)
+ *
+ *             > Get the maximum number of objects libgit2 will allow in a pack
+ *             > file when downloading a pack file from a remote. This can be
+ *             > used to limit maximum memory usage when fetching from an untrusted
+ *             > remote.
+ *
+ *      opts(GIT_OPT_SET_PACK_MAX_OBJECTS, size_t objects)
+ *
+ *             > Set the maximum number of objects libgit2 will allow in a pack
+ *             > file when downloading a pack file from a remote.
+ *
  * @param option Option key
  * @param ... value to set the option
  * @return 0 on success, <0 on failure
index d9da65b84335ff55cc0427e4ee13d2a5cf313a1a..0bea323b22ec1e069430ab1c308596bfc57ab1ff 100644 (file)
@@ -64,8 +64,9 @@ typedef enum {
 typedef struct git_config_entry {
        const char *name; /**< Name of the entry (normalised) */
        const char *value; /**< String value of the entry */
+       unsigned int include_depth; /**< Depth of includes where this variable was found */
        git_config_level_t level; /**< Which config file this was found in */
-       void (*free)(struct git_config_entry *entry); /**< Free function for this entry */
+       void GIT_CALLBACK(free)(struct git_config_entry *entry); /**< Free function for this entry */
        void *payload; /**< Opaque value for the free function. Do not read or write */
 } git_config_entry;
 
@@ -74,7 +75,17 @@ typedef struct git_config_entry {
  */
 GIT_EXTERN(void) git_config_entry_free(git_config_entry *);
 
-typedef int  (*git_config_foreach_cb)(const git_config_entry *, void *);
+/**
+ * A config enumeration callback
+ *
+ * @param entry the entry currently being enumerated
+ * @param payload a user-specified pointer
+ */
+typedef int GIT_CALLBACK(git_config_foreach_cb)(const git_config_entry *entry, void *payload);
+
+/**
+ * An opaque structure for a configuration iterator
+ */
 typedef struct git_config_iterator git_config_iterator;
 
 /**
@@ -251,7 +262,7 @@ GIT_EXTERN(int) git_config_open_level(
  * Open the global/XDG configuration file according to git's rules
  *
  * Git allows you to store your global configuration at
- * `$HOME/.config` or `$XDG_CONFIG_HOME/git/config`. For backwards
+ * `$HOME/.gitconfig` or `$XDG_CONFIG_HOME/git/config`. For backwards
  * compatability, the XDG file shouldn't be used unless the use has
  * created it explicitly. With this function you'll open the correct
  * one to write to.
@@ -580,7 +591,7 @@ GIT_EXTERN(int) git_config_iterator_glob_new(git_config_iterator **out, const gi
 /**
  * Perform an operation on each config variable matching a regular expression.
  *
- * This behaviors like `git_config_foreach` with an additional filter of a
+ * This behaves like `git_config_foreach` with an additional filter of a
  * regular expression that filters which config keys are passed to the
  * callback.
  *
@@ -710,11 +721,11 @@ GIT_EXTERN(int) git_config_parse_int64(int64_t *out, const char *value);
 GIT_EXTERN(int) git_config_parse_path(git_buf *out, const char *value);
 
 /**
- * Perform an operation on each config variable in given config backend
+ * Perform an operation on each config variable in a given config backend,
  * matching a regular expression.
  *
- * This behaviors like `git_config_foreach_match` except instead of all config
- * entries it just enumerates through the given backend entry.
+ * This behaves like `git_config_foreach_match` except that only config
+ * entries from the given backend entry are enumerated.
  *
  * The regular expression is applied case-sensitively on the normalized form of
  * the variable name: the section and variable parts are lower-cased. The
diff --git a/include/git2/deprecated.h b/include/git2/deprecated.h
new file mode 100644 (file)
index 0000000..9d3a091
--- /dev/null
@@ -0,0 +1,253 @@
+/*
+ * Copyright (C) the libgit2 contributors. All rights reserved.
+ *
+ * This file is part of libgit2, distributed under the GNU GPL v2 with
+ * a Linking Exception. For full terms see the included COPYING file.
+ */
+#ifndef INCLUDE_git_deprecated_h__
+#define INCLUDE_git_deprecated_h__
+
+#include "common.h"
+#include "buffer.h"
+#include "errors.h"
+#include "index.h"
+#include "object.h"
+#include "refs.h"
+
+/*
+ * Users can avoid deprecated functions by defining `GIT_DEPRECATE_HARD`.
+ */
+#ifndef GIT_DEPRECATE_HARD
+
+/**
+ * @file git2/deprecated.h
+ * @brief libgit2 deprecated functions and values
+ * @ingroup Git
+ * @{
+ */
+GIT_BEGIN_DECL
+
+/** @name Deprecated Buffer Functions
+ *
+ * These functions and enumeration values are retained for backward
+ * compatibility.  The newer versions of these functions should be
+ * preferred in all new code.
+ *
+ * There is no plan to remove these backward compatibility values at
+ * this time.
+ */
+/**@{*/
+
+/**
+ * Free the memory referred to by the git_buf.  This is an alias of
+ * `git_buf_dispose` and is preserved for backward compatibility.
+ *
+ * This function is deprecated, but there is no plan to remove this
+ * function at this time.
+ *
+ * @deprecated Use git_buf_dispose
+ * @see git_buf_dispose
+ */
+GIT_EXTERN(void) git_buf_free(git_buf *buffer);
+
+/**@}*/
+
+/** @name Deprecated Error Functions and Constants
+ *
+ * These functions and enumeration values are retained for backward
+ * compatibility.  The newer versions of these functions and values
+ * should be preferred in all new code.
+ *
+ * There is no plan to remove these backward compatibility values at
+ * this time.
+ */
+/**@{*/
+
+#define GITERR_NONE GIT_ERROR_NONE
+#define GITERR_NOMEMORY GIT_ERROR_NOMEMORY
+#define GITERR_OS GIT_ERROR_OS
+#define GITERR_INVALID GIT_ERROR_INVALID
+#define GITERR_REFERENCE GIT_ERROR_REFERENCE
+#define GITERR_ZLIB GIT_ERROR_ZLIB
+#define GITERR_REPOSITORY GIT_ERROR_REPOSITORY
+#define GITERR_CONFIG GIT_ERROR_CONFIG
+#define GITERR_REGEX GIT_ERROR_REGEX
+#define GITERR_ODB GIT_ERROR_ODB
+#define GITERR_INDEX GIT_ERROR_INDEX
+#define GITERR_OBJECT GIT_ERROR_OBJECT
+#define GITERR_NET GIT_ERROR_NET
+#define GITERR_TAG GIT_ERROR_TAG
+#define GITERR_TREE GIT_ERROR_TREE
+#define GITERR_INDEXER GIT_ERROR_INDEXER
+#define GITERR_SSL GIT_ERROR_SSL
+#define GITERR_SUBMODULE GIT_ERROR_SUBMODULE
+#define GITERR_THREAD GIT_ERROR_THREAD
+#define GITERR_STASH GIT_ERROR_STASH
+#define GITERR_CHECKOUT GIT_ERROR_CHECKOUT
+#define GITERR_FETCHHEAD GIT_ERROR_FETCHHEAD
+#define GITERR_MERGE GIT_ERROR_MERGE
+#define GITERR_SSH GIT_ERROR_SSH
+#define GITERR_FILTER GIT_ERROR_FILTER
+#define GITERR_REVERT GIT_ERROR_REVERT
+#define GITERR_CALLBACK GIT_ERROR_CALLBACK
+#define GITERR_CHERRYPICK GIT_ERROR_CHERRYPICK
+#define GITERR_DESCRIBE GIT_ERROR_DESCRIBE
+#define GITERR_REBASE GIT_ERROR_REBASE
+#define GITERR_FILESYSTEM GIT_ERROR_FILESYSTEM
+#define GITERR_PATCH GIT_ERROR_PATCH
+#define GITERR_WORKTREE GIT_ERROR_WORKTREE
+#define GITERR_SHA1 GIT_ERROR_SHA1
+
+/**
+ * Return the last `git_error` object that was generated for the
+ * current thread.  This is an alias of `git_error_last` and is
+ * preserved for backward compatibility.
+ *
+ * This function is deprecated, but there is no plan to remove this
+ * function at this time.
+ *
+ * @deprecated Use git_error_last
+ * @see git_error_last
+ */
+GIT_EXTERN(const git_error *) giterr_last(void);
+
+/**
+ * Clear the last error.  This is an alias of `git_error_last` and is
+ * preserved for backward compatibility.
+ *
+ * This function is deprecated, but there is no plan to remove this
+ * function at this time.
+ *
+ * @deprecated Use git_error_clear
+ * @see git_error_clear
+ */
+GIT_EXTERN(void) giterr_clear(void);
+
+/**
+ * Sets the error message to the given string.  This is an alias of
+ * `git_error_set_str` and is preserved for backward compatibility.
+ *
+ * This function is deprecated, but there is no plan to remove this
+ * function at this time.
+ *
+ * @deprecated Use git_error_set_str
+ * @see git_error_set_str
+ */
+GIT_EXTERN(void) giterr_set_str(int error_class, const char *string);
+
+/**
+ * Indicates that an out-of-memory situation occured.  This is an alias
+ * of `git_error_set_oom` and is preserved for backward compatibility.
+ *
+ * This function is deprecated, but there is no plan to remove this
+ * function at this time.
+ *
+ * @deprecated Use git_error_set_oom
+ * @see git_error_set_oom
+ */
+GIT_EXTERN(void) giterr_set_oom(void);
+
+/**@}*/
+
+/** @name Deprecated Index Constants
+ *
+ * These enumeration values are retained for backward compatibility.
+ * The newer versions of these values should be preferred in all new code.
+ *
+ * There is no plan to remove these backward compatibility values at
+ * this time.
+ */
+/**@{*/
+
+#define GIT_IDXENTRY_NAMEMASK          GIT_INDEX_ENTRY_NAMEMASK
+#define GIT_IDXENTRY_STAGEMASK         GIT_INDEX_ENTRY_STAGEMASK
+#define GIT_IDXENTRY_STAGESHIFT        GIT_INDEX_ENTRY_STAGESHIFT
+
+/* The git_indxentry_flag_t enum */
+#define GIT_IDXENTRY_EXTENDED          GIT_INDEX_ENTRY_EXTENDED
+#define GIT_IDXENTRY_VALID             GIT_INDEX_ENTRY_VALID
+
+#define GIT_IDXENTRY_STAGE(E)          GIT_INDEX_ENTRY_STAGE(E)
+#define GIT_IDXENTRY_STAGE_SET(E,S)    GIT_INDEX_ENTRY_STAGE_SET(E,S)
+
+/* The git_idxentry_extended_flag_t enum */
+#define GIT_IDXENTRY_INTENT_TO_ADD     GIT_INDEX_ENTRY_INTENT_TO_ADD
+#define GIT_IDXENTRY_SKIP_WORKTREE     GIT_INDEX_ENTRY_SKIP_WORKTREE
+#define GIT_IDXENTRY_EXTENDED_FLAGS    (GIT_INDEX_ENTRY_INTENT_TO_ADD | GIT_INDEX_ENTRY_SKIP_WORKTREE)
+#define GIT_IDXENTRY_EXTENDED2         (1 << 15)
+#define GIT_IDXENTRY_UPDATE            (1 << 0)
+#define GIT_IDXENTRY_REMOVE            (1 << 1)
+#define GIT_IDXENTRY_UPTODATE          (1 << 2)
+#define GIT_IDXENTRY_ADDED             (1 << 3)
+#define GIT_IDXENTRY_HASHED            (1 << 4)
+#define GIT_IDXENTRY_UNHASHED          (1 << 5)
+#define GIT_IDXENTRY_WT_REMOVE         (1 << 6)
+#define GIT_IDXENTRY_CONFLICTED        (1 << 7)
+#define GIT_IDXENTRY_UNPACKED          (1 << 8)
+#define GIT_IDXENTRY_NEW_SKIP_WORKTREE (1 << 9)
+
+/* The git_index_capability_t enum */
+#define GIT_INDEXCAP_IGNORE_CASE       GIT_INDEX_CAPABILITY_IGNORE_CASE
+#define GIT_INDEXCAP_NO_FILEMODE       GIT_INDEX_CAPABILITY_NO_FILEMODE
+#define GIT_INDEXCAP_NO_SYMLINKS       GIT_INDEX_CAPABILITY_NO_SYMLINKS
+#define GIT_INDEXCAP_FROM_OWNER        GIT_INDEX_CAPABILITY_FROM_OWNER
+
+/**@}*/
+
+/** @name Deprecated Object Constants
+ *
+ * These enumeration values are retained for backward compatibility.  The
+ * newer versions of these values should be preferred in all new code.
+ *
+ * There is no plan to remove these backward compatibility values at
+ * this time.
+ */
+/**@{*/
+
+#define git_otype git_object_t
+
+#define GIT_OBJ_ANY GIT_OBJECT_ANY
+#define GIT_OBJ_BAD GIT_OBJECT_INVALID
+#define GIT_OBJ__EXT1 0
+#define GIT_OBJ_COMMIT GIT_OBJECT_COMMIT
+#define GIT_OBJ_TREE GIT_OBJECT_TREE
+#define GIT_OBJ_BLOB GIT_OBJECT_BLOB
+#define GIT_OBJ_TAG GIT_OBJECT_TAG
+#define GIT_OBJ__EXT2 5
+#define GIT_OBJ_OFS_DELTA GIT_OBJECT_OFS_DELTA
+#define GIT_OBJ_REF_DELTA GIT_OBJECT_REF_DELTA
+
+/**@}*/
+
+/** @name Deprecated Reference Constants
+ *
+ * These enumeration values are retained for backward compatibility.  The
+ * newer versions of these values should be preferred in all new code.
+ *
+ * There is no plan to remove these backward compatibility values at
+ * this time.
+ */
+/**@{*/
+
+ /** Basic type of any Git reference. */
+#define git_ref_t git_reference_t
+#define git_reference_normalize_t git_reference_format_t
+
+#define GIT_REF_INVALID GIT_REFERENCE_INVALID
+#define GIT_REF_OID GIT_REFERENCE_DIRECT
+#define GIT_REF_SYMBOLIC GIT_REFERENCE_SYMBOLIC
+#define GIT_REF_LISTALL GIT_REFERENCE_ALL
+
+#define GIT_REF_FORMAT_NORMAL GIT_REFERENCE_FORMAT_NORMAL
+#define GIT_REF_FORMAT_ALLOW_ONELEVEL GIT_REFERENCE_FORMAT_ALLOW_ONELEVEL
+#define GIT_REF_FORMAT_REFSPEC_PATTERN GIT_REFERENCE_FORMAT_REFSPEC_PATTERN
+#define GIT_REF_FORMAT_REFSPEC_SHORTHAND GIT_REFERENCE_FORMAT_REFSPEC_SHORTHAND
+
+/**@}*/
+
+/** @} */
+GIT_END_DECL
+
+#endif
+
+#endif
index 63de7e18ce284d1957d527e60cff519a21e34ef1..56f119b2d2673e37a906d9791bf02219a3204b54 100644 (file)
@@ -36,10 +36,9 @@ typedef enum {
 /**
  * Describe options structure
  *
- * Initialize with `GIT_DESCRIBE_OPTIONS_INIT` macro to correctly set
- * the `version` field.  E.g.
+ * Initialize with `GIT_DESCRIBE_OPTIONS_INIT`. Alternatively, you can
+ * use `git_describe_init_options`.
  *
- *             git_describe_options opts = GIT_DESCRIBE_OPTIONS_INIT;
  */
 typedef struct git_describe_options {
        unsigned int version;
@@ -70,10 +69,24 @@ typedef struct git_describe_options {
        GIT_DESCRIBE_DEFAULT_MAX_CANDIDATES_TAGS, \
 }
 
+/**
+ * Initialize git_describe_options structure
+ *
+ * Initializes a `git_describe_options` with default values. Equivalent to creating
+ * an instance with GIT_DESCRIBE_OPTIONS_INIT.
+ *
+ * @param opts The `git_describe_options` struct to initialize.
+ * @param version The struct version; pass `GIT_DESCRIBE_OPTIONS_VERSION`.
+ * @return Zero on success; -1 on failure.
+ */
 GIT_EXTERN(int) git_describe_init_options(git_describe_options *opts, unsigned int version);
 
 /**
- * Options for formatting the describe string
+ * Describe format options structure
+ *
+ * Initialize with `GIT_DESCRIBE_FORMAT_OPTIONS_INIT`. Alternatively, you can
+ * use `git_describe_format_init_options`.
+ *
  */
 typedef struct {
        unsigned int version;
@@ -103,6 +116,16 @@ typedef struct {
                GIT_DESCRIBE_DEFAULT_ABBREVIATED_SIZE, \
  }
 
+/**
+ * Initialize git_describe_format_options structure
+ *
+ * Initializes a `git_describe_format_options` with default values. Equivalent to creating
+ * an instance with GIT_DESCRIBE_FORMAT_OPTIONS_INIT.
+ *
+ * @param opts The `git_describe_format_options` struct to initialize.
+ * @param version The struct version; pass `GIT_DESCRIBE_FORMAT_OPTIONS_VERSION`.
+ * @return Zero on success; -1 on failure.
+ */
 GIT_EXTERN(int) git_describe_init_format_options(git_describe_format_options *opts, unsigned int version);
 
 /**
@@ -118,7 +141,7 @@ typedef struct git_describe_result git_describe_result;
  * @param result pointer to store the result. You must free this once
  * you're done with it.
  * @param committish a committish to describe
- * @param opts the lookup options
+ * @param opts the lookup options (or NULL for defaults)
  */
 GIT_EXTERN(int) git_describe_commit(
        git_describe_result **result,
@@ -135,7 +158,7 @@ GIT_EXTERN(int) git_describe_commit(
  * @param out pointer to store the result. You must free this once
  * you're done with it.
  * @param repo the repository in which to perform the describe
- * @param opts the lookup options
+ * @param opts the lookup options (or NULL for defaults)
  */
 GIT_EXTERN(int) git_describe_workdir(
        git_describe_result **out,
@@ -148,7 +171,7 @@ GIT_EXTERN(int) git_describe_workdir(
  * @param out The buffer to store the result
  * @param result the result from `git_describe_commit()` or
  * `git_describe_workdir()`.
- * @param opts the formatting options
+ * @param opts the formatting options (or NULL for defaults)
  */
 GIT_EXTERN(int) git_describe_format(
        git_buf *out,
index 86009f5839213962f84a3151a3ebac4c05959f0d..b920385eea41fa8c5013bb23fd0014587cd33ca0 100644 (file)
 /**
  * @file git2/diff.h
  * @brief Git tree and file differencing routines.
- *
- * Overview
- * --------
- *
- * Calculating diffs is generally done in two phases: building a list of
- * diffs then traversing it.  This makes is easier to share logic across
- * the various types of diffs (tree vs tree, workdir vs index, etc.), and
- * also allows you to insert optional diff post-processing phases,
- * such as rename detection, in between the steps.  When you are done with
- * a diff object, it must be freed.
- *
- * Terminology
- * -----------
- *
- * To understand the diff APIs, you should know the following terms:
- *
- * - A `diff` represents the cumulative list of differences between two
- *   snapshots of a repository (possibly filtered by a set of file name
- *   patterns).  This is the `git_diff` object.
- *
- * - A `delta` is a file pair with an old and new revision.  The old version
- *   may be absent if the file was just created and the new version may be
- *   absent if the file was deleted.  A diff is mostly just a list of deltas.
- *
- * - A `binary` file / delta is a file (or pair) for which no text diffs
- *   should be generated.  A diff can contain delta entries that are
- *   binary, but no diff content will be output for those files.  There is
- *   a base heuristic for binary detection and you can further tune the
- *   behavior with git attributes or diff flags and option settings.
- *
- * - A `hunk` is a span of modified lines in a delta along with some stable
- *   surrounding context.  You can configure the amount of context and other
- *   properties of how hunks are generated.  Each hunk also comes with a
- *   header that described where it starts and ends in both the old and new
- *   versions in the delta.
- *
- * - A `line` is a range of characters inside a hunk.  It could be a context
- *   line (i.e. in both old and new versions), an added line (i.e. only in
- *   the new version), or a removed line (i.e. only in the old version).
- *   Unfortunately, we don't know anything about the encoding of data in the
- *   file being diffed, so we cannot tell you much about the line content.
- *   Line data will not be NUL-byte terminated, however, because it will be
- *   just a span of bytes inside the larger file.
- *
  * @ingroup Git
  * @{
  */
@@ -171,6 +127,12 @@ typedef enum {
         * Options controlling how output will be generated
         */
 
+       /** Use a heuristic that takes indentation and whitespace into account
+        * which generally can produce better diffs when dealing with ambiguous
+        * diff hunks.
+        */
+       GIT_DIFF_INDENT_HEURISTIC = (1u << 18),
+
        /** Treat all files as text, disabling binary attributes & detection */
        GIT_DIFF_FORCE_TEXT = (1u << 20),
        /** Treat all files as binary, disabling text diffs */
@@ -206,21 +168,27 @@ typedef enum {
         *  can apply given diff information to binary files.
         */
        GIT_DIFF_SHOW_BINARY = (1u << 30),
-
-       /** Use a heuristic that takes indentation and whitespace into account
-        * which generally can produce better diffs when dealing with ambiguous
-        * diff hunks.
-        */
-       GIT_DIFF_INDENT_HEURISTIC = (1u << 31),
 } git_diff_option_t;
 
 /**
  * The diff object that contains all individual file deltas.
  *
+ * A `diff` represents the cumulative list of differences between two
+ * snapshots of a repository (possibly filtered by a set of file name
+ * patterns).
+ *
+ * Calculating diffs is generally done in two phases: building a list of
+ * diffs then traversing it. This makes is easier to share logic across
+ * the various types of diffs (tree vs tree, workdir vs index, etc.), and
+ * also allows you to insert optional diff post-processing phases,
+ * such as rename detection, in between the steps. When you are done with
+ * a diff object, it must be freed.
+ *
  * This is an opaque structure which will be allocated by one of the diff
- * generator functions below (such as `git_diff_tree_to_tree`).  You are
+ * generator functions below (such as `git_diff_tree_to_tree`). You are
  * responsible for releasing the object memory when done, using the
  * `git_diff_free()` function.
+ *
  */
 typedef struct git_diff git_diff;
 
@@ -301,6 +269,10 @@ typedef struct {
 /**
  * Description of changes to one entry.
  *
+ * A `delta` is a file pair with an old and new revision.  The old version
+ * may be absent if the file was just created and the new version may be
+ * absent if the file was deleted.  A diff is mostly just a list of deltas.
+ *
  * When iterating over a diff, this will be passed to most callbacks and
  * you can use the contents to understand exactly what has changed.
  *
@@ -346,7 +318,7 @@ typedef struct {
 /**
  * Diff notification callback function.
  *
- * The callback will be called for each file, just before the `git_delta_t`
+ * The callback will be called for each file, just before the `git_diff_delta`
  * gets inserted into the diff.
  *
  * When the callback:
@@ -356,7 +328,7 @@ typedef struct {
  * - returns 0, the delta is inserted into the diff, and the diff process
  *             continues.
  */
-typedef int (*git_diff_notify_cb)(
+typedef int GIT_CALLBACK(git_diff_notify_cb)(
        const git_diff *diff_so_far,
        const git_diff_delta *delta_to_add,
        const char *matched_pathspec,
@@ -372,7 +344,7 @@ typedef int (*git_diff_notify_cb)(
  * @param new_path The path to the new file or NULL.
  * @return Non-zero to abort the diff.
  */
-typedef int (*git_diff_progress_cb)(
+typedef int GIT_CALLBACK(git_diff_progress_cb)(
        const git_diff *diff_so_far,
        const char *old_path,
        const char *new_path,
@@ -385,46 +357,79 @@ typedef int (*git_diff_progress_cb)(
  * values.  Similarly, passing NULL for the options structure will
  * give the defaults.  The default values are marked below.
  *
- * - `flags` is a combination of the `git_diff_option_t` values above
- * - `context_lines` is the number of unchanged lines that define the
- *    boundary of a hunk (and to display before and after)
- * - `interhunk_lines` is the maximum number of unchanged lines between
- *    hunk boundaries before the hunks will be merged into a one.
- * - `old_prefix` is the virtual "directory" to prefix to old file names
- *   in hunk headers (default "a")
- * - `new_prefix` is the virtual "directory" to prefix to new file names
- *   in hunk headers (default "b")
- * - `pathspec` is an array of paths / fnmatch patterns to constrain diff
- * - `max_size` is a file size (in bytes) above which a blob will be marked
- *   as binary automatically; pass a negative value to disable.
- * - `notify_cb` is an optional callback function, notifying the consumer of
- *   changes to the diff as new deltas are added.
- * - `progress_cb` is an optional callback function, notifying the consumer of
- *   which files are being examined as the diff is generated.
- * - `payload` is the payload to pass to the callback functions.
- * - `ignore_submodules` overrides the submodule ignore setting for all
- *   submodules in the diff.
  */
 typedef struct {
        unsigned int version;      /**< version for the struct */
-       uint32_t flags;            /**< defaults to GIT_DIFF_NORMAL */
+
+       /**
+        * A combination of `git_diff_option_t` values above.
+        * Defaults to GIT_DIFF_NORMAL
+        */
+       uint32_t flags;
 
        /* options controlling which files are in the diff */
 
-       git_submodule_ignore_t ignore_submodules; /**< submodule ignore rule */
-       git_strarray       pathspec;     /**< defaults to include all paths */
+       /** Overrides the submodule ignore setting for all submodules in the diff. */
+       git_submodule_ignore_t ignore_submodules;
+
+       /**
+        * An array of paths / fnmatch patterns to constrain diff.
+        * All paths are included by default.
+        */
+       git_strarray       pathspec;
+
+       /**
+        * An optional callback function, notifying the consumer of changes to
+        * the diff as new deltas are added.
+        */
        git_diff_notify_cb   notify_cb;
+
+       /**
+        * An optional callback function, notifying the consumer of which files
+        * are being examined as the diff is generated.
+        */
        git_diff_progress_cb progress_cb;
+
+       /** The payload to pass to the callback functions. */
        void                *payload;
 
        /* options controlling how to diff text is generated */
 
-       uint32_t    context_lines;    /**< defaults to 3 */
-       uint32_t    interhunk_lines;  /**< defaults to 0 */
-       uint16_t    id_abbrev;       /**< default 'core.abbrev' or 7 if unset */
-       git_off_t   max_size;         /**< defaults to 512MB */
-       const char *old_prefix;       /**< defaults to "a" */
-       const char *new_prefix;       /**< defaults to "b" */
+       /**
+        * The number of unchanged lines that define the boundary of a hunk
+        * (and to display before and after). Defaults to 3.
+        */
+       uint32_t    context_lines;
+       /**
+        * The maximum number of unchanged lines between hunk boundaries before
+        * the hunks will be merged into one. Defaults to 0.
+        */
+       uint32_t    interhunk_lines;
+
+       /**
+        * The abbreviation length to use when formatting object ids.
+        * Defaults to the value of 'core.abbrev' from the config, or 7 if unset.
+        */
+       uint16_t    id_abbrev;
+
+       /**
+        * A size (in bytes) above which a blob will be marked as binary
+        * automatically; pass a negative value to disable.
+        * Defaults to 512MB.
+        */
+       git_off_t   max_size;
+
+       /**
+        * The virtual "directory" prefix for old file names in hunk headers.
+        * Default is "a".
+        */
+       const char *old_prefix;
+
+       /**
+        * The virtual "directory" prefix for new file names in hunk headers.
+        * Defaults to "b".
+        */
+       const char *new_prefix;
 } git_diff_options;
 
 /* The current version of the diff options structure */
@@ -437,11 +442,13 @@ typedef struct {
        {GIT_DIFF_OPTIONS_VERSION, 0, GIT_SUBMODULE_IGNORE_UNSPECIFIED, {NULL,0}, NULL, NULL, NULL, 3}
 
 /**
- * Initializes a `git_diff_options` with default values. Equivalent to
- * creating an instance with GIT_DIFF_OPTIONS_INIT.
+ * Initialize git_diff_options structure
+ *
+ * Initializes a `git_diff_options` with default values. Equivalent to creating
+ * an instance with GIT_DIFF_OPTIONS_INIT.
  *
- * @param opts The `git_diff_options` struct to initialize
- * @param version Version of struct; pass `GIT_DIFF_OPTIONS_VERSION`
+ * @param opts The `git_diff_options` struct to initialize.
+ * @param version The struct version; pass `GIT_DIFF_OPTIONS_VERSION`.
  * @return Zero on success; -1 on failure.
  */
 GIT_EXTERN(int) git_diff_init_options(
@@ -455,7 +462,7 @@ GIT_EXTERN(int) git_diff_init_options(
  * @param progress Goes from 0 to 1 over the diff
  * @param payload User-specified pointer from foreach function
  */
-typedef int (*git_diff_file_cb)(
+typedef int GIT_CALLBACK(git_diff_file_cb)(
        const git_diff_delta *delta,
        float progress,
        void *payload);
@@ -494,12 +501,21 @@ typedef struct {
        size_t inflatedlen;
 } git_diff_binary_file;
 
-/** Structure describing the binary contents of a diff. */
+/**
+ * Structure describing the binary contents of a diff.
+ *
+ * A `binary` file / delta is a file (or pair) for which no text diffs
+ * should be generated. A diff can contain delta entries that are
+ * binary, but no diff content will be output for those files. There is
+ * a base heuristic for binary detection and you can further tune the
+ * behavior with git attributes or diff flags and option settings.
+ */
 typedef struct {
        /**
-        * Whether there is data in this binary structure or not.  If this
-        * is `1`, then this was produced and included binary content.  If
-        * this is `0` then this was generated knowing only that a binary
+        * Whether there is data in this binary structure or not.
+        *
+        * If this is `1`, then this was produced and included binary content.
+        * If this is `0` then this was generated knowing only that a binary
         * file changed but without providing the data, probably from a patch
         * that said `Binary files a/file.txt and b/file.txt differ`.
         */
@@ -509,16 +525,22 @@ typedef struct {
 } git_diff_binary;
 
 /**
-* When iterating over a diff, callback that will be made for
-* binary content within the diff.
-*/
-typedef int(*git_diff_binary_cb)(
+ * When iterating over a diff, callback that will be made for
+ * binary content within the diff.
+ */
+typedef int GIT_CALLBACK(git_diff_binary_cb)(
        const git_diff_delta *delta,
        const git_diff_binary *binary,
        void *payload);
 
 /**
  * Structure describing a hunk of a diff.
+ *
+ * A `hunk` is a span of modified lines in a delta along with some stable
+ * surrounding context. You can configure the amount of context and other
+ * properties of how hunks are generated. Each hunk also comes with a
+ * header that described where it starts and ends in both the old and new
+ * versions in the delta.
  */
 typedef struct {
        int    old_start;     /**< Starting line number in old_file */
@@ -532,7 +554,7 @@ typedef struct {
 /**
  * When iterating over a diff, callback that will be made per hunk.
  */
-typedef int (*git_diff_hunk_cb)(
+typedef int GIT_CALLBACK(git_diff_hunk_cb)(
        const git_diff_delta *delta,
        const git_diff_hunk *hunk,
        void *payload);
@@ -566,6 +588,14 @@ typedef enum {
 
 /**
  * Structure describing a line (or data span) of a diff.
+ *
+ * A `line` is a range of characters inside a hunk.  It could be a context
+ * line (i.e. in both old and new versions), an added line (i.e. only in
+ * the new version), or a removed line (i.e. only in the old version).
+ * Unfortunately, we don't know anything about the encoding of data in the
+ * file being diffed, so we cannot tell you much about the line content.
+ * Line data will not be NUL-byte terminated, however, because it will be
+ * just a span of bytes inside the larger file.
  */
 typedef struct {
        char   origin;       /**< A git_diff_line_t value */
@@ -585,7 +615,7 @@ typedef struct {
  * of text.  This uses some extra GIT_DIFF_LINE_... constants for output
  * of lines of file and hunk headers.
  */
-typedef int (*git_diff_line_cb)(
+typedef int GIT_CALLBACK(git_diff_line_cb)(
        const git_diff_delta *delta, /**< delta that contains this data */
        const git_diff_hunk *hunk,   /**< hunk containing this data */
        const git_diff_line *line,   /**< line data */
@@ -669,14 +699,14 @@ typedef enum {
  * Pluggable similarity metric
  */
 typedef struct {
-       int (*file_signature)(
+       int GIT_CALLBACK(file_signature)(
                void **out, const git_diff_file *file,
                const char *fullpath, void *payload);
-       int (*buffer_signature)(
+       int GIT_CALLBACK(buffer_signature)(
                void **out, const git_diff_file *file,
                const char *buf, size_t buflen, void *payload);
-       void (*free_signature)(void *sig, void *payload);
-       int (*similarity)(int *score, void *siga, void *sigb, void *payload);
+       void GIT_CALLBACK(free_signature)(void *sig, void *payload);
+       int GIT_CALLBACK(similarity)(int *score, void *siga, void *sigb, void *payload);
        void *payload;
 } git_diff_similarity_metric;
 
@@ -684,21 +714,6 @@ typedef struct {
  * Control behavior of rename and copy detection
  *
  * These options mostly mimic parameters that can be passed to git-diff.
- *
- * - `rename_threshold` is the same as the -M option with a value
- * - `copy_threshold` is the same as the -C option with a value
- * - `rename_from_rewrite_threshold` matches the top of the -B option
- * - `break_rewrite_threshold` matches the bottom of the -B option
- * - `rename_limit` is the maximum number of matches to consider for
- *   a particular file.  This is a little different from the `-l` option
- *   to regular Git because we will still process up to this many matches
- *   before abandoning the search.
- *
- * The `metric` option allows you to plug in a custom similarity metric.
- * Set it to NULL for the default internal metric which is based on sampling
- * hashes of ranges of data in the file.  The default metric is a pretty
- * good similarity approximation that should work fairly well for both text
- * and binary data, and is pretty fast with fixed memory overhead.
  */
 typedef struct {
        unsigned int version;
@@ -710,21 +725,49 @@ typedef struct {
         */
        uint32_t flags;
 
-       /** Similarity to consider a file renamed (default 50) */
+       /**
+        * Threshold above which similar files will be considered renames.
+        * This is equivalent to the -M option. Defaults to 50.
+        */
        uint16_t rename_threshold;
-       /** Similarity of modified to be eligible rename source (default 50) */
+
+       /**
+        * Threshold below which similar files will be eligible to be a rename source.
+        * This is equivalent to the first part of the -B option. Defaults to 50.
+        */
        uint16_t rename_from_rewrite_threshold;
-       /** Similarity to consider a file a copy (default 50) */
+
+       /**
+        * Threshold above which similar files will be considered copies.
+        * This is equivalent to the -C option. Defaults to 50.
+        */
        uint16_t copy_threshold;
-       /** Similarity to split modify into delete/add pair (default 60) */
+
+       /**
+        * Treshold below which similar files will be split into a delete/add pair.
+        * This is equivalent to the last part of the -B option. Defaults to 60.
+        */
        uint16_t break_rewrite_threshold;
 
-       /** Maximum similarity sources to examine for a file (somewhat like
-        *  git-diff's `-l` option or `diff.renameLimit` config) (default 200)
+       /**
+        * Maximum number of matches to consider for a particular file.
+        *
+        * This is a little different from the `-l` option from Git because we
+        * will still process up to this many matches before abandoning the search.
+        * Defaults to 200.
         */
        size_t rename_limit;
 
-       /** Pluggable similarity metric; pass NULL to use internal metric */
+       /**
+        * The `metric` option allows you to plug in a custom similarity metric.
+        *
+        * Set it to NULL to use the default internal metric.
+        *
+        * The default metric is based on sampling hashes of ranges of data in
+        * the file, which is a pretty good similarity approximation that should
+        * work fairly well for both text and binary data while still being
+        * pretty fast with a fixed memory overhead.
+        */
        git_diff_similarity_metric *metric;
 } git_diff_find_options;
 
@@ -732,11 +775,13 @@ typedef struct {
 #define GIT_DIFF_FIND_OPTIONS_INIT {GIT_DIFF_FIND_OPTIONS_VERSION}
 
 /**
- * Initializes a `git_diff_find_options` with default values. Equivalent to
- * creating an instance with GIT_DIFF_FIND_OPTIONS_INIT.
+ * Initialize git_diff_find_options structure
+ *
+ * Initializes a `git_diff_find_options` with default values. Equivalent to creating
+ * an instance with GIT_DIFF_FIND_OPTIONS_INIT.
  *
- * @param opts The `git_diff_find_options` struct to initialize
- * @param version Version of struct; pass `GIT_DIFF_FIND_OPTIONS_VERSION`
+ * @param opts The `git_diff_find_options` struct to initialize.
+ * @param version The struct version; pass `GIT_DIFF_FIND_OPTIONS_VERSION`.
  * @return Zero on success; -1 on failure.
  */
 GIT_EXTERN(int) git_diff_find_init_options(
@@ -778,7 +823,7 @@ GIT_EXTERN(int) git_diff_tree_to_tree(
        git_repository *repo,
        git_tree *old_tree,
        git_tree *new_tree,
-       const git_diff_options *opts); /**< can be NULL for defaults */
+       const git_diff_options *opts);
 
 /**
  * Create a diff between a tree and repository index.
@@ -804,7 +849,7 @@ GIT_EXTERN(int) git_diff_tree_to_index(
        git_repository *repo,
        git_tree *old_tree,
        git_index *index,
-       const git_diff_options *opts); /**< can be NULL for defaults */
+       const git_diff_options *opts);
 
 /**
  * Create a diff between the repository index and the workdir directory.
@@ -830,7 +875,7 @@ GIT_EXTERN(int) git_diff_index_to_workdir(
        git_diff **diff,
        git_repository *repo,
        git_index *index,
-       const git_diff_options *opts); /**< can be NULL for defaults */
+       const git_diff_options *opts);
 
 /**
  * Create a diff between a tree and the working directory.
@@ -859,7 +904,7 @@ GIT_EXTERN(int) git_diff_tree_to_workdir(
        git_diff **diff,
        git_repository *repo,
        git_tree *old_tree,
-       const git_diff_options *opts); /**< can be NULL for defaults */
+       const git_diff_options *opts);
 
 /**
  * Create a diff between a tree and the working directory using index data
@@ -878,7 +923,7 @@ GIT_EXTERN(int) git_diff_tree_to_workdir_with_index(
        git_diff **diff,
        git_repository *repo,
        git_tree *old_tree,
-       const git_diff_options *opts); /**< can be NULL for defaults */
+       const git_diff_options *opts);
 
 /**
  * Create a diff with the difference between two index objects.
@@ -897,7 +942,7 @@ GIT_EXTERN(int) git_diff_index_to_index(
        git_repository *repo,
        git_index *old_index,
        git_index *new_index,
-       const git_diff_options *opts); /**< can be NULL for defaults */
+       const git_diff_options *opts);
 
 /**
  * Merge one diff into another.
@@ -1394,12 +1439,13 @@ GIT_EXTERN(int) git_diff_commit_as_email(
        const git_diff_options *diff_opts);
 
 /**
- * Initializes a `git_diff_format_email_options` with default values.
+ * Initialize git_diff_format_email_options structure
  *
- * Equivalent to creating an instance with GIT_DIFF_FORMAT_EMAIL_OPTIONS_INIT.
+ * Initializes a `git_diff_format_email_options` with default values. Equivalent
+ * to creating an instance with GIT_DIFF_FORMAT_EMAIL_OPTIONS_INIT.
  *
- * @param opts The `git_diff_format_email_options` struct to initialize
- * @param version Version of struct; pass `GIT_DIFF_FORMAT_EMAIL_OPTIONS_VERSION`
+ * @param opts The `git_blame_options` struct to initialize.
+ * @param version The struct version; pass `GIT_DIFF_FORMAT_EMAIL_OPTIONS_VERSION`.
  * @return Zero on success; -1 on failure.
  */
 GIT_EXTERN(int) git_diff_format_email_init_options(
@@ -1409,8 +1455,9 @@ GIT_EXTERN(int) git_diff_format_email_init_options(
 /**
  * Patch ID options structure
  *
- * Initialize with `GIT_DIFF_PATCHID_OPTIONS_INIT` macro to
- * correctly set the default values and version.
+ * Initialize with `GIT_PATCHID_OPTIONS_INIT`. Alternatively, you can
+ * use `git_patchid_init_options`.
+ *
  */
 typedef struct git_diff_patchid_options {
        unsigned int version;
@@ -1420,10 +1467,14 @@ typedef struct git_diff_patchid_options {
 #define GIT_DIFF_PATCHID_OPTIONS_INIT { GIT_DIFF_PATCHID_OPTIONS_VERSION }
 
 /**
- * Initialize `git_diff_patchid_options` structure.
+ * Initialize git_diff_patchid_options structure
  *
- * Initializes the structure with default values. Equivalent to
+ * Initializes a `git_diff_patchid_options` with default values. Equivalent to
  * creating an instance with `GIT_DIFF_PATCHID_OPTIONS_INIT`.
+ *
+ * @param opts The `git_diff_patchid_options` struct to initialize.
+ * @param version The struct version; pass `GIT_DIFF_PATCHID_OPTIONS_VERSION`.
+ * @return Zero on success; -1 on failure.
  */
 GIT_EXTERN(int) git_diff_patchid_init_options(
        git_diff_patchid_options *opts,
@@ -1441,8 +1492,7 @@ GIT_EXTERN(int) git_diff_patchid_init_options(
  * defined in git-patch-id(1), and should in fact generate the
  * same IDs as the upstream git project does.
  *
- * @param out Pointer where the calculated patch ID shoul be
- *  stored
+ * @param out Pointer where the calculated patch ID should be stored
  * @param diff The diff to calculate the ID for
  * @param opts Options for how to calculate the patch ID. This is
  *  intended for future changes, as currently no options are
index 6f5580253b044959984f9905132840c35832528e..4e19f892556ad2fd65f072a3d34678d4e333295e 100644 (file)
@@ -27,7 +27,8 @@ typedef enum {
        GIT_EAMBIGUOUS = -5,            /**< More than one object matches */
        GIT_EBUFS      = -6,            /**< Output buffer too short to hold data */
 
-       /* GIT_EUSER is a special error that is never generated by libgit2
+       /**
+        * GIT_EUSER is a special error that is never generated by libgit2
         * code.  You can return it from a callback (e.g to stop an iteration)
         * to know that it was generated by the callback and not by libgit2.
         */
@@ -51,10 +52,12 @@ typedef enum {
        GIT_EDIRECTORY      = -23,      /**< The operation is not valid for a directory */
        GIT_EMERGECONFLICT  = -24,      /**< A merge conflict exists and cannot continue */
 
-       GIT_PASSTHROUGH     = -30,      /**< Internal only */
+       GIT_PASSTHROUGH     = -30,      /**< A user-configured callback refused to act */
        GIT_ITEROVER        = -31,      /**< Signals end of iteration with iterator */
        GIT_RETRY           = -32,      /**< Internal only */
        GIT_EMISMATCH       = -33,      /**< Hashsum mismatch in object */
+       GIT_EINDEXDIRTY     = -34,      /**< Unsaved changes in the index would be overwritten */
+       GIT_EAPPLYFAIL      = -35,      /**< Patch application failed */
 } git_error_code;
 
 /**
@@ -70,54 +73,59 @@ typedef struct {
 
 /** Error classes */
 typedef enum {
-       GITERR_NONE = 0,
-       GITERR_NOMEMORY,
-       GITERR_OS,
-       GITERR_INVALID,
-       GITERR_REFERENCE,
-       GITERR_ZLIB,
-       GITERR_REPOSITORY,
-       GITERR_CONFIG,
-       GITERR_REGEX,
-       GITERR_ODB,
-       GITERR_INDEX,
-       GITERR_OBJECT,
-       GITERR_NET,
-       GITERR_TAG,
-       GITERR_TREE,
-       GITERR_INDEXER,
-       GITERR_SSL,
-       GITERR_SUBMODULE,
-       GITERR_THREAD,
-       GITERR_STASH,
-       GITERR_CHECKOUT,
-       GITERR_FETCHHEAD,
-       GITERR_MERGE,
-       GITERR_SSH,
-       GITERR_FILTER,
-       GITERR_REVERT,
-       GITERR_CALLBACK,
-       GITERR_CHERRYPICK,
-       GITERR_DESCRIBE,
-       GITERR_REBASE,
-       GITERR_FILESYSTEM,
-       GITERR_PATCH,
-       GITERR_WORKTREE,
-       GITERR_SHA1
+       GIT_ERROR_NONE = 0,
+       GIT_ERROR_NOMEMORY,
+       GIT_ERROR_OS,
+       GIT_ERROR_INVALID,
+       GIT_ERROR_REFERENCE,
+       GIT_ERROR_ZLIB,
+       GIT_ERROR_REPOSITORY,
+       GIT_ERROR_CONFIG,
+       GIT_ERROR_REGEX,
+       GIT_ERROR_ODB,
+       GIT_ERROR_INDEX,
+       GIT_ERROR_OBJECT,
+       GIT_ERROR_NET,
+       GIT_ERROR_TAG,
+       GIT_ERROR_TREE,
+       GIT_ERROR_INDEXER,
+       GIT_ERROR_SSL,
+       GIT_ERROR_SUBMODULE,
+       GIT_ERROR_THREAD,
+       GIT_ERROR_STASH,
+       GIT_ERROR_CHECKOUT,
+       GIT_ERROR_FETCHHEAD,
+       GIT_ERROR_MERGE,
+       GIT_ERROR_SSH,
+       GIT_ERROR_FILTER,
+       GIT_ERROR_REVERT,
+       GIT_ERROR_CALLBACK,
+       GIT_ERROR_CHERRYPICK,
+       GIT_ERROR_DESCRIBE,
+       GIT_ERROR_REBASE,
+       GIT_ERROR_FILESYSTEM,
+       GIT_ERROR_PATCH,
+       GIT_ERROR_WORKTREE,
+       GIT_ERROR_SHA1
 } git_error_t;
 
 /**
  * Return the last `git_error` object that was generated for the
- * current thread or NULL if no error has occurred.
+ * current thread.
+ *
+ * The default behaviour of this function is to return NULL if no previous error has occurred.
+ * However, libgit2's error strings are not cleared aggressively, so a prior
+ * (unrelated) error may be returned. This can be avoided by only calling
+ * this function if the prior call to a libgit2 API returned an error.
  *
  * @return A git_error object.
  */
-GIT_EXTERN(const git_error *) giterr_last(void);
+GIT_EXTERN(const git_error *) git_error_last(void);
 
 /**
  * Clear the last library error that occurred for this thread.
  */
-GIT_EXTERN(void) giterr_clear(void);
+GIT_EXTERN(void) git_error_clear(void);
 
 /**
  * Set the error message string for this thread.
@@ -135,18 +143,18 @@ GIT_EXTERN(void) giterr_clear(void);
  *                    general subsystem that is responsible for the error.
  * @param string The formatted error message to keep
  */
-GIT_EXTERN(void) giterr_set_str(int error_class, const char *string);
+GIT_EXTERN(void) git_error_set_str(int error_class, const char *string);
 
 /**
  * Set the error message to a special value for memory allocation failure.
  *
- * The normal `giterr_set_str()` function attempts to `strdup()` the string
- * that is passed in.  This is not a good idea when the error in question
- * is a memory allocation failure.  That circumstance has a special setter
- * function that sets the error string to a known and statically allocated
- * internal value.
+ * The normal `git_error_set_str()` function attempts to `strdup()` the
+ * string that is passed in.  This is not a good idea when the error in
+ * question is a memory allocation failure.  That circumstance has a
+ * special setter function that sets the error string to a known and
+ * statically allocated internal value.
  */
-GIT_EXTERN(void) giterr_set_oom(void);
+GIT_EXTERN(void) git_error_set_oom(void);
 
 /** @} */
 GIT_END_DECL
index d0c1877a8b94ba67e9749c6adab081e1e86af16b..f5143f3ad27a6f780f7d34ff215534d2b64fa078 100644 (file)
@@ -59,8 +59,8 @@ GIT_EXTERN(int) git_ignore_clear_internal_rules(
  * given file.  This indicates if the file would be ignored regardless of
  * whether the file is already in the index or committed to the repository.
  *
- * One way to think of this is if you were to do "git add ." on the
- * directory containing the file, would it be added or not?
+ * One way to think of this is if you were to do "git check-ignore --no-index"
+ * on the given file, would it be shown or not?
  *
  * @param ignored boolean returning 0 if the file is not ignored, 1 if it is
  * @param repo a repository object
index 35af2e5bf5fac758c4180bfb78afafc8a1a94365..419184cc39b09ee84db13831ace5c615c5fd8f82 100644 (file)
@@ -37,11 +37,11 @@ typedef struct {
  * "Documentation/technical/index-format.txt").
  *
  * The `flags` field consists of a number of bit fields which can be
- * accessed via the first set of `GIT_IDXENTRY_...` bitmasks below.  These
- * flags are all read from and persisted to disk.
+ * accessed via the first set of `GIT_INDEX_ENTRY_...` bitmasks below.
+ * These flags are all read from and persisted to disk.
  *
  * The `flags_extended` field also has a number of bit fields which can be
- * accessed via the later `GIT_IDXENTRY_...` bitmasks below.  Some of
+ * accessed via the later `GIT_INDEX_ENTRY_...` bitmasks below.  Some of
  * these flags are read from and written to disk, but some are set aside
  * for in-memory only reference.
  *
@@ -76,24 +76,25 @@ typedef struct git_index_entry {
  * value both in memory and on disk.  You can use them to interpret the
  * data in the `flags`.
  */
-#define GIT_IDXENTRY_NAMEMASK  (0x0fff)
-#define GIT_IDXENTRY_STAGEMASK (0x3000)
-#define GIT_IDXENTRY_STAGESHIFT 12
+
+#define GIT_INDEX_ENTRY_NAMEMASK  (0x0fff)
+#define GIT_INDEX_ENTRY_STAGEMASK (0x3000)
+#define GIT_INDEX_ENTRY_STAGESHIFT 12
 
 /**
  * Flags for index entries
  */
 typedef enum {
-       GIT_IDXENTRY_EXTENDED  = (0x4000),
-       GIT_IDXENTRY_VALID     = (0x8000),
-} git_indxentry_flag_t;
+       GIT_INDEX_ENTRY_EXTENDED  = (0x4000),
+       GIT_INDEX_ENTRY_VALID     = (0x8000),
+} git_index_entry_flag_t;
 
-#define GIT_IDXENTRY_STAGE(E) \
-       (((E)->flags & GIT_IDXENTRY_STAGEMASK) >> GIT_IDXENTRY_STAGESHIFT)
+#define GIT_INDEX_ENTRY_STAGE(E) \
+       (((E)->flags & GIT_INDEX_ENTRY_STAGEMASK) >> GIT_INDEX_ENTRY_STAGESHIFT)
 
-#define GIT_IDXENTRY_STAGE_SET(E,S) do { \
-       (E)->flags = ((E)->flags & ~GIT_IDXENTRY_STAGEMASK) | \
-               (((S) & 0x03) << GIT_IDXENTRY_STAGESHIFT); } while (0)
+#define GIT_INDEX_ENTRY_STAGE_SET(E,S) do { \
+       (E)->flags = ((E)->flags & ~GIT_INDEX_ENTRY_STAGEMASK) | \
+               (((S) & 0x03) << GIT_INDEX_ENTRY_STAGESHIFT); } while (0)
 
 /**
  * Bitmasks for on-disk fields of `git_index_entry`'s `flags_extended`
@@ -101,7 +102,7 @@ typedef enum {
  * In memory, the `flags_extended` fields are divided into two parts: the
  * fields that are read from and written to disk, and other fields that
  * in-memory only and used by libgit2.  Only the flags in
- * `GIT_IDXENTRY_EXTENDED_FLAGS` will get saved on-disk.
+ * `GIT_INDEX_ENTRY_EXTENDED_FLAGS` will get saved on-disk.
  *
  * Thee first three bitmasks match the three fields in the
  * `git_index_entry` `flags_extended` value that belong on disk.  You
@@ -113,37 +114,25 @@ typedef enum {
  *
  */
 typedef enum {
+       GIT_INDEX_ENTRY_INTENT_TO_ADD  =  (1 << 13),
+       GIT_INDEX_ENTRY_SKIP_WORKTREE  =  (1 << 14),
 
-       GIT_IDXENTRY_INTENT_TO_ADD  =  (1 << 13),
-       GIT_IDXENTRY_SKIP_WORKTREE  =  (1 << 14),
-       /** Reserved for future extension */
-       GIT_IDXENTRY_EXTENDED2      =  (1 << 15),
-
-       GIT_IDXENTRY_EXTENDED_FLAGS = (GIT_IDXENTRY_INTENT_TO_ADD | GIT_IDXENTRY_SKIP_WORKTREE),
-       GIT_IDXENTRY_UPDATE            =  (1 << 0),
-       GIT_IDXENTRY_REMOVE            =  (1 << 1),
-       GIT_IDXENTRY_UPTODATE          =  (1 << 2),
-       GIT_IDXENTRY_ADDED             =  (1 << 3),
+       GIT_INDEX_ENTRY_EXTENDED_FLAGS =  (GIT_INDEX_ENTRY_INTENT_TO_ADD | GIT_INDEX_ENTRY_SKIP_WORKTREE),
 
-       GIT_IDXENTRY_HASHED            =  (1 << 4),
-       GIT_IDXENTRY_UNHASHED          =  (1 << 5),
-       GIT_IDXENTRY_WT_REMOVE         =  (1 << 6), /**< remove in work directory */
-       GIT_IDXENTRY_CONFLICTED        =  (1 << 7),
-
-       GIT_IDXENTRY_UNPACKED          =  (1 << 8),
-       GIT_IDXENTRY_NEW_SKIP_WORKTREE =  (1 << 9),
-} git_idxentry_extended_flag_t;
+       GIT_INDEX_ENTRY_UPTODATE       =  (1 << 2),
+} git_index_entry_extended_flag_t;
 
 /** Capabilities of system that affect index actions. */
 typedef enum {
-       GIT_INDEXCAP_IGNORE_CASE = 1,
-       GIT_INDEXCAP_NO_FILEMODE = 2,
-       GIT_INDEXCAP_NO_SYMLINKS = 4,
-       GIT_INDEXCAP_FROM_OWNER  = -1,
-} git_indexcap_t;
+       GIT_INDEX_CAPABILITY_IGNORE_CASE = 1,
+       GIT_INDEX_CAPABILITY_NO_FILEMODE = 2,
+       GIT_INDEX_CAPABILITY_NO_SYMLINKS = 4,
+       GIT_INDEX_CAPABILITY_FROM_OWNER  = -1,
+} git_index_capability_t;
+
 
 /** Callback for APIs that add/remove/update files matching pathspec */
-typedef int (*git_index_matched_path_cb)(
+typedef int GIT_CALLBACK(git_index_matched_path_cb)(
        const char *path, const char *matched_pathspec, void *payload);
 
 /** Flags for APIs that add files matching pathspec */
@@ -176,12 +165,6 @@ typedef enum {
        GIT_INDEX_STAGE_THEIRS = 3,
 } git_index_stage_t;
 
-/** @name Index File Functions
- *
- * These functions work on the index file itself.
- */
-/**@{*/
-
 /**
  * Create a new bare Git index object as a memory representation
  * of the Git index file in 'index_path', without a repository
@@ -234,19 +217,19 @@ GIT_EXTERN(git_repository *) git_index_owner(const git_index *index);
  * Read index capabilities flags.
  *
  * @param index An existing index object
- * @return A combination of GIT_INDEXCAP values
+ * @return A combination of GIT_INDEX_CAPABILITY values
  */
 GIT_EXTERN(int) git_index_caps(const git_index *index);
 
 /**
  * Set index capabilities flags.
  *
- * If you pass `GIT_INDEXCAP_FROM_OWNER` for the caps, then the
+ * If you pass `GIT_INDEX_CAPABILITY_FROM_OWNER` for the caps, then
  * capabilities will be read from the config of the owner object,
  * looking at `core.ignorecase`, `core.filemode`, `core.symlinks`.
  *
  * @param index An existing index object
- * @param caps A combination of GIT_INDEXCAP values
+ * @param caps A combination of GIT_INDEX_CAPABILITY values
  * @return 0 on success, -1 on failure
  */
 GIT_EXTERN(int) git_index_set_caps(git_index *index, int caps);
@@ -474,7 +457,7 @@ GIT_EXTERN(int) git_index_add(git_index *index, const git_index_entry *source_en
  *
  * This entry is calculated from the entry's flag attribute like this:
  *
- *    (entry->flags & GIT_IDXENTRY_STAGEMASK) >> GIT_IDXENTRY_STAGESHIFT
+ *    (entry->flags & GIT_INDEX_ENTRY_STAGEMASK) >> GIT_INDEX_ENTRY_STAGESHIFT
  *
  * @param entry The entry
  * @return the stage number
@@ -492,6 +475,46 @@ GIT_EXTERN(int) git_index_entry_is_conflict(const git_index_entry *entry);
 
 /**@}*/
 
+/** @name Index Entry Iteration Functions
+ *
+ * These functions provide an iterator for index entries.
+ */
+/**@{*/
+
+/**
+ * Create an iterator that will return every entry contained in the
+ * index at the time of creation.  Entries are returned in order,
+ * sorted by path.  This iterator is backed by a snapshot that allows
+ * callers to modify the index while iterating without affecting the
+ * iterator.
+ *
+ * @param iterator_out The newly created iterator
+ * @param index The index to iterate
+ */
+GIT_EXTERN(int) git_index_iterator_new(
+       git_index_iterator **iterator_out,
+       git_index *index);
+
+/**
+ * Return the next index entry in-order from the iterator.
+ *
+ * @param out Pointer to store the index entry in
+ * @param iterator The iterator
+ * @return 0, GIT_ITEROVER on iteration completion or an error code
+ */
+GIT_EXTERN(int) git_index_iterator_next(
+       const git_index_entry **out,
+       git_index_iterator *iterator);
+
+/**
+ * Free the index iterator
+ *
+ * @param iterator The iterator to free
+ */
+GIT_EXTERN(void) git_index_iterator_free(git_index_iterator *iterator);
+
+/**@}*/
+
 /** @name Workdir Index Entry Functions
  *
  * These functions work on index entries specifically in the working
@@ -805,8 +828,6 @@ GIT_EXTERN(int) git_index_conflict_next(
 GIT_EXTERN(void) git_index_conflict_iterator_free(
        git_index_conflict_iterator *iterator);
 
-/**@}*/
-
 /** @} */
 GIT_END_DECL
 #endif
index d2d315e477dc8b9bfe9de4f927004327a1162874..94d8785c09b31ad8d3e5ab06ee0b5610ef0caf9a 100644 (file)
@@ -15,6 +15,33 @@ GIT_BEGIN_DECL
 
 typedef struct git_indexer git_indexer;
 
+typedef struct git_indexer_options {
+       unsigned int version;
+
+       /** progress_cb function to call with progress information */
+       git_transfer_progress_cb progress_cb;
+       /** progress_cb_payload payload for the progress callback */
+       void *progress_cb_payload;
+
+       /** Do connectivity checks for the received pack */
+       unsigned char verify;
+} git_indexer_options;
+
+#define GIT_INDEXER_OPTIONS_VERSION 1
+#define GIT_INDEXER_OPTIONS_INIT { GIT_INDEXER_OPTIONS_VERSION }
+
+/**
+ * Initializes a `git_indexer_options` with default values. Equivalent to
+ * creating an instance with GIT_INDEXER_OPTIONS_INIT.
+ *
+ * @param opts the `git_indexer_options` struct to initialize.
+ * @param version Version of struct; pass `GIT_INDEXER_OPTIONS_VERSION`
+ * @return Zero on success; -1 on failure.
+ */
+GIT_EXTERN(int) git_indexer_init_options(
+       git_indexer_options *opts,
+       unsigned int version);
+
 /**
  * Create a new indexer instance
  *
@@ -24,16 +51,15 @@ typedef struct git_indexer git_indexer;
  * @param odb object database from which to read base objects when
  * fixing thin packs. Pass NULL if no thin pack is expected (an error
  * will be returned if there are bases missing)
- * @param progress_cb function to call with progress information
- * @param progress_cb_payload payload for the progress callback
+ * @param opts Optional structure containing additional options. See
+ * `git_indexer_options` above.
  */
 GIT_EXTERN(int) git_indexer_new(
                git_indexer **out,
                const char *path,
                unsigned int mode,
                git_odb *odb,
-               git_transfer_progress_cb progress_cb,
-               void *progress_cb_payload);
+               git_indexer_options *opts);
 
 /**
  * Add data to the indexer
diff --git a/include/git2/mailmap.h b/include/git2/mailmap.h
new file mode 100644 (file)
index 0000000..7c3f60f
--- /dev/null
@@ -0,0 +1,115 @@
+/*
+ * Copyright (C) the libgit2 contributors. All rights reserved.
+ *
+ * This file is part of libgit2, distributed under the GNU GPL v2 with
+ * a Linking Exception. For full terms see the included COPYING file.
+ */
+#ifndef INCLUDE_git_mailmap_h__
+#define INCLUDE_git_mailmap_h__
+
+#include "common.h"
+#include "types.h"
+#include "buffer.h"
+
+/**
+ * @file git2/mailmap.h
+ * @brief Mailmap parsing routines
+ * @defgroup git_mailmap Git mailmap routines
+ * @ingroup Git
+ * @{
+ */
+GIT_BEGIN_DECL
+
+/**
+ * Allocate a new mailmap object.
+ *
+ * This object is empty, so you'll have to add a mailmap file before you can do
+ * anything with it. The mailmap must be freed with 'git_mailmap_free'.
+ *
+ * @param out pointer to store the new mailmap
+ * @return 0 on success, or an error code
+ */
+GIT_EXTERN(int) git_mailmap_new(git_mailmap **out);
+
+/**
+ * Free the mailmap and its associated memory.
+ *
+ * @param mm the mailmap to free
+ */
+GIT_EXTERN(void) git_mailmap_free(git_mailmap *mm);
+
+/**
+ * Add a single entry to the given mailmap object. If the entry already exists,
+ * it will be replaced with the new entry.
+ *
+ * @param mm mailmap to add the entry to
+ * @param real_name the real name to use, or NULL
+ * @param real_email the real email to use, or NULL
+ * @param replace_name the name to replace, or NULL
+ * @param replace_email the email to replace
+ * @return 0 on success, or an error code
+ */
+GIT_EXTERN(int) git_mailmap_add_entry(
+       git_mailmap *mm, const char *real_name, const char *real_email,
+       const char *replace_name, const char *replace_email);
+
+/**
+ * Create a new mailmap instance containing a single mailmap file
+ *
+ * @param out pointer to store the new mailmap
+ * @param buf buffer to parse the mailmap from
+ * @param len the length of the input buffer
+ * @return 0 on success, or an error code
+ */
+GIT_EXTERN(int) git_mailmap_from_buffer(
+       git_mailmap **out, const char *buf, size_t len);
+
+/**
+ * Create a new mailmap instance from a repository, loading mailmap files based
+ * on the repository's configuration.
+ *
+ * Mailmaps are loaded in the following order:
+ *  1. '.mailmap' in the root of the repository's working directory, if present.
+ *  2. The blob object identified by the 'mailmap.blob' config entry, if set.
+ *        [NOTE: 'mailmap.blob' defaults to 'HEAD:.mailmap' in bare repositories]
+ *  3. The path in the 'mailmap.file' config entry, if set.
+ *
+ * @param out pointer to store the new mailmap
+ * @param repo repository to load mailmap information from
+ * @return 0 on success, or an error code
+ */
+GIT_EXTERN(int) git_mailmap_from_repository(
+       git_mailmap **out, git_repository *repo);
+
+/**
+ * Resolve a name and email to the corresponding real name and email.
+ *
+ * The lifetime of the strings are tied to `mm`, `name`, and `email` parameters.
+ *
+ * @param real_name pointer to store the real name
+ * @param real_email pointer to store the real email
+ * @param mm the mailmap to perform a lookup with (may be NULL)
+ * @param name the name to look up
+ * @param email the email to look up
+ * @return 0 on success, or an error code
+ */
+GIT_EXTERN(int) git_mailmap_resolve(
+       const char **real_name, const char **real_email,
+       const git_mailmap *mm, const char *name, const char *email);
+
+/**
+ * Resolve a signature to use real names and emails with a mailmap.
+ *
+ * Call `git_signature_free()` to free the data.
+ *
+ * @param out new signature
+ * @param mm mailmap to resolve with
+ * @param sig signature to resolve
+ * @return 0 or an error code
+ */
+GIT_EXTERN(int) git_mailmap_resolve_signature(
+       git_signature **out, const git_mailmap *mm, const git_signature *sig);
+
+/** @} */
+GIT_END_DECL
+#endif
index 80ef864d1d1c35c6817bf614fab3cfc685ce92f6..8627213704b5bc2bd4cdf3259754cbeeb92767ba 100644 (file)
@@ -203,12 +203,13 @@ typedef struct {
 #define GIT_MERGE_FILE_OPTIONS_INIT {GIT_MERGE_FILE_OPTIONS_VERSION}
 
 /**
+ * Initialize git_merge_file_options structure
+ *
  * Initializes a `git_merge_file_options` with default values. Equivalent to
- * creating an instance with GIT_MERGE_FILE_OPTIONS_INIT.
+ * creating an instance with `GIT_MERGE_FILE_OPTIONS_INIT`.
  *
- * @param opts the `git_merge_file_options` instance to initialize.
- * @param version the version of the struct; you should pass
- *        `GIT_MERGE_FILE_OPTIONS_VERSION` here.
+ * @param opts The `git_merge_file_options` struct to initialize.
+ * @param version The struct version; pass `GIT_MERGE_FILE_OPTIONS_VERSION`.
  * @return Zero on success; -1 on failure.
  */
 GIT_EXTERN(int) git_merge_file_init_options(
@@ -300,12 +301,13 @@ typedef struct {
        GIT_MERGE_OPTIONS_VERSION, GIT_MERGE_FIND_RENAMES }
 
 /**
+ * Initialize git_merge_options structure
+ *
  * Initializes a `git_merge_options` with default values. Equivalent to
- * creating an instance with GIT_MERGE_OPTIONS_INIT.
+ * creating an instance with `GIT_MERGE_OPTIONS_INIT`.
  *
- * @param opts the `git_merge_options` instance to initialize.
- * @param version the version of the struct; you should pass
- *        `GIT_MERGE_OPTIONS_VERSION` here.
+ * @param opts The `git_merge_options` struct to initialize.
+ * @param version The struct version; pass `GIT_MERGE_OPTIONS_VERSION`.
  * @return Zero on success; -1 on failure.
  */
 GIT_EXTERN(int) git_merge_init_options(
@@ -386,6 +388,25 @@ GIT_EXTERN(int) git_merge_analysis(
        const git_annotated_commit **their_heads,
        size_t their_heads_len);
 
+/**
+ * Analyzes the given branch(es) and determines the opportunities for
+ * merging them into a reference.
+ *
+ * @param analysis_out analysis enumeration that the result is written into
+ * @param repo the repository to merge
+ * @param our_ref the reference to perform the analysis from
+ * @param their_heads the heads to merge into
+ * @param their_heads_len the number of heads to merge
+ * @return 0 on success or error code
+ */
+GIT_EXTERN(int) git_merge_analysis_for_ref(
+       git_merge_analysis_t *analysis_out,
+       git_merge_preference_t *preference_out,
+       git_repository *repo,
+       git_reference *our_ref,
+       const git_annotated_commit **their_heads,
+       size_t their_heads_len);
+
 /**
  * Find a merge base between two commits
  *
index 04dff34bc87f4af531efc19d82cf2c47464e8885..391cdee1cd52edba5fe62472b110bcece32a42fe 100644 (file)
@@ -52,7 +52,7 @@ struct git_remote_head {
 /**
  * Callback for listing the remote heads
  */
-typedef int (*git_headlist_cb)(git_remote_head *rhead, void *payload);
+typedef int GIT_CALLBACK(git_headlist_cb)(git_remote_head *rhead, void *payload);
 
 /** @} */
 GIT_END_DECL
index 853e5de596b00579d9fdcb138f17522326240b1d..c36149e5ba0f79406ed2d5c49262d50ac919d4fa 100644 (file)
@@ -26,7 +26,7 @@ GIT_BEGIN_DECL
  * - annotated_object_id: Oid of the git object being annotated
  * - payload: Payload data passed to `git_note_foreach`
  */
-typedef int (*git_note_foreach_cb)(
+typedef int GIT_CALLBACK(git_note_foreach_cb)(
        const git_oid *blob_id, const git_oid *annotated_object_id, void *payload);
 
 /**
index a798c9dc35bc57162f3c3bee3d25e1f38113161f..01dc37ace429ea1d91eb87d77fc660553bee86a1 100644 (file)
@@ -30,7 +30,7 @@ GIT_BEGIN_DECL
  *
  * The 'type' parameter must match the type of the object
  * in the odb; the method will fail otherwise.
- * The special value 'GIT_OBJ_ANY' may be passed to let
+ * The special value 'GIT_OBJECT_ANY' may be passed to let
  * the method guess the object's type.
  *
  * @param object pointer to the looked-up object
@@ -43,7 +43,7 @@ GIT_EXTERN(int) git_object_lookup(
                git_object **object,
                git_repository *repo,
                const git_oid *id,
-               git_otype type);
+               git_object_t type);
 
 /**
  * Lookup a reference to one of the objects in a repository,
@@ -62,7 +62,7 @@ GIT_EXTERN(int) git_object_lookup(
  *
  * The 'type' parameter must match the type of the object
  * in the odb; the method will fail otherwise.
- * The special value 'GIT_OBJ_ANY' may be passed to let
+ * The special value 'GIT_OBJECT_ANY' may be passed to let
  * the method guess the object's type.
  *
  * @param object_out pointer where to store the looked-up object
@@ -77,7 +77,7 @@ GIT_EXTERN(int) git_object_lookup_prefix(
                git_repository *repo,
                const git_oid *id,
                size_t len,
-               git_otype type);
+               git_object_t type);
 
 
 /**
@@ -94,7 +94,7 @@ GIT_EXTERN(int) git_object_lookup_bypath(
                git_object **out,
                const git_object *treeish,
                const char *path,
-               git_otype type);
+               git_object_t type);
 
 /**
  * Get the id (SHA1) of a repository object
@@ -124,7 +124,7 @@ GIT_EXTERN(int) git_object_short_id(git_buf *out, const git_object *obj);
  * @param obj the repository object
  * @return the object's type
  */
-GIT_EXTERN(git_otype) git_object_type(const git_object *obj);
+GIT_EXTERN(git_object_t) git_object_type(const git_object *obj);
 
 /**
  * Get the repository that owns this object
@@ -166,24 +166,24 @@ GIT_EXTERN(void) git_object_free(git_object *object);
  * @param type object type to convert.
  * @return the corresponding string representation.
  */
-GIT_EXTERN(const char *) git_object_type2string(git_otype type);
+GIT_EXTERN(const char *) git_object_type2string(git_object_t type);
 
 /**
- * Convert a string object type representation to it's git_otype.
+ * Convert a string object type representation to it's git_object_t.
  *
  * @param str the string to convert.
- * @return the corresponding git_otype.
+ * @return the corresponding git_object_t.
  */
-GIT_EXTERN(git_otype) git_object_string2type(const char *str);
+GIT_EXTERN(git_object_t) git_object_string2type(const char *str);
 
 /**
- * Determine if the given git_otype is a valid loose object type.
+ * Determine if the given git_object_t is a valid loose object type.
  *
  * @param type object type to test.
  * @return true if the type represents a valid loose object type,
  * false otherwise.
  */
-GIT_EXTERN(int) git_object_typeisloose(git_otype type);
+GIT_EXTERN(int) git_object_typeisloose(git_object_t type);
 
 /**
  * Get the size in bytes for the structure which
@@ -197,7 +197,7 @@ GIT_EXTERN(int) git_object_typeisloose(git_otype type);
  * @param type object type to get its size
  * @return size in bytes of the object
  */
-GIT_EXTERN(size_t) git_object__size(git_otype type);
+GIT_EXTERN(size_t) git_object__size(git_object_t type);
 
 /**
  * Recursively peel an object until an object of the specified type is met.
@@ -206,7 +206,7 @@ GIT_EXTERN(size_t) git_object__size(git_otype type);
  * GIT_EINVALIDSPEC will be returned (e.g. trying to peel a blob to a
  * tree).
  *
- * If you pass `GIT_OBJ_ANY` as the target type, then the object will
+ * If you pass `GIT_OBJECT_ANY` as the target type, then the object will
  * be peeled until the type changes. A tag will be peeled until the
  * referenced object is no longer a tag, and a commit will be peeled
  * to a tree. Any other object type will return GIT_EINVALIDSPEC.
@@ -219,13 +219,13 @@ GIT_EXTERN(size_t) git_object__size(git_otype type);
  *
  * @param peeled Pointer to the peeled git_object
  * @param object The object to be processed
- * @param target_type The type of the requested object (a GIT_OBJ_ value)
+ * @param target_type The type of the requested object (a GIT_OBJECT_ value)
  * @return 0 on success, GIT_EINVALIDSPEC, GIT_EPEEL, or an error code
  */
 GIT_EXTERN(int) git_object_peel(
        git_object **peeled,
        const git_object *object,
-       git_otype target_type);
+       git_object_t target_type);
 
 /**
  * Create an in-memory copy of a Git object. The copy must be
index 006a75b7a19e3482dd52965344c5649de786798c..0008eee2002b64548ee8a119223bb618c904ed3a 100644 (file)
@@ -24,7 +24,7 @@ GIT_BEGIN_DECL
 /**
  * Function type for callbacks from git_odb_foreach.
  */
-typedef int (*git_odb_foreach_cb)(const git_oid *id, void *payload);
+typedef int GIT_CALLBACK(git_odb_foreach_cb)(const git_oid *id, void *payload);
 
 /**
  * Create a new object database with no backends.
@@ -146,7 +146,7 @@ GIT_EXTERN(int) git_odb_read_prefix(git_odb_object **out, git_odb *db, const git
  * - 0 if the object was read;
  * - GIT_ENOTFOUND if the object is not in the database.
  */
-GIT_EXTERN(int) git_odb_read_header(size_t *len_out, git_otype *type_out, git_odb *db, const git_oid *id);
+GIT_EXTERN(int) git_odb_read_header(size_t *len_out, git_object_t *type_out, git_odb *db, const git_oid *id);
 
 /**
  * Determine if the given object can be found in the object database.
@@ -189,9 +189,9 @@ typedef struct git_odb_expand_id {
 
        /**
         * The (optional) type of the object to search for; leave as `0` or set
-        * to `GIT_OBJ_ANY` to query for any object matching the ID.
+        * to `GIT_OBJECT_ANY` to query for any object matching the ID.
         */
-       git_otype type;
+       git_object_t type;
 } git_odb_expand_id;
 
 /**
@@ -270,7 +270,7 @@ GIT_EXTERN(int) git_odb_foreach(git_odb *db, git_odb_foreach_cb cb, void *payloa
  * @param type type of the data to store
  * @return 0 or an error code
  */
-GIT_EXTERN(int) git_odb_write(git_oid *out, git_odb *odb, const void *data, size_t len, git_otype type);
+GIT_EXTERN(int) git_odb_write(git_oid *out, git_odb *odb, const void *data, size_t len, git_object_t type);
 
 /**
  * Open a stream to write an object into the ODB
@@ -293,7 +293,7 @@ GIT_EXTERN(int) git_odb_write(git_oid *out, git_odb *odb, const void *data, size
  * @param type type of the object that will be written
  * @return 0 if the stream was created; error code otherwise
  */
-GIT_EXTERN(int) git_odb_open_wstream(git_odb_stream **out, git_odb *db, git_off_t size, git_otype type);
+GIT_EXTERN(int) git_odb_open_wstream(git_odb_stream **out, git_odb *db, git_off_t size, git_object_t type);
 
 /**
  * Write to an odb stream
@@ -366,7 +366,7 @@ GIT_EXTERN(void) git_odb_stream_free(git_odb_stream *stream);
 GIT_EXTERN(int) git_odb_open_rstream(
        git_odb_stream **out,
        size_t *len,
-       git_otype *type,
+       git_object_t *type,
        git_odb *db,
        const git_oid *oid);
 
@@ -406,7 +406,7 @@ GIT_EXTERN(int) git_odb_write_pack(
  * @param type of the data to hash
  * @return 0 or an error code
  */
-GIT_EXTERN(int) git_odb_hash(git_oid *out, const void *data, size_t len, git_otype type);
+GIT_EXTERN(int) git_odb_hash(git_oid *out, const void *data, size_t len, git_object_t type);
 
 /**
  * Read a file from disk and fill a git_oid with the object id
@@ -421,7 +421,7 @@ GIT_EXTERN(int) git_odb_hash(git_oid *out, const void *data, size_t len, git_oty
  * @param type the type of the object that will be hashed
  * @return 0 or an error code
  */
-GIT_EXTERN(int) git_odb_hashfile(git_oid *out, const char *path, git_otype type);
+GIT_EXTERN(int) git_odb_hashfile(git_oid *out, const char *path, git_object_t type);
 
 /**
  * Create a copy of an odb_object
@@ -487,7 +487,7 @@ GIT_EXTERN(size_t) git_odb_object_size(git_odb_object *object);
  * @param object the object
  * @return the type
  */
-GIT_EXTERN(git_otype) git_odb_object_type(git_odb_object *object);
+GIT_EXTERN(git_object_t) git_odb_object_type(git_odb_object *object);
 
 /**
  * Add a custom backend to an existing Object DB
index 9199538cebfb2c8c9344ecb57b01f5865e2b180b..614d0d43193f53e31a7eccccf580b3c4ec31060e 100644 (file)
@@ -92,12 +92,12 @@ struct git_odb_stream {
        /**
         * Write at most `len` bytes into `buffer` and advance the stream.
         */
-       int (*read)(git_odb_stream *stream, char *buffer, size_t len);
+       int GIT_CALLBACK(read)(git_odb_stream *stream, char *buffer, size_t len);
 
        /**
         * Write `len` bytes from `buffer` into the stream.
         */
-       int (*write)(git_odb_stream *stream, const char *buffer, size_t len);
+       int GIT_CALLBACK(write)(git_odb_stream *stream, const char *buffer, size_t len);
 
        /**
         * Store the contents of the stream as an object with the id
@@ -109,7 +109,7 @@ struct git_odb_stream {
         * - the final number of received bytes differs from the size declared
         *   with `git_odb_open_wstream()`
         */
-       int (*finalize_write)(git_odb_stream *stream, const git_oid *oid);
+       int GIT_CALLBACK(finalize_write)(git_odb_stream *stream, const git_oid *oid);
 
        /**
         * Free the stream's memory.
@@ -117,16 +117,16 @@ struct git_odb_stream {
         * This method might be called without a call to `finalize_write` if
         * an error occurs or if the object is already present in the ODB.
         */
-       void (*free)(git_odb_stream *stream);
+       void GIT_CALLBACK(free)(git_odb_stream *stream);
 };
 
 /** A stream to write a pack file to the ODB */
 struct git_odb_writepack {
        git_odb_backend *backend;
 
-       int (*append)(git_odb_writepack *writepack, const void *data, size_t size, git_transfer_progress *stats);
-       int (*commit)(git_odb_writepack *writepack, git_transfer_progress *stats);
-       void (*free)(git_odb_writepack *writepack);
+       int GIT_CALLBACK(append)(git_odb_writepack *writepack, const void *data, size_t size, git_transfer_progress *stats);
+       int GIT_CALLBACK(commit)(git_odb_writepack *writepack, git_transfer_progress *stats);
+       void GIT_CALLBACK(free)(git_odb_writepack *writepack);
 };
 
 GIT_END_DECL
index aaa678cc0baeabfbf4fd8ae4007688a69a9071b6..7e071bac7d12599412ea807bd76501b33b20ace2 100644 (file)
@@ -246,7 +246,7 @@ GIT_EXTERN(git_oid_shorten *) git_oid_shorten_new(size_t min_length);
  * memory-efficient.
  *
  * Attempting to add more than those OIDs will result in a
- * GITERR_INVALID error
+ * GIT_ERROR_INVALID error
  *
  * @param os a `git_oid_shorten` instance
  * @param text_id an OID in text form
index 2dfd825e95afe6a8aec9c604907250edab1e3c1d..beb9f4b9e1d5325deaecf33a715074bdb0f0f716 100644 (file)
@@ -178,7 +178,7 @@ GIT_EXTERN(int) git_packbuilder_write(
 */
 GIT_EXTERN(const git_oid *) git_packbuilder_hash(git_packbuilder *pb);
 
-typedef int (*git_packbuilder_foreach_cb)(void *buf, size_t size, void *payload);
+typedef int GIT_CALLBACK(git_packbuilder_foreach_cb)(void *buf, size_t size, void *payload);
 
 /**
  * Create the new pack and pass each object to the callback
@@ -207,7 +207,7 @@ GIT_EXTERN(size_t) git_packbuilder_object_count(git_packbuilder *pb);
 GIT_EXTERN(size_t) git_packbuilder_written(git_packbuilder *pb);
 
 /** Packbuilder progress notification function */
-typedef int (*git_packbuilder_progress)(
+typedef int GIT_CALLBACK(git_packbuilder_progress)(
        int stage,
        uint32_t current,
        uint32_t total,
index 194cbb65185b17fc9d15b73641a5a38e25410254..5f9d27f30c7c6cbdad17aa9dfa39cc9acccf7687 100644 (file)
@@ -64,8 +64,8 @@ typedef struct {
        /**
         * If cert verification fails, this will be called to let the
         * user make the final decision of whether to allow the
-        * connection to proceed. Returns 1 to allow the connection, 0
-        * to disallow it or a negative value to indicate an error.
+        * connection to proceed. Returns 0 to allow the connection
+        * or a negative value to indicate an error.
         */
         git_transport_certificate_check_cb certificate_check;
 
@@ -80,10 +80,14 @@ typedef struct {
 #define GIT_PROXY_OPTIONS_INIT {GIT_PROXY_OPTIONS_VERSION}
 
 /**
- * Initialize a proxy options structure
+ * Initialize git_proxy_options structure
  *
- * @param opts the options struct to initialize
- * @param version the version of the struct, use `GIT_PROXY_OPTIONS_VERSION`
+ * Initializes a `git_proxy_options` with default values. Equivalent to
+ * creating an instance with `GIT_PROXY_OPTIONS_INIT`.
+ *
+ * @param opts The `git_proxy_options` struct to initialize.
+ * @param version The struct version; pass `GIT_PROXY_OPTIONS_VERSION`.
+ * @return Zero on success; -1 on failure.
  */
 GIT_EXTERN(int) git_proxy_init_options(git_proxy_options *opts, unsigned int version);
 
index 9b9065ee46b58f5f2d8a29422ef01f012ad56515..f6b2e20ad97d16563688e397d3554428e6de0c15 100644 (file)
@@ -11,6 +11,8 @@
 #include "types.h"
 #include "oid.h"
 #include "annotated_commit.h"
+#include "merge.h"
+#include "checkout.h"
 
 /**
  * @file git2/rebase.h
@@ -145,12 +147,13 @@ typedef struct {
 } git_rebase_operation;
 
 /**
+ * Initialize git_rebase_options structure
+ *
  * Initializes a `git_rebase_options` with default values. Equivalent to
- * creating an instance with GIT_REBASE_OPTIONS_INIT.
+ * creating an instance with `GIT_REBASE_OPTIONS_INIT`.
  *
- * @param opts the `git_rebase_options` instance to initialize.
- * @param version the version of the struct; you should pass
- *        `GIT_REBASE_OPTIONS_VERSION` here.
+ * @param opts The `git_rebase_options` struct to initialize.
+ * @param version The struct version; pass `GIT_REBASE_OPTIONS_VERSION`.
  * @return Zero on success; -1 on failure.
  */
 GIT_EXTERN(int) git_rebase_init_options(
index 0dd453e5567e545b98b8281e668401d5dd923a1c..8eeab7e92776c53d16ec81682e174be6d8f45f11 100644 (file)
@@ -263,12 +263,12 @@ GIT_EXTERN(const char *) git_reference_symbolic_target(const git_reference *ref)
 /**
  * Get the type of a reference.
  *
- * Either direct (GIT_REF_OID) or symbolic (GIT_REF_SYMBOLIC)
+ * Either direct (GIT_REFERENCE_DIRECT) or symbolic (GIT_REFERENCE_SYMBOLIC)
  *
  * @param ref The reference
  * @return the type
  */
-GIT_EXTERN(git_ref_t) git_reference_type(const git_reference *ref);
+GIT_EXTERN(git_reference_t) git_reference_type(const git_reference *ref);
 
 /**
  * Get the full name of a reference.
@@ -422,8 +422,8 @@ GIT_EXTERN(int) git_reference_remove(git_repository *repo, const char *name);
  */
 GIT_EXTERN(int) git_reference_list(git_strarray *array, git_repository *repo);
 
-typedef int (*git_reference_foreach_cb)(git_reference *reference, void *payload);
-typedef int (*git_reference_foreach_name_cb)(const char *name, void *payload);
+typedef int GIT_CALLBACK(git_reference_foreach_cb)(git_reference *reference, void *payload);
+typedef int GIT_CALLBACK(git_reference_foreach_name_cb)(const char *name, void *payload);
 
 /**
  * Perform a callback on each reference in the repository.
@@ -640,7 +640,7 @@ typedef enum {
        /**
         * No particular normalization.
         */
-       GIT_REF_FORMAT_NORMAL = 0u,
+       GIT_REFERENCE_FORMAT_NORMAL = 0u,
 
        /**
         * Control whether one-level refnames are accepted
@@ -648,7 +648,7 @@ typedef enum {
         * components). Those are expected to be written only using
         * uppercase letters and underscore (FETCH_HEAD, ...)
         */
-       GIT_REF_FORMAT_ALLOW_ONELEVEL = (1u << 0),
+       GIT_REFERENCE_FORMAT_ALLOW_ONELEVEL = (1u << 0),
 
        /**
         * Interpret the provided name as a reference pattern for a
@@ -657,15 +657,15 @@ typedef enum {
         * in place of a one full pathname component
         * (e.g., foo/<star>/bar but not foo/bar<star>).
         */
-       GIT_REF_FORMAT_REFSPEC_PATTERN = (1u << 1),
+       GIT_REFERENCE_FORMAT_REFSPEC_PATTERN = (1u << 1),
 
        /**
         * Interpret the name as part of a refspec in shorthand form
         * so the `ONELEVEL` naming rules aren't enforced and 'master'
         * becomes a valid name.
         */
-       GIT_REF_FORMAT_REFSPEC_SHORTHAND = (1u << 2),
-} git_reference_normalize_t;
+       GIT_REFERENCE_FORMAT_REFSPEC_SHORTHAND = (1u << 2),
+} git_reference_format_t;
 
 /**
  * Normalize reference name and check validity.
@@ -683,7 +683,7 @@ typedef enum {
  * @param buffer_size Size of buffer_out
  * @param name Reference name to be checked.
  * @param flags Flags to constrain name validation rules - see the
- *              GIT_REF_FORMAT constants above.
+ *              GIT_REFERENCE_FORMAT constants above.
  * @return 0 on success, GIT_EBUFS if buffer is too small, GIT_EINVALIDSPEC
  * or an error code.
  */
@@ -699,19 +699,19 @@ GIT_EXTERN(int) git_reference_normalize_name(
  * The retrieved `peeled` object is owned by the repository
  * and should be closed with the `git_object_free` method.
  *
- * If you pass `GIT_OBJ_ANY` as the target type, then the object
+ * If you pass `GIT_OBJECT_ANY` as the target type, then the object
  * will be peeled until a non-tag object is met.
  *
  * @param out Pointer to the peeled git_object
  * @param ref The reference to be processed
- * @param type The type of the requested object (GIT_OBJ_COMMIT,
- * GIT_OBJ_TAG, GIT_OBJ_TREE, GIT_OBJ_BLOB or GIT_OBJ_ANY).
+ * @param type The type of the requested object (GIT_OBJECT_COMMIT,
+ * GIT_OBJECT_TAG, GIT_OBJECT_TREE, GIT_OBJECT_BLOB or GIT_OBJECT_ANY).
  * @return 0 on success, GIT_EAMBIGUOUS, GIT_ENOTFOUND or an error code
  */
 GIT_EXTERN(int) git_reference_peel(
        git_object **out,
-       git_reference *ref,
-       git_otype type);
+       const git_reference *ref,
+       git_object_t type);
 
 /**
  * Ensure the reference name is well-formed.
@@ -743,7 +743,6 @@ GIT_EXTERN(int) git_reference_is_valid_name(const char *refname);
  */
 GIT_EXTERN(const char *) git_reference_shorthand(const git_reference *ref);
 
-
 /** @} */
 GIT_END_DECL
 #endif
index 9acdc72d526f4bc603e67059af2cf0c8e48628a4..eaf7747465ce9dfe4262939b556c7eade4f3f305 100644 (file)
  */
 GIT_BEGIN_DECL
 
+/**
+ * Parse a given refspec string
+ *
+ * @param refspec a pointer to hold the refspec handle
+ * @param input the refspec string
+ * @param is_fetch is this a refspec for a fetch
+ * @return 0 if the refspec string could be parsed, -1 otherwise
+ */
+GIT_EXTERN(int) git_refspec_parse(git_refspec **refspec, const char *input, int is_fetch);
+
+/**
+ * Free a refspec object which has been created by git_refspec_parse
+ *
+ * @param refspec the refspec object
+ */
+GIT_EXTERN(void) git_refspec_free(git_refspec *refspec);
+
 /**
  * Get the source specifier
  *
index 22e2291d0b5a4dda8962f572d88fb6f390505570..0b6e92a9ed5011da828eb927ba2aa7c447c2889e 100644 (file)
@@ -41,6 +41,80 @@ GIT_EXTERN(int) git_remote_create(
                const char *name,
                const char *url);
 
+/**
+ * Remote creation options flags
+ */
+typedef enum {
+       /** Ignore the repository apply.insteadOf configuration */
+       GIT_REMOTE_CREATE_SKIP_INSTEADOF = (1 << 0),
+
+       /** Don't build a fetchspec from the name if none is set */
+       GIT_REMOTE_CREATE_SKIP_DEFAULT_FETCHSPEC = (1 << 1),
+} git_remote_create_flags;
+
+/**
+ * Remote creation options structure
+ *
+ * Initialize with `GIT_REMOTE_CREATE_OPTIONS_INIT`. Alternatively, you can
+ * use `git_remote_create_init_options`.
+ *
+ */
+typedef struct git_remote_create_options {
+       unsigned int version;
+
+       /**
+        * The repository that should own the remote.
+        * Setting this to NULL results in a detached remote.
+        */
+       git_repository *repository;
+
+       /**
+        * The remote's name.
+        * Setting this to NULL results in an in-memory/anonymous remote.
+        */
+       const char *name;
+
+       /** The fetchspec the remote should use. */
+       const char *fetchspec;
+
+       /** Additional flags for the remote. See git_remote_create_flags. */
+       unsigned int flags;
+} git_remote_create_options;
+
+#define GIT_REMOTE_CREATE_OPTIONS_VERSION 1
+#define GIT_REMOTE_CREATE_OPTIONS_INIT {GIT_REMOTE_CREATE_OPTIONS_VERSION}
+
+/**
+ * Initialize git_remote_create_options structure
+ *
+ * Initializes a `git_remote_create_options` with default values. Equivalent to
+ * creating an instance with `GIT_REMOTE_CREATE_OPTIONS_INIT`.
+ *
+ * @param opts The `git_remote_create_options` struct to initialize.
+ * @param version The struct version; pass `GIT_REMOTE_CREATE_OPTIONS_VERSION`.
+ * @return Zero on success; -1 on failure.
+ */
+GIT_EXTERN(int) git_remote_create_init_options(
+               git_remote_create_options *opts,
+               unsigned int version);
+
+/**
+ * Create a remote, with options.
+ *
+ * This function allows more fine-grained control over the remote creation.
+ *
+ * Passing NULL as the opts argument will result in a detached remote.
+ *
+ * @param out the resulting remote
+ * @param url the remote's url
+ * @param opts the remote creation options
+ * @return 0, GIT_EINVALIDSPEC, GIT_EEXISTS or an error code
+ */
+GIT_EXTERN(int) git_remote_create_with_opts(
+               git_remote **out,
+               const char *url,
+               const git_remote_create_options *opts);
+
 /**
  * Add a remote with the provided fetch refspec (or default if NULL) to the repository's
  * configuration.
@@ -348,7 +422,7 @@ typedef enum git_remote_completion_type {
 } git_remote_completion_type;
 
 /** Push network progress notification function */
-typedef int (*git_push_transfer_progress)(
+typedef int GIT_CALLBACK(git_push_transfer_progress)(
        unsigned int current,
        unsigned int total,
        size_t bytes,
@@ -383,7 +457,7 @@ typedef struct {
  * @param len number of elements in `updates`
  * @param payload Payload provided by the caller
  */
-typedef int (*git_push_negotiation)(const git_push_update **updates, size_t len, void *payload);
+typedef int GIT_CALLBACK(git_push_negotiation)(const git_push_update **updates, size_t len, void *payload);
 
 /**
  * Callback used to inform of the update status from the remote.
@@ -397,7 +471,7 @@ typedef int (*git_push_negotiation)(const git_push_update **updates, size_t len,
  * @param data data provided by the caller
  * @return 0 on success, otherwise an error
  */
-typedef int (*git_push_update_reference_cb)(const char *refname, const char *status, void *data);
+typedef int GIT_CALLBACK(git_push_update_reference_cb)(const char *refname, const char *status, void *data);
 
 /**
  * The callback settings structure
@@ -418,7 +492,7 @@ struct git_remote_callbacks {
         * Completion is called when different parts of the download
         * process are done (currently unused).
         */
-       int (*completion)(git_remote_completion_type type, void *data);
+       int GIT_CALLBACK(completion)(git_remote_completion_type type, void *data);
 
        /**
         * This will be called if the remote host requires
@@ -432,8 +506,8 @@ struct git_remote_callbacks {
        /**
         * If cert verification fails, this will be called to let the
         * user make the final decision of whether to allow the
-        * connection to proceed. Returns 1 to allow the connection, 0
-        * to disallow it or a negative value to indicate an error.
+        * connection to proceed. Returns 0 to allow the connection
+        * or a negative value to indicate an error.
         */
        git_transport_certificate_check_cb certificate_check;
 
@@ -448,7 +522,7 @@ struct git_remote_callbacks {
         * Each time a reference is updated locally, this function
         * will be called with information about it.
         */
-       int (*update_tips)(const char *refname, const git_oid *a, const git_oid *b, void *data);
+       int GIT_CALLBACK(update_tips)(const char *refname, const git_oid *a, const git_oid *b, void *data);
 
        /**
         * Function to call with progress information during pack
@@ -596,12 +670,13 @@ typedef struct {
                                 GIT_REMOTE_DOWNLOAD_TAGS_UNSPECIFIED, GIT_PROXY_OPTIONS_INIT }
 
 /**
+ * Initialize git_fetch_options structure
+ *
  * Initializes a `git_fetch_options` with default values. Equivalent to
- * creating an instance with GIT_FETCH_OPTIONS_INIT.
+ * creating an instance with `GIT_FETCH_OPTIONS_INIT`.
  *
- * @param opts the `git_fetch_options` instance to initialize.
- * @param version the version of the struct; you should pass
- *        `GIT_FETCH_OPTIONS_VERSION` here.
+ * @param opts The `git_fetch_options` struct to initialize.
+ * @param version The struct version; pass `GIT_FETCH_OPTIONS_VERSION`.
  * @return Zero on success; -1 on failure.
  */
 GIT_EXTERN(int) git_fetch_init_options(
@@ -642,15 +717,16 @@ typedef struct {
 } git_push_options;
 
 #define GIT_PUSH_OPTIONS_VERSION 1
-#define GIT_PUSH_OPTIONS_INIT { GIT_PUSH_OPTIONS_VERSION, 0, GIT_REMOTE_CALLBACKS_INIT, GIT_PROXY_OPTIONS_INIT }
+#define GIT_PUSH_OPTIONS_INIT { GIT_PUSH_OPTIONS_VERSION, 1, GIT_REMOTE_CALLBACKS_INIT, GIT_PROXY_OPTIONS_INIT }
 
 /**
+ * Initialize git_push_options structure
+ *
  * Initializes a `git_push_options` with default values. Equivalent to
- * creating an instance with GIT_PUSH_OPTIONS_INIT.
+ * creating an instance with `GIT_PUSH_OPTIONS_INIT`.
  *
- * @param opts the `git_push_options` instance to initialize.
- * @param version the version of the struct; you should pass
- *        `GIT_PUSH_OPTIONS_VERSION` here.
+ * @param opts The `git_push_options` struct to initialize.
+ * @param version The struct version; pass `GIT_PUSH_OPTIONS_VERSION`.
  * @return Zero on success; -1 on failure.
  */
 GIT_EXTERN(int) git_push_init_options(
index 6e0c1f71ef663adcd1a3a686ab0e5b5fdff65f58..04c7300cef917a5c936f636f3c627b8921c65e98 100644 (file)
@@ -94,40 +94,53 @@ GIT_EXTERN(int) git_repository_discover(
 
 /**
  * Option flags for `git_repository_open_ext`.
- *
- * * GIT_REPOSITORY_OPEN_NO_SEARCH - Only open the repository if it can be
- *   immediately found in the start_path.  Do not walk up from the
- *   start_path looking at parent directories.
- * * GIT_REPOSITORY_OPEN_CROSS_FS - Unless this flag is set, open will not
- *   continue searching across filesystem boundaries (i.e. when `st_dev`
- *   changes from the `stat` system call).  (E.g. Searching in a user's home
- *   directory "/home/user/source/" will not return "/.git/" as the found
- *   repo if "/" is a different filesystem than "/home".)
- * * GIT_REPOSITORY_OPEN_BARE - Open repository as a bare repo regardless
- *   of core.bare config, and defer loading config file for faster setup.
- *   Unlike `git_repository_open_bare`, this can follow gitlinks.
- * * GIT_REPOSITORY_OPEN_NO_DOTGIT - Do not check for a repository by
- *   appending /.git to the start_path; only open the repository if
- *   start_path itself points to the git directory.
- * * GIT_REPOSITORY_OPEN_FROM_ENV - Find and open a git repository,
- *   respecting the environment variables used by the git command-line
- *   tools. If set, `git_repository_open_ext` will ignore the other
- *   flags and the `ceiling_dirs` argument, and will allow a NULL `path`
- *   to use `GIT_DIR` or search from the current directory. The search
- *   for a repository will respect $GIT_CEILING_DIRECTORIES and
- *   $GIT_DISCOVERY_ACROSS_FILESYSTEM.  The opened repository will
- *   respect $GIT_INDEX_FILE, $GIT_NAMESPACE, $GIT_OBJECT_DIRECTORY, and
- *   $GIT_ALTERNATE_OBJECT_DIRECTORIES.  In the future, this flag will
- *   also cause `git_repository_open_ext` to respect $GIT_WORK_TREE and
- *   $GIT_COMMON_DIR; currently, `git_repository_open_ext` with this
- *   flag will error out if either $GIT_WORK_TREE or $GIT_COMMON_DIR is
- *   set.
  */
 typedef enum {
+       /**
+        * Only open the repository if it can be immediately found in the
+        * start_path. Do not walk up from the start_path looking at parent
+        * directories.
+        */
        GIT_REPOSITORY_OPEN_NO_SEARCH = (1 << 0),
+
+       /**
+        * Unless this flag is set, open will not continue searching across
+        * filesystem boundaries (i.e. when `st_dev` changes from the `stat`
+        * system call).  For example, searching in a user's home directory at
+        * "/home/user/source/" will not return "/.git/" as the found repo if
+        * "/" is a different filesystem than "/home".
+        */
        GIT_REPOSITORY_OPEN_CROSS_FS  = (1 << 1),
+
+       /**
+        * Open repository as a bare repo regardless of core.bare config, and
+        * defer loading config file for faster setup.
+        * Unlike `git_repository_open_bare`, this can follow gitlinks.
+        */
        GIT_REPOSITORY_OPEN_BARE      = (1 << 2),
+
+       /**
+        * Do not check for a repository by appending /.git to the start_path;
+        * only open the repository if start_path itself points to the git
+        * directory.
+        */
        GIT_REPOSITORY_OPEN_NO_DOTGIT = (1 << 3),
+
+       /**
+        * Find and open a git repository, respecting the environment variables
+        * used by the git command-line tools.
+        * If set, `git_repository_open_ext` will ignore the other flags and
+        * the `ceiling_dirs` argument, and will allow a NULL `path` to use
+        * `GIT_DIR` or search from the current directory.
+        * The search for a repository will respect $GIT_CEILING_DIRECTORIES and
+        * $GIT_DISCOVERY_ACROSS_FILESYSTEM.  The opened repository will
+        * respect $GIT_INDEX_FILE, $GIT_NAMESPACE, $GIT_OBJECT_DIRECTORY, and
+        * $GIT_ALTERNATE_OBJECT_DIRECTORIES.
+        * In the future, this flag will also cause `git_repository_open_ext`
+        * to respect $GIT_WORK_TREE and $GIT_COMMON_DIR; currently,
+        * `git_repository_open_ext` with this flag will error out if either
+        * $GIT_WORK_TREE or $GIT_COMMON_DIR is set.
+        */
        GIT_REPOSITORY_OPEN_FROM_ENV  = (1 << 4),
 } git_repository_open_flag_t;
 
@@ -301,11 +314,13 @@ typedef struct {
 #define GIT_REPOSITORY_INIT_OPTIONS_INIT {GIT_REPOSITORY_INIT_OPTIONS_VERSION}
 
 /**
- * Initializes a `git_repository_init_options` with default values. Equivalent
- * to creating an instance with GIT_REPOSITORY_INIT_OPTIONS_INIT.
+ * Initialize git_repository_init_options structure
+ *
+ * Initializes a `git_repository_init_options` with default values. Equivalent to
+ * creating an instance with `GIT_REPOSITORY_INIT_OPTIONS_INIT`.
  *
- * @param opts the `git_repository_init_options` struct to initialize
- * @param version Version of struct; pass `GIT_REPOSITORY_INIT_OPTIONS_VERSION`
+ * @param opts The `git_repository_init_options` struct to initialize.
+ * @param version The struct version; pass `GIT_REPOSITORY_INIT_OPTIONS_VERSION`.
  * @return Zero on success; -1 on failure.
  */
 GIT_EXTERN(int) git_repository_init_init_options(
@@ -368,7 +383,7 @@ GIT_EXTERN(int) git_repository_head_for_worktree(git_reference **out, git_reposi
  */
 GIT_EXTERN(int) git_repository_head_detached(git_repository *repo);
 
-/*
+/**
  * Check if a worktree's HEAD is detached
  *
  * A worktree's HEAD is detached when it points directly to a
@@ -625,7 +640,7 @@ GIT_EXTERN(int) git_repository_message_remove(git_repository *repo);
  */
 GIT_EXTERN(int) git_repository_state_cleanup(git_repository *repo);
 
-typedef int (*git_repository_fetchhead_foreach_cb)(const char *ref_name,
+typedef int GIT_CALLBACK(git_repository_fetchhead_foreach_cb)(const char *ref_name,
        const char *remote_url,
        const git_oid *oid,
        unsigned int is_merge,
@@ -647,7 +662,7 @@ GIT_EXTERN(int) git_repository_fetchhead_foreach(
        git_repository_fetchhead_foreach_cb callback,
        void *payload);
 
-typedef int (*git_repository_mergehead_foreach_cb)(const git_oid *oid,
+typedef int GIT_CALLBACK(git_repository_mergehead_foreach_cb)(const git_oid *oid,
        void *payload);
 
 /**
@@ -683,7 +698,7 @@ GIT_EXTERN(int) git_repository_mergehead_foreach(
  * @param repo Repository pointer
  * @param path Path to file on disk whose contents should be hashed. If the
  *             repository is not NULL, this can be a relative path.
- * @param type The object type to hash as (e.g. GIT_OBJ_BLOB)
+ * @param type The object type to hash as (e.g. GIT_OBJECT_BLOB)
  * @param as_path The path to use to look up filtering rules. If this is
  *             NULL, then the `path` parameter will be used instead. If
  *             this is passed as the empty string, then no filters will be
@@ -694,7 +709,7 @@ GIT_EXTERN(int) git_repository_hashfile(
        git_oid *out,
        git_repository *repo,
        const char *path,
-       git_otype type,
+       git_object_t type,
        const char *as_path);
 
 /**
index 82dbadcfc12570de4f1bb1d963487b61cc2ce6e5..260ad044b08c0702ad2eb78bdc05e15fa6cb6ae4 100644 (file)
@@ -37,11 +37,13 @@ typedef struct {
 #define GIT_REVERT_OPTIONS_INIT {GIT_REVERT_OPTIONS_VERSION, 0, GIT_MERGE_OPTIONS_INIT, GIT_CHECKOUT_OPTIONS_INIT}
 
 /**
+ * Initialize git_revert_options structure
+ *
  * Initializes a `git_revert_options` with default values. Equivalent to
- * creating an instance with GIT_REVERT_OPTIONS_INIT.
+ * creating an instance with `GIT_REVERT_OPTIONS_INIT`.
  *
- * @param opts the `git_revert_options` struct to initialize
- * @param version Version of struct; pass `GIT_REVERT_OPTIONS_VERSION`
+ * @param opts The `git_revert_options` struct to initialize.
+ * @param version The struct version; pass `GIT_REVERT_OPTIONS_VERSION`.
  * @return Zero on success; -1 on failure.
  */
 GIT_EXTERN(int) git_revert_init_options(
index d9376ceea2389bc1df572643cb8188fc93eb1ad2..9cb0d0a67749145fbabfd9c0aee094098568dea1 100644 (file)
@@ -25,15 +25,15 @@ GIT_BEGIN_DECL
  */
 typedef enum {
        /**
-        * Sort the output with the same default time-order method from git.
-        * This is the default sorting for new walkers.
+        * Sort the output with the same default method from `git`: reverse
+        * chronological order. This is the default sorting for new walkers.
         */
        GIT_SORT_NONE = 0,
 
        /**
-        * Sort the repository contents in topological order (parents before
-        * children); this sorting mode can be combined with time sorting to
-        * produce git's "time-order".
+        * Sort the repository contents in topological order (no parents before
+        * all of its children are shown); this sorting mode can be combined
+        * with time sorting to produce `git`'s `--date-order``.
         */
        GIT_SORT_TOPOLOGICAL = 1 << 0,
 
@@ -274,12 +274,12 @@ GIT_EXTERN(git_repository *) git_revwalk_repository(git_revwalk *walk);
  * @param commit_id oid of Commit
  * @param payload User-specified pointer to data to be passed as data payload
  */
-typedef int(*git_revwalk_hide_cb)(
+typedef int GIT_CALLBACK(git_revwalk_hide_cb)(
        const git_oid *commit_id,
        void *payload);
 
 /**
- * Adds a callback function to hide a commit and its parents
+ * Adds, changes or removes a callback function to hide a commit and its parents
  *
  * @param walk the revision walker
  * @param hide_cb  callback function to hide a commit and its parents
index 7a2a0238a3bc1823391fa1d7add2cc5e152dd550..b14f3ea89067e1e6cff4864d76d553e2883b0aab 100644 (file)
@@ -30,8 +30,8 @@ GIT_BEGIN_DECL
  * @param out new signature, in case of error NULL
  * @param name name of the person
  * @param email email of the person
- * @param time time when the action happened
- * @param offset timezone offset in minutes for the time
+ * @param time time (in seconds from epoch) when the action happened
+ * @param offset timezone offset (in minutes) for the time
  * @return 0 or an error code
  */
 GIT_EXTERN(int) git_signature_new(git_signature **out, const char *name, const char *email, git_time_t time, int offset);
index 3af9cde38b6d4658d7d759d6e12efd5d3fd51dc7..c4dcf684525cd37f3411f67a12bdc1092cdab13e 100644 (file)
@@ -9,6 +9,7 @@
 
 #include "common.h"
 #include "types.h"
+#include "checkout.h"
 
 /**
  * @file git2/stash.h
@@ -80,6 +81,7 @@ typedef enum {
        GIT_STASH_APPLY_REINSTATE_INDEX = (1 << 0),
 } git_stash_apply_flags;
 
+/** Stash apply progression states */
 typedef enum {
        GIT_STASH_APPLY_PROGRESS_NONE = 0,
 
@@ -110,16 +112,16 @@ typedef enum {
  * Return 0 to continue processing, or a negative value to
  * abort the stash application.
  */
-typedef int (*git_stash_apply_progress_cb)(
+typedef int GIT_CALLBACK(git_stash_apply_progress_cb)(
        git_stash_apply_progress_t progress,
        void *payload);
 
-/** Stash application options structure.
+/**
+ * Stash application options structure
  *
- * Initialize with the `GIT_STASH_APPLY_OPTIONS_INIT` macro to set
- * sensible defaults; for example:
+ * Initialize with `GIT_STASH_APPLY_OPTIONS_INIT`. Alternatively, you can
+ * use `git_stash_apply_init_options`.
  *
- *             git_stash_apply_options opts = GIT_STASH_APPLY_OPTIONS_INIT;
  */
 typedef struct git_stash_apply_options {
        unsigned int version;
@@ -142,12 +144,13 @@ typedef struct git_stash_apply_options {
        GIT_CHECKOUT_OPTIONS_INIT }
 
 /**
+ * Initialize git_stash_apply_options structure
+ *
  * Initializes a `git_stash_apply_options` with default values. Equivalent to
- * creating an instance with GIT_STASH_APPLY_OPTIONS_INIT.
+ * creating an instance with `GIT_STASH_APPLY_OPTIONS_INIT`.
  *
- * @param opts the `git_stash_apply_options` instance to initialize.
- * @param version the version of the struct; you should pass
- *        `GIT_STASH_APPLY_OPTIONS_INIT` here.
+ * @param opts The `git_stash_apply_options` struct to initialize.
+ * @param version The struct version; pass `GIT_STASH_APPLY_OPTIONS_VERSION`.
  * @return Zero on success; -1 on failure.
  */
 GIT_EXTERN(int) git_stash_apply_init_options(
@@ -195,7 +198,7 @@ GIT_EXTERN(int) git_stash_apply(
  * @param payload Extra parameter to callback function.
  * @return 0 to continue iterating or non-zero to stop.
  */
-typedef int (*git_stash_cb)(
+typedef int GIT_CALLBACK(git_stash_cb)(
        size_t index,
        const char* message,
        const git_oid *stash_id,
index 4b86818b76d4f7e6abd0c05c2c7d109c1ae8ed65..06229ed2ed433d6b7a9eee8032834645cb44635b 100644 (file)
@@ -9,6 +9,8 @@
 
 #include "common.h"
 #include "types.h"
+#include "strarray.h"
+#include "diff.h"
 
 /**
  * @file git2/status.h
@@ -58,7 +60,7 @@ typedef enum {
  *
  * `payload` is the value you passed to the foreach function as payload.
  */
-typedef int (*git_status_cb)(
+typedef int GIT_CALLBACK(git_status_cb)(
        const char *path, unsigned int status_flags, void *payload);
 
 /**
@@ -189,11 +191,13 @@ typedef struct {
 #define GIT_STATUS_OPTIONS_INIT {GIT_STATUS_OPTIONS_VERSION}
 
 /**
+ * Initialize git_status_options structure
+ *
  * Initializes a `git_status_options` with default values. Equivalent to
- * creating an instance with GIT_STATUS_OPTIONS_INIT.
+ * creating an instance with `GIT_STATUS_OPTIONS_INIT`.
  *
- * @param opts The `git_status_options` instance to initialize.
- * @param version Version of struct; pass `GIT_STATUS_OPTIONS_VERSION`
+ * @param opts The `git_status_options` struct to initialize.
+ * @param version The struct version; pass `GIT_STATUS_OPTIONS_VERSION`.
  * @return Zero on success; -1 on failure.
  */
 GIT_EXTERN(int) git_status_init_options(
index b2b3039fe57b1ff19eea5af99f7dec1c7f486611..efb3b75d605340494d2d2314df59f6bfe302affc 100644 (file)
@@ -115,16 +115,15 @@ typedef enum {
  * @param payload value you passed to the foreach function as payload
  * @return 0 on success or error code
  */
-typedef int (*git_submodule_cb)(
+typedef int GIT_CALLBACK(git_submodule_cb)(
        git_submodule *sm, const char *name, void *payload);
 
 /**
  * Submodule update options structure
  *
- * Use the GIT_SUBMODULE_UPDATE_OPTIONS_INIT to get the default settings,
- * like this:
+ * Initialize with `GIT_SUBMODULE_UPDATE_OPTIONS_INIT`. Alternatively, you can
+ * use `git_submodule_update_init_options`.
  *
- * git_submodule_update_options opts = GIT_SUBMODULE_UPDATE_OPTIONS_INIT;
  */
 typedef struct git_submodule_update_options {
        unsigned int version;
@@ -134,7 +133,7 @@ typedef struct git_submodule_update_options {
         * checkout, set the `checkout_strategy` to
         * `GIT_CHECKOUT_NONE`. Generally you will want the use
         * GIT_CHECKOUT_SAFE to update files in the working
-        * directory. 
+        * directory.
         */
        git_checkout_options checkout_opts;
 
@@ -160,11 +159,13 @@ typedef struct git_submodule_update_options {
        GIT_FETCH_OPTIONS_INIT, 1 }
 
 /**
- * Initializes a `git_submodule_update_options` with default values.
- * Equivalent to creating an instance with GIT_SUBMODULE_UPDATE_OPTIONS_INIT.
+ * Initialize git_submodule_update_options structure
  *
- * @param opts The `git_submodule_update_options` instance to initialize.
- * @param version Version of struct; pass `GIT_SUBMODULE_UPDATE_OPTIONS_VERSION`
+ * Initializes a `git_submodule_update_options` with default values. Equivalent to
+ * creating an instance with `GIT_SUBMODULE_UPDATE_OPTIONS_INIT`.
+ *
+ * @param opts The `git_submodule_update_options` struct to initialize.
+ * @param version The struct version; pass `GIT_SUBMODULE_UPDATE_OPTIONS_VERSION`.
  * @return Zero on success; -1 on failure.
  */
 GIT_EXTERN(int) git_submodule_update_init_options(
@@ -186,7 +187,7 @@ GIT_EXTERN(int) git_submodule_update_init_options(
  *        function works as though GIT_SUBMODULE_UPDATE_OPTIONS_INIT was passed.
  * @return 0 on success, any non-zero return value from a callback
  *         function, or a negative value to indicate an error (use
- *         `giterr_last` for a detailed error message).
+ *         `git_error_last` for a detailed error message).
  */
 GIT_EXTERN(int) git_submodule_update(git_submodule *submodule, int init, git_submodule_update_options *options);
 
diff --git a/include/git2/sys/alloc.h b/include/git2/sys/alloc.h
new file mode 100644 (file)
index 0000000..642740d
--- /dev/null
@@ -0,0 +1,101 @@
+/*
+ * Copyright (C) the libgit2 contributors. All rights reserved.
+ *
+ * This file is part of libgit2, distributed under the GNU GPL v2 with
+ * a Linking Exception. For full terms see the included COPYING file.
+ */
+
+#ifndef INCLUDE_sys_git_alloc_h__
+#define INCLUDE_sys_git_alloc_h__
+
+#include "git2/common.h"
+
+GIT_BEGIN_DECL
+
+/**
+ * An instance for a custom memory allocator
+ *
+ * Setting the pointers of this structure allows the developer to implement
+ * custom memory allocators. The global memory allocator can be set by using
+ * "GIT_OPT_SET_ALLOCATOR" with the `git_libgit2_opts` function. Keep in mind
+ * that all fields need to be set to a proper function.
+ */
+typedef struct {
+       /* Allocate `n` bytes of memory */
+       void * GIT_CALLBACK(gmalloc)(size_t n, const char *file, int line);
+
+       /*
+        * Allocate memory for an array of `nelem` elements, where each element
+        * has a size of `elsize`. Returned memory shall be initialized to
+        * all-zeroes
+        */
+       void * GIT_CALLBACK(gcalloc)(size_t nelem, size_t elsize, const char *file, int line);
+
+       /* Allocate memory for the string `str` and duplicate its contents. */
+       char * GIT_CALLBACK(gstrdup)(const char *str, const char *file, int line);
+
+       /*
+        * Equivalent to the `gstrdup` function, but only duplicating at most
+        * `n + 1` bytes
+        */
+       char * GIT_CALLBACK(gstrndup)(const char *str, size_t n, const char *file, int line);
+
+       /*
+        * Equivalent to `gstrndup`, but will always duplicate exactly `n` bytes
+        * of `str`. Thus, out of bounds reads at `str` may happen.
+        */
+       char * GIT_CALLBACK(gsubstrdup)(const char *str, size_t n, const char *file, int line);
+
+       /*
+        * This function shall deallocate the old object `ptr` and return a
+        * pointer to a new object that has the size specified by `size`. In
+        * case `ptr` is `NULL`, a new array shall be allocated.
+        */
+       void * GIT_CALLBACK(grealloc)(void *ptr, size_t size, const char *file, int line);
+
+       /*
+        * This function shall be equivalent to `grealloc`, but allocating
+        * `neleme * elsize` bytes.
+        */
+       void * GIT_CALLBACK(greallocarray)(void *ptr, size_t nelem, size_t elsize, const char *file, int line);
+
+       /*
+        * This function shall allocate a new array of `nelem` elements, where
+        * each element has a size of `elsize` bytes.
+        */
+       void * GIT_CALLBACK(gmallocarray)(size_t nelem, size_t elsize, const char *file, int line);
+
+       /*
+        * This function shall free the memory pointed to by `ptr`. In case
+        * `ptr` is `NULL`, this shall be a no-op.
+        */
+       void GIT_CALLBACK(gfree)(void *ptr);
+} git_allocator;
+
+/**
+ * Initialize the allocator structure to use the `stdalloc` pointer.
+ *
+ * Set up the structure so that all of its members are using the standard
+ * "stdalloc" allocator functions. The structure can then be used with
+ * `git_allocator_setup`.
+ *
+ * @param allocator The allocator that is to be initialized.
+ * @return An error code or 0.
+ */
+int git_stdalloc_init_allocator(git_allocator *allocator);
+
+/**
+ * Initialize the allocator structure to use the `crtdbg` pointer.
+ *
+ * Set up the structure so that all of its members are using the "crtdbg"
+ * allocator functions. Note that this allocator is only available on Windows
+ * platforms and only if libgit2 is being compiled with "-DMSVC_CRTDBG".
+ *
+ * @param allocator The allocator that is to be initialized.
+ * @return An error code or 0.
+ */
+int git_win32_crtdbg_init_allocator(git_allocator *allocator);
+
+GIT_END_DECL
+
+#endif
index 627d3ae2ebda7589238d3e36ed32ae674ed7c465..ba671061f764f3c69b20f5c77dedb6f0493cfb68 100644 (file)
@@ -50,7 +50,7 @@ GIT_EXTERN(int) git_commit_create_from_ids(
  * along with the user supplied payload.  This should return a git_oid of
  * the next parent or NULL if all parents have been provided.
  */
-typedef const git_oid *(*git_commit_parent_callback)(size_t idx, void *payload);
+typedef const git_oid * GIT_CALLBACK(git_commit_parent_callback)(size_t idx, void *payload);
 
 /**
  * Create a new commit in the repository with an callback to supply parents.
index ed203226f1dc20e1b54f7004d4638c5436cdc4af..0a9005e35d4128c8acaf7659c2bddd44682fa4b4 100644 (file)
@@ -39,12 +39,12 @@ struct git_config_iterator {
         * Return the current entry and advance the iterator. The
         * memory belongs to the library.
         */
-       int (*next)(git_config_entry **entry, git_config_iterator *iter);
+       int GIT_CALLBACK(next)(git_config_entry **entry, git_config_iterator *iter);
 
        /**
         * Free the iterator
         */
-       void (*free)(git_config_iterator *iter);
+       void GIT_CALLBACK(free)(git_config_iterator *iter);
 };
 
 /**
@@ -58,15 +58,15 @@ struct git_config_backend {
        struct git_config *cfg;
 
        /* Open means open the file/database and parse if necessary */
-       int (*open)(struct git_config_backend *, git_config_level_t level, const git_repository *repo);
-       int (*get)(struct git_config_backend *, const char *key, git_config_entry **entry);
-       int (*set)(struct git_config_backend *, const char *key, const char *value);
-       int (*set_multivar)(git_config_backend *cfg, const char *name, const char *regexp, const char *value);
-       int (*del)(struct git_config_backend *, const char *key);
-       int (*del_multivar)(struct git_config_backend *, const char *key, const char *regexp);
-       int (*iterator)(git_config_iterator **, struct git_config_backend *);
+       int GIT_CALLBACK(open)(struct git_config_backend *, git_config_level_t level, const git_repository *repo);
+       int GIT_CALLBACK(get)(struct git_config_backend *, const char *key, git_config_entry **entry);
+       int GIT_CALLBACK(set)(struct git_config_backend *, const char *key, const char *value);
+       int GIT_CALLBACK(set_multivar)(git_config_backend *cfg, const char *name, const char *regexp, const char *value);
+       int GIT_CALLBACK(del)(struct git_config_backend *, const char *key);
+       int GIT_CALLBACK(del_multivar)(struct git_config_backend *, const char *key, const char *regexp);
+       int GIT_CALLBACK(iterator)(git_config_iterator **, struct git_config_backend *);
        /** Produce a read-only version of this backend */
-       int (*snapshot)(struct git_config_backend **, struct git_config_backend *);
+       int GIT_CALLBACK(snapshot)(struct git_config_backend **, struct git_config_backend *);
        /**
         * Lock this backend.
         *
@@ -74,14 +74,14 @@ struct git_config_backend {
         * backend. Any updates must not be visible to any other
         * readers.
         */
-       int (*lock)(struct git_config_backend *);
+       int GIT_CALLBACK(lock)(struct git_config_backend *);
        /**
         * Unlock the data store backing this backend. If success is
         * true, the changes should be committed, otherwise rolled
         * back.
         */
-       int (*unlock)(struct git_config_backend *, int success);
-       void (*free)(struct git_config_backend *);
+       int GIT_CALLBACK(unlock)(struct git_config_backend *, int success);
+       void GIT_CALLBACK(free)(struct git_config_backend *);
 };
 #define GIT_CONFIG_BACKEND_VERSION 1
 #define GIT_CONFIG_BACKEND_INIT {GIT_CONFIG_BACKEND_VERSION}
index 6d575d4fdecb0137b1dd7ec35f39890eeec01245..e43fde55c2fe54f14b76d93dedc561918b7fb64c 100644 (file)
@@ -138,7 +138,7 @@ GIT_EXTERN(uint32_t) git_filter_source_flags(const git_filter_source *src);
  * initialization operations (in case libgit2 is being used in a way that
  * doesn't need the filter).
  */
-typedef int (*git_filter_init_fn)(git_filter *self);
+typedef int GIT_CALLBACK(git_filter_init_fn)(git_filter *self);
 
 /**
  * Shutdown callback on filter
@@ -150,7 +150,7 @@ typedef int (*git_filter_init_fn)(git_filter *self);
  *
  * Typically this function will free the `git_filter` object itself.
  */
-typedef void (*git_filter_shutdown_fn)(git_filter *self);
+typedef void GIT_CALLBACK(git_filter_shutdown_fn)(git_filter *self);
 
 /**
  * Callback to decide if a given source needs this filter
@@ -172,7 +172,7 @@ typedef void (*git_filter_shutdown_fn)(git_filter *self);
  * callback can use it.  If a filter allocates and assigns a value to the
  * `payload`, it will need a `cleanup` callback to free the payload.
  */
-typedef int (*git_filter_check_fn)(
+typedef int GIT_CALLBACK(git_filter_check_fn)(
        git_filter  *self,
        void       **payload, /* points to NULL ptr on entry, may be set */
        const git_filter_source *src,
@@ -190,14 +190,14 @@ typedef int (*git_filter_check_fn)(
  * The `payload` value will refer to any payload that was set by the
  * `check` callback.  It may be read from or written to as needed.
  */
-typedef int (*git_filter_apply_fn)(
+typedef int GIT_CALLBACK(git_filter_apply_fn)(
        git_filter    *self,
        void         **payload, /* may be read and/or set */
        git_buf       *to,
        const git_buf *from,
        const git_filter_source *src);
 
-typedef int (*git_filter_stream_fn)(
+typedef int GIT_CALLBACK(git_filter_stream_fn)(
        git_writestream **out,
        git_filter *self,
        void **payload,
@@ -212,7 +212,7 @@ typedef int (*git_filter_stream_fn)(
  * allocated a `payload` to keep per-source filter state, use this
  * callback to free that payload and release resources as required.
  */
-typedef void (*git_filter_cleanup_fn)(
+typedef void GIT_CALLBACK(git_filter_cleanup_fn)(
        git_filter *self,
        void       *payload);
 
index 2e2b87e68fb5495844ad76fd6c7e6c51b4916514..f1900df4235a7c0f9c5016ab8d6964459d7ef293 100644 (file)
@@ -7,6 +7,9 @@
 #ifndef INCLUDE_sys_git_index_h__
 #define INCLUDE_sys_git_index_h__
 
+#include "git2/common.h"
+#include "git2/types.h"
+
 /**
  * @file git2/sys/index.h
  * @brief Low-level Git index manipulation routines
index 490636b4498975017297d6c3f69a311a76274ead..63fb38dc84485e8861574107206cb323e9ede9aa 100644 (file)
 GIT_BEGIN_DECL
 
 /**
- *     Instantiate a new mempack backend.
+ * Instantiate a new mempack backend.
  *
- *     The backend must be added to an existing ODB with the highest
- *     priority.
+ * The backend must be added to an existing ODB with the highest
+ * priority.
  *
- *             git_mempack_new(&mempacker);
- *             git_repository_odb(&odb, repository);
- *             git_odb_add_backend(odb, mempacker, 999);
+ *     git_mempack_new(&mempacker);
+ *     git_repository_odb(&odb, repository);
+ *     git_odb_add_backend(odb, mempacker, 999);
  *
- *     Once the backend has been loaded, all writes to the ODB will
- *     instead be queued in memory, and can be finalized with
- *     `git_mempack_dump`.
+ * Once the backend has been loaded, all writes to the ODB will
+ * instead be queued in memory, and can be finalized with
+ * `git_mempack_dump`.
  *
- *     Subsequent reads will also be served from the in-memory store
- *     to ensure consistency, until the memory store is dumped.
+ * Subsequent reads will also be served from the in-memory store
+ * to ensure consistency, until the memory store is dumped.
  *
- *     @param out Pointer where to store the ODB backend
- *     @return 0 on success; error code otherwise
+ * @param out Pointer where to store the ODB backend
+ * @return 0 on success; error code otherwise
  */
 GIT_EXTERN(int) git_mempack_new(git_odb_backend **out);
 
 /**
- *     Dump all the queued in-memory writes to a packfile.
+ * Dump all the queued in-memory writes to a packfile.
  *
- *     The contents of the packfile will be stored in the given buffer.
- *     It is the caller's responsibility to ensure that the generated
- *     packfile is available to the repository (e.g. by writing it
- *     to disk, or doing something crazy like distributing it across
- *     several copies of the repository over a network).
+ * The contents of the packfile will be stored in the given buffer.
+ * It is the caller's responsibility to ensure that the generated
+ * packfile is available to the repository (e.g. by writing it
+ * to disk, or doing something crazy like distributing it across
+ * several copies of the repository over a network).
  *
- *     Once the generated packfile is available to the repository,
- *     call `git_mempack_reset` to cleanup the memory store.
+ * Once the generated packfile is available to the repository,
+ * call `git_mempack_reset` to cleanup the memory store.
  *
- *     Calling `git_mempack_reset` before the packfile has been
- *     written to disk will result in an inconsistent repository
- *     (the objects in the memory store won't be accessible).
+ * Calling `git_mempack_reset` before the packfile has been
+ * written to disk will result in an inconsistent repository
+ * (the objects in the memory store won't be accessible).
  *
- *     @param pack Buffer where to store the raw packfile
- *     @param repo The active repository where the backend is loaded
- *     @param backend The mempack backend
- *     @return 0 on success; error code otherwise
+ * @param pack Buffer where to store the raw packfile
+ * @param repo The active repository where the backend is loaded
+ * @param backend The mempack backend
+ * @return 0 on success; error code otherwise
  */
 GIT_EXTERN(int) git_mempack_dump(git_buf *pack, git_repository *repo, git_odb_backend *backend);
 
 /**
- *     Reset the memory packer by clearing all the queued objects.
+ * Reset the memory packer by clearing all the queued objects.
  *
- *     This assumes that `git_mempack_dump` has been called before to
- *     store all the queued objects into a single packfile.
+ * This assumes that `git_mempack_dump` has been called before to
+ * store all the queued objects into a single packfile.
  *
- *     Alternatively, call `reset` without a previous dump to "undo"
- *     all the recently written objects, giving transaction-like
- *     semantics to the Git repository.
+ * Alternatively, call `reset` without a previous dump to "undo"
+ * all the recently written objects, giving transaction-like
+ * semantics to the Git repository.
  *
- *     @param backend The mempack backend
+ * @param backend The mempack backend
  */
 GIT_EXTERN(void) git_mempack_reset(git_odb_backend *backend);
 
index eed106c0715f782a4fd84adeacb78a00e95a938d..bd0a8a4b77a08c1503e787e66925011b57d91e54 100644 (file)
@@ -7,10 +7,15 @@
 #ifndef INCLUDE_sys_git_merge_h__
 #define INCLUDE_sys_git_merge_h__
 
+#include "git2/common.h"
+#include "git2/types.h"
+#include "git2/index.h"
+#include "git2/merge.h"
+
 /**
  * @file git2/sys/merge.h
  * @brief Git merge driver backend and plugin routines
- * @defgroup git_backend Git custom backend APIs
+ * @defgroup git_merge Git merge driver APIs
  * @ingroup Git
  * @{
  */
@@ -68,7 +73,7 @@ GIT_EXTERN(const git_merge_file_options *) git_merge_driver_source_file_options(
  * initialization operations (in case libgit2 is being used in a way that
  * doesn't need the merge driver).
  */
-typedef int (*git_merge_driver_init_fn)(git_merge_driver *self);
+typedef int GIT_CALLBACK(git_merge_driver_init_fn)(git_merge_driver *self);
 
 /**
  * Shutdown callback on merge driver
@@ -80,7 +85,7 @@ typedef int (*git_merge_driver_init_fn)(git_merge_driver *self);
  *
  * Typically this function will free the `git_merge_driver` object itself.
  */
-typedef void (*git_merge_driver_shutdown_fn)(git_merge_driver *self);
+typedef void GIT_CALLBACK(git_merge_driver_shutdown_fn)(git_merge_driver *self);
 
 /**
  * Callback to perform the merge.
@@ -100,7 +105,7 @@ typedef void (*git_merge_driver_shutdown_fn)(git_merge_driver *self);
  *
  * The `src` contains the data about the file to be merged.
  */
-typedef int (*git_merge_driver_apply_fn)(
+typedef int GIT_CALLBACK(git_merge_driver_apply_fn)(
        git_merge_driver *self,
        const char **path_out,
        uint32_t *mode_out,
index 792f103fea86f314b50304caea494d05bce994f3..1a747570dd3a2ed22f7b3458b91b66973e2c2b8e 100644 (file)
@@ -32,37 +32,37 @@ struct git_odb_backend {
         * will be freed later. The buffer should be allocated using
         * the function git_odb_backend_malloc to ensure that it can
         * be safely freed later. */
-       int (* read)(
-               void **, size_t *, git_otype *, git_odb_backend *, const git_oid *);
+       int GIT_CALLBACK(read)(
+               void **, size_t *, git_object_t *, git_odb_backend *, const git_oid *);
 
        /* To find a unique object given a prefix of its oid.  The oid given
         * must be so that the remaining (GIT_OID_HEXSZ - len)*4 bits are 0s.
         */
-       int (* read_prefix)(
-               git_oid *, void **, size_t *, git_otype *,
+       int GIT_CALLBACK(read_prefix)(
+               git_oid *, void **, size_t *, git_object_t *,
                git_odb_backend *, const git_oid *, size_t);
 
-       int (* read_header)(
-               size_t *, git_otype *, git_odb_backend *, const git_oid *);
+       int GIT_CALLBACK(read_header)(
+               size_t *, git_object_t *, git_odb_backend *, const git_oid *);
 
        /**
         * Write an object into the backend. The id of the object has
         * already been calculated and is passed in.
         */
-       int (* write)(
-               git_odb_backend *, const git_oid *, const void *, size_t, git_otype);
+       int GIT_CALLBACK(write)(
+               git_odb_backend *, const git_oid *, const void *, size_t, git_object_t);
 
-       int (* writestream)(
-               git_odb_stream **, git_odb_backend *, git_off_t, git_otype);
+       int GIT_CALLBACK(writestream)(
+               git_odb_stream **, git_odb_backend *, git_off_t, git_object_t);
 
-       int (* readstream)(
-               git_odb_stream **, size_t *, git_otype *,
+       int GIT_CALLBACK(readstream)(
+               git_odb_stream **, size_t *, git_object_t *,
                git_odb_backend *, const git_oid *);
 
-       int (* exists)(
+       int GIT_CALLBACK(exists)(
                git_odb_backend *, const git_oid *);
 
-       int (* exists_prefix)(
+       int GIT_CALLBACK(exists_prefix)(
                git_oid *, git_odb_backend *, const git_oid *, size_t);
 
        /**
@@ -75,12 +75,12 @@ struct git_odb_backend {
         * implementation to achieve this could be to internally invoke this
         * endpoint on failed lookups (ie. `exists()`, `read()`, `read_header()`).
         */
-       int (* refresh)(git_odb_backend *);
+       int GIT_CALLBACK(refresh)(git_odb_backend *);
 
-       int (* foreach)(
+       int GIT_CALLBACK(foreach)(
                git_odb_backend *, git_odb_foreach_cb cb, void *payload);
 
-       int (* writepack)(
+       int GIT_CALLBACK(writepack)(
                git_odb_writepack **, git_odb_backend *, git_odb *odb,
                git_transfer_progress_cb progress_cb, void *progress_payload);
 
@@ -93,13 +93,13 @@ struct git_odb_backend {
         * If callers implement this, they should return `0` if the object
         * exists and was freshened, and non-zero otherwise.
         */
-       int (* freshen)(git_odb_backend *, const git_oid *);
+       int GIT_CALLBACK(freshen)(git_odb_backend *, const git_oid *);
 
        /**
         * Frees any resources held by the odb (including the `git_odb_backend`
         * itself). An odb backend implementation must provide this function.
         */
-       void (* free)(git_odb_backend *);
+       void GIT_CALLBACK(free)(git_odb_backend *);
 };
 
 #define GIT_ODB_BACKEND_VERSION 1
diff --git a/include/git2/sys/path.h b/include/git2/sys/path.h
new file mode 100644 (file)
index 0000000..2a0c7e0
--- /dev/null
@@ -0,0 +1,64 @@
+/*
+ * Copyright (C) the libgit2 contributors. All rights reserved.
+ *
+ * This file is part of libgit2, distributed under the GNU GPL v2 with
+ * a Linking Exception. For full terms see the included COPYING file.
+ */
+
+#ifndef INCLUDE_sys_git_path_h__
+#define INCLUDE_sys_git_path_h__
+
+#include "git2/common.h"
+
+GIT_BEGIN_DECL
+
+/**
+ * The kinds of git-specific files we know about.
+ *
+ * The order needs to stay the same to not break the `gitfiles`
+ * array in path.c
+ */
+typedef enum {
+       /** Check for the .gitignore file */
+       GIT_PATH_GITFILE_GITIGNORE,
+       /** Check for the .gitmodules file */
+       GIT_PATH_GITFILE_GITMODULES,
+       /** Check for the .gitattributes file */
+       GIT_PATH_GITFILE_GITATTRIBUTES
+} git_path_gitfile;
+
+/**
+ * The kinds of checks to perform according to which filesystem we are trying to
+ * protect.
+ */
+typedef enum {
+       /** Do both NTFS- and HFS-specific checks */
+       GIT_PATH_FS_GENERIC,
+       /** Do NTFS-specific checks only */
+       GIT_PATH_FS_NTFS,
+       /** Do HFS-specific checks only */
+       GIT_PATH_FS_HFS
+} git_path_fs;
+
+/**
+ * Check whether a path component corresponds to a .git$SUFFIX
+ * file.
+ *
+ * As some filesystems do special things to filenames when
+ * writing files to disk, you cannot always do a plain string
+ * comparison to verify whether a file name matches an expected
+ * path or not. This function can do the comparison for you,
+ * depending on the filesystem you're on.
+ *
+ * @param path the path component to check
+ * @param pathlen the length of `path` that is to be checked
+ * @param gitfile which file to check against
+ * @param fs which filesystem-specific checks to use
+ * @return 0 in case the file does not match, a positive value if
+ *         it does; -1 in case of an error
+ */
+GIT_EXTERN(int) git_path_is_gitfile(const char *path, size_t pathlen, git_path_gitfile gitfile, git_path_fs fs);
+
+GIT_END_DECL
+
+#endif /* INCLUDE_sys_git_path */
index 5129ad84a7841d3ccc6ed0caa62ea94afe4e7991..2ed6efd5a2944c2c5a9e486b0b1efff0543af6dd 100644 (file)
@@ -38,21 +38,21 @@ struct git_reference_iterator {
        /**
         * Return the current reference and advance the iterator.
         */
-       int (*next)(
+       int GIT_CALLBACK(next)(
                git_reference **ref,
                git_reference_iterator *iter);
 
        /**
         * Return the name of the current reference and advance the iterator
         */
-       int (*next_name)(
+       int GIT_CALLBACK(next_name)(
                const char **ref_name,
                git_reference_iterator *iter);
 
        /**
         * Free the iterator
         */
-       void (*free)(
+       void GIT_CALLBACK(free)(
                git_reference_iterator *iter);
 };
 
@@ -64,7 +64,7 @@ struct git_refdb_backend {
         * Queries the refdb backend to determine if the given ref_name
         * exists.  A refdb implementation must provide this function.
         */
-       int (*exists)(
+       int GIT_CALLBACK(exists)(
                int *exists,
                git_refdb_backend *backend,
                const char *ref_name);
@@ -73,7 +73,7 @@ struct git_refdb_backend {
         * Queries the refdb backend for a given reference.  A refdb
         * implementation must provide this function.
         */
-       int (*lookup)(
+       int GIT_CALLBACK(lookup)(
                git_reference **out,
                git_refdb_backend *backend,
                const char *ref_name);
@@ -83,7 +83,7 @@ struct git_refdb_backend {
         *
         * A refdb implementation must provide this function.
         */
-       int (*iterator)(
+       int GIT_CALLBACK(iterator)(
                git_reference_iterator **iter,
                struct git_refdb_backend *backend,
                const char *glob);
@@ -92,12 +92,12 @@ struct git_refdb_backend {
         * Writes the given reference to the refdb.  A refdb implementation
         * must provide this function.
         */
-       int (*write)(git_refdb_backend *backend,
+       int GIT_CALLBACK(write)(git_refdb_backend *backend,
                     const git_reference *ref, int force,
                     const git_signature *who, const char *message,
                     const git_oid *old, const char *old_target);
 
-       int (*rename)(
+       int GIT_CALLBACK(rename)(
                git_reference **out, git_refdb_backend *backend,
                const char *old_name, const char *new_name, int force,
                const git_signature *who, const char *message);
@@ -107,7 +107,7 @@ struct git_refdb_backend {
         * from the refdb.  A refdb implementation must provide this
         * function.
         */
-       int (*del)(git_refdb_backend *backend, const char *ref_name, const git_oid *old_id, const char *old_target);
+       int GIT_CALLBACK(del)(git_refdb_backend *backend, const char *ref_name, const git_oid *old_id, const char *old_target);
 
        /**
         * Suggests that the given refdb compress or optimize its references.
@@ -116,56 +116,56 @@ struct git_refdb_backend {
         * implementation may provide this function; if it is not provided,
         * nothing will be done.
         */
-       int (*compress)(git_refdb_backend *backend);
+       int GIT_CALLBACK(compress)(git_refdb_backend *backend);
 
        /**
         * Query whether a particular reference has a log (may be empty)
         */
-       int (*has_log)(git_refdb_backend *backend, const char *refname);
+       int GIT_CALLBACK(has_log)(git_refdb_backend *backend, const char *refname);
 
        /**
         * Make sure a particular reference will have a reflog which
         * will be appended to on writes.
         */
-       int (*ensure_log)(git_refdb_backend *backend, const char *refname);
+       int GIT_CALLBACK(ensure_log)(git_refdb_backend *backend, const char *refname);
 
        /**
         * Frees any resources held by the refdb (including the `git_refdb_backend`
         * itself). A refdb backend implementation must provide this function.
         */
-       void (*free)(git_refdb_backend *backend);
+       void GIT_CALLBACK(free)(git_refdb_backend *backend);
 
        /**
         * Read the reflog for the given reference name.
         */
-       int (*reflog_read)(git_reflog **out, git_refdb_backend *backend, const char *name);
+       int GIT_CALLBACK(reflog_read)(git_reflog **out, git_refdb_backend *backend, const char *name);
 
        /**
         * Write a reflog to disk.
         */
-       int (*reflog_write)(git_refdb_backend *backend, git_reflog *reflog);
+       int GIT_CALLBACK(reflog_write)(git_refdb_backend *backend, git_reflog *reflog);
 
        /**
         * Rename a reflog
         */
-       int (*reflog_rename)(git_refdb_backend *_backend, const char *old_name, const char *new_name);
+       int GIT_CALLBACK(reflog_rename)(git_refdb_backend *_backend, const char *old_name, const char *new_name);
 
        /**
         * Remove a reflog.
         */
-       int (*reflog_delete)(git_refdb_backend *backend, const char *name);
+       int GIT_CALLBACK(reflog_delete)(git_refdb_backend *backend, const char *name);
 
        /**
         * Lock a reference. The opaque parameter will be passed to the unlock function
         */
-       int (*lock)(void **payload_out, git_refdb_backend *backend, const char *refname);
+       int GIT_CALLBACK(lock)(void **payload_out, git_refdb_backend *backend, const char *refname);
 
        /**
         * Unlock a reference. Only one of target or symbolic_target
         * will be set. success indicates whether to update the
         * reference or discard the lock (if it's false)
         */
-       int (*unlock)(git_refdb_backend *backend, void *payload, int success, int update_reflog,
+       int GIT_CALLBACK(unlock)(git_refdb_backend *backend, void *payload, int success, int update_reflog,
                      const git_reference *ref, const git_signature *sig, const char *message);
 };
 
index eeeb68dae0cbce9e24e56d8bb73b4e8cc6ce0cef..6f93cc48c3228c7cbb30446d7455aef7621ccf59 100644 (file)
@@ -31,28 +31,108 @@ typedef struct git_stream {
 
        int encrypted;
        int proxy_support;
-       int (*connect)(struct git_stream *);
-       int (*certificate)(git_cert **, struct git_stream *);
-       int (*set_proxy)(struct git_stream *, const git_proxy_options *proxy_opts);
-       ssize_t (*read)(struct git_stream *, void *, size_t);
-       ssize_t (*write)(struct git_stream *, const char *, size_t, int);
-       int (*close)(struct git_stream *);
-       void (*free)(struct git_stream *);
+       int GIT_CALLBACK(connect)(struct git_stream *);
+       int GIT_CALLBACK(certificate)(git_cert **, struct git_stream *);
+       int GIT_CALLBACK(set_proxy)(struct git_stream *, const git_proxy_options *proxy_opts);
+       ssize_t GIT_CALLBACK(read)(struct git_stream *, void *, size_t);
+       ssize_t GIT_CALLBACK(write)(struct git_stream *, const char *, size_t, int);
+       int GIT_CALLBACK(close)(struct git_stream *);
+       void GIT_CALLBACK(free)(struct git_stream *);
 } git_stream;
 
-typedef int (*git_stream_cb)(git_stream **out, const char *host, const char *port);
+typedef struct {
+       /** The `version` field should be set to `GIT_STREAM_VERSION`. */
+       int version;
+
+       /**
+        * Called to create a new connection to a given host.
+        *
+        * @param out The created stream
+        * @param host The hostname to connect to; may be a hostname or
+        *             IP address
+        * @param port The port to connect to; may be a port number or
+        *             service name
+        * @return 0 or an error code
+        */
+       int GIT_CALLBACK(init)(git_stream **out, const char *host, const char *port);
+
+       /**
+        * Called to create a new connection on top of the given stream.  If
+        * this is a TLS stream, then this function may be used to proxy a
+        * TLS stream over an HTTP CONNECT session.  If this is unset, then
+        * HTTP CONNECT proxies will not be supported.
+        *
+        * @param out The created stream
+        * @param in An existing stream to add TLS to
+        * @param host The hostname that the stream is connected to,
+        *             for certificate validation
+        * @return 0 or an error code
+        */
+       int GIT_CALLBACK(wrap)(git_stream **out, git_stream *in, const char *host);
+} git_stream_registration;
+
+/**
+ * The type of stream to register.
+ */
+typedef enum {
+       /** A standard (non-TLS) socket. */
+       GIT_STREAM_STANDARD = 1,
+
+       /** A TLS-encrypted socket. */
+       GIT_STREAM_TLS = 2,
+} git_stream_t;
 
 /**
- * Register a TLS stream constructor for the library to use
+ * Register stream constructors for the library to use
+ *
+ * If a registration structure is already set, it will be overwritten.
+ * Pass `NULL` in order to deregister the current constructor and return
+ * to the system defaults.
  *
- * If a constructor is already set, it will be overwritten. Pass
- * `NULL` in order to deregister the current constructor.
+ * The type parameter may be a bitwise AND of types.
  *
- * @param ctor the constructor to use
+ * @param type the type or types of stream to register
+ * @param registration the registration data
  * @return 0 or an error code
  */
+GIT_EXTERN(int) git_stream_register(
+       git_stream_t type, git_stream_registration *registration);
+
+#ifndef GIT_DEPRECATE_HARD
+
+/** @name Deprecated TLS Stream Registration Functions
+ *
+ * These functions are retained for backward compatibility.  The newer
+ * versions of these values should be preferred in all new code.
+ *
+ * There is no plan to remove these backward compatibility values at
+ * this time.
+ */
+/**@{*/
+
+/**
+ * @deprecated Provide a git_stream_registration to git_stream_register
+ * @see git_stream_registration
+ */
+typedef int GIT_CALLBACK(git_stream_cb)(git_stream **out, const char *host, const char *port);
+
+/**
+ * Register a TLS stream constructor for the library to use.  This stream
+ * will not support HTTP CONNECT proxies.  This internally calls
+ * `git_stream_register` and is preserved for backward compatibility.
+ *
+ * This function is deprecated, but there is no plan to remove this
+ * function at this time.
+ *
+ * @deprecated Provide a git_stream_registration to git_stream_register
+ * @see git_stream_register
+ */
 GIT_EXTERN(int) git_stream_register_tls(git_stream_cb ctor);
 
+/**@}*/
+
+#endif
+
 GIT_END_DECL
 
 #endif
index a395de5ede0469a9e83c6fc99da8c4c75da0264b..2a2f3c19a2b134abb5011f5fb1b99f96e710e5d2 100644 (file)
@@ -33,23 +33,26 @@ typedef enum {
 } git_transport_flags_t;
 
 struct git_transport {
-       unsigned int version;
-       /* Set progress and error callbacks */
-       int (*set_callbacks)(
+       unsigned int version; /**< The struct version */
+
+       /** Set progress and error callbacks */
+       int GIT_CALLBACK(set_callbacks)(
                git_transport *transport,
                git_transport_message_cb progress_cb,
                git_transport_message_cb error_cb,
                git_transport_certificate_check_cb certificate_check_cb,
                void *payload);
 
-       /* Set custom headers for HTTP requests */
-       int (*set_custom_headers)(
+       /** Set custom headers for HTTP requests */
+       int GIT_CALLBACK(set_custom_headers)(
                git_transport *transport,
                const git_strarray *custom_headers);
 
-       /* Connect the transport to the remote repository, using the given
-        * direction. */
-       int (*connect)(
+       /**
+        * Connect the transport to the remote repository, using the given
+        * direction.
+        */
+       int GIT_CALLBACK(connect)(
                git_transport *transport,
                const char *url,
                git_cred_acquire_cb cred_acquire_cb,
@@ -58,51 +61,66 @@ struct git_transport {
                int direction,
                int flags);
 
-       /* This function may be called after a successful call to
-        * connect(). The array returned is owned by the transport and
-        * is guaranteed until the next call of a transport function. */
-       int (*ls)(
+       /**
+        * Get the list of available references in the remote repository.
+        *
+        * This function may be called after a successful call to
+        * `connect()`. The array returned is owned by the transport and
+        * must be kept valid until the next call to one of its functions.
+        */
+       int GIT_CALLBACK(ls)(
                const git_remote_head ***out,
                size_t *size,
                git_transport *transport);
 
-       /* Executes the push whose context is in the git_push object. */
-       int(*push)(git_transport *transport, git_push *push, const git_remote_callbacks *callbacks);
+       /** Executes the push whose context is in the git_push object. */
+       int GIT_CALLBACK(push)(git_transport *transport, git_push *push, const git_remote_callbacks *callbacks);
 
-       /* This function may be called after a successful call to connect(), when
-        * the direction is FETCH. The function performs a negotiation to calculate
-        * the wants list for the fetch. */
-       int (*negotiate_fetch)(
+       /**
+        * Negotiate a fetch with the remote repository.
+        *
+        * This function may be called after a successful call to `connect()`,
+        * when the direction is GIT_DIRECTION_FETCH. The function performs a
+        * negotiation to calculate the `wants` list for the fetch.
+        */
+       int GIT_CALLBACK(negotiate_fetch)(
                git_transport *transport,
                git_repository *repo,
                const git_remote_head * const *refs,
                size_t count);
 
-       /* This function may be called after a successful call to negotiate_fetch(),
-        * when the direction is FETCH. This function retrieves the pack file for
-        * the fetch from the remote end. */
-       int (*download_pack)(
+       /**
+        * Start downloading the packfile from the remote repository.
+        *
+        * This function may be called after a successful call to
+        * negotiate_fetch(), when the direction is GIT_DIRECTION_FETCH.
+        */
+       int GIT_CALLBACK(download_pack)(
                git_transport *transport,
                git_repository *repo,
                git_transfer_progress *stats,
                git_transfer_progress_cb progress_cb,
                void *progress_payload);
 
-       /* Checks to see if the transport is connected */
-       int (*is_connected)(git_transport *transport);
+       /** Checks to see if the transport is connected */
+       int GIT_CALLBACK(is_connected)(git_transport *transport);
 
-       /* Reads the flags value previously passed into connect() */
-       int (*read_flags)(git_transport *transport, int *flags);
+       /** Reads the flags value previously passed into connect() */
+       int GIT_CALLBACK(read_flags)(git_transport *transport, int *flags);
 
-       /* Cancels any outstanding transport operation */
-       void (*cancel)(git_transport *transport);
+       /** Cancels any outstanding transport operation */
+       void GIT_CALLBACK(cancel)(git_transport *transport);
 
-       /* This function is the reverse of connect() -- it terminates the
-        * connection to the remote end. */
-       int (*close)(git_transport *transport);
+       /**
+        * Close the connection to the remote repository.
+        *
+        * This function is the reverse of connect() -- it terminates the
+        * connection to the remote end.
+        */
+       int GIT_CALLBACK(close)(git_transport *transport);
 
-       /* Frees/destructs the git_transport object. */
-       void (*free)(git_transport *transport);
+       /** Frees/destructs the git_transport object. */
+       void GIT_CALLBACK(free)(git_transport *transport);
 };
 
 #define GIT_TRANSPORT_VERSION 1
@@ -167,10 +185,13 @@ GIT_EXTERN(int) git_transport_register(
        void *param);
 
 /**
- *
  * Unregister a custom transport definition which was previously registered
  * with git_transport_register.
  *
+ * The caller is responsible for synchronizing calls to git_transport_register
+ * and git_transport_unregister with other calls to the library that
+ * instantiate transports.
+ *
  * @param prefix From the previous call to git_transport_register
  * @return 0 or an error code
  */
@@ -226,7 +247,10 @@ GIT_EXTERN(int) git_transport_smart(
  * @param cert the certificate to pass to the caller
  * @param valid whether we believe the certificate is valid
  * @param hostname the hostname we connected to
- * @return the return value of the callback
+ * @return the return value of the callback: 0 for no error, GIT_PASSTHROUGH
+ *         to indicate that there is no callback registered (or the callback
+ *         refused to validate the certificate and callers should behave as
+ *         if no callback was set), or < 0 for an error
  */
 GIT_EXTERN(int) git_transport_smart_certificate_check(git_transport *transport, git_cert *cert, int valid, const char *hostname);
 
@@ -237,7 +261,10 @@ GIT_EXTERN(int) git_transport_smart_certificate_check(git_transport *transport,
  * @param transport a smart transport
  * @param user the user we saw on the url (if any)
  * @param methods available methods for authentication
- * @return the return value of the callback
+ * @return the return value of the callback: 0 for no error, GIT_PASSTHROUGH
+ *         to indicate that there is no callback registered (or the callback
+ *         refused to provide credentials and callers should behave as if no
+ *         callback was set), or < 0 for an error
  */
 GIT_EXTERN(int) git_transport_smart_credentials(git_cred **out, git_transport *transport, const char *user, int methods);
 
@@ -256,20 +283,7 @@ GIT_EXTERN(int) git_transport_smart_proxy_options(git_proxy_options *out, git_tr
  *** Begin interface for subtransports for the smart transport ***
  */
 
-/* The smart transport knows how to speak the git protocol, but it has no
- * knowledge of how to establish a connection between it and another endpoint,
- * or how to move data back and forth. For this, a subtransport interface is
- * declared, and the smart transport delegates this work to the subtransports.
- * Three subtransports are implemented: git, http, and winhttp. (The http and
- * winhttp transports each implement both http and https.) */
-
-/* Subtransports can either be RPC = 0 (persistent connection) or RPC = 1
- * (request/response). The smart transport handles the differences in its own
- * logic. The git subtransport is RPC = 0, while http and winhttp are both
- * RPC = 1. */
-
-/* Actions that the smart transport can ask
- * a subtransport to perform */
+/** Actions that the smart transport can ask a subtransport to perform */
 typedef enum {
        GIT_SERVICE_UPLOADPACK_LS = 1,
        GIT_SERVICE_UPLOADPACK = 2,
@@ -280,58 +294,91 @@ typedef enum {
 typedef struct git_smart_subtransport git_smart_subtransport;
 typedef struct git_smart_subtransport_stream git_smart_subtransport_stream;
 
-/* A stream used by the smart transport to read and write data
- * from a subtransport */
+/**
+ * A stream used by the smart transport to read and write data
+ * from a subtransport.
+ *
+ * This provides a customization point in case you need to
+ * support some other communication method.
+ */
 struct git_smart_subtransport_stream {
-       /* The owning subtransport */
-       git_smart_subtransport *subtransport;
+       git_smart_subtransport *subtransport; /**< The owning subtransport */
 
-       int (*read)(
+       /**
+        * Read available data from the stream.
+        *
+        * The implementation may read less than requested.
+        */
+       int GIT_CALLBACK(read)(
                git_smart_subtransport_stream *stream,
                char *buffer,
                size_t buf_size,
                size_t *bytes_read);
 
-       int (*write)(
+       /**
+        * Write data to the stream
+        *
+        * The implementation must write all data or return an error.
+        */
+       int GIT_CALLBACK(write)(
                git_smart_subtransport_stream *stream,
                const char *buffer,
                size_t len);
 
-       void (*free)(
+       /** Free the stream */
+       void GIT_CALLBACK(free)(
                git_smart_subtransport_stream *stream);
 };
 
-/* An implementation of a subtransport which carries data for the
- * smart transport */
+/**
+ * An implementation of a subtransport which carries data for the
+ * smart transport
+ */
 struct git_smart_subtransport {
-       int (* action)(
+       /**
+        * Setup a subtransport stream for the requested action.
+        */
+       int GIT_CALLBACK(action)(
                        git_smart_subtransport_stream **out,
                        git_smart_subtransport *transport,
                        const char *url,
                        git_smart_service_t action);
 
-       /* Subtransports are guaranteed a call to close() between
+       /**
+        * Close the subtransport.
+        *
+        * Subtransports are guaranteed a call to close() between
         * calls to action(), except for the following two "natural" progressions
-        * of actions against a constant URL.
+        * of actions against a constant URL:
         *
-        * 1. UPLOADPACK_LS -> UPLOADPACK
-        * 2. RECEIVEPACK_LS -> RECEIVEPACK */
-       int (*close)(git_smart_subtransport *transport);
+        * - UPLOADPACK_LS -> UPLOADPACK
+        * - RECEIVEPACK_LS -> RECEIVEPACK
+        */
+       int GIT_CALLBACK(close)(git_smart_subtransport *transport);
 
-       void (*free)(git_smart_subtransport *transport);
+       /** Free the subtransport */
+       void GIT_CALLBACK(free)(git_smart_subtransport *transport);
 };
 
-/* A function which creates a new subtransport for the smart transport */
-typedef int (*git_smart_subtransport_cb)(
+/** A function which creates a new subtransport for the smart transport */
+typedef int GIT_CALLBACK(git_smart_subtransport_cb)(
        git_smart_subtransport **out,
-       git_transportowner,
-       voidparam);
+       git_transport *owner,
+       void *param);
 
 /**
  * Definition for a "subtransport"
  *
- * This is used to let the smart protocol code know about the protocol
- * which you are implementing.
+ * The smart transport knows how to speak the git protocol, but it has no
+ * knowledge of how to establish a connection between it and another endpoint,
+ * or how to move data back and forth. For this, a subtransport interface is
+ * declared, and the smart transport delegates this work to the subtransports.
+ *
+ * Three subtransports are provided by libgit2: ssh, git, http(s).
+ *
+ * Subtransports can either be RPC = 0 (persistent connection) or RPC = 1
+ * (request/response). The smart transport handles the differences in its own
+ * logic. The git subtransport is RPC = 0, while http is RPC = 1.
  */
 typedef struct git_smart_subtransport_definition {
        /** The function to use to create the git_smart_subtransport */
@@ -343,17 +390,16 @@ typedef struct git_smart_subtransport_definition {
         */
        unsigned rpc;
 
-       /** Param of the callback
-        */
-       void* param;
+       /** User-specified parameter passed to the callback */
+       void *param;
 } git_smart_subtransport_definition;
 
 /* Smart transport subtransports that come with libgit2 */
 
 /**
- * Create an instance of the http subtransport. This subtransport
- * also supports https. On Win32, this subtransport may be implemented
- * using the WinHTTP library.
+ * Create an instance of the http subtransport.
+ *
+ * This subtransport also supports https.
  *
  * @param out The newly created subtransport
  * @param owner The smart transport to own this subtransport
@@ -361,7 +407,7 @@ typedef struct git_smart_subtransport_definition {
  */
 GIT_EXTERN(int) git_smart_subtransport_http(
        git_smart_subtransport **out,
-       git_transportowner,
+       git_transport *owner,
        void *param);
 
 /**
@@ -373,7 +419,7 @@ GIT_EXTERN(int) git_smart_subtransport_http(
  */
 GIT_EXTERN(int) git_smart_subtransport_git(
        git_smart_subtransport **out,
-       git_transportowner,
+       git_transport *owner,
        void *param);
 
 /**
@@ -385,7 +431,7 @@ GIT_EXTERN(int) git_smart_subtransport_git(
  */
 GIT_EXTERN(int) git_smart_subtransport_ssh(
        git_smart_subtransport **out,
-       git_transportowner,
+       git_transport *owner,
        void *param);
 
 /** @} */
index cb95fb5effe242ce18e08057bc259c294a9ace92..1ca3348436c9275f63ce598f4d5e1441c7b6132a 100644 (file)
@@ -102,7 +102,7 @@ GIT_EXTERN(const git_oid *) git_tag_target_id(const git_tag *tag);
  * @param tag a previously loaded tag.
  * @return type of the tagged object
  */
-GIT_EXTERN(git_otype) git_tag_target_type(const git_tag *tag);
+GIT_EXTERN(git_object_t) git_tag_target_type(const git_tag *tag);
 
 /**
  * Get the name of a tag
@@ -318,7 +318,7 @@ GIT_EXTERN(int) git_tag_list_match(
        git_repository *repo);
 
 
-typedef int (*git_tag_foreach_cb)(const char *name, git_oid *oid, void *payload);
+typedef int GIT_CALLBACK(git_tag_foreach_cb)(const char *name, git_oid *oid, void *payload);
 
 /**
  * Call callback `cb' for each tag in the repository
index f9b4d6ff67b9c28ff196e2d2232001343ec4bbf0..f8bbfb28cc00c17adc7ac62f1f77f7b6b9afb54d 100644 (file)
@@ -49,7 +49,7 @@ typedef enum {
 /**
  * An instance for a tracing function
  */
-typedef void (*git_trace_callback)(git_trace_level_t level, const char *msg);
+typedef void GIT_CALLBACK(git_trace_callback)(git_trace_level_t level, const char *msg);
 
 /**
  * Sets the system tracing configuration to the specified level with the
index 00ca13993f5c5f2401c1ea46cbadf1f6b9821fdc..4938570b5a10e50b78df7417e3ca8b2d13a1943c 100644 (file)
@@ -8,6 +8,7 @@
 #define INCLUDE_git_transaction_h__
 
 #include "common.h"
+#include "types.h"
 
 /**
  * @file git2/transaction.h
index 0c371bf4be5a9a1d0cf912d6f54589b167c8d0f5..2ba2d7ee66d21dbc36dc8239da35cbefe20d57bd 100644 (file)
@@ -21,7 +21,7 @@
 GIT_BEGIN_DECL
 
 /** Signature of a function which creates a transport */
-typedef int (*git_transport_cb)(git_transport **out, git_remote *owner, void *param);
+typedef int GIT_CALLBACK(git_transport_cb)(git_transport **out, git_remote *owner, void *param);
 
 /**
  * Type of SSH host fingerprint
@@ -77,45 +77,74 @@ typedef struct {
  *** Begin interface for credentials acquisition ***
  */
 
-/** Authentication type requested */
+/**
+ * Supported credential types
+ *
+ * This represents the various types of authentication methods supported by
+ * the library.
+ */
 typedef enum {
-       /* git_cred_userpass_plaintext */
+       /**
+        * A vanilla user/password request
+        * @see git_cred_userpass_plaintext_new
+        */
        GIT_CREDTYPE_USERPASS_PLAINTEXT = (1u << 0),
 
-       /* git_cred_ssh_key */
+       /**
+        * An SSH key-based authentication request
+        * @see git_cred_ssh_key_new
+        */
        GIT_CREDTYPE_SSH_KEY = (1u << 1),
 
-       /* git_cred_ssh_custom */
+       /**
+        * An SSH key-based authentication request, with a custom signature
+        * @see git_cred_ssh_custom_new
+        */
        GIT_CREDTYPE_SSH_CUSTOM = (1u << 2),
 
-       /* git_cred_default */
+       /**
+        * An NTLM/Negotiate-based authentication request.
+        * @see git_cred_default
+        */
        GIT_CREDTYPE_DEFAULT = (1u << 3),
 
-       /* git_cred_ssh_interactive */
+       /**
+        * An SSH interactive authentication request
+        * @see git_cred_ssh_interactive_new
+        */
        GIT_CREDTYPE_SSH_INTERACTIVE = (1u << 4),
 
        /**
-        * Username-only information
+        * Username-only authentication request
         *
-        * If the SSH transport does not know which username to use,
-        * it will ask via this credential type.
+        * Used as a pre-authentication step if the underlying transport
+        * (eg. SSH, with no username in its URL) does not know which username
+        * to use.
+        *
+        * @see git_cred_username_new
         */
        GIT_CREDTYPE_USERNAME = (1u << 5),
 
        /**
-        * Credentials read from memory.
+        * An SSH key-based authentication request
+        *
+        * Allows credentials to be read from memory instead of files.
+        * Note that because of differences in crypto backend support, it might
+        * not be functional.
         *
-        * Only available for libssh2+OpenSSL for now.
+        * @see git_cred_ssh_key_memory_new
         */
        GIT_CREDTYPE_SSH_MEMORY = (1u << 6),
 } git_credtype_t;
 
-/* The base structure for all credential types */
 typedef struct git_cred git_cred;
 
+/**
+ * The base structure for all credential types
+ */
 struct git_cred {
-       git_credtype_t credtype;
-       void (*free)(git_cred *cred);
+       git_credtype_t credtype; /**< A type of credential */
+       void GIT_CALLBACK(free)(git_cred *cred);
 };
 
 /** A plaintext username and password */
@@ -136,8 +165,8 @@ typedef struct _LIBSSH2_USERAUTH_KBDINT_PROMPT LIBSSH2_USERAUTH_KBDINT_PROMPT;
 typedef struct _LIBSSH2_USERAUTH_KBDINT_RESPONSE LIBSSH2_USERAUTH_KBDINT_RESPONSE;
 #endif
 
-typedef int (*git_cred_sign_callback)(LIBSSH2_SESSION *session, unsigned char **sig, size_t *sig_len, const unsigned char *data, size_t data_len, void **abstract);
-typedef void (*git_cred_ssh_interactive_callback)(const char* name, int name_len, const char* instruction, int instruction_len, int num_prompts, const LIBSSH2_USERAUTH_KBDINT_PROMPT* prompts, LIBSSH2_USERAUTH_KBDINT_RESPONSE* responses, void **abstract);
+typedef int GIT_CALLBACK(git_cred_sign_callback)(LIBSSH2_SESSION *session, unsigned char **sig, size_t *sig_len, const unsigned char *data, size_t data_len, void **abstract);
+typedef void GIT_CALLBACK(git_cred_ssh_interactive_callback)(const char* name, int name_len, const char* instruction, int instruction_len, int num_prompts, const LIBSSH2_USERAUTH_KBDINT_PROMPT* prompts, LIBSSH2_USERAUTH_KBDINT_RESPONSE* responses, void **abstract);
 
 /**
  * A ssh key from disk
@@ -330,7 +359,7 @@ GIT_EXTERN(void) git_cred_free(git_cred *cred);
  * @return 0 for success, < 0 to indicate an error, > 0 to indicate
  *       no credential was acquired
  */
-typedef int (*git_cred_acquire_cb)(
+typedef int GIT_CALLBACK(git_cred_acquire_cb)(
        git_cred **cred,
        const char *url,
        const char *username_from_url,
index 1a363c149ca19bdb84d3ad18e576bcb7fc32b7e0..aca5d75ed90da28f833434b3111044d1ea91d68e 100644 (file)
@@ -189,7 +189,7 @@ GIT_EXTERN(const git_oid *) git_tree_entry_id(const git_tree_entry *entry);
  * @param entry a tree entry
  * @return the type of the pointed object
  */
-GIT_EXTERN(git_otype) git_tree_entry_type(const git_tree_entry *entry);
+GIT_EXTERN(git_object_t) git_tree_entry_type(const git_tree_entry *entry);
 
 /**
  * Get the UNIX file attributes of a tree entry
@@ -344,7 +344,7 @@ GIT_EXTERN(int) git_treebuilder_remove(
  * entry should be left alone and any non-zero value meaning that the
  * entry should be removed from the treebuilder list (i.e. filtered out).
  */
-typedef int (*git_treebuilder_filter_cb)(
+typedef int GIT_CALLBACK(git_treebuilder_filter_cb)(
        const git_tree_entry *entry, void *payload);
 
 /**
@@ -391,7 +391,7 @@ GIT_EXTERN(int) git_treebuilder_write_with_buffer(
        git_oid *oid, git_treebuilder *bld, git_buf *tree);
 
 /** Callback for the tree traversal method */
-typedef int (*git_treewalk_cb)(
+typedef int GIT_CALLBACK(git_treewalk_cb)(
        const char *root, const git_tree_entry *entry, void *payload);
 
 /** Tree traversal modes */
index 8d9a947100f20d46970ffe562485abd30860aaac..0eaa0041d98d4140b94842f6940fd2935447dbc0 100644 (file)
@@ -59,23 +59,24 @@ typedef __haiku_std_int64 git_time_t;
  * app, even though /we/ define _FILE_OFFSET_BITS=64.
  */
 typedef int64_t git_off_t;
-typedef int64_t git_time_t;
+typedef int64_t git_time_t; /**< time in seconds from epoch */
 
 #endif
 
+#include "buffer.h"
+#include "oid.h"
+
 /** Basic type (loose or packed) of any Git object. */
 typedef enum {
-       GIT_OBJ_ANY = -2,               /**< Object can be any of the following */
-       GIT_OBJ_BAD = -1,               /**< Object is invalid. */
-       GIT_OBJ__EXT1 = 0,              /**< Reserved for future use. */
-       GIT_OBJ_COMMIT = 1,             /**< A commit object. */
-       GIT_OBJ_TREE = 2,               /**< A tree (directory listing) object. */
-       GIT_OBJ_BLOB = 3,               /**< A file revision object. */
-       GIT_OBJ_TAG = 4,                /**< An annotated tag object. */
-       GIT_OBJ__EXT2 = 5,              /**< Reserved for future use. */
-       GIT_OBJ_OFS_DELTA = 6, /**< A delta, base is given by an offset. */
-       GIT_OBJ_REF_DELTA = 7, /**< A delta, base is given by object id. */
-} git_otype;
+       GIT_OBJECT_ANY =      -2, /**< Object can be any of the following */
+       GIT_OBJECT_INVALID =  -1, /**< Object is invalid. */
+       GIT_OBJECT_COMMIT =    1, /**< A commit object. */
+       GIT_OBJECT_TREE =      2, /**< A tree (directory listing) object. */
+       GIT_OBJECT_BLOB =      3, /**< A file revision object. */
+       GIT_OBJECT_TAG =       4, /**< An annotated tag object. */
+       GIT_OBJECT_OFS_DELTA = 6, /**< A delta, base is given by an offset. */
+       GIT_OBJECT_REF_DELTA = 7, /**< A delta, base is given by object id. */
+} git_object_t;
 
 /** An open object database handle. */
 typedef struct git_odb git_odb;
@@ -134,6 +135,9 @@ typedef struct git_treebuilder git_treebuilder;
 /** Memory representation of an index file. */
 typedef struct git_index git_index;
 
+/** An iterator for entries in the index. */
+typedef struct git_index_iterator git_index_iterator;
+
 /** An iterator for conflicts in the index. */
 typedef struct git_index_conflict_iterator git_index_conflict_iterator;
 
@@ -181,9 +185,6 @@ typedef struct git_transaction git_transaction;
 /** Annotated commits, the input to merge and rebase. */
 typedef struct git_annotated_commit git_annotated_commit;
 
-/** Merge result */
-typedef struct git_merge_result git_merge_result;
-
 /** Representation of a status collection */
 typedef struct git_status_list git_status_list;
 
@@ -192,11 +193,11 @@ typedef struct git_rebase git_rebase;
 
 /** Basic type of any Git reference. */
 typedef enum {
-       GIT_REF_INVALID = 0, /**< Invalid reference */
-       GIT_REF_OID = 1, /**< A reference which points at an object id */
-       GIT_REF_SYMBOLIC = 2, /**< A reference which points at another reference */
-       GIT_REF_LISTALL = GIT_REF_OID|GIT_REF_SYMBOLIC,
-} git_ref_t;
+       GIT_REFERENCE_INVALID  = 0, /**< Invalid reference */
+       GIT_REFERENCE_DIRECT   = 1, /**< A reference that points at an object id */
+       GIT_REFERENCE_SYMBOLIC = 2, /**< A reference that points at another reference */
+       GIT_REFERENCE_ALL      = GIT_REFERENCE_DIRECT | GIT_REFERENCE_SYMBOLIC,
+} git_reference_t;
 
 /** Basic type of any Git branch. */
 typedef enum {
@@ -215,7 +216,7 @@ typedef enum {
        GIT_FILEMODE_COMMIT              = 0160000,
 } git_filemode_t;
 
-/*
+/**
  * A refspec specifies the mapping between remote and local reference
  * names when fetch or pushing.
  */
@@ -271,7 +272,7 @@ typedef struct git_transfer_progress {
  * @param stats Structure containing information about the state of the transfer
  * @param payload Payload provided by caller
  */
-typedef int (*git_transfer_progress_cb)(const git_transfer_progress *stats, void *payload);
+typedef int GIT_CALLBACK(git_transfer_progress_cb)(const git_transfer_progress *stats, void *payload);
 
 /**
  * Type for messages delivered by the transport.  Return a negative value
@@ -281,7 +282,7 @@ typedef int (*git_transfer_progress_cb)(const git_transfer_progress *stats, void
  * @param len The length of the message
  * @param payload Payload provided by the caller
  */
-typedef int (*git_transport_message_cb)(const char *str, int len, void *payload);
+typedef int GIT_CALLBACK(git_transport_message_cb)(const char *str, int len, void *payload);
 
 
 /**
@@ -330,8 +331,11 @@ typedef struct {
  * this certificate is valid
  * @param host Hostname of the host libgit2 connected to
  * @param payload Payload provided by the caller
+ * @return 0 to proceed with the connection, < 0 to fail the connection
+ *         or > 0 to indicate that the callback refused to act and that
+ *         the existing validity determination should be honored
  */
-typedef int (*git_transport_certificate_check_cb)(git_cert *cert, int valid, const char *host, void *payload);
+typedef int GIT_CALLBACK(git_transport_certificate_check_cb)(git_cert *cert, int valid, const char *host, void *payload);
 
 /**
  * Opaque structure representing a submodule.
@@ -425,15 +429,18 @@ typedef enum {
        GIT_SUBMODULE_RECURSE_ONDEMAND = 2,
 } git_submodule_recurse_t;
 
-/** A type to write in a streaming fashion, for example, for filters. */
 typedef struct git_writestream git_writestream;
 
+/** A type to write in a streaming fashion, for example, for filters. */
 struct git_writestream {
-       int (*write)(git_writestream *stream, const char *buffer, size_t len);
-       int (*close)(git_writestream *stream);
-       void (*free)(git_writestream *stream);
+       int GIT_CALLBACK(write)(git_writestream *stream, const char *buffer, size_t len);
+       int GIT_CALLBACK(close)(git_writestream *stream);
+       void GIT_CALLBACK(free)(git_writestream *stream);
 };
 
+/** Representation of .mailmap file state. */
+typedef struct git_mailmap git_mailmap;
+
 /** @} */
 GIT_END_DECL
 
index 964e4a58b1cba952fae11c25448ec5cee7aaf619..7b7122000564d9f6b17a84e8771cae871cb6c341 100644 (file)
@@ -7,12 +7,12 @@
 #ifndef INCLUDE_git_version_h__
 #define INCLUDE_git_version_h__
 
-#define LIBGIT2_VERSION "0.27.7"
+#define LIBGIT2_VERSION "0.28.1"
 #define LIBGIT2_VER_MAJOR 0
-#define LIBGIT2_VER_MINOR 27
-#define LIBGIT2_VER_REVISION 7
+#define LIBGIT2_VER_MINOR 28
+#define LIBGIT2_VER_REVISION 1
 #define LIBGIT2_VER_PATCH 0
 
-#define LIBGIT2_SOVERSION 27
+#define LIBGIT2_SOVERSION 28
 
 #endif
index a2a5d447355a3644b29d7ab0bd2f8cca2c4a8944..925d85a6965e1f9e27d7abaaf8ea34b43ed4110a 100644 (file)
@@ -74,25 +74,34 @@ GIT_EXTERN(void) git_worktree_free(git_worktree *wt);
  */
 GIT_EXTERN(int) git_worktree_validate(const git_worktree *wt);
 
+/**
+ * Worktree add options structure
+ *
+ * Initialize with `GIT_WORKTREE_ADD_OPTIONS_INIT`. Alternatively, you can
+ * use `git_worktree_add_init_options`.
+ *
+ */
 typedef struct git_worktree_add_options {
        unsigned int version;
 
        int lock; /**< lock newly created worktree */
+       git_reference *ref; /**< reference to use for the new worktree HEAD */
 } git_worktree_add_options;
 
 #define GIT_WORKTREE_ADD_OPTIONS_VERSION 1
-#define GIT_WORKTREE_ADD_OPTIONS_INIT {GIT_WORKTREE_ADD_OPTIONS_VERSION,0}
+#define GIT_WORKTREE_ADD_OPTIONS_INIT {GIT_WORKTREE_ADD_OPTIONS_VERSION,0,NULL}
 
 /**
- * Initializes a `git_worktree_add_options` with default vaules.
- * Equivalent to creating an instance with
- * GIT_WORKTREE_ADD_OPTIONS_INIT.
+ * Initialize git_worktree_add_options structure
+ *
+ * Initializes a `git_worktree_add_options` with default values. Equivalent to
+ * creating an instance with `GIT_WORKTREE_ADD_OPTIONS_INIT`.
  *
- * @param opts the struct to initialize
- * @param version Verison of struct; pass `GIT_WORKTREE_ADD_OPTIONS_VERSION`
+ * @param opts The `git_worktree_add_options` struct to initialize.
+ * @param version The struct version; pass `GIT_WORKTREE_ADD_OPTIONS_VERSION`.
  * @return Zero on success; -1 on failure.
  */
-int git_worktree_add_init_options(git_worktree_add_options *opts,
+GIT_EXTERN(int) git_worktree_add_init_options(git_worktree_add_options *opts,
        unsigned int version);
 
 /**
@@ -148,6 +157,24 @@ GIT_EXTERN(int) git_worktree_unlock(git_worktree *wt);
  */
 GIT_EXTERN(int) git_worktree_is_locked(git_buf *reason, const git_worktree *wt);
 
+/**
+ * Retrieve the name of the worktree
+ *
+ * @param wt Worktree to get the name for
+ * @return The worktree's name. The pointer returned is valid for the
+ *  lifetime of the git_worktree
+ */
+GIT_EXTERN(const char *) git_worktree_name(const git_worktree *wt);
+
+/**
+ * Retrieve the filesystem path for the worktree
+ *
+ * @param wt Worktree to get the path for
+ * @return The worktree's filesystem path. The pointer returned
+ *  is valid for the lifetime of the git_worktree.
+ */
+GIT_EXTERN(const char *) git_worktree_path(const git_worktree *wt);
 /**
  * Flags which can be passed to git_worktree_prune to alter its
  * behavior.
@@ -161,6 +188,13 @@ typedef enum {
        GIT_WORKTREE_PRUNE_WORKING_TREE = 1u << 2,
 } git_worktree_prune_t;
 
+/**
+ * Worktree prune options structure
+ *
+ * Initialize with `GIT_WORKTREE_PRUNE_OPTIONS_INIT`. Alternatively, you can
+ * use `git_worktree_prune_init_options`.
+ *
+ */
 typedef struct git_worktree_prune_options {
        unsigned int version;
 
@@ -171,12 +205,13 @@ typedef struct git_worktree_prune_options {
 #define GIT_WORKTREE_PRUNE_OPTIONS_INIT {GIT_WORKTREE_PRUNE_OPTIONS_VERSION,0}
 
 /**
- * Initializes a `git_worktree_prune_options` with default vaules.
- * Equivalent to creating an instance with
- * GIT_WORKTREE_PRUNE_OPTIONS_INIT.
+ * Initialize git_worktree_prune_options structure
+ *
+ * Initializes a `git_worktree_prune_options` with default values. Equivalent to
+ * creating an instance with `GIT_WORKTREE_PRUNE_OPTIONS_INIT`.
  *
- * @param opts the struct to initialize
- * @param version Verison of struct; pass `GIT_WORKTREE_PRUNE_OPTIONS_VERSION`
+ * @param opts The `git_worktree_prune_options` struct to initialize.
+ * @param version The struct version; pass `GIT_WORKTREE_PRUNE_OPTIONS_VERSION`.
  * @return Zero on success; -1 on failure.
  */
 GIT_EXTERN(int) git_worktree_prune_init_options(
index 0cc89b57f4c0227926e4d1f70629e38a38c552dd..b747919744c3916fa2824353ec8162c9fa6f9816 100644 (file)
@@ -5,10 +5,10 @@
 }
 
 {
-       ignore-giterr-set-leak
+       ignore-giterror-set-leak
        Memcheck:Leak
        ...
-       fun:giterr_set
+       fun:giterror_set
 }
 
 {
 }
 
 {
-       ignore-libssh2-gcrypt-leak
+       ignore-libssh2-gcrypt-control-leak
        Memcheck:Leak
        ...
        fun:gcry_control
        obj:*libssh2.so*
 }
 
+{
+       ignore-libssh2-gcrypt-mpinew-leak
+       Memcheck:Leak
+       ...
+       fun:gcry_mpi_new
+       obj:*libssh2.so*
+}
+
+{
+       ignore-libssh2-gcrypt-mpiscan-leak
+       Memcheck:Leak
+       ...
+       fun:gcry_mpi_scan
+       obj:*libssh2.so*
+}
+
+{
+       ignore-libssh2-gcrypt-randomize-leak
+       Memcheck:Leak
+       ...
+       fun:gcry_randomize
+       obj:*libssh2.so*
+}
+
+{
+       ignore-libssh2-gcrypt-sexpfindtoken-leak
+       Memcheck:Leak
+       ...
+       fun:gcry_sexp_find_token
+       obj:*libssh2.so*
+}
+
+{
+       ignore-libssh2-gcrypt-pksign-leak
+       Memcheck:Leak
+       ...
+       fun:gcry_pk_sign
+       obj:*libssh2.so*
+}
+
 {
        ignore-noai6ai_cached-double-free
        Memcheck:Free
diff --git a/package.json b/package.json
new file mode 100644 (file)
index 0000000..d33f31c
--- /dev/null
@@ -0,0 +1,7 @@
+{
+  "name": "libgit2",
+  "version": "0.27.0",
+  "repo": "https://github.com/libgit2/libgit2",
+  "description": " A cross-platform, linkable library implementation of Git that you can use in your application.",
+  "install": "mkdir build && cd build && cmake .. && cmake --build ."
+}
diff --git a/script/backport.sh b/script/backport.sh
new file mode 100755 (executable)
index 0000000..3c2f899
--- /dev/null
@@ -0,0 +1,23 @@
+#!/bin/sh
+
+if test $# -eq 0
+then
+    echo "USAGE: $0 <#PR> [<#PR>...]"
+    exit
+fi
+
+commits=
+
+for pr in $*
+do
+    mergecommit=$(git rev-parse ":/Merge pull request #$pr" || exit 1)
+    mergebase=$(git merge-base "$mergecommit"^1 "$mergecommit"^2 || exit 1)
+
+    commits="$commits $(git rev-list --reverse "$mergecommit"^2 ^"$mergebase")"
+done
+
+echo "Cherry-picking the following commits:"
+git rev-list --no-walk --oneline $commits
+echo
+
+git cherry-pick $commits
index a933d735cfc16313f2f244ebc126654ba043a227..49425272e4d9ff10854acde0e5f9c0f61ba9edca 100644 (file)
@@ -73,3 +73,26 @@ int git_buf_set(git_buf *buf, const void *data, size_t len)
     buf->size = len + 1;
     return 0;
 }
+
+void clar__fail(
+       const char *file,
+       int line,
+       const char *error,
+       const char *description,
+       int should_abort)
+{
+       if (should_abort)
+               __coverity_panic__();
+}
+
+void clar__assert(
+       int condition,
+       const char *file,
+       int line,
+       const char *error,
+       const char *description,
+       int should_abort)
+{
+       if (!condition && should_abort)
+               __coverity_panic__();
+}
index 3c06a706ddf55363b5eb1b99ca46bea8dda15ce7..b6e2df312f7504ac5679fe56a414c2c814fa2787 100644 (file)
@@ -5,8 +5,8 @@
  * a Linking Exception. For full terms see the included COPYING file.
  */
 
-#nodef GITERR_CHECK_ALLOC(ptr) if (ptr == NULL) { __coverity_panic__(); }
-#nodef GITERR_CHECK_ALLOC_BUF(buf) if (buf == NULL || git_buf_oom(buf)) { __coverity_panic__(); }
+#nodef GIT_ERROR_CHECK_ALLOC(ptr) if (ptr == NULL) { __coverity_panic__(); }
+#nodef GIT_ERROR_CHECK_ALLOC_BUF(buf) if (buf == NULL || git_buf_oom(buf)) { __coverity_panic__(); }
 
 #nodef GITERR_CHECK_ALLOC_ADD(out, one, two) \
        if (GIT_ADD_SIZET_OVERFLOW(out, one, two)) { __coverity_panic__(); }
@@ -23,7 +23,7 @@
 #nodef GITERR_CHECK_ALLOC_MULTIPLY(out, nelem, elsize) \
        if (GIT_MULTIPLY_SIZET_OVERFLOW(out, nelem, elsize)) { __coverity_panic__(); }
 
-#nodef GITERR_CHECK_VERSION(S,V,N) if (giterr__check_version(S,V,N) < 0)  { __coverity_panic__(); }
+#nodef GIT_ERROR_CHECK_VERSION(S,V,N) if (git_error__check_version(S,V,N) < 0)  { __coverity_panic__(); }
 
 #nodef LOOKS_LIKE_DRIVE_PREFIX(S) (strlen(S) >= 2 && git__isalpha((S)[0]) && (S)[1] == ':')
 
index 2080933f0056aefdbc33872dfa3f6d75226f9254..5ad8b1447f4aa9c05a67d5900cc0a76f300ad0ed 100644 (file)
@@ -16,6 +16,7 @@ SET(LIBGIT2_INCLUDES
        "${CMAKE_CURRENT_BINARY_DIR}"
        "${libgit2_SOURCE_DIR}/src"
        "${libgit2_SOURCE_DIR}/include")
+SET(LIBGIT2_SYSTEM_INCLUDES "")
 SET(LIBGIT2_LIBS "")
 
 # Installation paths
@@ -103,7 +104,7 @@ ADD_FEATURE_INFO(threadsafe THREADSAFE "threadsafe support")
 
 IF (WIN32 AND EMBED_SSH_PATH)
        FILE(GLOB SRC_SSH "${EMBED_SSH_PATH}/src/*.c")
-       LIST(APPEND LIBGIT2_INCLUDES "${EMBED_SSH_PATH}/include")
+       LIST(APPEND LIBGIT2_SYSTEM_INCLUDES "${EMBED_SSH_PATH}/include")
        FILE(WRITE "${EMBED_SSH_PATH}/src/libssh2_config.h" "#define HAVE_WINCNG\n#define LIBSSH2_WINCNG\n#include \"../win32/libssh2_config.h\"")
        SET(GIT_SSH 1)
 ENDIF()
@@ -116,7 +117,7 @@ IF (WIN32 AND WINHTTP)
        IF (MINGW)
                ADD_SUBDIRECTORY("${libgit2_SOURCE_DIR}/deps/winhttp" "${libgit2_BINARY_DIR}/deps/winhttp")
                LIST(APPEND LIBGIT2_LIBS winhttp)
-               LIST(APPEND LIBGIT2_INCLUDES "${libgit2_SOURCE_DIR}/deps/winhttp")
+               LIST(APPEND LIBGIT2_SYSTEM_INCLUDES "${libgit2_SOURCE_DIR}/deps/winhttp")
        ELSE()
                LIST(APPEND LIBGIT2_LIBS "winhttp")
                LIST(APPEND LIBGIT2_PC_LIBS "-lwinhttp")
@@ -124,20 +125,12 @@ IF (WIN32 AND WINHTTP)
 
        LIST(APPEND LIBGIT2_LIBS "rpcrt4" "crypt32" "ole32")
        LIST(APPEND LIBGIT2_PC_LIBS "-lrpcrt4" "-lcrypt32" "-lole32")
-ELSE ()
-       IF (CURL)
-               FIND_PKGLIBRARIES(CURL libcurl)
-       ENDIF ()
-       IF (CURL_FOUND)
-               SET(GIT_CURL 1)
-               LIST(APPEND LIBGIT2_INCLUDES ${CURL_INCLUDE_DIRS})
-               LIST(APPEND LIBGIT2_LIBS ${CURL_LIBRARIES})
-               LIST(APPEND LIBGIT2_PC_LIBS ${CURL_LDFLAGS})
-       ENDIF()
-       ADD_FEATURE_INFO(cURL GIT_CURL "cURL for HTTP proxy support")
 ENDIF()
 
 IF (USE_HTTPS)
+       # We try to find any packages our backends might use
+       FIND_PACKAGE(OpenSSL)
+       FIND_PACKAGE(mbedTLS)
        IF (CMAKE_SYSTEM_NAME MATCHES "Darwin")
                FIND_PACKAGE(Security)
                FIND_PACKAGE(CoreFoundation)
@@ -154,8 +147,13 @@ IF (USE_HTTPS)
                        ENDIF()
                ELSEIF (WINHTTP)
                        SET(HTTPS_BACKEND "WinHTTP")
-               ELSE()
+               ELSEIF(OPENSSL_FOUND)
                        SET(HTTPS_BACKEND "OpenSSL")
+               ELSEIF(MBEDTLS_FOUND)
+                       SET(HTTPS_BACKEND "mbedTLS")
+               ELSE()
+                       MESSAGE(FATAL_ERROR "Unable to autodetect a usable HTTPS backend."
+                               "Please pass the backend name explicitly (-DUSE_HTTPS=backend)")
                ENDIF()
        ELSE()
                # Backend was explicitly set
@@ -175,21 +173,68 @@ IF (USE_HTTPS)
                ENDIF()
 
                SET(GIT_SECURE_TRANSPORT 1)
-               LIST(APPEND LIBGIT2_INCLUDES ${SECURITY_INCLUDE_DIR})
+               LIST(APPEND LIBGIT2_SYSTEM_INCLUDES ${SECURITY_INCLUDE_DIR})
                LIST(APPEND LIBGIT2_LIBS ${COREFOUNDATION_LIBRARIES} ${SECURITY_LIBRARIES})
                LIST(APPEND LIBGIT2_PC_LIBS ${COREFOUNDATION_LDFLAGS} ${SECURITY_LDFLAGS})
        ELSEIF (HTTPS_BACKEND STREQUAL "OpenSSL")
-               FIND_PACKAGE(OpenSSL)
-
                IF (NOT OPENSSL_FOUND)
                        MESSAGE(FATAL_ERROR "Asked for OpenSSL TLS backend, but it wasn't found")
                ENDIF()
 
                SET(GIT_OPENSSL 1)
-               LIST(APPEND LIBGIT2_INCLUDES ${OPENSSL_INCLUDE_DIR})
+               LIST(APPEND LIBGIT2_SYSTEM_INCLUDES ${OPENSSL_INCLUDE_DIR})
                LIST(APPEND LIBGIT2_LIBS ${OPENSSL_LIBRARIES})
                LIST(APPEND LIBGIT2_PC_LIBS ${OPENSSL_LDFLAGS})
                LIST(APPEND LIBGIT2_PC_REQUIRES "openssl")
+       ELSEIF(HTTPS_BACKEND STREQUAL "mbedTLS")
+               IF (NOT MBEDTLS_FOUND)
+                       MESSAGE(FATAL_ERROR "Asked for mbedTLS backend, but it wasn't found")
+               ENDIF()
+
+               IF(NOT CERT_LOCATION)
+                       MESSAGE("Auto-detecting default certificates location")
+                       IF(CMAKE_SYSTEM_NAME MATCHES Darwin)
+                               # Check for an Homebrew installation
+                               SET(OPENSSL_CMD "/usr/local/opt/openssl/bin/openssl")
+                       ELSE()
+                               SET(OPENSSL_CMD "openssl")
+                       ENDIF()
+                       EXECUTE_PROCESS(COMMAND ${OPENSSL_CMD} version -d OUTPUT_VARIABLE OPENSSL_DIR OUTPUT_STRIP_TRAILING_WHITESPACE)
+                       IF(OPENSSL_DIR)
+                               STRING(REGEX REPLACE "^OPENSSLDIR: \"(.*)\"$" "\\1/" OPENSSL_DIR ${OPENSSL_DIR})
+
+                               SET(OPENSSL_CA_LOCATIONS
+                                       "ca-bundle.pem"             # OpenSUSE Leap 42.1
+                                       "cert.pem"                  # Ubuntu 14.04, FreeBSD
+                                       "certs/ca-certificates.crt" # Ubuntu 16.04
+                                       "certs/ca.pem"              # Debian 7
+                               )
+                               FOREACH(SUFFIX IN LISTS OPENSSL_CA_LOCATIONS)
+                                       SET(LOC "${OPENSSL_DIR}${SUFFIX}")
+                                       IF(NOT CERT_LOCATION AND EXISTS "${OPENSSL_DIR}${SUFFIX}")
+                                               SET(CERT_LOCATION ${LOC})
+                                       ENDIF()
+                               ENDFOREACH()
+                       ELSE()
+                               MESSAGE("Unable to find OpenSSL executable. Please provide default certificate location via CERT_LOCATION")
+                       ENDIF()
+               ENDIF()
+
+               IF(CERT_LOCATION)
+                       IF(NOT EXISTS ${CERT_LOCATION})
+                               MESSAGE(FATAL_ERROR "Cannot use CERT_LOCATION=${CERT_LOCATION} as it doesn't exist")
+                       ENDIF()
+                       ADD_FEATURE_INFO(CERT_LOCATION ON "using certificates from ${CERT_LOCATION}")
+                       ADD_DEFINITIONS(-DGIT_DEFAULT_CERT_LOCATION="${CERT_LOCATION}")
+               ENDIF()
+
+               SET(GIT_MBEDTLS 1)
+               LIST(APPEND LIBGIT2_SYSTEM_INCLUDES ${MBEDTLS_INCLUDE_DIR})
+               LIST(APPEND LIBGIT2_LIBS ${MBEDTLS_LIBRARIES})
+               # mbedTLS has no pkgconfig file, hence we can't require it
+               # https://github.com/ARMmbed/mbedtls/issues/228
+               # For now, pass its link flags as our own
+               LIST(APPEND LIBGIT2_PC_LIBS ${MBEDTLS_LIBRARIES})
        ELSEIF (HTTPS_BACKEND STREQUAL "WinHTTP")
                # WinHTTP setup was handled in the WinHTTP-specific block above
        ELSE()
@@ -235,6 +280,16 @@ ELSEIF(SHA1_BACKEND STREQUAL "Win32")
 ELSEIF(SHA1_BACKEND STREQUAL "CommonCrypto")
        ADD_FEATURE_INFO(SHA ON "using CommonCrypto")
        SET(GIT_SHA1_COMMON_CRYPTO 1)
+ELSEIF (SHA1_BACKEND STREQUAL "mbedTLS")
+       ADD_FEATURE_INFO(SHA ON "using mbedTLS")
+       SET(GIT_SHA1_MBEDTLS 1)
+       FILE(GLOB SRC_SHA1 hash/hash_mbedtls.c)
+       LIST(APPEND LIBGIT2_SYSTEM_INCLUDES ${MBEDTLS_INCLUDE_DIR})
+       LIST(APPEND LIBGIT2_LIBS ${MBEDTLS_LIBRARIES})
+       # mbedTLS has no pkgconfig file, hence we can't require it
+       # https://github.com/ARMmbed/mbedtls/issues/228
+       # For now, pass its link flags as our own
+       LIST(APPEND LIBGIT2_PC_LIBS ${MBEDTLS_LIBRARIES})
 ELSE()
        MESSAGE(FATAL_ERROR "Asked for unknown SHA1 backend ${SHA1_BACKEND}")
 ENDIF()
@@ -242,21 +297,21 @@ ENDIF()
 # Include POSIX regex when it is required
 IF(WIN32 OR AMIGA OR CMAKE_SYSTEM_NAME MATCHES "(Solaris|SunOS)")
        ADD_SUBDIRECTORY("${libgit2_SOURCE_DIR}/deps/regex" "${libgit2_BINARY_DIR}/deps/regex")
-       LIST(APPEND LIBGIT2_INCLUDES "${libgit2_SOURCE_DIR}/deps/regex")
+       LIST(APPEND LIBGIT2_SYSTEM_INCLUDES "${libgit2_SOURCE_DIR}/deps/regex")
        LIST(APPEND LIBGIT2_OBJECTS $<TARGET_OBJECTS:regex>)
 ENDIF()
 
 # Optional external dependency: http-parser
 FIND_PACKAGE(HTTP_Parser)
 IF (USE_EXT_HTTP_PARSER AND HTTP_PARSER_FOUND AND HTTP_PARSER_VERSION_MAJOR EQUAL 2)
-       LIST(APPEND LIBGIT2_INCLUDES ${HTTP_PARSER_INCLUDE_DIRS})
+       LIST(APPEND LIBGIT2_SYSTEM_INCLUDES ${HTTP_PARSER_INCLUDE_DIRS})
        LIST(APPEND LIBGIT2_LIBS ${HTTP_PARSER_LIBRARIES})
        LIST(APPEND LIBGIT2_PC_LIBS "-lhttp_parser")
        ADD_FEATURE_INFO(http-parser ON "http-parser support")
 ELSE()
        MESSAGE(STATUS "http-parser version 2 was not found or disabled; using bundled 3rd-party sources.")
        ADD_SUBDIRECTORY("${libgit2_SOURCE_DIR}/deps/http-parser" "${libgit2_BINARY_DIR}/deps/http-parser")
-       LIST(APPEND LIBGIT2_INCLUDES "${libgit2_SOURCE_DIR}/deps/http-parser")
+       LIST(APPEND LIBGIT2_SYSTEM_INCLUDES "${libgit2_SOURCE_DIR}/deps/http-parser")
        LIST(APPEND LIBGIT2_OBJECTS "$<TARGET_OBJECTS:http-parser>")
        ADD_FEATURE_INFO(http-parser ON "http-parser support (bundled)")
 ENDIF()
@@ -265,7 +320,7 @@ ENDIF()
 IF(NOT USE_BUNDLED_ZLIB)
        FIND_PACKAGE(ZLIB)
        IF(ZLIB_FOUND)
-               LIST(APPEND LIBGIT2_INCLUDES ${ZLIB_INCLUDE_DIRS})
+               LIST(APPEND LIBGIT2_SYSTEM_INCLUDES ${ZLIB_INCLUDE_DIRS})
                LIST(APPEND LIBGIT2_LIBS ${ZLIB_LIBRARIES})
                IF(APPLE OR CMAKE_SYSTEM_NAME MATCHES "FreeBSD")
                        LIST(APPEND LIBGIT2_LIBS "z")
@@ -280,7 +335,7 @@ IF(NOT USE_BUNDLED_ZLIB)
 ENDIF()
 IF(USE_BUNDLED_ZLIB OR NOT ZLIB_FOUND)
        ADD_SUBDIRECTORY("${libgit2_SOURCE_DIR}/deps/zlib" "${libgit2_BINARY_DIR}/deps/zlib")
-       LIST(APPEND LIBGIT2_INCLUDES "${libgit2_SOURCE_DIR}/deps/zlib")
+       LIST(APPEND LIBGIT2_SYSTEM_INCLUDES "${libgit2_SOURCE_DIR}/deps/zlib")
        LIST(APPEND LIBGIT2_OBJECTS $<TARGET_OBJECTS:zlib>)
        ADD_FEATURE_INFO(zlib ON "using bundled zlib")
 ENDIF()
@@ -291,7 +346,7 @@ IF (USE_SSH)
 ENDIF()
 IF (LIBSSH2_FOUND)
        SET(GIT_SSH 1)
-       LIST(APPEND LIBGIT2_INCLUDES ${LIBSSH2_INCLUDE_DIRS})
+       LIST(APPEND LIBGIT2_SYSTEM_INCLUDES ${LIBSSH2_INCLUDE_DIRS})
        LIST(APPEND LIBGIT2_LIBS ${LIBSSH2_LIBRARIES})
        LIST(APPEND LIBGIT2_PC_LIBS ${LIBSSH2_LDFLAGS})
 
@@ -320,7 +375,7 @@ IF (USE_ICONV)
 ENDIF()
 IF (ICONV_FOUND)
        SET(GIT_USE_ICONV 1)
-       LIST(APPEND LIBGIT2_INCLUDES ${ICONV_INCLUDE_DIR})
+       LIST(APPEND LIBGIT2_SYSTEM_INCLUDES ${ICONV_INCLUDE_DIR})
        LIST(APPEND LIBGIT2_LIBS ${ICONV_LIBRARIES})
        LIST(APPEND LIBGIT2_PC_LIBS ${ICONV_LIBRARIES})
 ENDIF()
@@ -357,7 +412,7 @@ FILE(GLOB SRC_H
 
 # On Windows use specific platform sources
 IF (WIN32 AND NOT CYGWIN)
-       ADD_DEFINITIONS(-DWIN32 -D_WIN32_WINNT=0x0501)
+       ADD_DEFINITIONS(-DWIN32 -D_WIN32_WINNT=0x0600)
 
        IF(MSVC)
                SET(WIN_RC "win32/git2.rc")
@@ -393,19 +448,24 @@ CONFIGURE_FILE(features.h.in git2/sys/features.h)
 SET(LIBGIT2_SOURCES ${SRC_H} ${SRC_GIT2} ${SRC_OS} ${SRC_SSH} ${SRC_SHA1})
 
 ADD_LIBRARY(git2internal OBJECT ${LIBGIT2_SOURCES})
+SET_TARGET_PROPERTIES(git2internal PROPERTIES C_STANDARD 90)
 IDE_SPLIT_SOURCES(git2internal)
 LIST(APPEND LIBGIT2_OBJECTS $<TARGET_OBJECTS:git2internal>)
 
 IF (${CMAKE_VERSION} VERSION_LESS 2.8.12)
        INCLUDE_DIRECTORIES(${LIBGIT2_INCLUDES})
+       INCLUDE_DIRECTORIES(SYSTEM ${LIBGIT2_SYSTEM_INCLUDES})
 ELSE()
        TARGET_INCLUDE_DIRECTORIES(git2internal
            PRIVATE ${LIBGIT2_INCLUDES}
            PUBLIC ${libgit2_SOURCE_DIR}/include)
+       TARGET_INCLUDE_DIRECTORIES(git2internal
+           SYSTEM PRIVATE ${LIBGIT2_SYSTEM_INCLUDES})
 ENDIF()
 
 SET(LIBGIT2_OBJECTS ${LIBGIT2_OBJECTS} PARENT_SCOPE)
 SET(LIBGIT2_INCLUDES ${LIBGIT2_INCLUDES} PARENT_SCOPE)
+SET(LIBGIT2_SYSTEM_INCLUDES ${LIBGIT2_SYSTEM_INCLUDES} PARENT_SCOPE)
 SET(LIBGIT2_LIBS ${LIBGIT2_LIBS} PARENT_SCOPE)
 
 IF(XCODE_VERSION)
@@ -419,6 +479,7 @@ ENDIF()
 ADD_LIBRARY(git2 ${WIN_RC} ${LIBGIT2_OBJECTS})
 TARGET_LINK_LIBRARIES(git2 ${LIBGIT2_LIBS})
 
+SET_TARGET_PROPERTIES(git2 PROPERTIES C_STANDARD 90)
 SET_TARGET_PROPERTIES(git2 PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${libgit2_BINARY_DIR})
 SET_TARGET_PROPERTIES(git2 PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${libgit2_BINARY_DIR})
 SET_TARGET_PROPERTIES(git2 PROPERTIES ARCHIVE_OUTPUT_DIRECTORY ${libgit2_BINARY_DIR})
diff --git a/src/alloc.c b/src/alloc.c
new file mode 100644 (file)
index 0000000..8d4a194
--- /dev/null
@@ -0,0 +1,55 @@
+/*
+ * Copyright (C) the libgit2 contributors. All rights reserved.
+ *
+ * This file is part of libgit2, distributed under the GNU GPL v2 with
+ * a Linking Exception. For full terms see the included COPYING file.
+ */
+
+#include "alloc.h"
+
+#if defined(GIT_MSVC_CRTDBG)
+# include "win32/w32_crtdbg_stacktrace.h"
+#else
+# include "stdalloc.h"
+#endif
+
+git_allocator git__allocator;
+
+static int setup_default_allocator(void)
+{
+#if defined(GIT_MSVC_CRTDBG)
+       return git_win32_crtdbg_init_allocator(&git__allocator);
+#else
+       return git_stdalloc_init_allocator(&git__allocator);
+#endif
+}
+
+int git_allocator_global_init(void)
+{
+       /*
+        * We don't want to overwrite any allocator which has been set before
+        * the init function is called.
+        */
+       if (git__allocator.gmalloc != NULL)
+               return 0;
+
+       return setup_default_allocator();
+}
+
+int git_allocator_setup(git_allocator *allocator)
+{
+       if (!allocator)
+               return setup_default_allocator();
+
+       memcpy(&git__allocator, allocator, sizeof(*allocator));
+       return 0;
+}
+
+#if !defined(GIT_MSVC_CRTDBG)
+int git_win32_crtdbg_init_allocator(git_allocator *allocator)
+{
+       GIT_UNUSED(allocator);
+       git_error_set(GIT_EINVALID, "crtdbg memory allocator not available");
+       return -1;
+}
+#endif
diff --git a/src/alloc.h b/src/alloc.h
new file mode 100644 (file)
index 0000000..04fb7e1
--- /dev/null
@@ -0,0 +1,40 @@
+/*
+ * Copyright (C) the libgit2 contributors. All rights reserved.
+ *
+ * This file is part of libgit2, distributed under the GNU GPL v2 with
+ * a Linking Exception. For full terms see the included COPYING file.
+ */
+
+#ifndef INCLUDE_alloc_h__
+#define INCLUDE_alloc_h__
+
+#include "git2/sys/alloc.h"
+
+extern git_allocator git__allocator;
+
+#define git__malloc(len)                      git__allocator.gmalloc(len, __FILE__, __LINE__)
+#define git__calloc(nelem, elsize)            git__allocator.gcalloc(nelem, elsize, __FILE__, __LINE__)
+#define git__strdup(str)                      git__allocator.gstrdup(str, __FILE__, __LINE__)
+#define git__strndup(str, n)                  git__allocator.gstrndup(str, n, __FILE__, __LINE__)
+#define git__substrdup(str, n)                git__allocator.gsubstrdup(str, n, __FILE__, __LINE__)
+#define git__realloc(ptr, size)               git__allocator.grealloc(ptr, size, __FILE__, __LINE__)
+#define git__reallocarray(ptr, nelem, elsize) git__allocator.greallocarray(ptr, nelem, elsize, __FILE__, __LINE__)
+#define git__mallocarray(nelem, elsize)       git__allocator.gmallocarray(nelem, elsize, __FILE__, __LINE__)
+#define git__free                             git__allocator.gfree
+
+/**
+ * This function is being called by our global setup routines to
+ * initialize the standard allocator.
+ */
+int git_allocator_global_init(void);
+
+/**
+ * Switch out libgit2's global memory allocator
+ *
+ * @param allocator The new allocator that should be used. All function pointers
+ *                  of it need to be set correctly.
+ * @return An error code or 0.
+ */
+int git_allocator_setup(git_allocator *allocator);
+
+#endif
index 72ba80a225a0c2b6cef19efc62bb5c3121f463eb..5d4f3708206b5e7efc8807a75a0c7417c14e9f47 100644 (file)
@@ -31,7 +31,7 @@ static int annotated_commit_init(
        *out = NULL;
 
        annotated_commit = git__calloc(1, sizeof(git_annotated_commit));
-       GITERR_CHECK_ALLOC(annotated_commit);
+       GIT_ERROR_CHECK_ALLOC(annotated_commit);
 
        annotated_commit->type = GIT_ANNOTATED_COMMIT_REAL;
 
@@ -45,7 +45,7 @@ static int annotated_commit_init(
                description = annotated_commit->id_str;
 
        annotated_commit->description = git__strdup(description);
-       GITERR_CHECK_ALLOC(annotated_commit->description);
+       GIT_ERROR_CHECK_ALLOC(annotated_commit->description);
 
 done:
        if (!error)
@@ -105,7 +105,7 @@ int git_annotated_commit_from_revspec(
        if ((error = git_revparse_single(&obj, repo, revspec)) < 0)
                return error;
 
-       if ((error = git_object_peel(&commit, obj, GIT_OBJ_COMMIT))) {
+       if ((error = git_object_peel(&commit, obj, GIT_OBJECT_COMMIT))) {
                git_object_free(obj);
                return error;
        }
@@ -123,27 +123,27 @@ int git_annotated_commit_from_ref(
        git_repository *repo,
        const git_reference *ref)
 {
-       git_reference *resolved;
+       git_object *peeled;
        int error = 0;
 
        assert(out && repo && ref);
 
        *out = NULL;
 
-       if ((error = git_reference_resolve(&resolved, ref)) < 0)
+       if ((error = git_reference_peel(&peeled, ref, GIT_OBJECT_COMMIT)) < 0)
                return error;
-       
+
        error = annotated_commit_init_from_id(out,
                repo,
-               git_reference_target(resolved),
+               git_object_id(peeled),
                git_reference_name(ref));
 
        if (!error) {
                (*out)->ref_name = git__strdup(git_reference_name(ref));
-               GITERR_CHECK_ALLOC((*out)->ref_name);
+               GIT_ERROR_CHECK_ALLOC((*out)->ref_name);
        }
 
-       git_reference_free(resolved);
+       git_object_free(peeled);
        return error;
 }
 
@@ -180,10 +180,10 @@ int git_annotated_commit_from_fetchhead(
                return -1;
 
        (*out)->ref_name = git__strdup(branch_name);
-       GITERR_CHECK_ALLOC((*out)->ref_name);
+       GIT_ERROR_CHECK_ALLOC((*out)->ref_name);
 
        (*out)->remote_url = git__strdup(remote_url);
-       GITERR_CHECK_ALLOC((*out)->remote_url);
+       GIT_ERROR_CHECK_ALLOC((*out)->remote_url);
 
        return 0;
 }
@@ -196,6 +196,13 @@ const git_oid *git_annotated_commit_id(
        return git_commit_id(annotated_commit->commit);
 }
 
+const char *git_annotated_commit_ref(
+       const git_annotated_commit *annotated_commit)
+{
+       assert(annotated_commit);
+       return annotated_commit->ref_name;
+}
+
 void git_annotated_commit_free(git_annotated_commit *annotated_commit)
 {
        if (annotated_commit == NULL)
index 7801a0a540f1823c0cbec867108d88f815658f82..d72aa8374525ca7c2e867ae005245f8712b5c5f2 100644 (file)
@@ -9,16 +9,23 @@
 
 #include <assert.h>
 
+#include "git2/apply.h"
 #include "git2/patch.h"
 #include "git2/filter.h"
+#include "git2/blob.h"
+#include "git2/index.h"
+#include "git2/checkout.h"
+#include "git2/repository.h"
 #include "array.h"
 #include "patch.h"
 #include "fileops.h"
 #include "delta.h"
 #include "zstream.h"
+#include "reader.h"
+#include "index.h"
 
 #define apply_err(...) \
-       ( giterr_set(GITERR_PATCH, __VA_ARGS__), -1 )
+       ( git_error_set(GIT_ERROR_PATCH, __VA_ARGS__), GIT_EAPPLYFAIL )
 
 typedef struct {
        /* The lines that we allocate ourself are allocated out of the pool.
@@ -61,7 +68,7 @@ static int patch_image_init_fromstr(
                        end++;
 
                line = git_pool_mallocz(&out->pool, 1);
-               GITERR_CHECK_ALLOC(line);
+               GIT_ERROR_CHECK_ALLOC(line);
 
                if (git_vector_insert(&out->lines, line) < 0)
                        return -1;
@@ -131,7 +138,7 @@ static bool find_hunk_linenum(
 
 static int update_hunk(
        patch_image *image,
-       unsigned int linenum,
+       size_t linenum,
        patch_image *preimage,
        patch_image *postimage)
 {
@@ -148,7 +155,7 @@ static int update_hunk(
                        &image->lines, linenum, (prelen - postlen));
 
        if (error) {
-               giterr_set_oom();
+               git_error_set_oom();
                return -1;
        }
 
@@ -160,15 +167,36 @@ static int update_hunk(
        return 0;
 }
 
+typedef struct {
+       git_apply_options opts;
+       size_t skipped_new_lines;
+       size_t skipped_old_lines;
+} apply_hunks_ctx;
+
 static int apply_hunk(
        patch_image *image,
        git_patch *patch,
-       git_patch_hunk *hunk)
+       git_patch_hunk *hunk,
+       apply_hunks_ctx *ctx)
 {
        patch_image preimage = PATCH_IMAGE_INIT, postimage = PATCH_IMAGE_INIT;
        size_t line_num, i;
        int error = 0;
 
+       if (ctx->opts.hunk_cb) {
+               error = ctx->opts.hunk_cb(&hunk->hunk, ctx->opts.payload);
+
+               if (error) {
+                       if (error > 0) {
+                               ctx->skipped_new_lines += hunk->hunk.new_lines;
+                               ctx->skipped_old_lines += hunk->hunk.old_lines;
+                               error = 0;
+                       }
+
+                       goto done;
+               }
+       }
+
        for (i = 0; i < hunk->line_count; i++) {
                size_t linenum = hunk->line_start + i;
                git_diff_line *line = git_array_get(patch->lines, linenum);
@@ -191,7 +219,14 @@ static int apply_hunk(
                }
        }
 
-       line_num = hunk->hunk.new_start ? hunk->hunk.new_start - 1 : 0;
+       if (hunk->hunk.new_start) {
+               line_num = hunk->hunk.new_start -
+                       ctx->skipped_new_lines +
+                       ctx->skipped_old_lines -
+                       1;
+       } else {
+               line_num = 0;
+       }
 
        if (!find_hunk_linenum(&line_num, image, &preimage, line_num)) {
                error = apply_err("hunk at line %d did not apply",
@@ -212,7 +247,8 @@ static int apply_hunks(
        git_buf *out,
        const char *source,
        size_t source_len,
-       git_patch *patch)
+       git_patch *patch,
+       apply_hunks_ctx *ctx)
 {
        git_patch_hunk *hunk;
        git_diff_line *line;
@@ -224,7 +260,7 @@ static int apply_hunks(
                goto done;
 
        git_array_foreach(patch->hunks, i, hunk) {
-               if ((error = apply_hunk(&image, patch, hunk)) < 0)
+               if ((error = apply_hunk(&image, patch, hunk, ctx)) < 0)
                        goto done;
        }
 
@@ -255,7 +291,7 @@ static int apply_binary_delta(
 
        if (!error && inflated.size != binary_file->inflatedlen) {
                error = apply_err("inflated delta does not match expected length");
-               git_buf_free(out);
+               git_buf_dispose(out);
        }
 
        if (error < 0)
@@ -281,7 +317,7 @@ static int apply_binary_delta(
        }
 
 done:
-       git_buf_free(&inflated);
+       git_buf_dispose(&inflated);
        return error;
 }
 
@@ -312,17 +348,18 @@ static int apply_binary(
                        &patch->binary.old_file)) < 0)
                goto done;
 
+       /* Verify that the resulting file with the reverse patch applied matches the source file */
        if (source_len != reverse.size ||
-               memcmp(source, reverse.ptr, source_len) != 0) {
+               (source_len && memcmp(source, reverse.ptr, source_len) != 0)) {
                error = apply_err("binary patch did not apply cleanly");
                goto done;
        }
 
 done:
        if (error < 0)
-               git_buf_free(out);
+               git_buf_dispose(out);
 
-       git_buf_free(&reverse);
+       git_buf_dispose(&reverse);
        return error;
 }
 
@@ -332,14 +369,19 @@ int git_apply__patch(
        unsigned int *mode_out,
        const char *source,
        size_t source_len,
-       git_patch *patch)
+       git_patch *patch,
+       const git_apply_options *given_opts)
 {
+       apply_hunks_ctx ctx = { GIT_APPLY_OPTIONS_INIT };
        char *filename = NULL;
        unsigned int mode = 0;
        int error = 0;
 
        assert(contents_out && filename_out && mode_out && (source || !source_len) && patch);
 
+       if (given_opts)
+               memcpy(&ctx.opts, given_opts, sizeof(git_apply_options));
+
        *filename_out = NULL;
        *mode_out = 0;
 
@@ -354,7 +396,7 @@ int git_apply__patch(
        if (patch->delta->flags & GIT_DIFF_FLAG_BINARY)
                error = apply_binary(contents_out, source, source_len, patch);
        else if (patch->hunks.size)
-               error = apply_hunks(contents_out, source, source_len, patch);
+               error = apply_hunks(contents_out, source, source_len, patch, &ctx);
        else
                error = git_buf_put(contents_out, source, source_len);
 
@@ -376,3 +418,438 @@ done:
 
        return error;
 }
+
+static int apply_one(
+       git_repository *repo,
+       git_reader *preimage_reader,
+       git_index *preimage,
+       git_reader *postimage_reader,
+       git_index *postimage,
+       git_diff *diff,
+       git_strmap *removed_paths,
+       size_t i,
+       const git_apply_options *opts)
+{
+       git_patch *patch = NULL;
+       git_buf pre_contents = GIT_BUF_INIT, post_contents = GIT_BUF_INIT;
+       const git_diff_delta *delta;
+       char *filename = NULL;
+       unsigned int mode;
+       git_oid pre_id, post_id;
+       git_filemode_t pre_filemode;
+       git_index_entry pre_entry, post_entry;
+       bool skip_preimage = false;
+       size_t pos;
+       int error;
+
+       if ((error = git_patch_from_diff(&patch, diff, i)) < 0)
+               goto done;
+
+       delta = git_patch_get_delta(patch);
+
+       if (opts->delta_cb) {
+               error = opts->delta_cb(delta, opts->payload);
+
+               if (error) {
+                       if (error > 0)
+                               error = 0;
+
+                       goto done;
+               }
+       }
+
+       /*
+        * Ensure that the file has not been deleted or renamed if we're
+        * applying a modification delta.
+        */
+       if (delta->status != GIT_DELTA_RENAMED &&
+           delta->status != GIT_DELTA_ADDED) {
+               pos = git_strmap_lookup_index(removed_paths, delta->old_file.path);
+               if (git_strmap_valid_index(removed_paths, pos)) {
+                       error = apply_err("path '%s' has been renamed or deleted", delta->old_file.path);
+                       goto done;
+               }
+       }
+
+       /*
+        * We may be applying a second delta to an already seen file.  If so,
+        * use the already modified data in the postimage instead of the
+        * content from the index or working directory.  (Don't do this in
+        * the case of a rename, which must be specified before additional
+        * deltas since we apply deltas to the target filename.)
+        */
+       if (delta->status != GIT_DELTA_RENAMED) {
+               if ((error = git_reader_read(&pre_contents, &pre_id, &pre_filemode,
+                   postimage_reader, delta->old_file.path)) == 0) {
+                       skip_preimage = true;
+               } else if (error == GIT_ENOTFOUND) {
+                       git_error_clear();
+                       error = 0;
+               } else {
+                       goto done;
+               }
+       }
+
+       if (!skip_preimage && delta->status != GIT_DELTA_ADDED) {
+               error = git_reader_read(&pre_contents, &pre_id, &pre_filemode,
+                       preimage_reader, delta->old_file.path);
+
+               /* ENOTFOUND means the preimage was not found; apply failed. */
+               if (error == GIT_ENOTFOUND)
+                       error = GIT_EAPPLYFAIL;
+
+               /* When applying to BOTH, the index did not match the workdir. */
+               if (error == GIT_READER_MISMATCH)
+                       error = apply_err("%s: does not match index", delta->old_file.path);
+
+               if (error < 0)
+                       goto done;
+
+               /*
+                * We need to populate the preimage data structure with the
+                * contents that we are using as the preimage for this file.
+                * This allows us to apply patches to files that have been
+                * modified in the working directory.  During checkout,
+                * we will use this expected preimage as the baseline, and
+                * limit checkout to only the paths affected by patch
+                * application.  (Without this, we would fail to write the
+                * postimage contents to any file that had been modified
+                * from HEAD on-disk, even if the patch application succeeded.)
+                * Use the contents from the delta where available - some
+                * fields may not be available, like the old file mode (eg in
+                * an exact rename situation) so trust the patch parsing to
+                * validate and use the preimage data in that case.
+                */
+               if (preimage) {
+                       memset(&pre_entry, 0, sizeof(git_index_entry));
+                       pre_entry.path = delta->old_file.path;
+                       pre_entry.mode = delta->old_file.mode ? delta->old_file.mode : pre_filemode;
+                       git_oid_cpy(&pre_entry.id, &pre_id);
+
+                       if ((error = git_index_add(preimage, &pre_entry)) < 0)
+                               goto done;
+               }
+       }
+
+       if (delta->status != GIT_DELTA_DELETED) {
+               if ((error = git_apply__patch(&post_contents, &filename, &mode,
+                               pre_contents.ptr, pre_contents.size, patch, opts)) < 0 ||
+                       (error = git_blob_create_frombuffer(&post_id, repo,
+                               post_contents.ptr, post_contents.size)) < 0)
+                       goto done;
+
+               memset(&post_entry, 0, sizeof(git_index_entry));
+               post_entry.path = filename;
+               post_entry.mode = mode;
+               git_oid_cpy(&post_entry.id, &post_id);
+
+               if ((error = git_index_add(postimage, &post_entry)) < 0)
+                       goto done;
+       }
+
+       if (delta->status == GIT_DELTA_RENAMED ||
+           delta->status == GIT_DELTA_DELETED)
+               git_strmap_insert(removed_paths, delta->old_file.path, (char *)delta->old_file.path, &error);
+
+       if (delta->status == GIT_DELTA_RENAMED ||
+           delta->status == GIT_DELTA_ADDED)
+               git_strmap_delete(removed_paths, delta->new_file.path);
+
+done:
+       git_buf_dispose(&pre_contents);
+       git_buf_dispose(&post_contents);
+       git__free(filename);
+       git_patch_free(patch);
+
+       return error;
+}
+
+static int apply_deltas(
+       git_repository *repo,
+       git_reader *pre_reader,
+       git_index *preimage,
+       git_reader *post_reader,
+       git_index *postimage,
+       git_diff *diff,
+       const git_apply_options *opts)
+{
+       git_strmap *removed_paths;
+       size_t i;
+       int error = 0;
+
+       if (git_strmap_alloc(&removed_paths) < 0)
+               return -1;
+
+       for (i = 0; i < git_diff_num_deltas(diff); i++) {
+               if ((error = apply_one(repo, pre_reader, preimage, post_reader, postimage, diff, removed_paths, i, opts)) < 0)
+                       goto done;
+       }
+
+done:
+       git_strmap_free(removed_paths);
+       return error;
+}
+
+int git_apply_to_tree(
+       git_index **out,
+       git_repository *repo,
+       git_tree *preimage,
+       git_diff *diff,
+       const git_apply_options *given_opts)
+{
+       git_index *postimage = NULL;
+       git_reader *pre_reader = NULL, *post_reader = NULL;
+       git_apply_options opts = GIT_APPLY_OPTIONS_INIT;
+       const git_diff_delta *delta;
+       size_t i;
+       int error = 0;
+
+       assert(out && repo && preimage && diff);
+
+       *out = NULL;
+
+       if (given_opts)
+               memcpy(&opts, given_opts, sizeof(git_apply_options));
+
+       if ((error = git_reader_for_tree(&pre_reader, preimage)) < 0)
+               goto done;
+
+       /*
+        * put the current tree into the postimage as-is - the diff will
+        * replace any entries contained therein
+        */
+       if ((error = git_index_new(&postimage)) < 0 ||
+               (error = git_index_read_tree(postimage, preimage)) < 0 ||
+               (error = git_reader_for_index(&post_reader, repo, postimage)) < 0)
+               goto done;
+
+       /*
+        * Remove the old paths from the index before applying diffs -
+        * we need to do a full pass to remove them before adding deltas,
+        * in order to handle rename situations.
+        */
+       for (i = 0; i < git_diff_num_deltas(diff); i++) {
+               delta = git_diff_get_delta(diff, i);
+
+               if ((error = git_index_remove(postimage,
+                               delta->old_file.path, 0)) < 0)
+                       goto done;
+       }
+
+       if ((error = apply_deltas(repo, pre_reader, NULL, post_reader, postimage, diff, &opts)) < 0)
+               goto done;
+
+       *out = postimage;
+
+done:
+       if (error < 0)
+               git_index_free(postimage);
+
+       git_reader_free(pre_reader);
+       git_reader_free(post_reader);
+
+       return error;
+}
+
+static int git_apply__to_workdir(
+       git_repository *repo,
+       git_diff *diff,
+       git_index *preimage,
+       git_index *postimage,
+       git_apply_location_t location,
+       git_apply_options *opts)
+{
+       git_vector paths = GIT_VECTOR_INIT;
+       git_checkout_options checkout_opts = GIT_CHECKOUT_OPTIONS_INIT;
+       const git_diff_delta *delta;
+       size_t i;
+       int error;
+
+       GIT_UNUSED(opts);
+
+       /*
+        * Limit checkout to the paths affected by the diff; this ensures
+        * that other modifications in the working directory are unaffected.
+        */
+       if ((error = git_vector_init(&paths, git_diff_num_deltas(diff), NULL)) < 0)
+               goto done;
+
+       for (i = 0; i < git_diff_num_deltas(diff); i++) {
+               delta = git_diff_get_delta(diff, i);
+
+               if ((error = git_vector_insert(&paths, (void *)delta->old_file.path)) < 0)
+                       goto done;
+
+               if (strcmp(delta->old_file.path, delta->new_file.path) &&
+                   (error = git_vector_insert(&paths, (void *)delta->new_file.path)) < 0)
+                       goto done;
+       }
+
+       checkout_opts.checkout_strategy |= GIT_CHECKOUT_SAFE;
+       checkout_opts.checkout_strategy |= GIT_CHECKOUT_DISABLE_PATHSPEC_MATCH;
+       checkout_opts.checkout_strategy |= GIT_CHECKOUT_DONT_WRITE_INDEX;
+
+       if (location == GIT_APPLY_LOCATION_WORKDIR)
+               checkout_opts.checkout_strategy |= GIT_CHECKOUT_DONT_UPDATE_INDEX;
+
+       checkout_opts.paths.strings = (char **)paths.contents;
+       checkout_opts.paths.count = paths.length;
+
+       checkout_opts.baseline_index = preimage;
+
+       error = git_checkout_index(repo, postimage, &checkout_opts);
+
+done:
+       git_vector_free(&paths);
+       return error;
+}
+
+static int git_apply__to_index(
+       git_repository *repo,
+       git_diff *diff,
+       git_index *preimage,
+       git_index *postimage,
+       git_apply_options *opts)
+{
+       git_index *index = NULL;
+       const git_diff_delta *delta;
+       const git_index_entry *entry;
+       size_t i;
+       int error;
+
+       GIT_UNUSED(preimage);
+       GIT_UNUSED(opts);
+
+       if ((error = git_repository_index(&index, repo)) < 0)
+               goto done;
+
+       /* Remove deleted (or renamed) paths from the index. */
+       for (i = 0; i < git_diff_num_deltas(diff); i++) {
+               delta = git_diff_get_delta(diff, i);
+
+               if (delta->status == GIT_DELTA_DELETED ||
+                   delta->status == GIT_DELTA_RENAMED) {
+                       if ((error = git_index_remove(index, delta->old_file.path, 0)) < 0)
+                               goto done;
+               }
+       }
+
+       /* Then add the changes back to the index. */
+       for (i = 0; i < git_index_entrycount(postimage); i++) {
+               entry = git_index_get_byindex(postimage, i);
+
+               if ((error = git_index_add(index, entry)) < 0)
+                       goto done;
+       }
+
+done:
+       git_index_free(index);
+       return error;
+}
+
+/*
+ * Handle the three application options ("locations"):
+ *
+ * GIT_APPLY_LOCATION_WORKDIR: the default, emulates `git apply`.
+ * Applies the diff only to the workdir items and ignores the index
+ * entirely.
+ *
+ * GIT_APPLY_LOCATION_INDEX: emulates `git apply --cached`.
+ * Applies the diff only to the index items and ignores the workdir
+ * completely.
+ *
+ * GIT_APPLY_LOCATION_BOTH: emulates `git apply --index`.
+ * Applies the diff to both the index items and the working directory
+ * items.
+ */
+
+int git_apply(
+       git_repository *repo,
+       git_diff *diff,
+       git_apply_location_t location,
+       const git_apply_options *given_opts)
+{
+       git_indexwriter indexwriter = GIT_INDEXWRITER_INIT;
+       git_index *index = NULL, *preimage = NULL, *postimage = NULL;
+       git_reader *pre_reader = NULL, *post_reader = NULL;
+       git_apply_options opts = GIT_APPLY_OPTIONS_INIT;
+       int error = GIT_EINVALID;
+
+       assert(repo && diff);
+
+       GIT_ERROR_CHECK_VERSION(
+               given_opts, GIT_APPLY_OPTIONS_VERSION, "git_apply_options");
+
+       if (given_opts)
+               memcpy(&opts, given_opts, sizeof(git_apply_options));
+
+       /*
+        * by default, we apply a patch directly to the working directory;
+        * in `--cached` or `--index` mode, we apply to the contents already
+        * in the index.
+        */
+       switch (location) {
+       case GIT_APPLY_LOCATION_BOTH:
+               error = git_reader_for_workdir(&pre_reader, repo, true);
+               break;
+       case GIT_APPLY_LOCATION_INDEX:
+               error = git_reader_for_index(&pre_reader, repo, NULL);
+               break;
+       case GIT_APPLY_LOCATION_WORKDIR:
+               error = git_reader_for_workdir(&pre_reader, repo, false);
+               break;
+       default:
+               assert(false);
+       }
+
+       if (error < 0)
+               goto done;
+
+       /*
+        * Build the preimage and postimage (differences).  Note that
+        * this is not the complete preimage or postimage, it only
+        * contains the files affected by the patch.  We want to avoid
+        * having the full repo index, so we will limit our checkout
+        * to only write these files that were affected by the diff.
+        */
+       if ((error = git_index_new(&preimage)) < 0 ||
+           (error = git_index_new(&postimage)) < 0 ||
+           (error = git_reader_for_index(&post_reader, repo, postimage)) < 0)
+               goto done;
+
+       if ((error = git_repository_index(&index, repo)) < 0 ||
+           (error = git_indexwriter_init(&indexwriter, index)) < 0)
+               goto done;
+
+       if ((error = apply_deltas(repo, pre_reader, preimage, post_reader, postimage, diff, &opts)) < 0)
+               goto done;
+
+       switch (location) {
+       case GIT_APPLY_LOCATION_BOTH:
+               error = git_apply__to_workdir(repo, diff, preimage, postimage, location, &opts);
+               break;
+       case GIT_APPLY_LOCATION_INDEX:
+               error = git_apply__to_index(repo, diff, preimage, postimage, &opts);
+               break;
+       case GIT_APPLY_LOCATION_WORKDIR:
+               error = git_apply__to_workdir(repo, diff, preimage, postimage, location, &opts);
+               break;
+       default:
+               assert(false);
+       }
+
+       if (error < 0)
+               goto done;
+
+       error = git_indexwriter_commit(&indexwriter);
+
+done:
+       git_indexwriter_cleanup(&indexwriter);
+       git_index_free(postimage);
+       git_index_free(preimage);
+       git_index_free(index);
+       git_reader_free(pre_reader);
+       git_reader_free(post_reader);
+
+       return error;
+}
index b29460c0b25402e2026f72902615e566df6d2b2a..11ec75637083563b69d2ff87b05613058d1a6da2 100644 (file)
@@ -10,6 +10,7 @@
 #include "common.h"
 
 #include "git2/patch.h"
+#include "git2/apply.h"
 #include "buffer.h"
 
 extern int git_apply__patch(
@@ -18,6 +19,7 @@ extern int git_apply__patch(
        unsigned int *mode,
        const char *source,
        size_t source_len,
-       git_patch *patch);
+       git_patch *patch,
+       const git_apply_options *opts);
 
 #endif
index 1d8a01c9626cb6081a28db0cecac522a3ca4b139..03537e7966655c26508491d71ad7e3775fae6ab4 100644 (file)
@@ -15,7 +15,7 @@
  *     git_array_t(int) my_ints = GIT_ARRAY_INIT;
  *     ...
  *     int *i = git_array_alloc(my_ints);
- *     GITERR_CHECK_ALLOC(i);
+ *     GIT_ERROR_CHECK_ALLOC(i);
  *     ...
  *     git_array_clear(my_ints);
  *
@@ -36,7 +36,7 @@
 #define git_array_clear(a) \
        do { git__free((a).ptr); git_array_init(a); } while (0)
 
-#define GITERR_CHECK_ARRAY(a) GITERR_CHECK_ALLOC((a).ptr)
+#define GIT_ERROR_CHECK_ARRAY(a) GIT_ERROR_CHECK_ALLOC((a).ptr)
 
 
 typedef git_array_t(char) git_array_generic_t;
index 93d9551d9d299827521f6b195e097e4e3e492f24..1f2643345dc8705d3ecbe0b57d04c01430c49e53 100644 (file)
@@ -135,7 +135,7 @@ int git_attr_get_many_with_session(
                goto cleanup;
 
        info = git__calloc(num_attr, sizeof(attr_get_many_info));
-       GITERR_CHECK_ALLOC(info);
+       GIT_ERROR_CHECK_ALLOC(info);
 
        git_vector_foreach(&files, i, file) {
 
@@ -233,7 +233,7 @@ int git_attr_foreach(
 
                                error = callback(assign->name, assign->value, payload);
                                if (error) {
-                                       giterr_set_after_callback(error);
+                                       git_error_set_after_callback(error);
                                        goto cleanup;
                                }
                        }
@@ -277,7 +277,7 @@ static int system_attr_file(
                error = git_sysdir_find_system_file(out, GIT_ATTR_FILE_SYSTEM);
 
                if (error == GIT_ENOTFOUND)
-                       giterr_clear();
+                       git_error_clear();
 
                return error;
        }
@@ -286,7 +286,7 @@ static int system_attr_file(
                error = git_sysdir_find_system_file(&attr_session->sysdir, GIT_ATTR_FILE_SYSTEM);
 
                if (error == GIT_ENOTFOUND)
-                       giterr_clear();
+                       git_error_clear();
                else if (error)
                        return error;
 
@@ -298,7 +298,7 @@ static int system_attr_file(
 
        /* We can safely provide a git_buf with no allocation (asize == 0) to
         * a consumer. This allows them to treat this as a regular `git_buf`,
-        * but their call to `git_buf_free` will not attempt to free it.
+        * but their call to `git_buf_dispose` will not attempt to free it.
         */
        git_buf_attach_notowned(
                out, attr_session->sysdir.ptr, attr_session->sysdir.size);
@@ -359,7 +359,7 @@ static int attr_setup(git_repository *repo, git_attr_session *attr_session)
                attr_session->init_setup = 1;
 
 out:
-       git_buf_free(&path);
+       git_buf_dispose(&path);
 
        return error;
 }
@@ -377,12 +377,12 @@ int git_attr_add_macro(
                return error;
 
        macro = git__calloc(1, sizeof(git_attr_rule));
-       GITERR_CHECK_ALLOC(macro);
+       GIT_ERROR_CHECK_ALLOC(macro);
 
        pool = &git_repository_attr_cache(repo)->pool;
 
        macro->match.pattern = git_pool_strdup(pool, name);
-       GITERR_CHECK_ALLOC(macro->match.pattern);
+       GIT_ERROR_CHECK_ALLOC(macro->match.pattern);
 
        macro->match.length = strlen(macro->match.pattern);
        macro->match.flags = GIT_ATTR_FNMATCH_MACRO;
@@ -532,7 +532,7 @@ static int collect_attr_files(
        info.flags = flags;
        info.workdir = workdir;
        if (git_repository_index__weakptr(&info.index, repo) < 0)
-               giterr_clear(); /* no error even if there is no index */
+               git_error_clear(); /* no error even if there is no index */
        info.files = files;
 
        if (!strcmp(dir.ptr, "."))
@@ -565,8 +565,8 @@ static int collect_attr_files(
  cleanup:
        if (error < 0)
                release_attr_files(files);
-       git_buf_free(&attrfile);
-       git_buf_free(&dir);
+       git_buf_dispose(&attrfile);
+       git_buf_dispose(&dir);
 
        return error;
 }
index f46cce3de55bb827154e477b45a8fc2a368e50a4..40c72ea04d0a1b25bb05045dc4e22f4165a5c3a6 100644 (file)
@@ -12,6 +12,7 @@
 #include "attrcache.h"
 #include "git2/blob.h"
 #include "git2/tree.h"
+#include "blob.h"
 #include "index.h"
 #include <ctype.h>
 
@@ -34,10 +35,10 @@ int git_attr_file__new(
        git_attr_file_source source)
 {
        git_attr_file *attrs = git__calloc(1, sizeof(git_attr_file));
-       GITERR_CHECK_ALLOC(attrs);
+       GIT_ERROR_CHECK_ALLOC(attrs);
 
        if (git_mutex_init(&attrs->lock) < 0) {
-               giterr_set(GITERR_OS, "failed to initialize lock");
+               git_error_set(GIT_ERROR_OS, "failed to initialize lock");
                git__free(attrs);
                return -1;
        }
@@ -56,7 +57,7 @@ int git_attr_file__clear_rules(git_attr_file *file, bool need_lock)
        git_attr_rule *rule;
 
        if (need_lock && git_mutex_lock(&file->lock) < 0) {
-               giterr_set(GITERR_OS, "failed to lock attribute file");
+               git_error_set(GIT_ERROR_OS, "failed to lock attribute file");
                return -1;
        }
 
@@ -119,6 +120,7 @@ int git_attr_file__load(
                break;
        case GIT_ATTR_FILE__FROM_INDEX: {
                git_oid id;
+               git_off_t blobsize;
 
                if ((error = attr_file_oid_from_index(&id, repo, entry->path)) < 0 ||
                        (error = git_blob_lookup(&blob, repo, &id)) < 0)
@@ -126,7 +128,10 @@ int git_attr_file__load(
 
                /* Do not assume that data straight from the ODB is NULL-terminated;
                 * copy the contents of a file to a buffer to work on */
-               git_buf_put(&content, git_blob_rawcontent(blob), git_blob_rawsize(blob));
+               blobsize = git_blob_rawsize(blob);
+
+               GIT_ERROR_CHECK_BLOBSIZE(blobsize);
+               git_buf_put(&content, git_blob_rawcontent(blob), (size_t)blobsize);
                break;
        }
        case GIT_ATTR_FILE__FROM_FILE: {
@@ -147,7 +152,7 @@ int git_attr_file__load(
                break;
        }
        default:
-               giterr_set(GITERR_INVALID, "unknown file source %d", source);
+               git_error_set(GIT_ERROR_INVALID, "unknown file source %d", source);
                return -1;
        }
 
@@ -178,7 +183,7 @@ int git_attr_file__load(
 
 cleanup:
        git_blob_free(blob);
-       git_buf_free(&content);
+       git_buf_dispose(&content);
 
        return error;
 }
@@ -219,7 +224,7 @@ int git_attr_file__out_of_date(
        }
 
        default:
-               giterr_set(GITERR_INVALID, "invalid file type %d", file->source);
+               git_error_set(GIT_ERROR_INVALID, "invalid file type %d", file->source);
                return -1;
        }
 }
@@ -245,7 +250,7 @@ int git_attr_file__parse_buffer(
                context = attrs->entry->path;
 
        if (git_mutex_lock(&attrs->lock) < 0) {
-               giterr_set(GITERR_OS, "failed to lock attribute file");
+               git_error_set(GIT_ERROR_OS, "failed to lock attribute file");
                return -1;
        }
 
@@ -348,7 +353,7 @@ int git_attr_file__load_standalone(git_attr_file **out, const char *path)
 
        if (!(error = git_futils_readbuffer(&content, path))) {
                error = git_attr_file__parse_buffer(NULL, file, content.ptr);
-               git_buf_free(&content);
+               git_buf_dispose(&content);
        }
 
        if (error < 0)
@@ -518,7 +523,7 @@ int git_attr_path__init(
 
 void git_attr_path__free(git_attr_path *info)
 {
-       git_buf_free(&info->full);
+       git_buf_dispose(&info->full);
        info->path = NULL;
        info->basename = NULL;
 }
@@ -594,8 +599,9 @@ int git_attr_fnmatch__parse(
        }
 
        if (*pattern == '!' && (spec->flags & GIT_ATTR_FNMATCH_ALLOWNEG) != 0) {
-               spec->flags = spec->flags |
-                       GIT_ATTR_FNMATCH_NEGATIVE | GIT_ATTR_FNMATCH_LEADINGDIR;
+               spec->flags = spec->flags | GIT_ATTR_FNMATCH_NEGATIVE;
+               if ((spec->flags & GIT_ATTR_FNMATCH_NOLEADINGDIR) == 0)
+                       spec->flags |= GIT_ATTR_FNMATCH_LEADINGDIR;
                pattern++;
        }
 
@@ -750,7 +756,7 @@ int git_attr_assignment__parse(
                /* allocate assign if needed */
                if (!assign) {
                        assign = git__calloc(1, sizeof(git_attr_assignment));
-                       GITERR_CHECK_ALLOC(assign);
+                       GIT_ERROR_CHECK_ALLOC(assign);
                        GIT_REFCOUNT_INC(assign);
                }
 
@@ -784,7 +790,7 @@ int git_attr_assignment__parse(
 
                /* allocate permanent storage for name */
                assign->name = git_pool_strndup(pool, name_start, scan - name_start);
-               GITERR_CHECK_ALLOC(assign->name);
+               GIT_ERROR_CHECK_ALLOC(assign->name);
 
                /* if there is an equals sign, find the value */
                if (*scan == '=') {
@@ -793,7 +799,7 @@ int git_attr_assignment__parse(
                        /* if we found a value, allocate permanent storage for it */
                        if (scan > value_start) {
                                assign->value = git_pool_strndup(pool, value_start, scan - value_start);
-                               GITERR_CHECK_ALLOC(assign->value);
+                               GIT_ERROR_CHECK_ALLOC(assign->value);
                        }
                }
 
@@ -875,8 +881,8 @@ void git_attr_session__free(git_attr_session *session)
        if (!session)
                return;
 
-       git_buf_free(&session->sysdir);
-       git_buf_free(&session->tmp);
+       git_buf_dispose(&session->sysdir);
+       git_buf_dispose(&session->tmp);
 
        memset(session, 0, sizeof(git_attr_session));
 }
index 65e7b465524b7f3c08c749d92e4b8c34e33c01c8..cb8a4a4e964a1cdf27814825e168adfc45435af4 100644 (file)
@@ -18,7 +18,7 @@ GIT_INLINE(int) attr_cache_lock(git_attr_cache *cache)
        GIT_UNUSED(cache); /* avoid warning if threading is off */
 
        if (git_mutex_lock(&cache->lock) < 0) {
-               giterr_set(GITERR_OS, "unable to get attr cache lock");
+               git_error_set(GIT_ERROR_OS, "unable to get attr cache lock");
                return -1;
        }
        return 0;
@@ -33,7 +33,7 @@ GIT_INLINE(void) attr_cache_unlock(git_attr_cache *cache)
 GIT_INLINE(git_attr_file_entry *) attr_cache_lookup_entry(
        git_attr_cache *cache, const char *path)
 {
-       khiter_t pos = git_strmap_lookup_index(cache->files, path);
+       size_t pos = git_strmap_lookup_index(cache->files, path);
 
        if (git_strmap_valid_index(cache->files, pos))
                return git_strmap_value_at(cache->files, pos);
@@ -60,7 +60,7 @@ int git_attr_cache__alloc_file_entry(
        }
 
        ce = git_pool_mallocz(pool, (uint32_t)cachesize);
-       GITERR_CHECK_ALLOC(ce);
+       GIT_ERROR_CHECK_ALLOC(ce);
 
        if (baselen) {
                memcpy(ce->fullpath, base, baselen);
@@ -204,7 +204,7 @@ cleanup:
        *out_file  = file;
        *out_entry = entry;
 
-       git_buf_free(&path);
+       git_buf_dispose(&path);
        return error;
 }
 
@@ -250,7 +250,7 @@ int git_attr_cache__get(
                }
                /* no error if file simply doesn't exist */
                if (error == GIT_ENOTFOUND) {
-                       giterr_clear();
+                       git_error_clear();
                        error = 0;
                }
        }
@@ -266,7 +266,7 @@ bool git_attr_cache__is_cached(
 {
        git_attr_cache *cache = git_repository_attr_cache(repo);
        git_strmap *files;
-       khiter_t pos;
+       size_t pos;
        git_attr_file_entry *entry;
 
        if (!cache || !(files = cache->files))
@@ -310,7 +310,7 @@ static int attr_cache__lookup_path(
        }
 
        git_config_entry_free(entry);
-       git_buf_free(&buf);
+       git_buf_dispose(&buf);
 
        return error;
 }
@@ -374,11 +374,11 @@ int git_attr_cache__init(git_repository *repo)
                return 0;
 
        cache = git__calloc(1, sizeof(git_attr_cache));
-       GITERR_CHECK_ALLOC(cache);
+       GIT_ERROR_CHECK_ALLOC(cache);
 
        /* set up lock */
        if (git_mutex_init(&cache->lock) < 0) {
-               giterr_set(GITERR_OS, "unable to initialize lock for attr cache");
+               git_error_set(GIT_ERROR_OS, "unable to initialize lock for attr cache");
                git__free(cache);
                return -1;
        }
@@ -443,7 +443,7 @@ int git_attr_cache__insert_macro(git_repository *repo, git_attr_rule *macro)
                return 0;
 
        if (attr_cache_lock(cache) < 0) {
-               giterr_set(GITERR_OS, "unable to get attr cache lock");
+               git_error_set(GIT_ERROR_OS, "unable to get attr cache lock");
                error = -1;
        } else {
                git_strmap_insert(macros, macro->match.pattern, macro, &error);
@@ -457,7 +457,7 @@ git_attr_rule *git_attr_cache__lookup_macro(
        git_repository *repo, const char *name)
 {
        git_strmap *macros = git_repository_attr_cache(repo)->macros;
-       khiter_t pos;
+       size_t pos;
 
        pos = git_strmap_lookup_index(macros, name);
 
index a923bf00375f248dce3f5647e032b2bf5c50e5d0..be10c15d6d5875a9352b9404d252142d42d06a84 100644 (file)
@@ -14,6 +14,7 @@
 #include "git2/diff.h"
 #include "git2/blob.h"
 #include "git2/signature.h"
+#include "git2/mailmap.h"
 #include "util.h"
 #include "repository.h"
 #include "blame_git.h"
@@ -40,7 +41,12 @@ static int hunk_cmp(const void *_a, const void *_b)
        git_blame_hunk *a = (git_blame_hunk*)_a,
                                                *b = (git_blame_hunk*)_b;
 
-       return a->final_start_line_number - b->final_start_line_number;
+       if (a->final_start_line_number > b->final_start_line_number)
+               return 1;
+       else if (a->final_start_line_number < b->final_start_line_number)
+               return -1;
+       else
+               return 0;
 }
 
 static bool hunk_ends_at_or_before_line(git_blame_hunk *hunk, size_t line)
@@ -132,6 +138,12 @@ git_blame* git_blame__alloc(
                return NULL;
        }
 
+       if (opts.flags & GIT_BLAME_USE_MAILMAP &&
+           git_mailmap_from_repository(&gbr->mailmap, repo) < 0) {
+               git_blame_free(gbr);
+               return NULL;
+       }
+
        return gbr;
 }
 
@@ -150,6 +162,8 @@ void git_blame_free(git_blame *blame)
 
        git_array_clear(blame->line_index);
 
+       git_mailmap_free(blame->mailmap);
+
        git__free(blame->path);
        git_blob_free(blame->final_blob);
        git__free(blame);
@@ -263,7 +277,7 @@ static int index_blob_lines(git_blame *blame)
     while (len--) {
         if (bol) {
             i = git_array_alloc(blame->line_index);
-            GITERR_CHECK_ALLOC(i);
+            GIT_ERROR_CHECK_ALLOC(i);
             *i = buf - blame->final_buf;
             bol = 0;
         }
@@ -273,13 +287,13 @@ static int index_blob_lines(git_blame *blame)
         }
     }
     i = git_array_alloc(blame->line_index);
-    GITERR_CHECK_ALLOC(i);
+    GIT_ERROR_CHECK_ALLOC(i);
     *i = buf - blame->final_buf;
     blame->num_lines = num + incomplete;
     return blame->num_lines;
 }
 
-static git_blame_hunk* hunk_from_entry(git_blame__entry *e)
+static git_blame_hunk* hunk_from_entry(git_blame__entry *e, git_blame *blame)
 {
        git_blame_hunk *h = new_hunk(
                        e->lno+1, e->num_lines, e->s_lno+1, e->suspect->path);
@@ -289,8 +303,9 @@ static git_blame_hunk* hunk_from_entry(git_blame__entry *e)
 
        git_oid_cpy(&h->final_commit_id, git_commit_id(e->suspect->commit));
        git_oid_cpy(&h->orig_commit_id, git_commit_id(e->suspect->commit));
-       git_signature_dup(&h->final_signature, git_commit_author(e->suspect->commit));
-       git_signature_dup(&h->orig_signature, git_commit_author(e->suspect->commit));
+       git_commit_author_with_mailmap(
+               &h->final_signature, e->suspect->commit, blame->mailmap);
+       git_signature_dup(&h->orig_signature, h->final_signature);
        h->boundary = e->is_boundary ? 1 : 0;
        return h;
 }
@@ -305,7 +320,7 @@ static int load_blob(git_blame *blame)
        if (error < 0)
                goto cleanup;
        error = git_object_lookup_bypath((git_object**)&blame->final_blob,
-                       (git_object*)blame->final, blame->path, GIT_OBJ_BLOB);
+                       (git_object*)blame->final, blame->path, GIT_OBJECT_BLOB);
 
 cleanup:
        return error;
@@ -324,7 +339,7 @@ static int blame_internal(git_blame *blame)
        blame->final_buf_size = git_blob_rawsize(blame->final_blob);
 
        ent = git__calloc(1, sizeof(git_blame__entry));
-       GITERR_CHECK_ALLOC(ent);
+       GIT_ERROR_CHECK_ALLOC(ent);
 
        ent->num_lines = index_blob_lines(blame);
        ent->lno = blame->options.min_line - 1;
@@ -341,7 +356,7 @@ static int blame_internal(git_blame *blame)
 cleanup:
        for (ent = blame->ent; ent; ) {
                git_blame__entry *e = ent->next;
-               git_blame_hunk *h = hunk_from_entry(ent);
+               git_blame_hunk *h = hunk_from_entry(ent, blame);
 
                git_vector_insert(&blame->hunks, h);
 
@@ -371,7 +386,7 @@ int git_blame_file(
                goto on_error;
 
        blame = git_blame__alloc(repo, normOptions, path);
-       GITERR_CHECK_ALLOC(blame);
+       GIT_ERROR_CHECK_ALLOC(blame);
 
        if ((error = load_blob(blame)) < 0)
                goto on_error;
@@ -413,14 +428,14 @@ static int buffer_hunk_cb(
        if (!blame->current_hunk) {
                /* Line added at the end of the file */
                blame->current_hunk = new_hunk(wedge_line, 0, wedge_line, blame->path);
-               GITERR_CHECK_ALLOC(blame->current_hunk);
+               GIT_ERROR_CHECK_ALLOC(blame->current_hunk);
 
                git_vector_insert(&blame->hunks, blame->current_hunk);
        } else if (!hunk_starts_at_or_after_line(blame->current_hunk, wedge_line)){
                /* If this hunk doesn't start between existing hunks, split a hunk up so it does */
                blame->current_hunk = split_hunk_in_vector(&blame->hunks, blame->current_hunk,
                                wedge_line - blame->current_hunk->orig_start_line_number, true);
-               GITERR_CHECK_ALLOC(blame->current_hunk);
+               GIT_ERROR_CHECK_ALLOC(blame->current_hunk);
        }
 
        return 0;
@@ -449,7 +464,7 @@ static int buffer_line_cb(
                        /* Create a new buffer-blame hunk with this line */
                        shift_hunks_by(&blame->hunks, blame->current_diff_line, 1);
                        blame->current_hunk = new_hunk(blame->current_diff_line, 1, 0, blame->path);
-                       GITERR_CHECK_ALLOC(blame->current_hunk);
+                       GIT_ERROR_CHECK_ALLOC(blame->current_hunk);
 
                        git_vector_insert_sorted(&blame->hunks, blame->current_hunk, NULL);
                }
@@ -490,12 +505,12 @@ int git_blame_buffer(
        assert(out && reference && buffer && buffer_len);
 
        blame = git_blame__alloc(reference->repository, reference->options, reference->path);
-       GITERR_CHECK_ALLOC(blame);
+       GIT_ERROR_CHECK_ALLOC(blame);
 
        /* Duplicate all of the hunk structures in the reference blame */
        git_vector_foreach(&reference->hunks, i, hunk) {
                git_blame_hunk *h = dup_hunk(hunk);
-               GITERR_CHECK_ALLOC(h);
+               GIT_ERROR_CHECK_ALLOC(h);
 
                git_vector_insert(&blame->hunks, h);
        }
index 8fd3ee5b193d6f113f6e74bc9bcf38c15469d738..b31d2dc20f0de6b6f7659d1f50548462599b610b 100644 (file)
@@ -67,6 +67,7 @@ typedef struct git_blame__entry {
 struct git_blame {
        char *path;
        git_repository *repository;
+       git_mailmap *mailmap;
        git_blame_options options;
 
        git_vector hunks;
index 3c221b31821ea5cfe35ab9aaba0fe82ff99a130a..06e7d648e06840db3419f5136a5a1365c7379931 100644 (file)
@@ -43,13 +43,13 @@ static int make_origin(git_blame__origin **out, git_commit *commit, const char *
        int error = 0;
 
        if ((error = git_object_lookup_bypath(&blob, (git_object*)commit,
-                       path, GIT_OBJ_BLOB)) < 0)
+                       path, GIT_OBJECT_BLOB)) < 0)
                return error;
 
-       GITERR_CHECK_ALLOC_ADD(&alloc_len, sizeof(*o), path_len);
-       GITERR_CHECK_ALLOC_ADD(&alloc_len, alloc_len, 1);
+       GIT_ERROR_CHECK_ALLOC_ADD(&alloc_len, sizeof(*o), path_len);
+       GIT_ERROR_CHECK_ALLOC_ADD(&alloc_len, alloc_len, 1);
        o = git__calloc(1, alloc_len);
-       GITERR_CHECK_ALLOC(o);
+       GIT_ERROR_CHECK_ALLOC(o);
 
        o->commit = commit;
        o->blob = (git_blob *) blob;
@@ -257,7 +257,7 @@ static void split_blame(git_blame *blame, git_blame__entry *split, git_blame__en
        }
 }
 
-/* 
+/*
  * After splitting the blame, the origins used by the on-stack blame_entry
  * should lose one refcnt each.
  */
@@ -365,7 +365,7 @@ static int diff_hunks(mmfile_t file_a, mmfile_t file_b, void *cb_data)
 
        if (file_a.size > GIT_XDIFF_MAX_SIZE ||
                file_b.size > GIT_XDIFF_MAX_SIZE) {
-               giterr_set(GITERR_INVALID, "file too large to blame");
+               git_error_set(GIT_ERROR_INVALID, "file too large to blame");
                return -1;
        }
 
@@ -486,7 +486,7 @@ static int pass_whole_blame(git_blame *blame,
 
        if (!porigin->blob &&
            git_object_lookup((git_object**)&porigin->blob, blame->repository,
-                               git_blob_id(origin->blob), GIT_OBJ_BLOB) < 0)
+                               git_blob_id(origin->blob), GIT_OBJECT_BLOB) < 0)
                return -1;
        for (e=blame->ent; e; e=e->next) {
                if (!same_suspect(e->suspect, origin))
@@ -522,7 +522,7 @@ static int pass_blame(git_blame *blame, git_blame__origin *origin, uint32_t opt)
                memset(sg_buf, 0, sizeof(sg_buf));
        else {
                sg_origin = git__calloc(num_parents, sizeof(*sg_origin));
-               GITERR_CHECK_ALLOC(sg_origin);
+               GIT_ERROR_CHECK_ALLOC(sg_origin);
        }
 
        for (i=0; i<num_parents; i++) {
@@ -623,6 +623,8 @@ static void coalesce(git_blame *blame)
 
 int git_blame__like_git(git_blame *blame, uint32_t opt)
 {
+       int error = 0;
+
        while (true) {
                git_blame__entry *ent;
                git_blame__origin *suspect = NULL;
@@ -632,13 +634,13 @@ int git_blame__like_git(git_blame *blame, uint32_t opt)
                        if (!ent->guilty)
                                suspect = ent->suspect;
                if (!suspect)
-                       return 0; /* all done */
+                       break;
 
                /* We'll use this suspect later in the loop, so hold on to it for now. */
                origin_incref(suspect);
 
-               if (pass_blame(blame, suspect, opt) < 0)
-                       return -1;
+               if ((error = pass_blame(blame, suspect, opt)) < 0)
+                       break;
 
                /* Take responsibility for the remaining entries */
                for (ent = blame->ent; ent; ent = ent->next) {
@@ -652,9 +654,10 @@ int git_blame__like_git(git_blame *blame, uint32_t opt)
                origin_decref(suspect);
        }
 
-       coalesce(blame);
+       if (!error)
+               coalesce(blame);
 
-       return 0;
+       return error;
 }
 
 void git_blame__free_entry(git_blame__entry *ent)
index 3396fe74fbb879c7444dfb1b7f45c67fe0fae9ff..566d24b8eed0e6f0c5af6f009e73ff402f9c20f3 100644 (file)
 const void *git_blob_rawcontent(const git_blob *blob)
 {
        assert(blob);
-       return git_odb_object_data(blob->odb_object);
+       if (blob->raw)
+               return blob->data.raw.data;
+       else
+               return git_odb_object_data(blob->data.odb);
 }
 
 git_off_t git_blob_rawsize(const git_blob *blob)
 {
        assert(blob);
-       return (git_off_t)git_odb_object_size(blob->odb_object);
+       if (blob->raw)
+               return blob->data.raw.size;
+       else
+               return (git_off_t)git_odb_object_size(blob->data.odb);
 }
 
 int git_blob__getbuf(git_buf *buffer, git_blob *blob)
 {
-       return git_buf_set(
-               buffer,
-               git_odb_object_data(blob->odb_object),
-               git_odb_object_size(blob->odb_object));
+       git_off_t size = git_blob_rawsize(blob);
+
+       GIT_ERROR_CHECK_BLOBSIZE(size);
+       return git_buf_set(buffer, git_blob_rawcontent(blob), (size_t)size);
 }
 
-void git_blob__free(void *blob)
+void git_blob__free(void *_blob)
 {
-       git_odb_object_free(((git_blob *)blob)->odb_object);
+       git_blob *blob = (git_blob *) _blob;
+       if (!blob->raw)
+               git_odb_object_free(blob->data.odb);
        git__free(blob);
 }
 
-int git_blob__parse(void *blob, git_odb_object *odb_obj)
+int git_blob__parse_raw(void *_blob, const char *data, size_t size)
+{
+       git_blob *blob = (git_blob *) _blob;
+       assert(blob);
+       blob->raw = 1;
+       blob->data.raw.data = data;
+       blob->data.raw.size = size;
+       return 0;
+}
+
+int git_blob__parse(void *_blob, git_odb_object *odb_obj)
 {
+       git_blob *blob = (git_blob *) _blob;
        assert(blob);
        git_cached_obj_incref((git_cached_obj *)odb_obj);
-       ((git_blob *)blob)->odb_object = odb_obj;
+       blob->raw = 0;
+       blob->data.odb = odb_obj;
        return 0;
 }
 
@@ -60,7 +80,7 @@ int git_blob_create_frombuffer(
        assert(id && repo);
 
        if ((error = git_repository_odb__weakptr(&odb, repo)) < 0 ||
-               (error = git_odb_open_wstream(&stream, odb, len, GIT_OBJ_BLOB)) < 0)
+               (error = git_odb_open_wstream(&stream, odb, len, GIT_OBJECT_BLOB)) < 0)
                return error;
 
        if ((error = git_odb_stream_write(stream, buffer, len)) == 0)
@@ -80,7 +100,7 @@ static int write_file_stream(
        git_off_t written = 0;
 
        if ((error = git_odb_open_wstream(
-                       &stream, odb, file_size, GIT_OBJ_BLOB)) < 0)
+                       &stream, odb, file_size, GIT_OBJECT_BLOB)) < 0)
                return error;
 
        if ((fd = git_futils_open_ro(path)) < 0) {
@@ -96,7 +116,7 @@ static int write_file_stream(
        p_close(fd);
 
        if (written != file_size || read_len < 0) {
-               giterr_set(GITERR_OS, "failed to read file into stream");
+               git_error_set(GIT_ERROR_OS, "failed to read file into stream");
                error = -1;
        }
 
@@ -123,10 +143,10 @@ static int write_file_filtered(
        if (!error) {
                *size = tgt.size;
 
-               error = git_odb_write(id, odb, tgt.ptr, tgt.size, GIT_OBJ_BLOB);
+               error = git_odb_write(id, odb, tgt.ptr, tgt.size, GIT_OBJECT_BLOB);
        }
 
-       git_buf_free(&tgt);
+       git_buf_dispose(&tgt);
        return error;
 }
 
@@ -138,16 +158,16 @@ static int write_symlink(
        int error;
 
        link_data = git__malloc(link_size);
-       GITERR_CHECK_ALLOC(link_data);
+       GIT_ERROR_CHECK_ALLOC(link_data);
 
        read_len = p_readlink(path, link_data, link_size);
        if (read_len != (ssize_t)link_size) {
-               giterr_set(GITERR_OS, "failed to create blob: cannot read symlink '%s'", path);
+               git_error_set(GIT_ERROR_OS, "failed to create blob: cannot read symlink '%s'", path);
                git__free(link_data);
                return -1;
        }
 
-       error = git_odb_write(id, odb, (void *)link_data, link_size, GIT_OBJ_BLOB);
+       error = git_odb_write(id, odb, (void *)link_data, link_size, GIT_OBJECT_BLOB);
        git__free(link_data);
        return error;
 }
@@ -186,7 +206,7 @@ int git_blob__create_from_paths(
                goto done;
 
        if (S_ISDIR(st.st_mode)) {
-               giterr_set(GITERR_ODB, "cannot create blob from '%s': it is a directory", content_path);
+               git_error_set(GIT_ERROR_ODB, "cannot create blob from '%s': it is a directory", content_path);
                error = GIT_EDIRECTORY;
                goto done;
        }
@@ -238,7 +258,7 @@ int git_blob__create_from_paths(
 
 done:
        git_odb_free(odb);
-       git_buf_free(&path);
+       git_buf_dispose(&path);
 
        return error;
 }
@@ -257,7 +277,7 @@ int git_blob_create_fromdisk(
        const char *workdir, *hintpath;
 
        if ((error = git_path_prettify(&full_path, path, NULL)) < 0) {
-               git_buf_free(&full_path);
+               git_buf_dispose(&full_path);
                return error;
        }
 
@@ -270,7 +290,7 @@ int git_blob_create_fromdisk(
        error = git_blob__create_from_paths(
                id, NULL, repo, git_buf_cstr(&full_path), hintpath, 0, true);
 
-       git_buf_free(&full_path);
+       git_buf_dispose(&full_path);
        return error;
 }
 
@@ -314,11 +334,11 @@ int git_blob_create_fromstream(git_writestream **out, git_repository *repo, cons
        assert(out && repo);
 
        stream = git__calloc(1, sizeof(blob_writestream));
-       GITERR_CHECK_ALLOC(stream);
+       GIT_ERROR_CHECK_ALLOC(stream);
 
        if (hintpath) {
                stream->hintpath = git__strdup(hintpath);
-               GITERR_CHECK_ALLOC(stream->hintpath);
+               GIT_ERROR_CHECK_ALLOC(stream->hintpath);
        }
 
        stream->repo = repo;
@@ -340,7 +360,7 @@ cleanup:
        if (error < 0)
                blob_writestream_free((git_writestream *) stream);
 
-       git_buf_free(&path);
+       git_buf_dispose(&path);
        return error;
 }
 
@@ -369,12 +389,14 @@ cleanup:
 int git_blob_is_binary(const git_blob *blob)
 {
        git_buf content = GIT_BUF_INIT;
+       git_off_t size;
 
        assert(blob);
 
-       git_buf_attach_notowned(&content, blob->odb_object->buffer,
-               min(blob->odb_object->cached.size,
-               GIT_FILTER_BYTES_TO_CHECK_NUL));
+       size = git_blob_rawsize(blob);
+
+       git_buf_attach_notowned(&content, git_blob_rawcontent(blob),
+               (size_t)min(size, GIT_FILTER_BYTES_TO_CHECK_NUL));
        return git_buf_text_is_binary(&content);
 }
 
index 3f1f977198bd4d42f802200aa8eccdef6bbe911b..b9aa33004ac3153ace9002f2c0f57814021735b5 100644 (file)
 
 struct git_blob {
        git_object object;
-       git_odb_object *odb_object;
+
+       union {
+               git_odb_object *odb;
+               struct {
+                       const char *data;
+                       git_off_t size;
+               } raw;
+       } data;
+       unsigned int raw:1;
 };
 
+#define GIT_ERROR_CHECK_BLOBSIZE(n) \
+       do { \
+               if (!git__is_sizet(n)) { \
+                       git_error_set(GIT_ERROR_NOMEMORY, "blob contents too large to fit in memory"); \
+                       return -1; \
+               } \
+       } while(0)
+
 void git_blob__free(void *blob);
 int git_blob__parse(void *blob, git_odb_object *obj);
+int git_blob__parse_raw(void *blob, const char *data, size_t size);
 int git_blob__getbuf(git_buf *buffer, git_blob *blob);
 
 extern int git_blob__create_from_paths(
index 42addc2ce7fd43dec637ea957521bff8d95968b7..61ed03e2e36940c5c2a8772c1ceeae091de6a395 100644 (file)
@@ -34,20 +34,20 @@ static int retrieve_branch_reference(
        if ((error = git_buf_joinpath(&ref_name, prefix, branch_name)) < 0)
                /* OOM */;
        else if ((error = git_reference_lookup(&branch, repo, ref_name.ptr)) < 0)
-               giterr_set(
-                       GITERR_REFERENCE, "cannot locate %s branch '%s'",
+               git_error_set(
+                       GIT_ERROR_REFERENCE, "cannot locate %s branch '%s'",
                        is_remote ? "remote-tracking" : "local", branch_name);
 
        *branch_reference_out = branch; /* will be NULL on error */
 
-       git_buf_free(&ref_name);
+       git_buf_dispose(&ref_name);
        return error;
 }
 
 static int not_a_local_branch(const char *reference_name)
 {
-       giterr_set(
-               GITERR_INVALID,
+       git_error_set(
+               GIT_ERROR_INVALID,
                "reference '%s' is not a local branch.", reference_name);
        return -1;
 }
@@ -71,7 +71,7 @@ static int create_branch(
        assert(git_object_owner((const git_object *)commit) == repository);
 
        if (!git__strcmp(branch_name, "HEAD")) {
-               giterr_set(GITERR_REFERENCE, "'HEAD' is not a valid branch name");
+               git_error_set(GIT_ERROR_REFERENCE, "'HEAD' is not a valid branch name");
                error = -1;
                goto cleanup;
        }
@@ -88,7 +88,7 @@ static int create_branch(
        }
 
        if (is_unmovable_head && force) {
-               giterr_set(GITERR_REFERENCE, "cannot force update branch '%s' as it is "
+               git_error_set(GIT_ERROR_REFERENCE, "cannot force update branch '%s' as it is "
                        "the current HEAD of the repository.", branch_name);
                error = -1;
                goto cleanup;
@@ -108,8 +108,8 @@ static int create_branch(
                *ref_out = branch;
 
 cleanup:
-       git_buf_free(&canonical_branch_name);
-       git_buf_free(&log_message);
+       git_buf_dispose(&canonical_branch_name);
+       git_buf_dispose(&log_message);
        return error;
 }
 
@@ -141,7 +141,7 @@ static int branch_equals(git_repository *repo, const char *path, void *payload)
        int equal = 0;
 
        if (git_reference__read_head(&head, repo, path) < 0 ||
-               git_reference_type(head) != GIT_REF_SYMBOLIC)
+               git_reference_type(head) != GIT_REFERENCE_SYMBOLIC)
                goto done;
 
        equal = !git__strcmp(head->target.symbolic, branch->name);
@@ -168,7 +168,7 @@ int git_branch_delete(git_reference *branch)
        assert(branch);
 
        if (!git_reference_is_branch(branch) && !git_reference_is_remote(branch)) {
-               giterr_set(GITERR_INVALID, "reference '%s' is not a valid branch.",
+               git_error_set(GIT_ERROR_INVALID, "reference '%s' is not a valid branch.",
                        git_reference_name(branch));
                return GIT_ENOTFOUND;
        }
@@ -177,13 +177,13 @@ int git_branch_delete(git_reference *branch)
                return is_head;
 
        if (is_head) {
-               giterr_set(GITERR_REFERENCE, "cannot delete branch '%s' as it is "
+               git_error_set(GIT_ERROR_REFERENCE, "cannot delete branch '%s' as it is "
                        "the current HEAD of the repository.", git_reference_name(branch));
                return -1;
        }
 
        if (git_reference_is_branch(branch) && git_branch_is_checked_out(branch)) {
-               giterr_set(GITERR_REFERENCE, "Cannot delete branch '%s' as it is "
+               git_error_set(GIT_ERROR_REFERENCE, "Cannot delete branch '%s' as it is "
                        "the current HEAD of a linked repository.", git_reference_name(branch));
                return -1;
        }
@@ -199,7 +199,7 @@ int git_branch_delete(git_reference *branch)
        error = git_reference_delete(branch);
 
 on_error:
-       git_buf_free(&config_section);
+       git_buf_dispose(&config_section);
        return error;
 }
 
@@ -243,7 +243,7 @@ int git_branch_iterator_new(
        branch_iter *iter;
 
        iter = git__calloc(1, sizeof(branch_iter));
-       GITERR_CHECK_ALLOC(iter);
+       GIT_ERROR_CHECK_ALLOC(iter);
 
        iter->flags = list_flags;
 
@@ -310,10 +310,10 @@ int git_branch_move(
                git_buf_cstr(&new_config_section));
 
 done:
-       git_buf_free(&new_reference_name);
-       git_buf_free(&old_config_section);
-       git_buf_free(&new_config_section);
-       git_buf_free(&log_message);
+       git_buf_dispose(&new_reference_name);
+       git_buf_dispose(&old_config_section);
+       git_buf_dispose(&new_config_section);
+       git_buf_dispose(&log_message);
 
        return error;
 }
@@ -344,7 +344,7 @@ int git_branch_name(
        } else if (git_reference_is_remote(ref)) {
                branch_name += strlen(GIT_REFS_REMOTES_DIR);
        } else {
-               giterr_set(GITERR_INVALID,
+               git_error_set(GIT_ERROR_INVALID,
                                "reference '%s' is neither a local nor a remote branch.", ref->name);
                return -1;
        }
@@ -366,7 +366,7 @@ static int retrieve_upstream_configuration(
                        return -1;
 
        error = git_config_get_string_buf(out, config, git_buf_cstr(&buf));
-       git_buf_free(&buf);
+       git_buf_dispose(&buf);
        return error;
 }
 
@@ -402,7 +402,7 @@ int git_branch_upstream_name(
                        goto cleanup;
 
        if (git_buf_len(&remote_name) == 0 || git_buf_len(&merge_name) == 0) {
-               giterr_set(GITERR_REFERENCE,
+               git_error_set(GIT_ERROR_REFERENCE,
                        "branch '%s' does not have an upstream", refname);
                error = GIT_ENOTFOUND;
                goto cleanup;
@@ -429,9 +429,9 @@ int git_branch_upstream_name(
 cleanup:
        git_config_free(config);
        git_remote_free(remote);
-       git_buf_free(&remote_name);
-       git_buf_free(&merge_name);
-       git_buf_free(&buf);
+       git_buf_dispose(&remote_name);
+       git_buf_dispose(&merge_name);
+       git_buf_dispose(&buf);
        return error;
 }
 
@@ -452,7 +452,7 @@ int git_branch_upstream_remote(git_buf *buf, git_repository *repo, const char *r
                return error;
 
        if (git_buf_len(buf) == 0) {
-               giterr_set(GITERR_REFERENCE, "branch '%s' does not have an upstream remote", refname);
+               git_error_set(GIT_ERROR_REFERENCE, "branch '%s' does not have an upstream remote", refname);
                error = GIT_ENOTFOUND;
                git_buf_clear(buf);
        }
@@ -475,7 +475,7 @@ int git_branch_remote_name(git_buf *buf, git_repository *repo, const char *refna
 
        /* Verify that this is a remote branch */
        if (!git_reference__is_remote(refname)) {
-               giterr_set(GITERR_INVALID, "reference '%s' is not a remote branch.",
+               git_error_set(GIT_ERROR_INVALID, "reference '%s' is not a remote branch.",
                        refname);
                error = GIT_ERROR;
                goto cleanup;
@@ -501,7 +501,7 @@ int git_branch_remote_name(git_buf *buf, git_repository *repo, const char *refna
                        } else {
                                git_remote_free(remote);
 
-                               giterr_set(GITERR_REFERENCE,
+                               git_error_set(GIT_ERROR_REFERENCE,
                                        "reference '%s' is ambiguous", refname);
                                error = GIT_EAMBIGUOUS;
                                goto cleanup;
@@ -515,14 +515,14 @@ int git_branch_remote_name(git_buf *buf, git_repository *repo, const char *refna
                git_buf_clear(buf);
                error = git_buf_puts(buf, remote_name);
        } else {
-               giterr_set(GITERR_REFERENCE,
+               git_error_set(GIT_ERROR_REFERENCE,
                        "could not determine remote for '%s'", refname);
                error = GIT_ENOTFOUND;
        }
 
 cleanup:
        if (error < 0)
-               git_buf_free(buf);
+               git_buf_dispose(buf);
 
        git_strarray_free(&remote_list);
        return error;
@@ -544,7 +544,7 @@ int git_branch_upstream(
                git_reference_owner(branch),
                git_buf_cstr(&tracking_name));
 
-       git_buf_free(&tracking_name);
+       git_buf_dispose(&tracking_name);
        return error;
 }
 
@@ -565,11 +565,11 @@ static int unset_upstream(git_config *config, const char *shortname)
        if (git_config_delete_entry(config, git_buf_cstr(&buf)) < 0)
                goto on_error;
 
-       git_buf_free(&buf);
+       git_buf_dispose(&buf);
        return 0;
 
 on_error:
-       git_buf_free(&buf);
+       git_buf_dispose(&buf);
        return -1;
 }
 
@@ -604,7 +604,7 @@ int git_branch_set_upstream(git_reference *branch, const char *upstream_name)
        else if (git_branch_lookup(&upstream, repo, upstream_name, GIT_BRANCH_REMOTE) == 0)
                local = 0;
        else {
-               giterr_set(GITERR_REFERENCE,
+               git_error_set(GIT_ERROR_REFERENCE,
                        "cannot set upstream for branch '%s'", shortname);
                return GIT_ENOTFOUND;
        }
@@ -655,15 +655,15 @@ int git_branch_set_upstream(git_reference *branch, const char *upstream_name)
                goto on_error;
 
        git_reference_free(upstream);
-       git_buf_free(&key);
-       git_buf_free(&value);
+       git_buf_dispose(&key);
+       git_buf_dispose(&value);
 
        return 0;
 
 on_error:
        git_reference_free(upstream);
-       git_buf_free(&key);
-       git_buf_free(&value);
+       git_buf_dispose(&key);
+       git_buf_dispose(&value);
        git_remote_free(remote);
 
        return -1;
index 306980b5cb9105889d27f12b3ca91033ce114894..88fcb87dd8f6467dd933275879e5250801080dbe 100644 (file)
@@ -29,7 +29,7 @@ int git_buf_text_puts_escaped(
                scan += count;
        }
 
-       GITERR_CHECK_ALLOC_ADD(&alloclen, total, 1);
+       GIT_ERROR_CHECK_ALLOC_ADD(&alloclen, total, 1);
        if (git_buf_grow_by(buf, alloclen) < 0)
                return -1;
 
@@ -75,7 +75,7 @@ int git_buf_text_crlf_to_lf(git_buf *tgt, const git_buf *src)
                return git_buf_set(tgt, src->ptr, src->size);
 
        /* reduce reallocs while in the loop */
-       GITERR_CHECK_ALLOC_ADD(&new_size, src->size, 1);
+       GIT_ERROR_CHECK_ALLOC_ADD(&new_size, src->size, 1);
        if (git_buf_grow(tgt, new_size) < 0)
                return -1;
 
@@ -122,8 +122,8 @@ int git_buf_text_lf_to_crlf(git_buf *tgt, const git_buf *src)
                return git_buf_set(tgt, src->ptr, src->size);
 
        /* attempt to reduce reallocs while in the loop */
-       GITERR_CHECK_ALLOC_ADD(&alloclen, src->size, src->size >> 4);
-       GITERR_CHECK_ALLOC_ADD(&alloclen, alloclen, 1);
+       GIT_ERROR_CHECK_ALLOC_ADD(&alloclen, src->size, src->size >> 4);
+       GIT_ERROR_CHECK_ALLOC_ADD(&alloclen, alloclen, 1);
        if (git_buf_grow(tgt, alloclen) < 0)
                return -1;
        tgt->size = 0;
@@ -135,7 +135,7 @@ int git_buf_text_lf_to_crlf(git_buf *tgt, const git_buf *src)
                if (copylen && next[-1] == '\r')
                        copylen--;
 
-               GITERR_CHECK_ALLOC_ADD(&alloclen, copylen, 3);
+               GIT_ERROR_CHECK_ALLOC_ADD(&alloclen, copylen, 3);
                if (git_buf_grow_by(tgt, alloclen) < 0)
                        return -1;
 
@@ -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));
 }
index 8a58d1afafb6ae14b8730b0d098c9817dee144e0..51fb48a45a089cabd3eff5ff699ce87bff14c37d 100644 (file)
@@ -43,7 +43,7 @@ int git_buf_try_grow(
                return -1;
 
        if (buf->asize == 0 && buf->size != 0) {
-               giterr_set(GITERR_INVALID, "cannot grow a borrowed buffer");
+               git_error_set(GIT_ERROR_INVALID, "cannot grow a borrowed buffer");
                return GIT_EINVALID;
        }
 
@@ -73,7 +73,7 @@ int git_buf_try_grow(
                if (mark_oom)
                        buf->ptr = git_buf__oom;
 
-               giterr_set_oom();
+               git_error_set_oom();
                return -1;
        }
 
@@ -116,7 +116,7 @@ int git_buf_grow_by(git_buf *buffer, size_t additional_size)
        return git_buf_try_grow(buffer, newsize, true);
 }
 
-void git_buf_free(git_buf *buf)
+void git_buf_dispose(git_buf *buf)
 {
        if (!buf) return;
 
@@ -126,6 +126,11 @@ void git_buf_free(git_buf *buf)
        git_buf_init(buf, 0);
 }
 
+void git_buf_free(git_buf *buf)
+{
+       git_buf_dispose(buf);
+}
+
 void git_buf_sanitize(git_buf *buf)
 {
        if (buf->ptr == NULL) {
@@ -156,7 +161,7 @@ int git_buf_set(git_buf *buf, const void *data, size_t len)
                git_buf_clear(buf);
        } else {
                if (data != buf->ptr) {
-                       GITERR_CHECK_ALLOC_ADD(&alloclen, len, 1);
+                       GIT_ERROR_CHECK_ALLOC_ADD(&alloclen, len, 1);
                        ENSURE_SIZE(buf, alloclen);
                        memmove(buf->ptr, data, len);
                }
@@ -187,7 +192,7 @@ int git_buf_sets(git_buf *buf, const char *string)
 int git_buf_putc(git_buf *buf, char c)
 {
        size_t new_size;
-       GITERR_CHECK_ALLOC_ADD(&new_size, buf->size, 2);
+       GIT_ERROR_CHECK_ALLOC_ADD(&new_size, buf->size, 2);
        ENSURE_SIZE(buf, new_size);
        buf->ptr[buf->size++] = c;
        buf->ptr[buf->size] = '\0';
@@ -197,8 +202,8 @@ int git_buf_putc(git_buf *buf, char c)
 int git_buf_putcn(git_buf *buf, char c, size_t len)
 {
        size_t new_size;
-       GITERR_CHECK_ALLOC_ADD(&new_size, buf->size, len);
-       GITERR_CHECK_ALLOC_ADD(&new_size, new_size, 1);
+       GIT_ERROR_CHECK_ALLOC_ADD(&new_size, buf->size, len);
+       GIT_ERROR_CHECK_ALLOC_ADD(&new_size, new_size, 1);
        ENSURE_SIZE(buf, new_size);
        memset(buf->ptr + buf->size, c, len);
        buf->size += len;
@@ -213,8 +218,8 @@ int git_buf_put(git_buf *buf, const char *data, size_t len)
 
                assert(data);
 
-               GITERR_CHECK_ALLOC_ADD(&new_size, buf->size, len);
-               GITERR_CHECK_ALLOC_ADD(&new_size, new_size, 1);
+               GIT_ERROR_CHECK_ALLOC_ADD(&new_size, buf->size, len);
+               GIT_ERROR_CHECK_ALLOC_ADD(&new_size, new_size, 1);
                ENSURE_SIZE(buf, new_size);
                memmove(buf->ptr + buf->size, data, len);
                buf->size += len;
@@ -239,9 +244,9 @@ int git_buf_encode_base64(git_buf *buf, const char *data, size_t len)
        const uint8_t *read = (const uint8_t *)data;
        size_t blocks = (len / 3) + !!extra, alloclen;
 
-       GITERR_CHECK_ALLOC_ADD(&blocks, blocks, 1);
-       GITERR_CHECK_ALLOC_MULTIPLY(&alloclen, blocks, 4);
-       GITERR_CHECK_ALLOC_ADD(&alloclen, alloclen, buf->size);
+       GIT_ERROR_CHECK_ALLOC_ADD(&blocks, blocks, 1);
+       GIT_ERROR_CHECK_ALLOC_MULTIPLY(&alloclen, blocks, 4);
+       GIT_ERROR_CHECK_ALLOC_ADD(&alloclen, alloclen, buf->size);
 
        ENSURE_SIZE(buf, alloclen);
        write = (uint8_t *)&buf->ptr[buf->size];
@@ -301,13 +306,13 @@ int git_buf_decode_base64(git_buf *buf, const char *base64, size_t len)
        size_t orig_size = buf->size, new_size;
 
        if (len % 4) {
-               giterr_set(GITERR_INVALID, "invalid base64 input");
+               git_error_set(GIT_ERROR_INVALID, "invalid base64 input");
                return -1;
        }
 
        assert(len % 4 == 0);
-       GITERR_CHECK_ALLOC_ADD(&new_size, (len / 4 * 3), buf->size);
-       GITERR_CHECK_ALLOC_ADD(&new_size, new_size, 1);
+       GIT_ERROR_CHECK_ALLOC_ADD(&new_size, (len / 4 * 3), buf->size);
+       GIT_ERROR_CHECK_ALLOC_ADD(&new_size, new_size, 1);
        ENSURE_SIZE(buf, new_size);
 
        for (i = 0; i < len; i += 4) {
@@ -318,7 +323,7 @@ int git_buf_decode_base64(git_buf *buf, const char *base64, size_t len)
                        buf->size = orig_size;
                        buf->ptr[buf->size] = '\0';
 
-                       giterr_set(GITERR_INVALID, "invalid base64 input");
+                       git_error_set(GIT_ERROR_INVALID, "invalid base64 input");
                        return -1;
                }
 
@@ -338,9 +343,9 @@ int git_buf_encode_base85(git_buf *buf, const char *data, size_t len)
 {
        size_t blocks = (len / 4) + !!(len % 4), alloclen;
 
-       GITERR_CHECK_ALLOC_MULTIPLY(&alloclen, blocks, 5);
-       GITERR_CHECK_ALLOC_ADD(&alloclen, alloclen, buf->size);
-       GITERR_CHECK_ALLOC_ADD(&alloclen, alloclen, 1);
+       GIT_ERROR_CHECK_ALLOC_MULTIPLY(&alloclen, blocks, 5);
+       GIT_ERROR_CHECK_ALLOC_ADD(&alloclen, alloclen, buf->size);
+       GIT_ERROR_CHECK_ALLOC_ADD(&alloclen, alloclen, 1);
 
        ENSURE_SIZE(buf, alloclen);
 
@@ -403,12 +408,12 @@ int git_buf_decode_base85(
 
        if (base85_len % 5 ||
                output_len > base85_len * 4 / 5) {
-               giterr_set(GITERR_INVALID, "invalid base85 input");
+               git_error_set(GIT_ERROR_INVALID, "invalid base85 input");
                return -1;
        }
 
-       GITERR_CHECK_ALLOC_ADD(&new_size, output_len, buf->size);
-       GITERR_CHECK_ALLOC_ADD(&new_size, new_size, 1);
+       GIT_ERROR_CHECK_ALLOC_ADD(&new_size, output_len, buf->size);
+       GIT_ERROR_CHECK_ALLOC_ADD(&new_size, new_size, 1);
        ENSURE_SIZE(buf, new_size);
 
        while (output_len) {
@@ -435,7 +440,7 @@ int git_buf_decode_base85(
 
                acc += de;
 
-               cnt = (output_len < 4) ? output_len : 4;
+               cnt = (output_len < 4) ? (int)output_len : 4;
                output_len -= cnt;
                do {
                        acc = (acc << 8) | (acc >> 24);
@@ -451,7 +456,7 @@ on_error:
        buf->size = orig_size;
        buf->ptr[buf->size] = '\0';
 
-       giterr_set(GITERR_INVALID, "invalid base85 input");
+       git_error_set(GIT_ERROR_INVALID, "invalid base85 input");
        return -1;
 }
 
@@ -464,8 +469,8 @@ int git_buf_decode_percent(
 {
        size_t str_pos, new_size;
 
-       GITERR_CHECK_ALLOC_ADD(&new_size, buf->size, str_len);
-       GITERR_CHECK_ALLOC_ADD(&new_size, new_size, 1);
+       GIT_ERROR_CHECK_ALLOC_ADD(&new_size, buf->size, str_len);
+       GIT_ERROR_CHECK_ALLOC_ADD(&new_size, new_size, 1);
        ENSURE_SIZE(buf, new_size);
 
        for (str_pos = 0; str_pos < str_len; buf->size++, str_pos++) {
@@ -490,8 +495,8 @@ int git_buf_vprintf(git_buf *buf, const char *format, va_list ap)
        size_t expected_size, new_size;
        int len;
 
-       GITERR_CHECK_ALLOC_MULTIPLY(&expected_size, strlen(format), 2);
-       GITERR_CHECK_ALLOC_ADD(&expected_size, expected_size, buf->size);
+       GIT_ERROR_CHECK_ALLOC_MULTIPLY(&expected_size, strlen(format), 2);
+       GIT_ERROR_CHECK_ALLOC_ADD(&expected_size, expected_size, buf->size);
        ENSURE_SIZE(buf, expected_size);
 
        while (1) {
@@ -517,8 +522,8 @@ int git_buf_vprintf(git_buf *buf, const char *format, va_list ap)
                        break;
                }
 
-               GITERR_CHECK_ALLOC_ADD(&new_size, buf->size, len);
-               GITERR_CHECK_ALLOC_ADD(&new_size, new_size, 1);
+               GIT_ERROR_CHECK_ALLOC_ADD(&new_size, buf->size, len);
+               GIT_ERROR_CHECK_ALLOC_ADD(&new_size, new_size, 1);
                ENSURE_SIZE(buf, new_size);
        }
 
@@ -610,7 +615,7 @@ char *git_buf_detach(git_buf *buf)
 
 int git_buf_attach(git_buf *buf, char *ptr, size_t asize)
 {
-       git_buf_free(buf);
+       git_buf_dispose(buf);
 
        if (ptr) {
                buf->ptr = ptr;
@@ -628,7 +633,7 @@ int git_buf_attach(git_buf *buf, char *ptr, size_t asize)
 void git_buf_attach_notowned(git_buf *buf, const char *ptr, size_t size)
 {
        if (git_buf_is_allocated(buf))
-               git_buf_free(buf);
+               git_buf_dispose(buf);
 
        if (!size) {
                git_buf_init(buf, 0);
@@ -662,10 +667,10 @@ int git_buf_join_n(git_buf *buf, char separator, int nbuf, ...)
 
                segment_len = strlen(segment);
 
-               GITERR_CHECK_ALLOC_ADD(&total_size, total_size, segment_len);
+               GIT_ERROR_CHECK_ALLOC_ADD(&total_size, total_size, segment_len);
 
                if (segment_len == 0 || segment[segment_len - 1] != separator)
-                       GITERR_CHECK_ALLOC_ADD(&total_size, total_size, 1);
+                       GIT_ERROR_CHECK_ALLOC_ADD(&total_size, total_size, 1);
        }
        va_end(ap);
 
@@ -673,7 +678,7 @@ int git_buf_join_n(git_buf *buf, char separator, int nbuf, ...)
        if (total_size == 0)
                return 0;
 
-       GITERR_CHECK_ALLOC_ADD(&total_size, total_size, 1);
+       GIT_ERROR_CHECK_ALLOC_ADD(&total_size, total_size, 1);
        if (git_buf_grow_by(buf, total_size) < 0)
                return -1;
 
@@ -753,9 +758,9 @@ int git_buf_join(
        if (str_a >= buf->ptr && str_a < buf->ptr + buf->size)
                offset_a = str_a - buf->ptr;
 
-       GITERR_CHECK_ALLOC_ADD(&alloc_len, strlen_a, strlen_b);
-       GITERR_CHECK_ALLOC_ADD(&alloc_len, alloc_len, need_sep);
-       GITERR_CHECK_ALLOC_ADD(&alloc_len, alloc_len, 1);
+       GIT_ERROR_CHECK_ALLOC_ADD(&alloc_len, strlen_a, strlen_b);
+       GIT_ERROR_CHECK_ALLOC_ADD(&alloc_len, alloc_len, need_sep);
+       GIT_ERROR_CHECK_ALLOC_ADD(&alloc_len, alloc_len, 1);
        ENSURE_SIZE(buf, alloc_len);
 
        /* fix up internal pointers */
@@ -805,11 +810,11 @@ int git_buf_join3(
                        sep_b = (str_b[len_b - 1] != separator);
        }
 
-       GITERR_CHECK_ALLOC_ADD(&len_total, len_a, sep_a);
-       GITERR_CHECK_ALLOC_ADD(&len_total, len_total, len_b);
-       GITERR_CHECK_ALLOC_ADD(&len_total, len_total, sep_b);
-       GITERR_CHECK_ALLOC_ADD(&len_total, len_total, len_c);
-       GITERR_CHECK_ALLOC_ADD(&len_total, len_total, 1);
+       GIT_ERROR_CHECK_ALLOC_ADD(&len_total, len_a, sep_a);
+       GIT_ERROR_CHECK_ALLOC_ADD(&len_total, len_total, len_b);
+       GIT_ERROR_CHECK_ALLOC_ADD(&len_total, len_total, sep_b);
+       GIT_ERROR_CHECK_ALLOC_ADD(&len_total, len_total, len_c);
+       GIT_ERROR_CHECK_ALLOC_ADD(&len_total, len_total, 1);
        ENSURE_SIZE(buf, len_total);
 
        tgt = buf->ptr;
@@ -872,8 +877,8 @@ int git_buf_splice(
        /* Ported from git.git
         * https://github.com/git/git/blob/16eed7c/strbuf.c#L159-176
         */
-       GITERR_CHECK_ALLOC_ADD(&new_size, (buf->size - nb_to_remove), nb_to_insert);
-       GITERR_CHECK_ALLOC_ADD(&alloc_size, new_size, 1);
+       GIT_ERROR_CHECK_ALLOC_ADD(&new_size, (buf->size - nb_to_remove), nb_to_insert);
+       GIT_ERROR_CHECK_ALLOC_ADD(&alloc_size, new_size, 1);
        ENSURE_SIZE(buf, alloc_size);
 
        memmove(splice_loc + nb_to_insert,
@@ -949,7 +954,7 @@ int git_buf_quote(git_buf *buf)
        git_buf_swap(&quoted, buf);
 
 done:
-       git_buf_free(&quoted);
+       git_buf_dispose(&quoted);
        return error;
 }
 
@@ -990,14 +995,14 @@ int git_buf_unquote(git_buf *buf)
                        /* \xyz digits convert to the char*/
                        case '0': case '1': case '2': case '3':
                                if (j == buf->size-3) {
-                                       giterr_set(GITERR_INVALID,
+                                       git_error_set(GIT_ERROR_INVALID,
                                                "truncated quoted character \\%c", ch);
                                        return -1;
                                }
 
                                if (buf->ptr[j+1] < '0' || buf->ptr[j+1] > '7' ||
                                        buf->ptr[j+2] < '0' || buf->ptr[j+2] > '7') {
-                                       giterr_set(GITERR_INVALID,
+                                       git_error_set(GIT_ERROR_INVALID,
                                                "truncated quoted character \\%c%c%c",
                                                buf->ptr[j], buf->ptr[j+1], buf->ptr[j+2]);
                                        return -1;
@@ -1010,7 +1015,7 @@ int git_buf_unquote(git_buf *buf)
                                break;
 
                        default:
-                               giterr_set(GITERR_INVALID, "invalid quoted character \\%c", ch);
+                               git_error_set(GIT_ERROR_INVALID, "invalid quoted character \\%c", ch);
                                return -1;
                        }
                }
@@ -1024,6 +1029,6 @@ int git_buf_unquote(git_buf *buf)
        return 0;
 
 invalid:
-       giterr_set(GITERR_INVALID, "invalid quoted line");
+       git_error_set(GIT_ERROR_INVALID, "invalid quoted line");
        return -1;
 }
index cc77fc0300b6c5f31e5b25bd19308c6a9017267a..7910b6338830aa8526e045e8c4e8dc98c7dd36d2 100644 (file)
@@ -76,7 +76,7 @@ extern char *git_buf_detach(git_buf *buf);
 extern int git_buf_attach(git_buf *buf, char *ptr, size_t asize);
 
 /* Populates a `git_buf` where the contents are not "owned" by the
- * buffer, and calls to `git_buf_free` will not free the given buf.
+ * buffer, and calls to `git_buf_dispose` will not free the given buf.
  */
 extern void git_buf_attach_notowned(
        git_buf *buf, const char *ptr, size_t size);
index cdd12979f28d9d47819da6c43b3b37cbf13d197f..66107eaa9613b65abb73cc8b98e9a0cf974bc5e8 100644 (file)
@@ -20,20 +20,20 @@ ssize_t git_cache__max_storage = (256 * 1024 * 1024);
 git_atomic_ssize git_cache__current_storage = {0};
 
 static size_t git_cache__max_object_size[8] = {
-       0,     /* GIT_OBJ__EXT1 */
-       4096,  /* GIT_OBJ_COMMIT */
-       4096,  /* GIT_OBJ_TREE */
-       0,     /* GIT_OBJ_BLOB */
-       4096,  /* GIT_OBJ_TAG */
-       0,     /* GIT_OBJ__EXT2 */
-       0,     /* GIT_OBJ_OFS_DELTA */
-       0      /* GIT_OBJ_REF_DELTA */
+       0,     /* GIT_OBJECT__EXT1 */
+       4096,  /* GIT_OBJECT_COMMIT */
+       4096,  /* GIT_OBJECT_TREE */
+       0,     /* GIT_OBJECT_BLOB */
+       4096,  /* GIT_OBJECT_TAG */
+       0,     /* GIT_OBJECT__EXT2 */
+       0,     /* GIT_OBJECT_OFS_DELTA */
+       0      /* GIT_OBJECT_REF_DELTA */
 };
 
-int git_cache_set_max_object_size(git_otype type, size_t size)
+int git_cache_set_max_object_size(git_object_t type, size_t size)
 {
        if (type < 0 || (size_t)type >= ARRAY_SIZE(git_cache__max_object_size)) {
-               giterr_set(GITERR_INVALID, "type out of range");
+               git_error_set(GIT_ERROR_INVALID, "type out of range");
                return -1;
        }
 
@@ -66,9 +66,9 @@ int git_cache_init(git_cache *cache)
 {
        memset(cache, 0, sizeof(*cache));
        cache->map = git_oidmap_alloc();
-       GITERR_CHECK_ALLOC(cache->map);
+       GIT_ERROR_CHECK_ALLOC(cache->map);
        if (git_rwlock_init(&cache->lock)) {
-               giterr_set(GITERR_OS, "failed to initialize cache rwlock");
+               git_error_set(GIT_ERROR_OS, "failed to initialize cache rwlock");
                return -1;
        }
        return 0;
@@ -123,7 +123,7 @@ static void cache_evict_entries(git_cache *cache)
        }
 
        while (evict_count > 0) {
-               khiter_t pos = seed++ % git_oidmap_end(cache->map);
+               size_t pos = seed++ % git_oidmap_end(cache->map);
 
                if (git_oidmap_has_data(cache->map, pos)) {
                        git_cached_obj *evict = git_oidmap_value_at(cache->map, pos);
@@ -140,7 +140,7 @@ static void cache_evict_entries(git_cache *cache)
        git_atomic_ssize_add(&git_cache__current_storage, -evicted_memory);
 }
 
-static bool cache_should_store(git_otype object_type, size_t object_size)
+static bool cache_should_store(git_object_t object_type, size_t object_size)
 {
        size_t max_size = git_cache__max_object_size[object_type];
        return git_cache__enabled && object_size < max_size;
@@ -148,7 +148,7 @@ static bool cache_should_store(git_otype object_type, size_t object_size)
 
 static void *cache_get(git_cache *cache, const git_oid *oid, unsigned int flags)
 {
-       khiter_t pos;
+       size_t pos;
        git_cached_obj *entry = NULL;
 
        if (!git_cache__enabled || git_rwlock_rdlock(&cache->lock) < 0)
@@ -172,7 +172,7 @@ static void *cache_get(git_cache *cache, const git_oid *oid, unsigned int flags)
 
 static void *cache_store(git_cache *cache, git_cached_obj *entry)
 {
-       khiter_t pos;
+       size_t pos;
 
        git_cached_obj_incref(entry);
 
index 9c09954ae7d08b67fea1ddc46c295b6bfb1acf2e..d2386eea6cf3d8df5a379b6091e9c7a3d574e382 100644 (file)
@@ -24,7 +24,7 @@ enum {
 
 typedef struct {
        git_oid    oid;
-       int16_t    type;  /* git_otype value */
+       int16_t    type;  /* git_object_t value */
        uint16_t   flags; /* GIT_CACHE_STORE value */
        size_t     size;
        git_atomic refcount;
@@ -40,7 +40,7 @@ extern bool git_cache__enabled;
 extern ssize_t git_cache__max_storage;
 extern git_atomic_ssize git_cache__current_storage;
 
-int git_cache_set_max_object_size(git_otype type, size_t size);
+int git_cache_set_max_object_size(git_object_t type, size_t size);
 
 int git_cache_init(git_cache *cache);
 void git_cache_free(git_cache *cache);
index 0f05cd2d92886f2c6158dc75c0825536e4e6d219..8aaa8bb5a52bd694c5eec0a4ed9ac7557d30502f 100644 (file)
 
 /* Define the printf format specifer to use for size_t output */
 #if defined(_MSC_VER) || defined(__MINGW32__)
-#      define PRIuZ "Iu"
-#      define PRIxZ "Ix"
-#      define PRIdZ "Id"
+
+/* The first block is needed to avoid warnings on MingW amd64 */
+#      if (SIZE_MAX == ULLONG_MAX)
+#              define PRIuZ "I64u"
+#              define PRIxZ "I64x"
+#              define PRIXZ "I64X"
+#              define PRIdZ "I64d"
+#      else
+#              define PRIuZ "Iu"
+#              define PRIxZ "Ix"
+#              define PRIXZ "IX"
+#              define PRIdZ "Id"
+#      endif
+
 #else
 #      define PRIuZ "zu"
 #      define PRIxZ "zx"
+#      define PRIXZ "zX"
 #      define PRIdZ "zd"
 #endif
 
index debdbe95b53765572a63616022eb422e964cf4c9..fe020894a42d2cecec90e63fa24a03e4eb4acf43 100644 (file)
@@ -146,7 +146,7 @@ static int checkout_notify(
                int error = data->opts.notify_cb(
                        why, path, baseline, target, workdir, data->opts.notify_payload);
 
-               return giterr_set_after_callback_function(
+               return git_error_set_after_callback_function(
                        error, "git_checkout notification");
        }
 }
@@ -193,7 +193,7 @@ static bool checkout_is_workdir_modified(
                bool rval = false;
 
                if (git_submodule_lookup(&sm, data->repo, wditem->path) < 0) {
-                       giterr_clear();
+                       git_error_clear();
                        return true;
                }
 
@@ -354,7 +354,7 @@ static bool wd_item_is_removable(
 static int checkout_queue_remove(checkout_data *data, const char *path)
 {
        char *copy = git_pool_strdup(&data->pool, path);
-       GITERR_CHECK_ALLOC(copy);
+       GIT_ERROR_CHECK_ALLOC(copy);
        return git_vector_insert(&data->removes, copy);
 }
 
@@ -492,7 +492,7 @@ static int checkout_action_with_wd(
        switch (delta->status) {
        case GIT_DELTA_UNMODIFIED: /* case 14/15 or 33 */
                if (checkout_is_workdir_modified(data, &delta->old_file, &delta->new_file, wd)) {
-                       GITERR_CHECK_ERROR(
+                       GIT_ERROR_CHECK_ERROR(
                                checkout_notify(data, GIT_CHECKOUT_NOTIFY_DIRTY, delta, wd) );
                        *action = CHECKOUT_ACTION_IF(FORCE, UPDATE_BLOB, NONE);
                }
@@ -561,7 +561,7 @@ static int checkout_action_with_wd_blocker(
        switch (delta->status) {
        case GIT_DELTA_UNMODIFIED:
                /* should show delta as dirty / deleted */
-               GITERR_CHECK_ERROR(
+               GIT_ERROR_CHECK_ERROR(
                        checkout_notify(data, GIT_CHECKOUT_NOTIFY_DIRTY, delta, wd) );
                *action = CHECKOUT_ACTION_IF(FORCE, REMOVE_AND_UPDATE, NONE);
                break;
@@ -594,9 +594,9 @@ static int checkout_action_with_wd_dir(
 
        switch (delta->status) {
        case GIT_DELTA_UNMODIFIED: /* case 19 or 24 (or 34 but not really) */
-               GITERR_CHECK_ERROR(
+               GIT_ERROR_CHECK_ERROR(
                        checkout_notify(data, GIT_CHECKOUT_NOTIFY_DIRTY, delta, NULL));
-               GITERR_CHECK_ERROR(
+               GIT_ERROR_CHECK_ERROR(
                        checkout_notify(data, GIT_CHECKOUT_NOTIFY_UNTRACKED, NULL, wd));
                *action = CHECKOUT_ACTION_IF(FORCE, REMOVE_AND_UPDATE, NONE);
                break;
@@ -611,7 +611,7 @@ static int checkout_action_with_wd_dir(
                break;
        case GIT_DELTA_DELETED: /* case 11 (and 27 for dir) */
                if (delta->old_file.mode != GIT_FILEMODE_TREE)
-                       GITERR_CHECK_ERROR(
+                       GIT_ERROR_CHECK_ERROR(
                                checkout_notify(data, GIT_CHECKOUT_NOTIFY_UNTRACKED, NULL, wd));
                break;
        case GIT_DELTA_TYPECHANGE: /* case 24 or 31 */
@@ -902,7 +902,7 @@ static int checkout_conflict_append_update(
        int error;
 
        conflict = git__calloc(1, sizeof(checkout_conflictdata));
-       GITERR_CHECK_ALLOC(conflict);
+       GIT_ERROR_CHECK_ALLOC(conflict);
 
        conflict->ancestor = ancestor;
        conflict->ours = ours;
@@ -1044,20 +1044,20 @@ static int checkout_conflicts_load_byname_entry(
        *theirs_out = NULL;
 
        if (!name_entry->ancestor) {
-               giterr_set(GITERR_INDEX, "a NAME entry exists without an ancestor");
+               git_error_set(GIT_ERROR_INDEX, "a NAME entry exists without an ancestor");
                error = -1;
                goto done;
        }
 
        if (!name_entry->ours && !name_entry->theirs) {
-               giterr_set(GITERR_INDEX, "a NAME entry exists without an ours or theirs");
+               git_error_set(GIT_ERROR_INDEX, "a NAME entry exists without an ours or theirs");
                error = -1;
                goto done;
        }
 
        if ((ancestor = checkout_conflicts_search_ancestor(data,
                name_entry->ancestor)) == NULL) {
-               giterr_set(GITERR_INDEX,
+               git_error_set(GIT_ERROR_INDEX,
                        "a NAME entry referenced ancestor entry '%s' which does not exist in the main index",
                        name_entry->ancestor);
                error = -1;
@@ -1069,7 +1069,7 @@ static int checkout_conflicts_load_byname_entry(
                        ours = ancestor;
                else if ((ours = checkout_conflicts_search_branch(data, name_entry->ours)) == NULL ||
                        ours->ours == NULL) {
-                       giterr_set(GITERR_INDEX,
+                       git_error_set(GIT_ERROR_INDEX,
                                "a NAME entry referenced our entry '%s' which does not exist in the main index",
                                name_entry->ours);
                        error = -1;
@@ -1084,7 +1084,7 @@ static int checkout_conflicts_load_byname_entry(
                        theirs = ours;
                else if ((theirs = checkout_conflicts_search_branch(data, name_entry->theirs)) == NULL ||
                        theirs->theirs == NULL) {
-                       giterr_set(GITERR_INDEX,
+                       git_error_set(GIT_ERROR_INDEX,
                                "a NAME entry referenced their entry '%s' which does not exist in the main index",
                                name_entry->theirs);
                        error = -1;
@@ -1183,7 +1183,7 @@ static int checkout_conflicts_mark_directoryfile(
 
                if ((error = git_index_find(&j, index, path)) < 0) {
                        if (error == GIT_ENOTFOUND)
-                               giterr_set(GITERR_INDEX,
+                               git_error_set(GIT_ERROR_INDEX,
                                        "index inconsistency, could not find entry for expected conflict '%s'", path);
 
                        goto done;
@@ -1191,7 +1191,7 @@ static int checkout_conflicts_mark_directoryfile(
 
                for (; j < len; j++) {
                        if ((entry = git_index_get_byindex(index, j)) == NULL) {
-                               giterr_set(GITERR_INDEX,
+                               git_error_set(GIT_ERROR_INDEX,
                                        "index inconsistency, truncated index while loading expected conflict '%s'", path);
                                error = -1;
                                goto done;
@@ -1252,7 +1252,7 @@ static int checkout_conflict_append_remove(
        else
                abort();
 
-       GITERR_CHECK_ALLOC(name);
+       GIT_ERROR_CHECK_ALLOC(name);
 
        return git_vector_insert(&data->remove_conflicts, (char *)name);
 }
@@ -1277,14 +1277,14 @@ static int checkout_verify_paths(
 
        if (action & CHECKOUT_ACTION__REMOVE) {
                if (!git_path_isvalid(repo, delta->old_file.path, delta->old_file.mode, flags)) {
-                       giterr_set(GITERR_CHECKOUT, "cannot remove invalid path '%s'", delta->old_file.path);
+                       git_error_set(GIT_ERROR_CHECKOUT, "cannot remove invalid path '%s'", delta->old_file.path);
                        return -1;
                }
        }
 
        if (action & ~CHECKOUT_ACTION__REMOVE) {
                if (!git_path_isvalid(repo, delta->new_file.path, delta->new_file.mode, flags)) {
-                       giterr_set(GITERR_CHECKOUT, "cannot checkout to invalid path '%s'", delta->new_file.path);
+                       git_error_set(GIT_ERROR_CHECKOUT, "cannot checkout to invalid path '%s'", delta->new_file.path);
                        return -1;
                }
        }
@@ -1354,7 +1354,7 @@ static int checkout_get_actions(
        if (counts[CHECKOUT_ACTION__CONFLICT] > 0 &&
                (data->strategy & GIT_CHECKOUT_ALLOW_CONFLICTS) == 0)
        {
-               giterr_set(GITERR_CHECKOUT, "%"PRIuZ" %s checkout",
+               git_error_set(GIT_ERROR_CHECKOUT, "%"PRIuZ" %s checkout",
                        counts[CHECKOUT_ACTION__CONFLICT],
                        counts[CHECKOUT_ACTION__CONFLICT] == 1 ?
                        "conflict prevents" : "conflicts prevent");
@@ -1453,10 +1453,10 @@ static int mkpath2file(
                         */
                        error = git_futils_rmdir_r(path, NULL, GIT_RMDIR_REMOVE_FILES);
                } else if (errno != ENOENT) {
-                       giterr_set(GITERR_OS, "failed to stat '%s'", path);
+                       git_error_set(GIT_ERROR_OS, "failed to stat '%s'", path);
                        return GIT_EEXISTS;
                } else {
-                       giterr_clear();
+                       git_error_clear();
                }
        }
 
@@ -1477,7 +1477,7 @@ static int checkout_stream_write(
        int ret;
 
        if ((ret = p_write(stream->fd, buffer, len)) < 0)
-               giterr_set(GITERR_OS, "could not write to '%s'", stream->path);
+               git_error_set(GIT_ERROR_OS, "could not write to '%s'", stream->path);
 
        return ret;
 }
@@ -1526,7 +1526,7 @@ static int blob_content_to_file(
                mode = GIT_FILEMODE_BLOB;
 
        if ((fd = p_open(path, flags, mode)) < 0) {
-               giterr_set(GITERR_OS, "could not open '%s' for writing", path);
+               git_error_set(GIT_ERROR_OS, "could not open '%s' for writing", path);
                return fd;
        }
 
@@ -1563,7 +1563,7 @@ static int blob_content_to_file(
                data->perfdata.stat_calls++;
 
                if ((error = p_stat(path, st)) < 0) {
-                       giterr_set(GITERR_OS, "failed to stat '%s'", path);
+                       git_error_set(GIT_ERROR_OS, "failed to stat '%s'", path);
                        return error;
                }
 
@@ -1590,7 +1590,7 @@ static int blob_content_to_link(
 
        if (data->can_symlink) {
                if ((error = p_symlink(git_buf_cstr(&linktarget), path)) < 0)
-                       giterr_set(GITERR_OS, "could not create symlink %s", path);
+                       git_error_set(GIT_ERROR_OS, "could not create symlink %s", path);
        } else {
                error = git_futils_fake_symlink(git_buf_cstr(&linktarget), path);
        }
@@ -1599,12 +1599,12 @@ static int blob_content_to_link(
                data->perfdata.stat_calls++;
 
                if ((error = p_lstat(path, st)) < 0)
-                       giterr_set(GITERR_CHECKOUT, "could not stat symlink %s", path);
+                       git_error_set(GIT_ERROR_CHECKOUT, "could not stat symlink %s", path);
 
                st->st_mode = GIT_FILEMODE_LINK;
        }
 
-       git_buf_free(&linktarget);
+       git_buf_dispose(&linktarget);
 
        return error;
 }
@@ -1643,8 +1643,8 @@ static int checkout_submodule_update_index(
 
        data->perfdata.stat_calls++;
        if (p_stat(fullpath->ptr, &st) < 0) {
-               giterr_set(
-                       GITERR_CHECKOUT, "could not stat submodule %s\n", file->path);
+               git_error_set(
+                       GIT_ERROR_CHECKOUT, "could not stat submodule %s\n", file->path);
                return GIT_ENOTFOUND;
        }
 
@@ -1675,7 +1675,7 @@ static int checkout_submodule(
                 * have a .gitmodules - core Git just makes an empty directory
                 */
                if (error == GIT_ENOTFOUND) {
-                       giterr_clear();
+                       git_error_clear();
                        return checkout_submodule_update_index(data, file);
                }
 
@@ -1717,7 +1717,7 @@ static int checkout_safe_for_update_only(
                        return 0;
 
                /* otherwise, stat error and no update */
-               giterr_set(GITERR_OS, "failed to stat '%s'", path);
+               git_error_set(GIT_ERROR_OS, "failed to stat '%s'", path);
                return -1;
        }
 
@@ -1756,7 +1756,7 @@ static int checkout_write_content(
        if ((data->strategy & GIT_CHECKOUT_ALLOW_CONFLICTS) != 0 &&
                (error == GIT_ENOTFOUND || error == GIT_EEXISTS))
        {
-               giterr_clear();
+               git_error_clear();
                error = 0;
        }
 
@@ -1863,7 +1863,7 @@ static int checkout_deferred_remove(git_repository *repo, const char *path)
 
        if (error == GIT_ENOTFOUND) {
                error = 0;
-               giterr_clear();
+               git_error_clear();
        }
 
        return error;
@@ -1944,7 +1944,7 @@ static int checkout_lookup_head_tree(git_tree **out, git_repository *repo)
        git_object *head;
 
        if (!(error = git_repository_head(&ref, repo)) &&
-               !(error = git_reference_peel(&head, ref, GIT_OBJ_TREE)))
+               !(error = git_reference_peel(&head, ref, GIT_OBJECT_TREE)))
                *out = (git_tree *)head;
 
        git_reference_free(ref);
@@ -1989,7 +1989,7 @@ static int checkout_path_suffixed(git_buf *path, const char *suffix)
        if (i == INT_MAX) {
                git_buf_truncate(path, path_len);
 
-               giterr_set(GITERR_CHECKOUT, "could not write '%s': working directory file exists", path->ptr);
+               git_error_set(GIT_ERROR_CHECKOUT, "could not write '%s': working directory file exists", path->ptr);
                return GIT_EEXISTS;
        }
 
@@ -2123,7 +2123,7 @@ static int checkout_write_merge(
                goto done;
 
        if (result.path == NULL || result.mode == 0) {
-               giterr_set(GITERR_CHECKOUT, "could not merge contents of file");
+               git_error_set(GIT_ERROR_CHECKOUT, "could not merge contents of file");
                error = GIT_ECONFLICT;
                goto done;
        }
@@ -2161,13 +2161,13 @@ static int checkout_write_merge(
 done:
        git_filter_list_free(fl);
 
-       git_buf_free(&out_data);
-       git_buf_free(&our_label);
-       git_buf_free(&their_label);
+       git_buf_dispose(&out_data);
+       git_buf_dispose(&our_label);
+       git_buf_dispose(&their_label);
 
        git_merge_file_result_free(&result);
-       git_buf_free(&path_workdir);
-       git_buf_free(&path_suffixed);
+       git_buf_dispose(&path_workdir);
+       git_buf_dispose(&path_suffixed);
 
        return error;
 }
@@ -2179,7 +2179,7 @@ static int checkout_conflict_add(
        int error = git_index_remove(data->index, conflict->path, 0);
 
        if (error == GIT_ENOTFOUND)
-               giterr_clear();
+               git_error_clear();
        else if (error < 0)
                return error;
 
@@ -2347,8 +2347,8 @@ static void checkout_data_clear(checkout_data *data)
        git__free(data->pfx);
        data->pfx = NULL;
 
-       git_buf_free(&data->target_path);
-       git_buf_free(&data->tmp);
+       git_buf_dispose(&data->target_path);
+       git_buf_dispose(&data->tmp);
 
        git_index_free(data->index);
        data->index = NULL;
@@ -2370,7 +2370,7 @@ static int checkout_data_init(
        memset(data, 0, sizeof(*data));
 
        if (!repo) {
-               giterr_set(GITERR_CHECKOUT, "cannot checkout nothing");
+               git_error_set(GIT_ERROR_CHECKOUT, "cannot checkout nothing");
                return -1;
        }
 
@@ -2381,7 +2381,7 @@ static int checkout_data_init(
        data->repo = repo;
        data->target = target;
 
-       GITERR_CHECK_VERSION(
+       GIT_ERROR_CHECK_VERSION(
                proposed, GIT_CHECKOUT_OPTIONS_VERSION, "git_checkout_options");
 
        if (!proposed)
@@ -2397,6 +2397,9 @@ static int checkout_data_init(
                                GIT_DIR_MODE, GIT_MKDIR_VERIFY_DIR)) < 0)
                goto cleanup;
 
+       if ((error = git_repository_index(&data->index, data->repo)) < 0)
+               goto cleanup;
+
        /* refresh config and index content unless NO_REFRESH is given */
        if ((data->opts.checkout_strategy & GIT_CHECKOUT_NO_REFRESH) == 0) {
                git_config *cfg;
@@ -2404,24 +2407,30 @@ static int checkout_data_init(
                if ((error = git_repository_config__weakptr(&cfg, repo)) < 0)
                        goto cleanup;
 
-               /* Get the repository index and reload it (unless we're checking
-                * out the index; then it has the changes we're trying to check
-                * out and those should not be overwritten.)
+               /* Reload the repository index (unless we're checking out the
+                * index; then it has the changes we're trying to check out
+                * and those should not be overwritten.)
                 */
-               if ((error = git_repository_index(&data->index, data->repo)) < 0)
-                       goto cleanup;
-
                if (data->index != git_iterator_index(target)) {
-                       if ((error = git_index_read(data->index, true)) < 0)
-                               goto cleanup;
-
-                       /* cannot checkout if unresolved conflicts exist */
-                       if ((data->opts.checkout_strategy & GIT_CHECKOUT_FORCE) == 0 &&
-                               git_index_has_conflicts(data->index)) {
-                               error = GIT_ECONFLICT;
-                               giterr_set(GITERR_CHECKOUT,
-                                       "unresolved conflicts exist in the index");
-                               goto cleanup;
+                       if (data->opts.checkout_strategy & GIT_CHECKOUT_FORCE) {
+                               /* When forcing, we can blindly re-read the index */
+                               if ((error = git_index_read(data->index, false)) < 0)
+                                       goto cleanup;
+                       } else {
+                               /*
+                                * When not being forced, we need to check for unresolved
+                                * conflicts and unsaved changes in the index before
+                                * proceeding.
+                                */
+                               if (git_index_has_conflicts(data->index)) {
+                                       error = GIT_ECONFLICT;
+                                       git_error_set(GIT_ERROR_CHECKOUT,
+                                               "unresolved conflicts exist in the index");
+                                       goto cleanup;
+                               }
+
+                               if ((error = git_index_read_safely(data->index)) < 0)
+                                       goto cleanup;
                        }
 
                        /* clean conflict data in the current index */
@@ -2474,7 +2483,7 @@ static int checkout_data_init(
 
                if (error == GIT_EUNBORNBRANCH) {
                        error = 0;
-                       giterr_clear();
+                       git_error_clear();
                }
 
                if (error < 0)
@@ -2497,7 +2506,7 @@ static int checkout_data_init(
                else if (strcmp(conflict_style->value, "diff3") == 0)
                        data->opts.checkout_strategy |= GIT_CHECKOUT_CONFLICT_STYLE_DIFF3;
                else {
-                       giterr_set(GITERR_CHECKOUT, "unknown style '%s' given for 'merge.conflictstyle'",
+                       git_error_set(GIT_ERROR_CHECKOUT, "unknown style '%s' given for 'merge.conflictstyle'",
                                conflict_style->value);
                        error = -1;
                        git_config_entry_free(conflict_style);
@@ -2679,7 +2688,7 @@ int git_checkout_index(
        git_iterator *index_i;
 
        if (!index && !repo) {
-               giterr_set(GITERR_CHECKOUT,
+               git_error_set(GIT_ERROR_CHECKOUT,
                        "must provide either repository or index to checkout");
                return -1;
        }
@@ -2687,7 +2696,7 @@ int git_checkout_index(
        if (index && repo &&
                git_index_owner(index) &&
                git_index_owner(index) != repo) {
-               giterr_set(GITERR_CHECKOUT,
+               git_error_set(GIT_ERROR_CHECKOUT,
                        "index to checkout does not match repository");
                return -1;
        } else if(index && repo && !git_index_owner(index)) {
@@ -2726,12 +2735,12 @@ int git_checkout_tree(
        git_iterator_options iter_opts = GIT_ITERATOR_OPTIONS_INIT;
 
        if (!treeish && !repo) {
-               giterr_set(GITERR_CHECKOUT,
+               git_error_set(GIT_ERROR_CHECKOUT,
                        "must provide either repository or tree to checkout");
                return -1;
        }
        if (treeish && repo && git_object_owner(treeish) != repo) {
-               giterr_set(GITERR_CHECKOUT,
+               git_error_set(GIT_ERROR_CHECKOUT,
                        "object to checkout does not match repository");
                return -1;
        }
@@ -2740,17 +2749,17 @@ int git_checkout_tree(
                repo = git_object_owner(treeish);
 
        if (treeish) {
-               if (git_object_peel((git_object **)&tree, treeish, GIT_OBJ_TREE) < 0) {
-                       giterr_set(
-                               GITERR_CHECKOUT, "provided object cannot be peeled to a tree");
+               if (git_object_peel((git_object **)&tree, treeish, GIT_OBJECT_TREE) < 0) {
+                       git_error_set(
+                               GIT_ERROR_CHECKOUT, "provided object cannot be peeled to a tree");
                        return -1;
                }
        }
        else {
                if ((error = checkout_lookup_head_tree(&tree, repo)) < 0) {
                        if (error != GIT_EUNBORNBRANCH)
-                               giterr_set(
-                                       GITERR_CHECKOUT,
+                               git_error_set(
+                                       GIT_ERROR_CHECKOUT,
                                        "HEAD could not be peeled to a tree and no treeish given");
                        return error;
                }
index e42b74815e88baa5e5de2a1ef0e03deab89c5f57..26935c6df7819290f79678f5c499f3bf83c92445 100644 (file)
@@ -37,7 +37,7 @@ static int write_cherrypick_head(
        if (error < 0)
                git_filebuf_cleanup(&file);
 
-       git_buf_free(&file_path);
+       git_buf_dispose(&file_path);
 
        return error;
 }
@@ -61,7 +61,7 @@ cleanup:
        if (error < 0)
                git_filebuf_cleanup(&file);
 
-       git_buf_free(&file_path);
+       git_buf_dispose(&file_path);
 
        return error;
 }
@@ -108,7 +108,7 @@ static int cherrypick_seterr(git_commit *commit, const char *fmt)
 {
        char commit_oidstr[GIT_OID_HEXSZ + 1];
 
-       giterr_set(GITERR_CHERRYPICK, fmt,
+       git_error_set(GIT_ERROR_CHERRYPICK, fmt,
                git_oid_tostr(commit_oidstr, GIT_OID_HEXSZ + 1, git_commit_id(commit)));
 
        return -1;
@@ -179,7 +179,7 @@ int git_cherrypick(
 
        assert(repo && commit);
 
-       GITERR_CHECK_VERSION(given_opts, GIT_CHERRYPICK_OPTIONS_VERSION, "git_cherrypick_options");
+       GIT_ERROR_CHECK_VERSION(given_opts, GIT_CHERRYPICK_OPTIONS_VERSION, "git_cherrypick_options");
 
        if ((error = git_repository__ensure_not_bare(repo, "cherry-pick")) < 0)
                return error;
@@ -198,7 +198,7 @@ int git_cherrypick(
                (error = git_indexwriter_init_for_operation(&indexwriter, repo, &opts.checkout_opts.checkout_strategy)) < 0 ||
                (error = write_cherrypick_head(repo, commit_oidstr)) < 0 ||
                (error = git_repository_head(&our_ref, repo)) < 0 ||
-               (error = git_reference_peel((git_object **)&our_commit, our_ref, GIT_OBJ_COMMIT)) < 0 ||
+               (error = git_reference_peel((git_object **)&our_commit, our_ref, GIT_OBJECT_COMMIT)) < 0 ||
                (error = git_cherrypick_commit(&index, repo, commit, our_commit, opts.mainline, &opts.merge_opts)) < 0 ||
                (error = git_merge__check_result(repo, index)) < 0 ||
                (error = git_merge__append_conflicts_to_merge_msg(repo, index)) < 0 ||
@@ -216,7 +216,7 @@ done:
        git_index_free(index);
        git_commit_free(our_commit);
        git_reference_free(our_ref);
-       git_buf_free(&their_label);
+       git_buf_dispose(&their_label);
 
        return error;
 }
index 8764bb728451bb40f407491b610219eff5dfeca0..8688da9e4463a05c9c2612272b6673a1ceb9a3e7 100644 (file)
@@ -48,7 +48,7 @@ static int create_branch(
                return error;
 
        error = git_reference_create(&branch_ref, repo, git_buf_cstr(&refname), target, 0, log_message);
-       git_buf_free(&refname);
+       git_buf_dispose(&refname);
        git_commit_free(head_obj);
 
        if (!error)
@@ -87,8 +87,8 @@ static int setup_tracking_config(
        error = 0;
 
 cleanup:
-       git_buf_free(&remote_key);
-       git_buf_free(&merge_key);
+       git_buf_dispose(&remote_key);
+       git_buf_dispose(&merge_key);
        return error;
 }
 
@@ -176,7 +176,7 @@ static int update_head_to_remote(
        refspec = git_remote__matching_refspec(remote, git_buf_cstr(&branch));
 
        if (refspec == NULL) {
-               giterr_set(GITERR_NET, "the remote's default branch does not fit the refspec configuration");
+               git_error_set(GIT_ERROR_NET, "the remote's default branch does not fit the refspec configuration");
                error = GIT_EINVALIDSPEC;
                goto cleanup;
        }
@@ -195,8 +195,8 @@ static int update_head_to_remote(
                reflog_message);
 
 cleanup:
-       git_buf_free(&remote_master_name);
-       git_buf_free(&branch);
+       git_buf_dispose(&remote_master_name);
+       git_buf_dispose(&branch);
 
        return error;
 }
@@ -225,7 +225,7 @@ static int update_head_to_branch(
 
 cleanup:
        git_reference_free(remote_ref);
-       git_buf_free(&remote_branch_name);
+       git_buf_dispose(&remote_branch_name);
        return retcode;
 }
 
@@ -332,7 +332,7 @@ static int clone_into(git_repository *repo, git_remote *_remote, const git_fetch
        assert(repo && _remote);
 
        if (!git_repository_is_empty(repo)) {
-               giterr_set(GITERR_INVALID, "the repository is not empty");
+               git_error_set(GIT_ERROR_INVALID, "the repository is not empty");
                return -1;
        }
 
@@ -351,7 +351,7 @@ static int clone_into(git_repository *repo, git_remote *_remote, const git_fetch
 
 cleanup:
        git_remote_free(remote);
-       git_buf_free(&reflog_message);
+       git_buf_dispose(&reflog_message);
 
        return error;
 }
@@ -378,7 +378,7 @@ int git_clone__should_clone_local(const char *url_or_path, git_clone_local_t loc
                git_path_isdir(path);
 
 done:
-       git_buf_free(&fromurl);
+       git_buf_dispose(&fromurl);
        return is_local;
 }
 
@@ -400,11 +400,11 @@ int git_clone(
        if (_options)
                memcpy(&options, _options, sizeof(git_clone_options));
 
-       GITERR_CHECK_VERSION(&options, GIT_CLONE_OPTIONS_VERSION, "git_clone_options");
+       GIT_ERROR_CHECK_VERSION(&options, GIT_CLONE_OPTIONS_VERSION, "git_clone_options");
 
        /* Only clone to a new directory or an empty directory */
        if (git_path_exists(local_path) && !git_path_is_empty_dir(local_path)) {
-               giterr_set(GITERR_INVALID,
+               git_error_set(GIT_ERROR_INVALID,
                        "'%s' exists and is not an empty directory", local_path);
                return GIT_EEXISTS;
        }
@@ -441,14 +441,14 @@ int git_clone(
 
        if (error != 0) {
                git_error_state last_error = {0};
-               giterr_state_capture(&last_error, error);
+               git_error_state_capture(&last_error, error);
 
                git_repository_free(repo);
                repo = NULL;
 
                (void)git_futils_rmdir_r(local_path, NULL, rmdir_flags);
 
-               giterr_state_restore(&last_error);
+               git_error_state_restore(&last_error);
        }
 
        *out = repo;
@@ -496,7 +496,7 @@ static int clone_local_into(git_repository *repo, git_remote *remote, const git_
        assert(repo && remote);
 
        if (!git_repository_is_empty(repo)) {
-               giterr_set(GITERR_INVALID, "the repository is not empty");
+               git_error_set(GIT_ERROR_INVALID, "the repository is not empty");
                return -1;
        }
 
@@ -510,7 +510,7 @@ static int clone_local_into(git_repository *repo, git_remote *remote, const git_
 
        /* Copy .git/objects/ from the source to the target */
        if ((error = git_repository_open(&src, git_buf_cstr(&src_path))) < 0) {
-               git_buf_free(&src_path);
+               git_buf_dispose(&src_path);
                return error;
        }
 
@@ -549,10 +549,10 @@ static int clone_local_into(git_repository *repo, git_remote *remote, const git_
        error = checkout_branch(repo, remote, co_opts, branch, git_buf_cstr(&reflog_message));
 
 cleanup:
-       git_buf_free(&reflog_message);
-       git_buf_free(&src_path);
-       git_buf_free(&src_odb);
-       git_buf_free(&dst_odb);
+       git_buf_dispose(&reflog_message);
+       git_buf_dispose(&src_path);
+       git_buf_dispose(&src_odb);
+       git_buf_dispose(&dst_odb);
        git_repository_free(src);
        return error;
 }
index 8972c077d8f5e2c93785f272bb29c9a466576c8a..513fdccaf2aaa3b25ac5b7321d34c675983c7e5f 100644 (file)
@@ -11,6 +11,7 @@
 #include "git2/object.h"
 #include "git2/repository.h"
 #include "git2/signature.h"
+#include "git2/mailmap.h"
 #include "git2/sys/commit.h"
 
 #include "odb.h"
@@ -74,7 +75,7 @@ static int git_commit__create_buffer_internal(
        return 0;
 
 on_error:
-       git_buf_free(out);
+       git_buf_dispose(out);
        return -1;
 }
 
@@ -87,25 +88,25 @@ static int validate_tree_and_parents(git_array_oid_t *parents, git_repository *r
        git_oid *parent_cpy;
        const git_oid *parent;
 
-       if (validate && !git_object__is_valid(repo, tree, GIT_OBJ_TREE))
+       if (validate && !git_object__is_valid(repo, tree, GIT_OBJECT_TREE))
                return -1;
 
        i = 0;
        while ((parent = parent_cb(i, parent_payload)) != NULL) {
-               if (validate && !git_object__is_valid(repo, parent, GIT_OBJ_COMMIT)) {
+               if (validate && !git_object__is_valid(repo, parent, GIT_OBJECT_COMMIT)) {
                        error = -1;
                        goto on_error;
                }
 
                parent_cpy = git_array_alloc(*parents);
-               GITERR_CHECK_ALLOC(parent_cpy);
+               GIT_ERROR_CHECK_ALLOC(parent_cpy);
 
                git_oid_cpy(parent_cpy, parent);
                i++;
        }
 
        if (current_id && (parents->size == 0 || git_oid_cmp(current_id, git_array_get(*parents, 0)))) {
-               giterr_set(GITERR_OBJECT, "failed to create commit: current tip is not the first parent");
+               git_error_set(GIT_ERROR_OBJECT, "failed to create commit: current tip is not the first parent");
                error = GIT_EMODIFIED;
                goto on_error;
        }
@@ -142,7 +143,7 @@ static int git_commit__create_internal(
                if (error < 0 && error != GIT_ENOTFOUND)
                        return error;
        }
-       giterr_clear();
+       git_error_clear();
 
        if (ref)
                current_id = git_reference_target(ref);
@@ -163,7 +164,7 @@ static int git_commit__create_internal(
        if (git_odb__freshen(odb, tree) < 0)
                goto cleanup;
 
-       if (git_odb_write(id, odb, buf.ptr, buf.size, GIT_OBJ_COMMIT) < 0)
+       if (git_odb_write(id, odb, buf.ptr, buf.size, GIT_OBJECT_COMMIT) < 0)
                goto cleanup;
 
 
@@ -176,7 +177,7 @@ static int git_commit__create_internal(
 cleanup:
        git_array_clear(parents);
        git_reference_free(ref);
-       git_buf_free(&buf);
+       git_buf_dispose(&buf);
        return error;
 }
 
@@ -350,7 +351,7 @@ int git_commit_amend(
 
        if (!tree) {
                git_tree *old_tree;
-               GITERR_CHECK_ERROR( git_commit_tree(&old_tree, commit_to_amend) );
+               GIT_ERROR_CHECK_ERROR( git_commit_tree(&old_tree, commit_to_amend) );
                git_oid_cpy(&tree_id, git_tree_id(old_tree));
                git_tree_free(old_tree);
        } else {
@@ -364,7 +365,7 @@ int git_commit_amend(
 
                if (git_oid_cmp(git_commit_id(commit_to_amend), git_reference_target(ref))) {
                        git_reference_free(ref);
-                       giterr_set(GITERR_REFERENCE, "commit to amend is not the tip of the given branch");
+                       git_error_set(GIT_ERROR_REFERENCE, "commit to amend is not the tip of the given branch");
                        return -1;
                }
        }
@@ -382,11 +383,11 @@ int git_commit_amend(
        return error;
 }
 
-int git_commit__parse(void *_commit, git_odb_object *odb_obj)
+int git_commit__parse_raw(void *_commit, const char *data, size_t size)
 {
        git_commit *commit = _commit;
-       const char *buffer_start = git_odb_object_data(odb_obj), *buffer;
-       const char *buffer_end = buffer_start + git_odb_object_size(odb_obj);
+       const char *buffer_start = data, *buffer;
+       const char *buffer_end = buffer_start + size;
        git_oid parent_id;
        size_t header_len;
        git_signature dummy_sig;
@@ -395,7 +396,7 @@ int git_commit__parse(void *_commit, git_odb_object *odb_obj)
 
        /* Allocate for one, which will allow not to realloc 90% of the time  */
        git_array_init_to_size(commit->parent_ids, 1);
-       GITERR_CHECK_ARRAY(commit->parent_ids);
+       GIT_ERROR_CHECK_ARRAY(commit->parent_ids);
 
        /* The tree is always the first field */
        if (git_oid__parse(&commit->tree_id, &buffer, buffer_end, "tree ") < 0)
@@ -407,19 +408,19 @@ int git_commit__parse(void *_commit, git_odb_object *odb_obj)
 
        while (git_oid__parse(&parent_id, &buffer, buffer_end, "parent ") == 0) {
                git_oid *new_id = git_array_alloc(commit->parent_ids);
-               GITERR_CHECK_ALLOC(new_id);
+               GIT_ERROR_CHECK_ALLOC(new_id);
 
                git_oid_cpy(new_id, &parent_id);
        }
 
        commit->author = git__malloc(sizeof(git_signature));
-       GITERR_CHECK_ALLOC(commit->author);
+       GIT_ERROR_CHECK_ALLOC(commit->author);
 
        if (git_signature__parse(commit->author, &buffer, buffer_end, "author ", '\n') < 0)
                return -1;
 
        /* Some tools create multiple author fields, ignore the extra ones */
-       while ((size_t)(buffer_end - buffer) >= strlen("author ") && !git__prefixcmp(buffer, "author ")) {
+       while (!git__prefixncmp(buffer, buffer_end - buffer, "author ")) {
                if (git_signature__parse(&dummy_sig, &buffer, buffer_end, "author ", '\n') < 0)
                        return -1;
 
@@ -429,7 +430,7 @@ int git_commit__parse(void *_commit, git_odb_object *odb_obj)
 
        /* Always parse the committer; we need the commit time */
        commit->committer = git__malloc(sizeof(git_signature));
-       GITERR_CHECK_ALLOC(commit->committer);
+       GIT_ERROR_CHECK_ALLOC(commit->committer);
 
        if (git_signature__parse(commit->committer, &buffer, buffer_end, "committer ", '\n') < 0)
                return -1;
@@ -447,7 +448,7 @@ int git_commit__parse(void *_commit, git_odb_object *odb_obj)
                        buffer += strlen("encoding ");
 
                        commit->message_encoding = git__strndup(buffer, eoln - buffer);
-                       GITERR_CHECK_ALLOC(commit->message_encoding);
+                       GIT_ERROR_CHECK_ALLOC(commit->message_encoding);
                }
 
                if (eoln < buffer_end && *eoln == '\n')
@@ -457,7 +458,7 @@ int git_commit__parse(void *_commit, git_odb_object *odb_obj)
 
        header_len = buffer - buffer_start;
        commit->raw_header = git__strndup(buffer_start, header_len);
-       GITERR_CHECK_ALLOC(commit->raw_header);
+       GIT_ERROR_CHECK_ALLOC(commit->raw_header);
 
        /* point "buffer" to data after header, +1 for the final LF */
        buffer = buffer_start + header_len + 1;
@@ -467,15 +468,22 @@ int git_commit__parse(void *_commit, git_odb_object *odb_obj)
                commit->raw_message = git__strndup(buffer, buffer_end - buffer);
        else
                commit->raw_message = git__strdup("");
-       GITERR_CHECK_ALLOC(commit->raw_message);
+       GIT_ERROR_CHECK_ALLOC(commit->raw_message);
 
        return 0;
 
 bad_buffer:
-       giterr_set(GITERR_OBJECT, "failed to parse bad commit object");
+       git_error_set(GIT_ERROR_OBJECT, "failed to parse bad commit object");
        return -1;
 }
 
+int git_commit__parse(void *_commit, git_odb_object *odb_obj)
+{
+       return git_commit__parse_raw(_commit,
+               git_odb_object_data(odb_obj),
+               git_odb_object_size(odb_obj));
+}
+
 #define GIT_COMMIT_GETTER(_rvalue, _name, _return) \
        _rvalue git_commit_##_name(const git_commit *commit) \
        {\
@@ -602,7 +610,7 @@ int git_commit_parent(
 
        parent_id = git_commit_parent_id(commit, n);
        if (parent_id == NULL) {
-               giterr_set(GITERR_INVALID, "parent %u does not exist", n);
+               git_error_set(GIT_ERROR_INVALID, "parent %u does not exist", n);
                return GIT_ENOTFOUND;
        }
 
@@ -691,14 +699,14 @@ int git_commit_header_field(git_buf *out, const git_commit *commit, const char *
                return 0;
        }
 
-       giterr_set(GITERR_OBJECT, "no such field '%s'", field);
+       git_error_set(GIT_ERROR_OBJECT, "no such field '%s'", field);
        return GIT_ENOTFOUND;
 
 malformed:
-       giterr_set(GITERR_OBJECT, "malformed header");
+       git_error_set(GIT_ERROR_OBJECT, "malformed header");
        return -1;
 oom:
-       giterr_set_oom();
+       git_error_set_oom();
        return -1;
 }
 
@@ -722,8 +730,8 @@ int git_commit_extract_signature(git_buf *signature, git_buf *signed_data, git_r
        if ((error = git_odb_read(&obj, odb, commit_id)) < 0)
                return error;
 
-       if (obj->cached.type != GIT_OBJ_COMMIT) {
-               giterr_set(GITERR_INVALID, "the requested type does not match the type in ODB");
+       if (obj->cached.type != GIT_OBJECT_COMMIT) {
+               git_error_set(GIT_ERROR_INVALID, "the requested type does not match the type in ODB");
                error = GIT_ENOTFOUND;
                goto cleanup;
        }
@@ -775,16 +783,16 @@ int git_commit_extract_signature(git_buf *signature, git_buf *signed_data, git_r
                return error;
        }
 
-       giterr_set(GITERR_OBJECT, "this commit is not signed");
+       git_error_set(GIT_ERROR_OBJECT, "this commit is not signed");
        error = GIT_ENOTFOUND;
        goto cleanup;
 
 malformed:
-       giterr_set(GITERR_OBJECT, "malformed header");
+       git_error_set(GIT_ERROR_OBJECT, "malformed header");
        error = -1;
        goto cleanup;
 oom:
-       giterr_set_oom();
+       git_error_set_oom();
        error = -1;
        goto cleanup;
 
@@ -864,7 +872,7 @@ int git_commit_create_with_signature(
        /* We start by identifying the end of the commit header */
        header_end = strstr(commit_content, "\n\n");
        if (!header_end) {
-               giterr_set(GITERR_INVALID, "malformed commit contents");
+               git_error_set(GIT_ERROR_INVALID, "malformed commit contents");
                return -1;
        }
 
@@ -882,10 +890,22 @@ int git_commit_create_with_signature(
        if ((error = git_repository_odb__weakptr(&odb, repo)) < 0)
                goto cleanup;
 
-       if ((error = git_odb_write(out, odb, commit.ptr, commit.size, GIT_OBJ_COMMIT)) < 0)
+       if ((error = git_odb_write(out, odb, commit.ptr, commit.size, GIT_OBJECT_COMMIT)) < 0)
                goto cleanup;
 
 cleanup:
-       git_buf_free(&commit);
+       git_buf_dispose(&commit);
        return error;
 }
+
+int git_commit_committer_with_mailmap(
+       git_signature **out, const git_commit *commit, const git_mailmap *mailmap)
+{
+       return git_mailmap_resolve_signature(out, mailmap, commit->committer);
+}
+
+int git_commit_author_with_mailmap(
+       git_signature **out, const git_commit *commit, const git_mailmap *mailmap)
+{
+       return git_mailmap_resolve_signature(out, mailmap, commit->author);
+}
index 781809d70fea97f83e73d389be646f38d8b100d9..9137a8fadab791796f5232604eb432733825dcf1 100644 (file)
@@ -35,5 +35,6 @@ struct git_commit {
 
 void git_commit__free(void *commit);
 int git_commit__parse(void *commit, git_odb_object *obj);
+int git_commit__parse_raw(void *commit, const char *data, size_t size);
 
 #endif
index b4313eed2be02cc21af52b9249272ad7e64742d9..5496dca44ea4035b2a3d0e72c316cd4a079e97e6 100644 (file)
@@ -61,7 +61,7 @@ static int commit_error(git_commit_list_node *commit, const char *msg)
        git_oid_fmt(commit_oid, &commit->oid);
        commit_oid[GIT_OID_HEXSZ] = '\0';
 
-       giterr_set(GITERR_ODB, "failed to parse commit %s - %s", commit_oid, msg);
+       git_error_set(GIT_ERROR_ODB, "failed to parse commit %s - %s", commit_oid, msg);
 
        return -1;
 }
@@ -126,7 +126,7 @@ static int commit_quick_parse(
        }
 
        commit->parents = alloc_parents(walk, commit, parents);
-       GITERR_CHECK_ALLOC(commit->parents);
+       GIT_ERROR_CHECK_ALLOC(commit->parents);
 
        buffer = parents_start;
        for (i = 0; i < parents; ++i) {
@@ -192,8 +192,8 @@ int git_commit_list_parse(git_revwalk *walk, git_commit_list_node *commit)
        if ((error = git_odb_read(&obj, walk->odb, &commit->oid)) < 0)
                return error;
 
-       if (obj->cached.type != GIT_OBJ_COMMIT) {
-               giterr_set(GITERR_INVALID, "object is no commit object");
+       if (obj->cached.type != GIT_OBJECT_COMMIT) {
+               git_error_set(GIT_ERROR_INVALID, "object is no commit object");
                error = -1;
        } else
                error = commit_quick_parse(
index 44063be12df6f215de870c04cd5c7e8e562fa4e4..18ba72dd16df1852f1a202e4406e54729c03be8d 100644 (file)
 /** Declare a function as always inlined. */
 #if defined(_MSC_VER)
 # define GIT_INLINE(type) static __inline type
+#elif defined(__GNUC__)
+# define GIT_INLINE(type) static __inline__ type
 #else
-# define GIT_INLINE(type) static inline type
+# define GIT_INLINE(type) static type
 #endif
 
 /** Support for gcc/clang __has_builtin intrinsic */
 #include "thread-utils.h"
 #include "integer.h"
 
+/*
+ * Include the declarations for deprecated functions; this ensures
+ * that they're decorated with the proper extern/visibility attributes.
+ */
+#include "git2/deprecated.h"
+
 #include <regex.h>
 
 #define DEFAULT_BUFSIZE 65536
 /**
  * Check a pointer allocation result, returning -1 if it failed.
  */
-#define GITERR_CHECK_ALLOC(ptr) if (ptr == NULL) { return -1; }
+#define GIT_ERROR_CHECK_ALLOC(ptr) if (ptr == NULL) { return -1; }
 
 /**
  * Check a buffer allocation result, returning -1 if it failed.
  */
-#define GITERR_CHECK_ALLOC_BUF(buf) if ((void *)(buf) == NULL || git_buf_oom(buf)) { return -1; }
+#define GIT_ERROR_CHECK_ALLOC_BUF(buf) if ((void *)(buf) == NULL || git_buf_oom(buf)) { return -1; }
 
 /**
  * Check a return value and propagate result if non-zero.
  */
-#define GITERR_CHECK_ERROR(code) \
+#define GIT_ERROR_CHECK_ERROR(code) \
        do { int _err = (code); if (_err) return _err; } while (0)
 
 /**
  * Set the error message for this thread, formatting as needed.
  */
 
-void giterr_set(int error_class, const char *string, ...) GIT_FORMAT_PRINTF(2, 3);
+void git_error_set(int error_class, const char *string, ...) GIT_FORMAT_PRINTF(2, 3);
 
 /**
  * Set the error message for a regex failure, using the internal regex
  * error code lookup and return a libgit error code.
  */
-int giterr_set_regex(const regex_t *regex, int error_code);
+int git_error_set_regex(const regex_t *regex, int error_code);
 
 /**
  * Set error message for user callback if needed.
@@ -120,35 +128,35 @@ int giterr_set_regex(const regex_t *regex, int error_code);
  *
  * @return This always returns the `error_code` parameter.
  */
-GIT_INLINE(int) giterr_set_after_callback_function(
+GIT_INLINE(int) git_error_set_after_callback_function(
        int error_code, const char *action)
 {
        if (error_code) {
-               const git_error *e = giterr_last();
+               const git_error *e = git_error_last();
                if (!e || !e->message)
-                       giterr_set(e ? e->klass : GITERR_CALLBACK,
+                       git_error_set(e ? e->klass : GIT_ERROR_CALLBACK,
                                "%s callback returned %d", action, error_code);
        }
        return error_code;
 }
 
 #ifdef GIT_WIN32
-#define giterr_set_after_callback(code) \
-       giterr_set_after_callback_function((code), __FUNCTION__)
+#define git_error_set_after_callback(code) \
+       git_error_set_after_callback_function((code), __FUNCTION__)
 #else
-#define giterr_set_after_callback(code) \
-       giterr_set_after_callback_function((code), __func__)
+#define git_error_set_after_callback(code) \
+       git_error_set_after_callback_function((code), __func__)
 #endif
 
 /**
  * Gets the system error code for this thread.
  */
-int giterr_system_last(void);
+int git_error_system_last(void);
 
 /**
  * Sets the system error code for this thread.
  */
-void giterr_system_set(int code);
+void git_error_system_set(int code);
 
 /**
  * Structure to preserve libgit2 error state
@@ -164,20 +172,20 @@ typedef struct {
  * If `error_code` is zero, this does not clear the current error state.
  * You must either restore this error state, or free it.
  */
-extern int giterr_state_capture(git_error_state *state, int error_code);
+extern int git_error_state_capture(git_error_state *state, int error_code);
 
 /**
  * Restore error state to a previous value, returning saved error code.
  */
-extern int giterr_state_restore(git_error_state *state);
+extern int git_error_state_restore(git_error_state *state);
 
 /** Free an error state. */
-extern void giterr_state_free(git_error_state *state);
+extern void git_error_state_free(git_error_state *state);
 
 /**
  * Check a versioned structure for validity
  */
-GIT_INLINE(int) giterr__check_version(const void *structure, unsigned int expected_max, const char *name)
+GIT_INLINE(int) git_error__check_version(const void *structure, unsigned int expected_max, const char *name)
 {
        unsigned int actual;
 
@@ -188,10 +196,10 @@ GIT_INLINE(int) giterr__check_version(const void *structure, unsigned int expect
        if (actual > 0 && actual <= expected_max)
                return 0;
 
-       giterr_set(GITERR_INVALID, "invalid version %d on %s", actual, name);
+       git_error_set(GIT_ERROR_INVALID, "invalid version %d on %s", actual, name);
        return -1;
 }
-#define GITERR_CHECK_VERSION(S,V,N) if (giterr__check_version(S,V,N) < 0) return -1
+#define GIT_ERROR_CHECK_VERSION(S,V,N) if (git_error__check_version(S,V,N) < 0) return -1
 
 /**
  * Initialize a structure with a version.
@@ -205,42 +213,42 @@ GIT_INLINE(void) git__init_structure(void *structure, size_t len, unsigned int v
 
 #define GIT_INIT_STRUCTURE_FROM_TEMPLATE(PTR,VERSION,TYPE,TPL) do { \
        TYPE _tmpl = TPL; \
-       GITERR_CHECK_VERSION(&(VERSION), _tmpl.version, #TYPE); \
+       GIT_ERROR_CHECK_VERSION(&(VERSION), _tmpl.version, #TYPE);      \
        memcpy((PTR), &_tmpl, sizeof(_tmpl)); } while (0)
 
 
 /** Check for additive overflow, setting an error if would occur. */
 #define GIT_ADD_SIZET_OVERFLOW(out, one, two) \
-       (git__add_sizet_overflow(out, one, two) ? (giterr_set_oom(), 1) : 0)
+       (git__add_sizet_overflow(out, one, two) ? (git_error_set_oom(), 1) : 0)
 
 /** Check for additive overflow, setting an error if would occur. */
 #define GIT_MULTIPLY_SIZET_OVERFLOW(out, nelem, elsize) \
-       (git__multiply_sizet_overflow(out, nelem, elsize) ? (giterr_set_oom(), 1) : 0)
+       (git__multiply_sizet_overflow(out, nelem, elsize) ? (git_error_set_oom(), 1) : 0)
 
 /** Check for additive overflow, failing if it would occur. */
-#define GITERR_CHECK_ALLOC_ADD(out, one, two) \
+#define GIT_ERROR_CHECK_ALLOC_ADD(out, one, two) \
        if (GIT_ADD_SIZET_OVERFLOW(out, one, two)) { return -1; }
 
-#define GITERR_CHECK_ALLOC_ADD3(out, one, two, three) \
+#define GIT_ERROR_CHECK_ALLOC_ADD3(out, one, two, three) \
        if (GIT_ADD_SIZET_OVERFLOW(out, one, two) || \
                GIT_ADD_SIZET_OVERFLOW(out, *(out), three)) { return -1; }
 
-#define GITERR_CHECK_ALLOC_ADD4(out, one, two, three, four) \
+#define GIT_ERROR_CHECK_ALLOC_ADD4(out, one, two, three, four) \
        if (GIT_ADD_SIZET_OVERFLOW(out, one, two) || \
                GIT_ADD_SIZET_OVERFLOW(out, *(out), three) || \
                GIT_ADD_SIZET_OVERFLOW(out, *(out), four)) { return -1; }
 
-#define GITERR_CHECK_ALLOC_ADD5(out, one, two, three, four, five) \
+#define GIT_ERROR_CHECK_ALLOC_ADD5(out, one, two, three, four, five) \
        if (GIT_ADD_SIZET_OVERFLOW(out, one, two) || \
                GIT_ADD_SIZET_OVERFLOW(out, *(out), three) || \
                GIT_ADD_SIZET_OVERFLOW(out, *(out), four) || \
                GIT_ADD_SIZET_OVERFLOW(out, *(out), five)) { return -1; }
 
 /** Check for multiplicative overflow, failing if it would occur. */
-#define GITERR_CHECK_ALLOC_MULTIPLY(out, nelem, elsize) \
+#define GIT_ERROR_CHECK_ALLOC_MULTIPLY(out, nelem, elsize) \
        if (GIT_MULTIPLY_SIZET_OVERFLOW(out, nelem, elsize)) { return -1; }
 
-/* NOTE: other giterr functions are in the public errors.h header file */
+/* NOTE: other git_error functions are in the public errors.h header file */
 
 #include "util.h"
 
index 5d95c245826e574c5beb80f84d75e5ad0feeb08c..fce1aad3b4b12b3d4e94ac5933eae7e1bbd5c0c8 100644 (file)
@@ -12,7 +12,7 @@
 #include "git2/sys/config.h"
 #include "vector.h"
 #include "buf_text.h"
-#include "config_file.h"
+#include "config_backend.h"
 #include "transaction.h"
 #if GIT_WIN32
 # include <windows.h>
@@ -31,30 +31,30 @@ void git_config_entry_free(git_config_entry *entry)
 typedef struct {
        git_refcount rc;
 
-       git_config_backend *file;
+       git_config_backend *backend;
        git_config_level_t level;
-} file_internal;
+} backend_internal;
 
-static void file_internal_free(file_internal *internal)
+static void backend_internal_free(backend_internal *internal)
 {
-       git_config_backend *file;
+       git_config_backend *backend;
 
-       file = internal->file;
-       file->free(file);
+       backend = internal->backend;
+       backend->free(backend);
        git__free(internal);
 }
 
 static void config_free(git_config *cfg)
 {
        size_t i;
-       file_internal *internal;
+       backend_internal *internal;
 
-       for (i = 0; i < cfg->files.length; ++i) {
-               internal = git_vector_get(&cfg->files, i);
-               GIT_REFCOUNT_DEC(internal, file_internal_free);
+       for (i = 0; i < cfg->backends.length; ++i) {
+               internal = git_vector_get(&cfg->backends, i);
+               GIT_REFCOUNT_DEC(internal, backend_internal_free);
        }
 
-       git_vector_free(&cfg->files);
+       git_vector_free(&cfg->backends);
 
        git__memzero(cfg, sizeof(*cfg));
        git__free(cfg);
@@ -70,8 +70,8 @@ void git_config_free(git_config *cfg)
 
 static int config_backend_cmp(const void *a, const void *b)
 {
-       const file_internal *bk_a = (const file_internal *)(a);
-       const file_internal *bk_b = (const file_internal *)(b);
+       const backend_internal *bk_a = (const backend_internal *)(a);
+       const backend_internal *bk_b = (const backend_internal *)(b);
 
        return bk_b->level - bk_a->level;
 }
@@ -81,11 +81,11 @@ int git_config_new(git_config **out)
        git_config *cfg;
 
        cfg = git__malloc(sizeof(git_config));
-       GITERR_CHECK_ALLOC(cfg);
+       GIT_ERROR_CHECK_ALLOC(cfg);
 
        memset(cfg, 0x0, sizeof(git_config));
 
-       if (git_vector_init(&cfg->files, 3, config_backend_cmp) < 0) {
+       if (git_vector_init(&cfg->backends, 3, config_backend_cmp) < 0) {
                git__free(cfg);
                return -1;
        }
@@ -109,12 +109,12 @@ int git_config_add_file_ondisk(
        assert(cfg && path);
 
        res = p_stat(path, &st);
-       if (res < 0 && errno != ENOENT) {
-               giterr_set(GITERR_CONFIG, "failed to stat '%s'", path);
+       if (res < 0 && errno != ENOENT && errno != ENOTDIR) {
+               git_error_set(GIT_ERROR_CONFIG, "failed to stat '%s'", path);
                return -1;
        }
 
-       if (git_config_file__ondisk(&file, path) < 0)
+       if (git_config_backend_from_file(&file, path) < 0)
                return -1;
 
        if ((res = git_config_add_backend(cfg, file, level, repo, force)) < 0) {
@@ -151,7 +151,7 @@ int git_config_snapshot(git_config **out, git_config *in)
 {
        int error = 0;
        size_t i;
-       file_internal *internal;
+       backend_internal *internal;
        git_config *config;
 
        *out = NULL;
@@ -159,10 +159,10 @@ int git_config_snapshot(git_config **out, git_config *in)
        if (git_config_new(&config) < 0)
                return -1;
 
-       git_vector_foreach(&in->files, i, internal) {
+       git_vector_foreach(&in->backends, i, internal) {
                git_config_backend *b;
 
-               if ((error = internal->file->snapshot(&b, internal->file)) < 0)
+               if ((error = internal->backend->snapshot(&b, internal->backend)) < 0)
                        break;
 
                if ((error = git_config_add_backend(config, b, internal->level, NULL, 0)) < 0) {
@@ -179,59 +179,59 @@ int git_config_snapshot(git_config **out, git_config *in)
        return error;
 }
 
-static int find_internal_file_by_level(
-       file_internal **internal_out,
+static int find_backend_by_level(
+       backend_internal **out,
        const git_config *cfg,
        git_config_level_t level)
 {
        int pos = -1;
-       file_internal *internal;
+       backend_internal *internal;
        size_t i;
 
-       /* when passing GIT_CONFIG_HIGHEST_LEVEL, the idea is to get the config file
-        * which has the highest level. As config files are stored in a vector
-        * sorted by decreasing order of level, getting the file at position 0
+       /* when passing GIT_CONFIG_HIGHEST_LEVEL, the idea is to get the config backend
+        * which has the highest level. As config backends are stored in a vector
+        * sorted by decreasing order of level, getting the backend at position 0
         * will do the job.
         */
        if (level == GIT_CONFIG_HIGHEST_LEVEL) {
                pos = 0;
        } else {
-               git_vector_foreach(&cfg->files, i, internal) {
+               git_vector_foreach(&cfg->backends, i, internal) {
                        if (internal->level == level)
                                pos = (int)i;
                }
        }
 
        if (pos == -1) {
-               giterr_set(GITERR_CONFIG,
-                       "no config file exists for the given level '%i'", (int)level);
+               git_error_set(GIT_ERROR_CONFIG,
+                       "no configuration exists for the given level '%i'", (int)level);
                return GIT_ENOTFOUND;
        }
 
-       *internal_out = git_vector_get(&cfg->files, pos);
+       *out = git_vector_get(&cfg->backends, pos);
 
        return 0;
 }
 
 static int duplicate_level(void **old_raw, void *new_raw)
 {
-       file_internal **old = (file_internal **)old_raw;
+       backend_internal **old = (backend_internal **)old_raw;
 
        GIT_UNUSED(new_raw);
 
-       giterr_set(GITERR_CONFIG, "a file with the same level (%i) has already been added to the config", (int)(*old)->level);
+       git_error_set(GIT_ERROR_CONFIG, "there already exists a configuration for the given level (%i)", (int)(*old)->level);
        return GIT_EEXISTS;
 }
 
-static void try_remove_existing_file_internal(
+static void try_remove_existing_backend(
        git_config *cfg,
        git_config_level_t level)
 {
        int pos = -1;
-       file_internal *internal;
+       backend_internal *internal;
        size_t i;
 
-       git_vector_foreach(&cfg->files, i, internal) {
+       git_vector_foreach(&cfg->backends, i, internal) {
                if (internal->level == level)
                        pos = (int)i;
        }
@@ -239,32 +239,32 @@ static void try_remove_existing_file_internal(
        if (pos == -1)
                return;
 
-       internal = git_vector_get(&cfg->files, pos);
+       internal = git_vector_get(&cfg->backends, pos);
 
-       if (git_vector_remove(&cfg->files, pos) < 0)
+       if (git_vector_remove(&cfg->backends, pos) < 0)
                return;
 
-       GIT_REFCOUNT_DEC(internal, file_internal_free);
+       GIT_REFCOUNT_DEC(internal, backend_internal_free);
 }
 
 static int git_config__add_internal(
        git_config *cfg,
-       file_internal *internal,
+       backend_internal *internal,
        git_config_level_t level,
        int force)
 {
        int result;
 
-       /* delete existing config file for level if it exists */
+       /* delete existing config backend for level if it exists */
        if (force)
-               try_remove_existing_file_internal(cfg, level);
+               try_remove_existing_backend(cfg, level);
 
-       if ((result = git_vector_insert_sorted(&cfg->files,
+       if ((result = git_vector_insert_sorted(&cfg->backends,
                        internal, &duplicate_level)) < 0)
                return result;
 
-       git_vector_sort(&cfg->files);
-       internal->file->cfg = cfg;
+       git_vector_sort(&cfg->backends);
+       internal->backend->cfg = cfg;
 
        GIT_REFCOUNT_INC(internal);
 
@@ -285,10 +285,10 @@ int git_config_open_level(
        git_config_level_t level)
 {
        git_config *cfg;
-       file_internal *internal;
+       backend_internal *internal;
        int res;
 
-       if ((res = find_internal_file_by_level(&internal, cfg_parent, level)) < 0)
+       if ((res = find_backend_by_level(&internal, cfg_parent, level)) < 0)
                return res;
 
        if ((res = git_config_new(&cfg)) < 0)
@@ -306,27 +306,27 @@ int git_config_open_level(
 
 int git_config_add_backend(
        git_config *cfg,
-       git_config_backend *file,
+       git_config_backend *backend,
        git_config_level_t level,
        const git_repository *repo,
        int force)
 {
-       file_internal *internal;
+       backend_internal *internal;
        int result;
 
-       assert(cfg && file);
+       assert(cfg && backend);
 
-       GITERR_CHECK_VERSION(file, GIT_CONFIG_BACKEND_VERSION, "git_config_backend");
+       GIT_ERROR_CHECK_VERSION(backend, GIT_CONFIG_BACKEND_VERSION, "git_config_backend");
 
-       if ((result = file->open(file, level, repo)) < 0)
+       if ((result = backend->open(backend, level, repo)) < 0)
                return result;
 
-       internal = git__malloc(sizeof(file_internal));
-       GITERR_CHECK_ALLOC(internal);
+       internal = git__malloc(sizeof(backend_internal));
+       GIT_ERROR_CHECK_ALLOC(internal);
 
-       memset(internal, 0x0, sizeof(file_internal));
+       memset(internal, 0x0, sizeof(backend_internal));
 
-       internal->file = file;
+       internal->backend = backend;
        internal->level = level;
 
        if ((result = git_config__add_internal(cfg, internal, level, force)) < 0) {
@@ -351,11 +351,11 @@ typedef struct {
 
 static int find_next_backend(size_t *out, const git_config *cfg, size_t i)
 {
-       file_internal *internal;
+       backend_internal *internal;
 
        for (; i > 0; --i) {
-               internal = git_vector_get(&cfg->files, i - 1);
-               if (!internal || !internal->file)
+               internal = git_vector_get(&cfg->backends, i - 1);
+               if (!internal || !internal->backend)
                        continue;
 
                *out = i;
@@ -368,7 +368,7 @@ static int find_next_backend(size_t *out, const git_config *cfg, size_t i)
 static int all_iter_next(git_config_entry **entry, git_config_iterator *_iter)
 {
        all_iter *iter = (all_iter *) _iter;
-       file_internal *internal;
+       backend_internal *internal;
        git_config_backend *backend;
        size_t i;
        int error = 0;
@@ -385,8 +385,8 @@ static int all_iter_next(git_config_entry **entry, git_config_iterator *_iter)
                if (find_next_backend(&i, iter->cfg, iter->i) < 0)
                        return GIT_ITEROVER;
 
-               internal = git_vector_get(&iter->cfg->files, i - 1);
-               backend = internal->file;
+               internal = git_vector_get(&iter->cfg->backends, i - 1);
+               backend = internal->backend;
                iter->i = i - 1;
 
                if (iter->current)
@@ -456,12 +456,12 @@ int git_config_iterator_new(git_config_iterator **out, const git_config *cfg)
        all_iter *iter;
 
        iter = git__calloc(1, sizeof(all_iter));
-       GITERR_CHECK_ALLOC(iter);
+       GIT_ERROR_CHECK_ALLOC(iter);
 
        iter->parent.free = all_iter_free;
        iter->parent.next = all_iter_next;
 
-       iter->i = cfg->files.length;
+       iter->i = cfg->backends.length;
        iter->cfg = cfg;
 
        *out = (git_config_iterator *) iter;
@@ -478,17 +478,17 @@ int git_config_iterator_glob_new(git_config_iterator **out, const git_config *cf
                return git_config_iterator_new(out, cfg);
 
        iter = git__calloc(1, sizeof(all_iter));
-       GITERR_CHECK_ALLOC(iter);
+       GIT_ERROR_CHECK_ALLOC(iter);
 
        if ((result = p_regcomp(&iter->regex, regexp, REG_EXTENDED)) != 0) {
-               giterr_set_regex(&iter->regex, result);
+               git_error_set_regex(&iter->regex, result);
                git__free(iter);
                return -1;
        }
 
        iter->parent.next = all_iter_glob_next;
        iter->parent.free = all_iter_glob_free;
-       iter->i = cfg->files.length;
+       iter->i = cfg->backends.length;
        iter->cfg = cfg;
 
        *out = (git_config_iterator *) iter;
@@ -513,9 +513,11 @@ int git_config_backend_foreach_match(
        regex_t regex;
        int error = 0;
 
+       assert(backend && cb);
+
        if (regexp != NULL) {
                if ((error = p_regcomp(&regex, regexp, REG_EXTENDED)) != 0) {
-                       giterr_set_regex(&regex, error);
+                       git_error_set_regex(&regex, error);
                        regfree(&regex);
                        return -1;
                }
@@ -533,7 +535,7 @@ int git_config_backend_foreach_match(
 
                /* abort iterator on non-zero return value */
                if ((error = cb(entry, payload)) != 0) {
-                       giterr_set_after_callback(error);
+                       git_error_set_after_callback(error);
                        break;
                }
        }
@@ -561,7 +563,7 @@ int git_config_foreach_match(
 
        while (!(error = git_config_next(&entry, iter))) {
                if ((error = cb(entry, payload)) != 0) {
-                       giterr_set_after_callback(error);
+                       git_error_set_after_callback(error);
                        break;
                }
        }
@@ -592,38 +594,38 @@ static int get_backend_for_use(git_config_backend **out,
        git_config *cfg, const char *name, backend_use use)
 {
        size_t i;
-       file_internal *f;
+       backend_internal *backend;
 
        *out = NULL;
 
-       if (git_vector_length(&cfg->files) == 0) {
-               giterr_set(GITERR_CONFIG,
-                       "cannot %s value for '%s' when no config files exist",
+       if (git_vector_length(&cfg->backends) == 0) {
+               git_error_set(GIT_ERROR_CONFIG,
+                       "cannot %s value for '%s' when no config backends exist",
                        uses[use], name);
                return GIT_ENOTFOUND;
        }
 
-       git_vector_foreach(&cfg->files, i, f) {
-               if (!f->file->readonly) {
-                       *out = f->file;
+       git_vector_foreach(&cfg->backends, i, backend) {
+               if (!backend->backend->readonly) {
+                       *out = backend->backend;
                        return 0;
                }
        }
 
-       giterr_set(GITERR_CONFIG,
-               "cannot %s value for '%s' when all config files are readonly",
+       git_error_set(GIT_ERROR_CONFIG,
+               "cannot %s value for '%s' when all config backends are readonly",
                uses[use], name);
        return GIT_ENOTFOUND;
 }
 
 int git_config_delete_entry(git_config *cfg, const char *name)
 {
-       git_config_backend *file;
+       git_config_backend *backend;
 
-       if (get_backend_for_use(&file, cfg, name, BACKEND_USE_DELETE) < 0)
+       if (get_backend_for_use(&backend, cfg, name, BACKEND_USE_DELETE) < 0)
                return GIT_ENOTFOUND;
 
-       return file->del(file, name);
+       return backend->del(backend, name);
 }
 
 int git_config_set_int64(git_config *cfg, const char *name, int64_t value)
@@ -646,17 +648,17 @@ int git_config_set_bool(git_config *cfg, const char *name, int value)
 int git_config_set_string(git_config *cfg, const char *name, const char *value)
 {
        int error;
-       git_config_backend *file;
+       git_config_backend *backend;
 
        if (!value) {
-               giterr_set(GITERR_CONFIG, "the value to set cannot be NULL");
+               git_error_set(GIT_ERROR_CONFIG, "the value to set cannot be NULL");
                return -1;
        }
 
-       if (get_backend_for_use(&file, cfg, name, BACKEND_USE_SET) < 0)
+       if (get_backend_for_use(&backend, cfg, name, BACKEND_USE_SET) < 0)
                return GIT_ENOTFOUND;
 
-       error = file->set(file, name, value);
+       error = backend->set(backend, name, value);
 
        if (!error && GIT_REFCOUNT_OWNER(cfg) != NULL)
                git_repository__cvar_cache_clear(GIT_REFCOUNT_OWNER(cfg));
@@ -701,7 +703,7 @@ int git_config__update_entry(
 
 static int config_error_notfound(const char *name)
 {
-       giterr_set(GITERR_CONFIG, "config value '%s' was not found", name);
+       git_error_set(GIT_ERROR_CONFIG, "config value '%s' was not found", name);
        return GIT_ENOTFOUND;
 }
 
@@ -722,7 +724,7 @@ static int get_entry(
        const char *key = name;
        char *normalized = NULL;
        size_t i;
-       file_internal *internal;
+       backend_internal *internal;
 
        *out = NULL;
 
@@ -733,11 +735,11 @@ static int get_entry(
        }
 
        res = GIT_ENOTFOUND;
-       git_vector_foreach(&cfg->files, i, internal) {
-               if (!internal || !internal->file)
+       git_vector_foreach(&cfg->backends, i, internal) {
+               if (!internal || !internal->backend)
                        continue;
 
-               res = internal->file->get(internal->file, key, out);
+               res = internal->backend->get(internal->backend, key, out);
                if (res != GIT_ENOTFOUND)
                        break;
        }
@@ -748,7 +750,7 @@ cleanup:
        if (res == GIT_ENOTFOUND)
                res = (want_errors > GET_ALL_ERRORS) ? 0 : config_error_notfound(name);
        else if (res && (want_errors == GET_NO_ERRORS)) {
-               giterr_clear();
+               git_error_clear();
                res = 0;
        }
 
@@ -835,13 +837,13 @@ int git_config_get_bool(int *out, const git_config *cfg, const char *name)
 static int is_readonly(const git_config *cfg)
 {
        size_t i;
-       file_internal *internal;
+       backend_internal *internal;
 
-       git_vector_foreach(&cfg->files, i, internal) {
-               if (!internal || !internal->file)
+       git_vector_foreach(&cfg->backends, i, internal) {
+               if (!internal || !internal->backend)
                        continue;
 
-               if (!internal->file->readonly)
+               if (!internal->backend->readonly)
                        return 0;
        }
 
@@ -869,7 +871,7 @@ int git_config_get_string(
        int ret;
 
        if (!is_readonly(cfg)) {
-               giterr_set(GITERR_CONFIG, "get_string called on a live config object");
+               git_error_set(GIT_ERROR_CONFIG, "get_string called on a live config object");
                return -1;
        }
 
@@ -923,7 +925,7 @@ int git_config__get_bool_force(
        get_entry(&entry, cfg, key, false, GET_NO_ERRORS);
 
        if (entry && git_config_parse_bool(&val, entry->value) < 0)
-               giterr_clear();
+               git_error_clear();
 
        git_config_entry_free(entry);
        return val;
@@ -938,7 +940,7 @@ int git_config__get_int_force(
        get_entry(&entry, cfg, key, false, GET_NO_ERRORS);
 
        if (entry && git_config_parse_int32(&val, entry->value) < 0)
-               giterr_clear();
+               git_error_clear();
 
        git_config_entry_free(entry);
        return (int)val;
@@ -960,7 +962,7 @@ int git_config_get_multivar_foreach(
                found = 1;
 
                if ((err = cb(entry, payload)) != 0) {
-                       giterr_set_after_callback(err);
+                       git_error_set_after_callback(err);
                        break;
                }
        }
@@ -1024,7 +1026,7 @@ int git_config_multivar_iterator_new(git_config_iterator **out, const git_config
                return error;
 
        iter = git__calloc(1, sizeof(multivar_iter));
-       GITERR_CHECK_ALLOC(iter);
+       GIT_ERROR_CHECK_ALLOC(iter);
 
        if ((error = git_config__normalize_name(name, &iter->name)) < 0)
                goto on_error;
@@ -1032,7 +1034,7 @@ int git_config_multivar_iterator_new(git_config_iterator **out, const git_config
        if (regexp != NULL) {
                error = p_regcomp(&iter->regex, regexp, REG_EXTENDED);
                if (error != 0) {
-                       giterr_set_regex(&iter->regex, error);
+                       git_error_set_regex(&iter->regex, error);
                        error = -1;
                        regfree(&iter->regex);
                        goto on_error;
@@ -1058,22 +1060,22 @@ on_error:
 
 int git_config_set_multivar(git_config *cfg, const char *name, const char *regexp, const char *value)
 {
-       git_config_backend *file;
+       git_config_backend *backend;
 
-       if (get_backend_for_use(&file, cfg, name, BACKEND_USE_DELETE) < 0)
+       if (get_backend_for_use(&backend, cfg, name, BACKEND_USE_DELETE) < 0)
                return GIT_ENOTFOUND;
 
-       return file->set_multivar(file, name, regexp, value);
+       return backend->set_multivar(backend, name, regexp, value);
 }
 
 int git_config_delete_multivar(git_config *cfg, const char *name, const char *regexp)
 {
-       git_config_backend *file;
+       git_config_backend *backend;
 
-       if (get_backend_for_use(&file, cfg, name, BACKEND_USE_DELETE) < 0)
+       if (get_backend_for_use(&backend, cfg, name, BACKEND_USE_DELETE) < 0)
                return GIT_ENOTFOUND;
 
-       return file->del_multivar(file, name, regexp);
+       return backend->del_multivar(backend, name, regexp);
 }
 
 int git_config_next(git_config_entry **entry, git_config_iterator *iter)
@@ -1164,7 +1166,7 @@ int git_config_open_default(git_config **out)
                error = git_config_add_file_ondisk(cfg, buf.ptr,
                        GIT_CONFIG_LEVEL_PROGRAMDATA, NULL, 0);
 
-       git_buf_free(&buf);
+       git_buf_dispose(&buf);
 
        if (error) {
                git_config_free(cfg);
@@ -1179,17 +1181,19 @@ int git_config_open_default(git_config **out)
 int git_config_lock(git_transaction **out, git_config *cfg)
 {
        int error;
-       git_config_backend *file;
-       file_internal *internal;
+       git_config_backend *backend;
+       backend_internal *internal;
 
-       internal = git_vector_get(&cfg->files, 0);
-       if (!internal || !internal->file) {
-               giterr_set(GITERR_CONFIG, "cannot lock; the config has no backends/files");
+       assert(cfg);
+
+       internal = git_vector_get(&cfg->backends, 0);
+       if (!internal || !internal->backend) {
+               git_error_set(GIT_ERROR_CONFIG, "cannot lock; the config has no backends");
                return -1;
        }
-       file = internal->file;
+       backend = internal->backend;
 
-       if ((error = file->lock(file)) < 0)
+       if ((error = backend->lock(backend)) < 0)
                return error;
 
        return git_transaction_config_new(out, cfg);
@@ -1197,18 +1201,20 @@ int git_config_lock(git_transaction **out, git_config *cfg)
 
 int git_config_unlock(git_config *cfg, int commit)
 {
-       git_config_backend *file;
-       file_internal *internal;
+       git_config_backend *backend;
+       backend_internal *internal;
+
+       assert(cfg);
 
-       internal = git_vector_get(&cfg->files, 0);
-       if (!internal || !internal->file) {
-               giterr_set(GITERR_CONFIG, "cannot lock; the config has no backends/files");
+       internal = git_vector_get(&cfg->backends, 0);
+       if (!internal || !internal->backend) {
+               git_error_set(GIT_ERROR_CONFIG, "cannot lock; the config has no backends");
                return -1;
        }
 
-       file = internal->file;
+       backend = internal->backend;
 
-       return file->unlock(file, commit);
+       return backend->unlock(backend, commit);
 }
 
 /***********
@@ -1257,7 +1263,7 @@ int git_config_lookup_map_value(
        }
 
 fail_parse:
-       giterr_set(GITERR_CONFIG, "failed to map '%s'", value);
+       git_error_set(GIT_ERROR_CONFIG, "failed to map '%s'", value);
        return -1;
 }
 
@@ -1277,7 +1283,7 @@ int git_config_lookup_map_enum(git_cvar_t *type_out, const char **str_out,
                return 0;
        }
 
-       giterr_set(GITERR_CONFIG, "invalid enum value");
+       git_error_set(GIT_ERROR_CONFIG, "invalid enum value");
        return GIT_ENOTFOUND;
 }
 
@@ -1291,7 +1297,7 @@ int git_config_parse_bool(int *out, const char *value)
                return 0;
        }
 
-       giterr_set(GITERR_CONFIG, "failed to parse '%s' as a boolean value", value);
+       git_error_set(GIT_ERROR_CONFIG, "failed to parse '%s' as a boolean value", value);
        return -1;
 }
 
@@ -1334,7 +1340,7 @@ int git_config_parse_int64(int64_t *out, const char *value)
        }
 
 fail_parse:
-       giterr_set(GITERR_CONFIG, "failed to parse '%s' as an integer", value ? value : "(null)");
+       git_error_set(GIT_ERROR_CONFIG, "failed to parse '%s' as an integer", value ? value : "(null)");
        return -1;
 }
 
@@ -1354,7 +1360,7 @@ int git_config_parse_int32(int32_t *out, const char *value)
        return 0;
 
 fail_parse:
-       giterr_set(GITERR_CONFIG, "failed to parse '%s' as a 32-bit integer", value ? value : "(null)");
+       git_error_set(GIT_ERROR_CONFIG, "failed to parse '%s' as a 32-bit integer", value ? value : "(null)");
        return -1;
 }
 
@@ -1366,7 +1372,7 @@ int git_config_parse_path(git_buf *out, const char *value)
 
        if (value[0] == '~') {
                if (value[1] != '\0' && value[1] != '/') {
-                       giterr_set(GITERR_CONFIG, "retrieving a homedir by name is not supported");
+                       git_error_set(GIT_ERROR_CONFIG, "retrieving a homedir by name is not supported");
                        return -1;
                }
 
@@ -1376,6 +1382,30 @@ int git_config_parse_path(git_buf *out, const char *value)
        return git_buf_sets(out, value);
 }
 
+static int normalize_section(char *start, char *end)
+{
+       char *scan;
+
+       if (start == end)
+               return GIT_EINVALIDSPEC;
+
+       /* Validate and downcase range */
+       for (scan = start; *scan; ++scan) {
+               if (end && scan >= end)
+                       break;
+               if (isalnum(*scan))
+                       *scan = (char)git__tolower(*scan);
+               else if (*scan != '-' || scan == start)
+                       return GIT_EINVALIDSPEC;
+       }
+
+       if (scan == start)
+               return GIT_EINVALIDSPEC;
+
+       return 0;
+}
+
+
 /* Take something the user gave us and make it nice for our hash function */
 int git_config__normalize_name(const char *in, char **out)
 {
@@ -1384,7 +1414,7 @@ int git_config__normalize_name(const char *in, char **out)
        assert(in && out);
 
        name = git__strdup(in);
-       GITERR_CHECK_ALLOC(name);
+       GIT_ERROR_CHECK_ALLOC(name);
 
        fdot = strchr(name, '.');
        ldot = strrchr(name, '.');
@@ -1393,8 +1423,8 @@ int git_config__normalize_name(const char *in, char **out)
                goto invalid;
 
        /* Validate and downcase up to first dot and after last dot */
-       if (git_config_file_normalize_section(name, fdot) < 0 ||
-               git_config_file_normalize_section(ldot + 1, NULL) < 0)
+       if (normalize_section(name, fdot) < 0 ||
+           normalize_section(ldot + 1, NULL) < 0)
                goto invalid;
 
        /* If there is a middle range, make sure it doesn't have newlines */
@@ -1407,7 +1437,7 @@ int git_config__normalize_name(const char *in, char **out)
 
 invalid:
        git__free(name);
-       giterr_set(GITERR_CONFIG, "invalid config item name '%s'", in);
+       git_error_set(GIT_ERROR_CONFIG, "invalid config item name '%s'", in);
        return GIT_EINVALIDSPEC;
 }
 
@@ -1466,11 +1496,10 @@ int git_config_rename_section(
                goto cleanup;
 
        if (new_section_name != NULL &&
-               (error = git_config_file_normalize_section(
-                       replace.ptr, strchr(replace.ptr, '.'))) < 0)
+           (error = normalize_section(replace.ptr, strchr(replace.ptr, '.'))) < 0)
        {
-               giterr_set(
-                       GITERR_CONFIG, "invalid config section '%s'", new_section_name);
+               git_error_set(
+                       GIT_ERROR_CONFIG, "invalid config section '%s'", new_section_name);
                goto cleanup;
        }
 
@@ -1478,8 +1507,8 @@ int git_config_rename_section(
                config, git_buf_cstr(&pattern), rename_config_entries_cb, &data);
 
 cleanup:
-       git_buf_free(&pattern);
-       git_buf_free(&replace);
+       git_buf_dispose(&pattern);
+       git_buf_dispose(&replace);
 
        return error;
 }
index a5fcf2e84a1dc2d72b9b00024cd718c09c1ab3fb..f5855113f6d12ed04a333f8b26d55e678ef2079b 100644 (file)
@@ -24,7 +24,7 @@
 
 struct git_config {
        git_refcount rc;
-       git_vector files;
+       git_vector backends;
 };
 
 extern int git_config__global_location(git_buf *buf);
@@ -34,19 +34,6 @@ extern int git_config_rename_section(
        const char *old_section_name,   /* eg "branch.dummy" */
        const char *new_section_name);  /* NULL to drop the old section */
 
-/**
- * Create a configuration file backend for ondisk files
- *
- * These are the normal `.gitconfig` files that Core Git
- * processes. Note that you first have to add this file to a
- * configuration object before you can query it for configuration
- * variables.
- *
- * @param out the new backend
- * @param path where the config file is located
- */
-extern int git_config_file__ondisk(git_config_backend **out, const char *path);
-
 extern int git_config__normalize_name(const char *in, char **out);
 
 /* internal only: does not normalize key and sets out to NULL if not found */
diff --git a/src/config_backend.h b/src/config_backend.h
new file mode 100644 (file)
index 0000000..6d678ae
--- /dev/null
@@ -0,0 +1,84 @@
+/*
+ * Copyright (C) the libgit2 contributors. All rights reserved.
+ *
+ * This file is part of libgit2, distributed under the GNU GPL v2 with
+ * a Linking Exception. For full terms see the included COPYING file.
+ */
+#ifndef INCLUDE_config_file_h__
+#define INCLUDE_config_file_h__
+
+#include "common.h"
+
+#include "git2/sys/config.h"
+#include "git2/config.h"
+
+/**
+ * Create a configuration file backend for ondisk files
+ *
+ * These are the normal `.gitconfig` files that Core Git
+ * processes. Note that you first have to add this file to a
+ * configuration object before you can query it for configuration
+ * variables.
+ *
+ * @param out the new backend
+ * @param path where the config file is located
+ */
+extern int git_config_backend_from_file(git_config_backend **out, const char *path);
+
+/**
+ * Create an in-memory configuration file backend
+ *
+ * @param out the new backend
+ * @param cfg the configuration that is to be parsed
+ * @param len the length of the string pointed to by `cfg`
+ */
+extern int git_config_backend_from_string(git_config_backend **out, const char *cfg, size_t len);
+
+GIT_INLINE(int) git_config_backend_open(git_config_backend *cfg, unsigned int level, const git_repository *repo)
+{
+       return cfg->open(cfg, level, repo);
+}
+
+GIT_INLINE(void) git_config_backend_free(git_config_backend *cfg)
+{
+       if (cfg)
+               cfg->free(cfg);
+}
+
+GIT_INLINE(int) git_config_backend_get_string(
+       git_config_entry **out, git_config_backend *cfg, const char *name)
+{
+       return cfg->get(cfg, name, out);
+}
+
+GIT_INLINE(int) git_config_backend_set_string(
+       git_config_backend *cfg, const char *name, const char *value)
+{
+       return cfg->set(cfg, name, value);
+}
+
+GIT_INLINE(int) git_config_backend_delete(
+       git_config_backend *cfg, const char *name)
+{
+       return cfg->del(cfg, name);
+}
+
+GIT_INLINE(int) git_config_backend_foreach(
+       git_config_backend *cfg,
+       int (*fn)(const git_config_entry *entry, void *data),
+       void *data)
+{
+       return git_config_backend_foreach_match(cfg, NULL, fn, data);
+}
+
+GIT_INLINE(int) git_config_backend_lock(git_config_backend *cfg)
+{
+       return cfg->lock(cfg);
+}
+
+GIT_INLINE(int) git_config_backend_unlock(git_config_backend *cfg, int success)
+{
+       return cfg->unlock(cfg, success);
+}
+
+#endif
index 0efb1a7899e1bb6e88a35f6402780f5a53aaca55..2530217c92633a8c0d46f77cd070395863ee1266 100644 (file)
@@ -58,6 +58,12 @@ static git_cvar_map _cvar_map_safecrlf[] = {
        {GIT_CVAR_STRING, "warn", GIT_SAFE_CRLF_WARN}
 };
 
+static git_cvar_map _cvar_map_logallrefupdates[] = {
+       {GIT_CVAR_FALSE, NULL, GIT_LOGALLREFUPDATES_FALSE},
+       {GIT_CVAR_TRUE, NULL, GIT_LOGALLREFUPDATES_TRUE},
+       {GIT_CVAR_STRING, "always", GIT_LOGALLREFUPDATES_ALWAYS},
+};
+
 /*
  * Generic map for integer values
  */
@@ -76,7 +82,7 @@ static struct map_data _cvar_maps[] = {
        {"core.abbrev", _cvar_map_int, 1, GIT_ABBREV_DEFAULT },
        {"core.precomposeunicode", NULL, 0, GIT_PRECOMPOSE_DEFAULT },
        {"core.safecrlf", _cvar_map_safecrlf, ARRAY_SIZE(_cvar_map_safecrlf), GIT_SAFE_CRLF_DEFAULT},
-       {"core.logallrefupdates", NULL, 0, GIT_LOGALLREFUPDATES_DEFAULT },
+       {"core.logallrefupdates", _cvar_map_logallrefupdates, ARRAY_SIZE(_cvar_map_logallrefupdates), GIT_LOGALLREFUPDATES_DEFAULT},
        {"core.protecthfs", NULL, 0, GIT_PROTECTHFS_DEFAULT },
        {"core.protectntfs", NULL, 0, GIT_PROTECTNTFS_DEFAULT },
        {"core.fsyncobjectfiles", NULL, 0, GIT_FSYNCOBJECTFILES_DEFAULT },
diff --git a/src/config_entries.c b/src/config_entries.c
new file mode 100644 (file)
index 0000000..f6277bc
--- /dev/null
@@ -0,0 +1,259 @@
+/*
+ * Copyright (C) the libgit2 contributors. All rights reserved.
+ *
+ * This file is part of libgit2, distributed under the GNU GPL v2 with
+ * a Linking Exception. For full terms see the included COPYING file.
+ */
+
+#include "config_entries.h"
+
+typedef struct config_entry_list {
+       struct config_entry_list *next;
+       struct config_entry_list *last;
+       git_config_entry *entry;
+} config_entry_list;
+
+typedef struct config_entries_iterator {
+       git_config_iterator parent;
+       git_config_entries *entries;
+       config_entry_list *head;
+} config_entries_iterator;
+
+struct git_config_entries {
+       git_refcount rc;
+       git_strmap *map;
+       config_entry_list *list;
+};
+
+static void config_entry_list_free(config_entry_list *list)
+{
+       config_entry_list *next;
+
+       while (list != NULL) {
+               next = list->next;
+
+               git__free((char*) list->entry->name);
+               git__free((char *) list->entry->value);
+               git__free(list->entry);
+               git__free(list);
+
+               list = next;
+       };
+}
+
+static void config_entry_list_append(config_entry_list **list, config_entry_list *entry)
+{
+       if (*list)
+               (*list)->last->next = entry;
+       else
+               *list = entry;
+       (*list)->last = entry;
+}
+
+int git_config_entries_new(git_config_entries **out)
+{
+       git_config_entries *entries;
+       int error;
+
+       entries = git__calloc(1, sizeof(git_config_entries));
+       GIT_ERROR_CHECK_ALLOC(entries);
+       GIT_REFCOUNT_INC(entries);
+
+       if ((error = git_strmap_alloc(&entries->map)) < 0)
+               git__free(entries);
+       else
+               *out = entries;
+
+       return error;
+}
+
+int git_config_entries_dup(git_config_entries **out, git_config_entries *entries)
+{
+       git_config_entries *result = NULL;
+       config_entry_list *head;
+       int error;
+
+       if ((error = git_config_entries_new(&result)) < 0)
+               goto out;
+
+       for (head = entries->list; head; head = head->next) {
+               git_config_entry *dup;
+
+               dup = git__calloc(1, sizeof(git_config_entry));
+               dup->name = git__strdup(head->entry->name);
+               GIT_ERROR_CHECK_ALLOC(dup->name);
+               if (head->entry->value) {
+                       dup->value = git__strdup(head->entry->value);
+                       GIT_ERROR_CHECK_ALLOC(dup->value);
+               }
+               dup->level = head->entry->level;
+               dup->include_depth = head->entry->include_depth;
+
+               if ((error = git_config_entries_append(result, dup)) < 0)
+                       goto out;
+       }
+
+       *out = result;
+       result = NULL;
+
+out:
+       git_config_entries_free(result);
+       return error;
+}
+
+void git_config_entries_incref(git_config_entries *entries)
+{
+       GIT_REFCOUNT_INC(entries);
+}
+
+static void config_entries_free(git_config_entries *entries)
+{
+       config_entry_list *list = NULL, *next;
+
+       git_strmap_foreach_value(entries->map, list, config_entry_list_free(list));
+       git_strmap_free(entries->map);
+
+       list = entries->list;
+       while (list != NULL) {
+               next = list->next;
+               git__free(list);
+               list = next;
+       }
+
+       git__free(entries);
+}
+
+void git_config_entries_free(git_config_entries *entries)
+{
+       if (entries)
+               GIT_REFCOUNT_DEC(entries, config_entries_free);
+}
+
+int git_config_entries_append(git_config_entries *entries, git_config_entry *entry)
+{
+       config_entry_list *existing, *var;
+       int error = 0;
+       size_t pos;
+
+       var = git__calloc(1, sizeof(config_entry_list));
+       GIT_ERROR_CHECK_ALLOC(var);
+       var->entry = entry;
+
+       pos = git_strmap_lookup_index(entries->map, entry->name);
+       if (!git_strmap_valid_index(entries->map, pos)) {
+               /*
+                * We only ever inspect `last` from the first config
+                * entry in a multivar. In case where this new entry is
+                * the first one in the entry map, it will also be the
+                * last one at the time of adding it, which is
+                * why we set `last` here to itself. Otherwise we
+                * do not have to set `last` and leave it set to
+                * `NULL`.
+                */
+               var->last = var;
+
+               git_strmap_insert(entries->map, entry->name, var, &error);
+
+               if (error > 0)
+                       error = 0;
+       } else {
+               existing = git_strmap_value_at(entries->map, pos);
+               config_entry_list_append(&existing, var);
+       }
+
+       var = git__calloc(1, sizeof(config_entry_list));
+       GIT_ERROR_CHECK_ALLOC(var);
+       var->entry = entry;
+       config_entry_list_append(&entries->list, var);
+
+       return error;
+}
+
+int config_entry_get(config_entry_list **out, git_config_entries *entries, const char *key)
+{
+       size_t pos;
+
+       pos = git_strmap_lookup_index(entries->map, key);
+
+       /* no error message; the config system will write one */
+       if (!git_strmap_valid_index(entries->map, pos))
+               return GIT_ENOTFOUND;
+
+       *out = git_strmap_value_at(entries->map, pos);
+
+       return 0;
+}
+
+int git_config_entries_get(git_config_entry **out, git_config_entries *entries, const char *key)
+{
+       config_entry_list *entry;
+       int error;
+
+       if ((error = config_entry_get(&entry, entries, key)) < 0)
+               return error;
+       *out = entry->last->entry;
+
+       return 0;
+}
+
+int git_config_entries_get_unique(git_config_entry **out, git_config_entries *entries, const char *key)
+{
+       config_entry_list *entry;
+       int error;
+
+       if ((error = config_entry_get(&entry, entries, key)) < 0)
+               return error;
+
+       if (entry->next != NULL) {
+               git_error_set(GIT_ERROR_CONFIG, "entry is not unique due to being a multivar");
+               return -1;
+       }
+
+       if (entry->entry->include_depth) {
+               git_error_set(GIT_ERROR_CONFIG, "entry is not unique due to being included");
+               return -1;
+       }
+
+       *out = entry->entry;
+
+       return 0;
+}
+
+void config_iterator_free(git_config_iterator *iter)
+{
+       config_entries_iterator *it = (config_entries_iterator *) iter;
+       git_config_entries_free(it->entries);
+       git__free(it);
+}
+
+int config_iterator_next(
+       git_config_entry **entry,
+       git_config_iterator *iter)
+{
+       config_entries_iterator *it = (config_entries_iterator *) iter;
+
+       if (!it->head)
+               return GIT_ITEROVER;
+
+       *entry = it->head->entry;
+       it->head = it->head->next;
+
+       return 0;
+}
+
+int git_config_entries_iterator_new(git_config_iterator **out, git_config_entries *entries)
+{
+       config_entries_iterator *it;
+
+       it = git__calloc(1, sizeof(config_entries_iterator));
+       GIT_ERROR_CHECK_ALLOC(it);
+       it->parent.next = config_iterator_next;
+       it->parent.free = config_iterator_free;
+       it->head = entries->list;
+       it->entries = entries;
+
+       git_config_entries_incref(entries);
+       *out = &it->parent;
+
+       return 0;
+}
diff --git a/src/config_entries.h b/src/config_entries.h
new file mode 100644 (file)
index 0000000..6fdbc41
--- /dev/null
@@ -0,0 +1,23 @@
+/*
+ * Copyright (C) the libgit2 contributors. All rights reserved.
+ *
+ * This file is part of libgit2, distributed under the GNU GPL v2 with
+ * a Linking Exception. For full terms see the included COPYING file.
+ */
+
+#include "common.h"
+
+#include "git2/sys/config.h"
+#include "config.h"
+
+typedef struct git_config_entries git_config_entries;
+
+int git_config_entries_new(git_config_entries **out);
+int git_config_entries_dup(git_config_entries **out, git_config_entries *entries);
+void git_config_entries_incref(git_config_entries *entries);
+void git_config_entries_free(git_config_entries *entries);
+/* Add or append the new config option */
+int git_config_entries_append(git_config_entries *entries, git_config_entry *entry);
+int git_config_entries_get(git_config_entry **out, git_config_entries *entries, const char *key);
+int git_config_entries_get_unique(git_config_entry **out, git_config_entries *entries, const char *key);
+int git_config_entries_iterator_new(git_config_iterator **out, git_config_entries *entries);
index 0c05fb515003fcef4af513b32ca1e882226b4031..26c9e5ed2a34d350a4bf36100d965837c92654ff 100644 (file)
@@ -5,9 +5,8 @@
  * a Linking Exception. For full terms see the included COPYING file.
  */
 
-#include "config_file.h"
-
 #include "config.h"
+
 #include "filebuf.h"
 #include "sysdir.h"
 #include "buffer.h"
 #include "strmap.h"
 #include "array.h"
 #include "config_parse.h"
+#include "config_entries.h"
 
 #include <ctype.h>
 #include <sys/types.h>
 #include <regex.h>
 
-typedef struct cvar_t {
-       struct cvar_t *next;
-       git_config_entry *entry;
-       bool included; /* whether this is part of [include] */
-} cvar_t;
-
-typedef struct git_config_file_iter {
-       git_config_iterator parent;
-       git_strmap_iter iter;
-       cvar_t* next_var;
-} git_config_file_iter;
-
 /* Max depth for [include] directives */
 #define MAX_INCLUDE_DEPTH 10
 
-#define CVAR_LIST_HEAD(list) ((list)->head)
-
-#define CVAR_LIST_TAIL(list) ((list)->tail)
-
-#define CVAR_LIST_NEXT(var) ((var)->next)
-
-#define CVAR_LIST_EMPTY(list) ((list)->head == NULL)
-
-#define CVAR_LIST_APPEND(list, var) do {\
-       if (CVAR_LIST_EMPTY(list)) {\
-               CVAR_LIST_HEAD(list) = CVAR_LIST_TAIL(list) = var;\
-       } else {\
-               CVAR_LIST_NEXT(CVAR_LIST_TAIL(list)) = var;\
-               CVAR_LIST_TAIL(list) = var;\
-       }\
-} while(0)
-
-#define CVAR_LIST_REMOVE_HEAD(list) do {\
-       CVAR_LIST_HEAD(list) = CVAR_LIST_NEXT(CVAR_LIST_HEAD(list));\
-} while(0)
-
-#define CVAR_LIST_REMOVE_AFTER(var) do {\
-       CVAR_LIST_NEXT(var) = CVAR_LIST_NEXT(CVAR_LIST_NEXT(var));\
-} while(0)
-
-#define CVAR_LIST_FOREACH(list, iter)\
-       for ((iter) = CVAR_LIST_HEAD(list);\
-                (iter) != NULL;\
-                (iter) = CVAR_LIST_NEXT(iter))
-
-/*
- * Inspired by the FreeBSD functions
- */
-#define CVAR_LIST_FOREACH_SAFE(start, iter, tmp)\
-       for ((iter) = CVAR_LIST_HEAD(vars);\
-                (iter) && (((tmp) = CVAR_LIST_NEXT(iter) || 1));\
-                (iter) = (tmp))
-
-typedef struct {
-       git_atomic refcount;
-       git_strmap *values;
-} refcounted_strmap;
-
 typedef struct {
        git_config_backend parent;
        /* mutex to coordinate accessing the values */
        git_mutex values_mutex;
-       refcounted_strmap *values;
+       git_config_entries *entries;
        const git_repository *repo;
        git_config_level_t level;
 } diskfile_header;
@@ -108,144 +53,46 @@ typedef struct {
        diskfile_backend *snapshot_from;
 } diskfile_readonly_backend;
 
-static int config_read(git_strmap *values, const git_repository *repo, git_config_file *file, git_config_level_t level, int depth);
+typedef struct {
+       const git_repository *repo;
+       const char *file_path;
+       git_config_entries *entries;
+       git_config_level_t level;
+       unsigned int depth;
+} diskfile_parse_state;
+
+static int config_read(git_config_entries *entries, const git_repository *repo, git_config_file *file, git_config_level_t level, int depth);
 static int config_write(diskfile_backend *cfg, const char *orig_key, const char *key, const regex_t *preg, const char *value);
 static char *escape_value(const char *ptr);
 
-int git_config_file__snapshot(git_config_backend **out, diskfile_backend *in);
 static int config_snapshot(git_config_backend **out, git_config_backend *in);
 
 static int config_error_readonly(void)
 {
-       giterr_set(GITERR_CONFIG, "this backend is read-only");
+       git_error_set(GIT_ERROR_CONFIG, "this backend is read-only");
        return -1;
 }
 
-static void cvar_free(cvar_t *var)
-{
-       if (var == NULL)
-               return;
-
-       git__free((char*)var->entry->name);
-       git__free((char *)var->entry->value);
-       git__free(var->entry);
-       git__free(var);
-}
-
-int git_config_file_normalize_section(char *start, char *end)
-{
-       char *scan;
-
-       if (start == end)
-               return GIT_EINVALIDSPEC;
-
-       /* Validate and downcase range */
-       for (scan = start; *scan; ++scan) {
-               if (end && scan >= end)
-                       break;
-               if (isalnum(*scan))
-                       *scan = (char)git__tolower(*scan);
-               else if (*scan != '-' || scan == start)
-                       return GIT_EINVALIDSPEC;
-       }
-
-       if (scan == start)
-               return GIT_EINVALIDSPEC;
-
-       return 0;
-}
-
-/* Add or append the new config option */
-static int append_entry(git_strmap *values, cvar_t *var)
-{
-       git_strmap_iter pos;
-       cvar_t *existing;
-       int error = 0;
-
-       pos = git_strmap_lookup_index(values, var->entry->name);
-       if (!git_strmap_valid_index(values, pos)) {
-               git_strmap_insert(values, var->entry->name, var, &error);
-       } else {
-               existing = git_strmap_value_at(values, pos);
-               while (existing->next != NULL) {
-                       existing = existing->next;
-               }
-               existing->next = var;
-       }
-
-       if (error > 0)
-               error = 0;
-
-       return error;
-}
-
-static void free_vars(git_strmap *values)
-{
-       cvar_t *var = NULL;
-
-       if (values == NULL)
-               return;
-
-       git_strmap_foreach_value(values, var,
-               while (var != NULL) {
-                       cvar_t *next = CVAR_LIST_NEXT(var);
-                       cvar_free(var);
-                       var = next;
-               });
-
-       git_strmap_free(values);
-}
-
-static void refcounted_strmap_free(refcounted_strmap *map)
-{
-       if (!map)
-               return;
-
-       if (git_atomic_dec(&map->refcount) != 0)
-               return;
-
-       free_vars(map->values);
-       git__free(map);
-}
-
 /**
  * Take the current values map from the backend and increase its
  * refcount. This is its own function to make sure we use the mutex to
  * avoid the map pointer from changing under us.
  */
-static refcounted_strmap *refcounted_strmap_take(diskfile_header *h)
+static git_config_entries *diskfile_entries_take(diskfile_header *h)
 {
-       refcounted_strmap *map;
+       git_config_entries *entries;
 
        if (git_mutex_lock(&h->values_mutex) < 0) {
-           giterr_set(GITERR_OS, "failed to lock config backend");
+           git_error_set(GIT_ERROR_OS, "failed to lock config backend");
            return NULL;
        }
 
-       map = h->values;
-       git_atomic_inc(&map->refcount);
+       entries = h->entries;
+       git_config_entries_incref(entries);
 
        git_mutex_unlock(&h->values_mutex);
 
-       return map;
-}
-
-static int refcounted_strmap_alloc(refcounted_strmap **out)
-{
-       refcounted_strmap *map;
-       int error;
-
-       map = git__calloc(1, sizeof(refcounted_strmap));
-       GITERR_CHECK_ALLOC(map);
-
-       git_atomic_set(&map->refcount, 1);
-
-       if ((error = git_strmap_alloc(&map->values)) < 0)
-               git__free(map);
-       else
-               *out = map;
-
-       return error;
+       return entries;
 }
 
 static void config_file_clear(struct config_file *file)
@@ -272,15 +119,15 @@ static int config_open(git_config_backend *cfg, git_config_level_t level, const
        b->header.level = level;
        b->header.repo = repo;
 
-       if ((res = refcounted_strmap_alloc(&b->header.values)) < 0)
+       if ((res = git_config_entries_new(&b->header.entries)) < 0)
                return res;
 
        if (!git_path_exists(b->file.path))
                return 0;
 
-       if (res < 0 || (res = config_read(b->header.values->values, repo, &b->file, level, 0)) < 0) {
-               refcounted_strmap_free(b->header.values);
-               b->header.values = NULL;
+       if (res < 0 || (res = config_read(b->header.entries, repo, &b->file, level, 0)) < 0) {
+               git_config_entries_free(b->header.entries);
+               b->header.entries = NULL;
        }
 
        return res;
@@ -313,7 +160,7 @@ static int config_is_modified(int *modified, struct config_file *file)
        }
 
 out:
-       git_buf_free(&buf);
+       git_buf_dispose(&buf);
 
        return error;
 }
@@ -321,7 +168,7 @@ out:
 static int config_refresh(git_config_backend *cfg)
 {
        diskfile_backend *b = (diskfile_backend *)cfg;
-       refcounted_strmap *values = NULL, *tmp;
+       git_config_entries *entries = NULL, *tmp;
        git_config_file *include;
        int error, modified;
        uint32_t i;
@@ -336,7 +183,7 @@ static int config_refresh(git_config_backend *cfg)
        if (!modified)
                return 0;
 
-       if ((error = refcounted_strmap_alloc(&values)) < 0)
+       if ((error = git_config_entries_new(&entries)) < 0)
                goto out;
 
        /* Reparse the current configuration */
@@ -345,22 +192,22 @@ static int config_refresh(git_config_backend *cfg)
        }
        git_array_clear(b->file.includes);
 
-       if ((error = config_read(values->values, b->header.repo, &b->file, b->header.level, 0)) < 0)
+       if ((error = config_read(entries, b->header.repo, &b->file, b->header.level, 0)) < 0)
                goto out;
 
        if ((error = git_mutex_lock(&b->header.values_mutex)) < 0) {
-               giterr_set(GITERR_OS, "failed to lock config backend");
+               git_error_set(GIT_ERROR_OS, "failed to lock config backend");
                goto out;
        }
 
-       tmp = b->header.values;
-       b->header.values = values;
-       values = tmp;
+       tmp = b->header.entries;
+       b->header.entries = entries;
+       entries = tmp;
 
        git_mutex_unlock(&b->header.values_mutex);
 
 out:
-       refcounted_strmap_free(values);
+       git_config_entries_free(entries);
 
        return (error == GIT_ENOTFOUND) ? 0 : error;
 }
@@ -373,149 +220,80 @@ static void backend_free(git_config_backend *_backend)
                return;
 
        config_file_clear(&backend->file);
-       refcounted_strmap_free(backend->header.values);
+       git_config_entries_free(backend->header.entries);
        git_mutex_free(&backend->header.values_mutex);
        git__free(backend);
 }
 
-static void config_iterator_free(
-       git_config_iterator* iter)
-{
-       iter->backend->free(iter->backend);
-       git__free(iter);
-}
-
-static int config_iterator_next(
-       git_config_entry **entry,
-       git_config_iterator *iter)
-{
-       git_config_file_iter *it = (git_config_file_iter *) iter;
-       diskfile_header *h = (diskfile_header *) it->parent.backend;
-       git_strmap *values = h->values->values;
-       int err = 0;
-       cvar_t * var;
-
-       if (it->next_var == NULL) {
-               err = git_strmap_next((void**) &var, &(it->iter), values);
-       } else {
-               var = it->next_var;
-       }
-
-       if (err < 0) {
-               it->next_var = NULL;
-               return err;
-       }
-
-       *entry = var->entry;
-       it->next_var = CVAR_LIST_NEXT(var);
-
-       return 0;
-}
-
 static int config_iterator_new(
        git_config_iterator **iter,
        struct git_config_backend* backend)
 {
-       diskfile_header *h;
-       git_config_file_iter *it;
-       git_config_backend *snapshot;
        diskfile_header *bh = (diskfile_header *) backend;
+       git_config_entries *entries;
        int error;
 
-       if ((error = config_snapshot(&snapshot, backend)) < 0)
+       if ((error = git_config_entries_dup(&entries, bh->entries)) < 0)
                return error;
 
-       if ((error = snapshot->open(snapshot, bh->level, bh->repo)) < 0)
-               return error;
-
-       it = git__calloc(1, sizeof(git_config_file_iter));
-       GITERR_CHECK_ALLOC(it);
-
-       h = (diskfile_header *)snapshot;
-
-       /* strmap_begin() is currently a macro returning 0 */
-       GIT_UNUSED(h);
-
-       it->parent.backend = snapshot;
-       it->iter = git_strmap_begin(h->values);
-       it->next_var = NULL;
-
-       it->parent.next = config_iterator_next;
-       it->parent.free = config_iterator_free;
-       *iter = (git_config_iterator *) it;
+       if ((error = git_config_entries_iterator_new(iter, entries)) < 0)
+               goto out;
 
-       return 0;
+out:
+       /* Let iterator delete duplicated entries when it's done */
+       git_config_entries_free(entries);
+       return error;
 }
 
 static int config_set(git_config_backend *cfg, const char *name, const char *value)
 {
        diskfile_backend *b = (diskfile_backend *)cfg;
-       refcounted_strmap *map;
-       git_strmap *values;
+       git_config_entries *entries;
+       git_config_entry *existing;
        char *key, *esc_value = NULL;
-       khiter_t pos;
-       int rval, ret;
+       int error;
 
-       if ((rval = git_config__normalize_name(name, &key)) < 0)
-               return rval;
+       if ((error = git_config__normalize_name(name, &key)) < 0)
+               return error;
 
-       if ((map = refcounted_strmap_take(&b->header)) == NULL)
+       if ((entries = diskfile_entries_take(&b->header)) == NULL)
                return -1;
-       values = map->values;
-
-       /*
-        * Try to find it in the existing values and update it if it
-        * only has one value.
-        */
-       pos = git_strmap_lookup_index(values, key);
-       if (git_strmap_valid_index(values, pos)) {
-               cvar_t *existing = git_strmap_value_at(values, pos);
 
-               if (existing->next != NULL) {
-                       giterr_set(GITERR_CONFIG, "multivar incompatible with simple set");
-                       ret = -1;
+       /* Check whether we'd be modifying an included or multivar key */
+       if ((error = git_config_entries_get_unique(&existing, entries, key)) < 0) {
+               if (error != GIT_ENOTFOUND)
                        goto out;
-               }
-
-               if (existing->included) {
-                       giterr_set(GITERR_CONFIG, "modifying included variable is not supported");
-                       ret = -1;
-                       goto out;
-               }
-
+               error = 0;
+       } else if ((!existing->value && !value) ||
+                  (existing->value && value && !strcmp(existing->value, value))) {
                /* don't update if old and new values already match */
-               if ((!existing->entry->value && !value) ||
-                       (existing->entry->value && value &&
-                        !strcmp(existing->entry->value, value))) {
-                       ret = 0;
-                       goto out;
-               }
+               error = 0;
+               goto out;
        }
 
        /* No early returns due to sanity checks, let's write it out and refresh */
-
        if (value) {
                esc_value = escape_value(value);
-               GITERR_CHECK_ALLOC(esc_value);
+               GIT_ERROR_CHECK_ALLOC(esc_value);
        }
 
-       if ((ret = config_write(b, name, key, NULL, esc_value)) < 0)
+       if ((error = config_write(b, name, key, NULL, esc_value)) < 0)
                goto out;
 
-       ret = config_refresh(cfg);
+       error = config_refresh(cfg);
 
 out:
-       refcounted_strmap_free(map);
+       git_config_entries_free(entries);
        git__free(esc_value);
        git__free(key);
-       return ret;
+       return error;
 }
 
 /* release the map containing the entry as an equivalent to freeing it */
-static void release_map(git_config_entry *entry)
+static void free_diskfile_entry(git_config_entry *entry)
 {
-       refcounted_strmap *map = (refcounted_strmap *) entry->payload;
-       refcounted_strmap_free(map);
+       git_config_entries *entries = (git_config_entries *) entry->payload;
+       git_config_entries_free(entries);
 }
 
 /*
@@ -524,36 +302,26 @@ static void release_map(git_config_entry *entry)
 static int config_get(git_config_backend *cfg, const char *key, git_config_entry **out)
 {
        diskfile_header *h = (diskfile_header *)cfg;
-       refcounted_strmap *map;
-       git_strmap *values;
-       khiter_t pos;
-       cvar_t *var;
+       git_config_entries *entries = NULL;
+       git_config_entry *entry;
        int error = 0;
 
        if (!h->parent.readonly && ((error = config_refresh(cfg)) < 0))
                return error;
 
-       if ((map = refcounted_strmap_take(h)) == NULL)
+       if ((entries = diskfile_entries_take(h)) == NULL)
                return -1;
-       values = map->values;
-
-       pos = git_strmap_lookup_index(values, key);
 
-       /* no error message; the config system will write one */
-       if (!git_strmap_valid_index(values, pos)) {
-               refcounted_strmap_free(map);
-               return GIT_ENOTFOUND;
+       if ((error = (git_config_entries_get(&entry, entries, key))) < 0) {
+               git_config_entries_free(entries);
+               return error;
        }
 
-       var = git_strmap_value_at(values, pos);
-       while (var->next)
-               var = var->next;
-
-       *out = var->entry;
-       (*out)->free = release_map;
-       (*out)->payload = map;
+       entry->free = free_diskfile_entry;
+       entry->payload = entries;
+       *out = entry;
 
-       return error;
+       return 0;
 }
 
 static int config_set_multivar(
@@ -571,7 +339,7 @@ static int config_set_multivar(
 
        result = p_regcomp(&preg, regexp, REG_EXTENDED);
        if (result != 0) {
-               giterr_set_regex(&preg, result);
+               git_error_set_regex(&preg, result);
                result = -1;
                goto out;
        }
@@ -591,79 +359,62 @@ out:
 
 static int config_delete(git_config_backend *cfg, const char *name)
 {
-       cvar_t *var;
        diskfile_backend *b = (diskfile_backend *)cfg;
-       refcounted_strmap *map; git_strmap *values;
-       char *key;
-       int result;
-       khiter_t pos;
-
-       if ((result = git_config__normalize_name(name, &key)) < 0)
-               return result;
-
-       if ((map = refcounted_strmap_take(&b->header)) == NULL)
-               return -1;
-       values = b->header.values->values;
-
-       pos = git_strmap_lookup_index(values, key);
-       git__free(key);
+       git_config_entries *entries = NULL;
+       git_config_entry *entry;
+       char *key = NULL;
+       int error;
 
-       if (!git_strmap_valid_index(values, pos)) {
-               refcounted_strmap_free(map);
-               giterr_set(GITERR_CONFIG, "could not find key '%s' to delete", name);
-               return GIT_ENOTFOUND;
-       }
+       if ((error = git_config__normalize_name(name, &key)) < 0)
+               goto out;
 
-       var = git_strmap_value_at(values, pos);
-       refcounted_strmap_free(map);
+       if ((entries = diskfile_entries_take(&b->header)) == NULL)
+               goto out;
 
-       if (var->included) {
-               giterr_set(GITERR_CONFIG, "cannot delete included variable");
-               return -1;
+       /* Check whether we'd be modifying an included or multivar key */
+       if ((error = git_config_entries_get_unique(&entry, entries, key)) < 0) {
+               if (error == GIT_ENOTFOUND)
+                       git_error_set(GIT_ERROR_CONFIG, "could not find key '%s' to delete", name);
+               goto out;
        }
 
-       if (var->next != NULL) {
-               giterr_set(GITERR_CONFIG, "cannot delete multivar with a single delete");
-               return -1;
-       }
+       if ((error = config_write(b, name, entry->name, NULL, NULL)) < 0)
+               goto out;
 
-       if ((result = config_write(b, name, var->entry->name, NULL, NULL)) < 0)
-               return result;
+       if ((error =  config_refresh(cfg)) < 0)
+               goto out;
 
-       return config_refresh(cfg);
+out:
+       git_config_entries_free(entries);
+       git__free(key);
+       return error;
 }
 
 static int config_delete_multivar(git_config_backend *cfg, const char *name, const char *regexp)
 {
        diskfile_backend *b = (diskfile_backend *)cfg;
-       refcounted_strmap *map;
-       git_strmap *values;
-       char *key;
-       regex_t preg;
+       git_config_entries *entries = NULL;
+       git_config_entry *entry = NULL;
+       regex_t preg = { 0 };
+       char *key = NULL;
        int result;
-       khiter_t pos;
 
        if ((result = git_config__normalize_name(name, &key)) < 0)
-               return result;
-
-       if ((map = refcounted_strmap_take(&b->header)) == NULL)
-               return -1;
-       values = b->header.values->values;
-
-       pos = git_strmap_lookup_index(values, key);
+               goto out;
 
-       if (!git_strmap_valid_index(values, pos)) {
-               refcounted_strmap_free(map);
-               git__free(key);
-               giterr_set(GITERR_CONFIG, "could not find key '%s' to delete", name);
-               return GIT_ENOTFOUND;
+       if ((entries = diskfile_entries_take(&b->header)) == NULL) {
+               result = -1;
+               goto out;
        }
 
-       refcounted_strmap_free(map);
+       if ((result = git_config_entries_get(&entry, entries, key)) < 0) {
+               if (result == GIT_ENOTFOUND)
+                       git_error_set(GIT_ERROR_CONFIG, "could not find key '%s' to delete", name);
+               goto out;
+       }
 
-       result = p_regcomp(&preg, regexp, REG_EXTENDED);
-       if (result != 0) {
-               giterr_set_regex(&preg, result);
+       if ((result = p_regcomp(&preg, regexp, REG_EXTENDED)) != 0) {
+               git_error_set_regex(&preg, result);
                result = -1;
                goto out;
        }
@@ -671,21 +422,16 @@ static int config_delete_multivar(git_config_backend *cfg, const char *name, con
        if ((result = config_write(b, name, key, &preg, NULL)) < 0)
                goto out;
 
-       result = config_refresh(cfg);
+       if ((result = config_refresh(cfg)) < 0)
+               goto out;
 
 out:
+       git_config_entries_free(entries);
        git__free(key);
        regfree(&preg);
        return result;
 }
 
-static int config_snapshot(git_config_backend **out, git_config_backend *in)
-{
-       diskfile_backend *b = (diskfile_backend *) in;
-
-       return git_config_file__snapshot(out, b);
-}
-
 static int config_lock(git_config_backend *_cfg)
 {
        diskfile_backend *cfg = (diskfile_backend *) _cfg;
@@ -716,24 +462,24 @@ static int config_unlock(git_config_backend *_cfg, int success)
        }
 
        git_filebuf_cleanup(&cfg->locked_buf);
-       git_buf_free(&cfg->locked_content);
+       git_buf_dispose(&cfg->locked_content);
        cfg->locked = false;
 
        return error;
 }
 
-int git_config_file__ondisk(git_config_backend **out, const char *path)
+int git_config_backend_from_file(git_config_backend **out, const char *path)
 {
        diskfile_backend *backend;
 
        backend = git__calloc(1, sizeof(diskfile_backend));
-       GITERR_CHECK_ALLOC(backend);
+       GIT_ERROR_CHECK_ALLOC(backend);
 
        backend->header.parent.version = GIT_CONFIG_BACKEND_VERSION;
        git_mutex_init(&backend->header.values_mutex);
 
        backend->file.path = git__strdup(path);
-       GITERR_CHECK_ALLOC(backend->file.path);
+       GIT_ERROR_CHECK_ALLOC(backend->file.path);
        git_array_init(backend->file.includes);
 
        backend->header.parent.open = config_open;
@@ -812,7 +558,7 @@ static void backend_readonly_free(git_config_backend *_backend)
        if (backend == NULL)
                return;
 
-       refcounted_strmap_free(backend->header.values);
+       git_config_entries_free(backend->header.entries);
        git_mutex_free(&backend->header.values_mutex);
        git__free(backend);
 }
@@ -822,7 +568,7 @@ static int config_readonly_open(git_config_backend *cfg, git_config_level_t leve
        diskfile_readonly_backend *b = (diskfile_readonly_backend *) cfg;
        diskfile_backend *src = b->snapshot_from;
        diskfile_header *src_header = &src->header;
-       refcounted_strmap *src_map;
+       git_config_entries *entries;
        int error;
 
        if (!src_header->parent.readonly && (error = config_refresh(&src_header->parent)) < 0)
@@ -832,24 +578,24 @@ static int config_readonly_open(git_config_backend *cfg, git_config_level_t leve
        GIT_UNUSED(level);
        GIT_UNUSED(repo);
 
-       if ((src_map = refcounted_strmap_take(src_header)) == NULL)
+       if ((entries = diskfile_entries_take(src_header)) == NULL)
                return -1;
-       b->header.values = src_map;
+       b->header.entries = entries;
 
        return 0;
 }
 
-int git_config_file__snapshot(git_config_backend **out, diskfile_backend *in)
+static int config_snapshot(git_config_backend **out, git_config_backend *in)
 {
        diskfile_readonly_backend *backend;
 
        backend = git__calloc(1, sizeof(diskfile_readonly_backend));
-       GITERR_CHECK_ALLOC(backend);
+       GIT_ERROR_CHECK_ALLOC(backend);
 
        backend->header.parent.version = GIT_CONFIG_BACKEND_VERSION;
        git_mutex_init(&backend->header.values_mutex);
 
-       backend->snapshot_from = in;
+       backend->snapshot_from = (diskfile_backend *) in;
 
        backend->header.parent.readonly = 1;
        backend->header.parent.version = GIT_CONFIG_BACKEND_VERSION;
@@ -904,24 +650,14 @@ static char *escape_value(const char *ptr)
                ptr++;
        }
 
-       if (git_buf_oom(&buf)) {
-               git_buf_free(&buf);
+       if (git_buf_oom(&buf))
                return NULL;
-       }
 
        return git_buf_detach(&buf);
 }
 
-struct parse_data {
-       const git_repository *repo;
-       const char *file_path;
-       git_strmap *values;
-       git_config_level_t level;
-       int depth;
-};
-
 static int parse_include(git_config_parser *reader,
-       struct parse_data *parse_data, const char *file)
+       diskfile_parse_state *parse_data, const char *file)
 {
        struct config_file *include;
        git_buf path = GIT_BUF_INIT;
@@ -946,11 +682,11 @@ static int parse_include(git_config_parser *reader,
        git_array_init(include->includes);
        include->path = git_buf_detach(&path);
 
-       result = config_read(parse_data->values, parse_data->repo,
+       result = config_read(parse_data->entries, parse_data->repo,
                include, parse_data->level, parse_data->depth+1);
 
        if (result == GIT_ENOTFOUND) {
-               giterr_clear();
+               git_error_clear();
                result = 0;
        }
 
@@ -995,7 +731,7 @@ static int do_match_gitdir(
        *matches = (error == 0);
 
 out:
-       git_buf_free(&path);
+       git_buf_dispose(&path);
        return error;
 }
 
@@ -1026,7 +762,7 @@ static const struct {
 };
 
 static int parse_conditional_include(git_config_parser *reader,
-       struct parse_data *parse_data, const char *section, const char *file)
+       diskfile_parse_state *parse_data, const char *section, const char *file)
 {
        char *condition;
        size_t i;
@@ -1061,15 +797,16 @@ static int parse_conditional_include(git_config_parser *reader,
 static int read_on_variable(
        git_config_parser *reader,
        const char *current_section,
-       char *var_name,
-       char *var_value,
+       const char *var_name,
+       const char *var_value,
        const char *line,
        size_t line_len,
        void *data)
 {
-       struct parse_data *parse_data = (struct parse_data *)data;
+       diskfile_parse_state *parse_data = (diskfile_parse_state *)data;
        git_buf buf = GIT_BUF_INIT;
-       cvar_t *var;
+       git_config_entry *entry;
+       const char *c;
        int result = 0;
 
        GIT_UNUSED(line);
@@ -1083,56 +820,50 @@ static int read_on_variable(
                git_buf_puts(&buf, current_section);
                git_buf_putc(&buf, '.');
        }
-       git__strtolower(var_name);
-       git_buf_puts(&buf, var_name);
-       git__free(var_name);
 
-       if (git_buf_oom(&buf)) {
-               git__free(var_value);
-               return -1;
-       }
+       for (c = var_name; *c; c++)
+               git_buf_putc(&buf, git__tolower(*c));
 
-       var = git__calloc(1, sizeof(cvar_t));
-       GITERR_CHECK_ALLOC(var);
-       var->entry = git__calloc(1, sizeof(git_config_entry));
-       GITERR_CHECK_ALLOC(var->entry);
+       if (git_buf_oom(&buf))
+               return -1;
 
-       var->entry->name = git_buf_detach(&buf);
-       var->entry->value = var_value;
-       var->entry->level = parse_data->level;
-       var->included = !!parse_data->depth;
+       entry = git__calloc(1, sizeof(git_config_entry));
+       GIT_ERROR_CHECK_ALLOC(entry);
+       entry->name = git_buf_detach(&buf);
+       entry->value = var_value ? git__strdup(var_value) : NULL;
+       entry->level = parse_data->level;
+       entry->include_depth = parse_data->depth;
 
-       if ((result = append_entry(parse_data->values, var)) < 0)
+       if ((result = git_config_entries_append(parse_data->entries, entry)) < 0)
                return result;
 
        result = 0;
 
        /* Add or append the new config option */
-       if (!git__strcmp(var->entry->name, "include.path"))
-               result = parse_include(reader, parse_data, var->entry->value);
-       else if (!git__prefixcmp(var->entry->name, "includeif.") &&
-                !git__suffixcmp(var->entry->name, ".path"))
+       if (!git__strcmp(entry->name, "include.path"))
+               result = parse_include(reader, parse_data, entry->value);
+       else if (!git__prefixcmp(entry->name, "includeif.") &&
+                !git__suffixcmp(entry->name, ".path"))
                result = parse_conditional_include(reader, parse_data,
-                                                  var->entry->name, var->entry->value);
-
+                                                  entry->name, entry->value);
 
        return result;
 }
 
 static int config_read(
-       git_strmap *values,
+       git_config_entries *entries,
        const git_repository *repo,
        git_config_file *file,
        git_config_level_t level,
        int depth)
 {
-       struct parse_data parse_data;
+       diskfile_parse_state parse_data;
        git_config_parser reader;
        git_buf contents = GIT_BUF_INIT;
        int error;
 
        if (depth >= MAX_INCLUDE_DEPTH) {
-               giterr_set(GITERR_CONFIG, "maximum config include depth reached");
+               git_error_set(GIT_ERROR_CONFIG, "maximum config include depth reached");
                return -1;
        }
 
@@ -1154,14 +885,14 @@ static int config_read(
 
        parse_data.repo = repo;
        parse_data.file_path = file->path;
-       parse_data.values = values;
+       parse_data.entries = entries;
        parse_data.level = level;
        parse_data.depth = depth;
 
        error = git_config_parse(&reader, NULL, read_on_variable, NULL, NULL, &parse_data);
 
 out:
-       git_buf_free(&contents);
+       git_buf_dispose(&contents);
        return error;
 }
 
@@ -1180,7 +911,7 @@ static int write_section(git_buf *fbuf, const char *key)
                char *escaped;
                git_buf_put(&buf, key, dot - key);
                escaped = escape_value(dot + 1);
-               GITERR_CHECK_ALLOC(escaped);
+               GIT_ERROR_CHECK_ALLOC(escaped);
                git_buf_printf(&buf, " \"%s\"", escaped);
                git__free(escaped);
        }
@@ -1190,7 +921,7 @@ static int write_section(git_buf *fbuf, const char *key)
                return -1;
 
        result = git_buf_put(fbuf, git_buf_cstr(&buf), buf.size);
-       git_buf_free(&buf);
+       git_buf_dispose(&buf);
 
        return result;
 }
@@ -1299,8 +1030,8 @@ static int write_on_section(
 static int write_on_variable(
        git_config_parser *reader,
        const char *current_section,
-       char *var_name,
-       char *var_value,
+       const char *var_name,
+       const char *var_value,
        const char *line,
        size_t line_len,
        void *data)
@@ -1329,9 +1060,6 @@ static int write_on_variable(
        if (has_matched && write_data->preg != NULL)
                has_matched = (regexec(write_data->preg, var_value, 0, NULL, 0) == 0);
 
-       git__free(var_name);
-       git__free(var_value);
-
        /* If this isn't the name/value we're looking for, simply dump the
         * existing data back out and continue on.
         */
@@ -1409,7 +1137,7 @@ static int config_write(diskfile_backend *cfg, const char *orig_key, const char
                /* Lock the file */
                if ((result = git_filebuf_open(
                             &file, cfg->file.path, GIT_FILEBUF_HASH_CONTENTS, GIT_CONFIG_FILE_MODE)) < 0) {
-                       git_buf_free(&contents);
+                       git_buf_dispose(&contents);
                        return result;
                }
 
@@ -1428,12 +1156,12 @@ static int config_write(diskfile_backend *cfg, const char *orig_key, const char
        ldot = strrchr(key, '.');
        name = ldot + 1;
        section = git__strndup(key, ldot - key);
-       GITERR_CHECK_ALLOC(section);
+       GIT_ERROR_CHECK_ALLOC(section);
 
        ldot = strrchr(orig_key, '.');
        orig_name = ldot + 1;
        orig_section = git__strndup(orig_key, ldot - orig_key);
-       GITERR_CHECK_ALLOC(orig_section);
+       GIT_ERROR_CHECK_ALLOC(orig_section);
 
        write_data.buf = &buf;
        git_buf_init(&write_data.buffered_comment, 0);
@@ -1454,7 +1182,7 @@ static int config_write(diskfile_backend *cfg, const char *orig_key, const char
                &write_data);
        git__free(section);
        git__free(orig_section);
-       git_buf_free(&write_data.buffered_comment);
+       git_buf_dispose(&write_data.buffered_comment);
 
        if (result < 0) {
                git_filebuf_cleanup(&file);
@@ -1464,7 +1192,7 @@ static int config_write(diskfile_backend *cfg, const char *orig_key, const char
        if (cfg->locked) {
                size_t len = buf.asize;
                /* Update our copy with the modified contents */
-               git_buf_free(&cfg->locked_content);
+               git_buf_dispose(&cfg->locked_content);
                git_buf_attach(&cfg->locked_content, git_buf_detach(&buf), len);
        } else {
                git_filebuf_write(&file, git_buf_cstr(&buf), git_buf_len(&buf));
@@ -1472,8 +1200,8 @@ static int config_write(diskfile_backend *cfg, const char *orig_key, const char
        }
 
 done:
-       git_buf_free(&buf);
-       git_buf_free(&contents);
+       git_buf_dispose(&buf);
+       git_buf_dispose(&contents);
        git_parse_ctx_clear(&reader.ctx);
        return result;
 }
diff --git a/src/config_file.h b/src/config_file.h
deleted file mode 100644 (file)
index 72818e5..0000000
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * Copyright (C) the libgit2 contributors. All rights reserved.
- *
- * This file is part of libgit2, distributed under the GNU GPL v2 with
- * a Linking Exception. For full terms see the included COPYING file.
- */
-#ifndef INCLUDE_config_file_h__
-#define INCLUDE_config_file_h__
-
-#include "common.h"
-
-#include "git2/sys/config.h"
-#include "git2/config.h"
-
-GIT_INLINE(int) git_config_file_open(git_config_backend *cfg, unsigned int level, const git_repository *repo)
-{
-       return cfg->open(cfg, level, repo);
-}
-
-GIT_INLINE(void) git_config_file_free(git_config_backend *cfg)
-{
-       if (cfg)
-               cfg->free(cfg);
-}
-
-GIT_INLINE(int) git_config_file_get_string(
-       git_config_entry **out, git_config_backend *cfg, const char *name)
-{
-       return cfg->get(cfg, name, out);
-}
-
-GIT_INLINE(int) git_config_file_set_string(
-       git_config_backend *cfg, const char *name, const char *value)
-{
-       return cfg->set(cfg, name, value);
-}
-
-GIT_INLINE(int) git_config_file_delete(
-       git_config_backend *cfg, const char *name)
-{
-       return cfg->del(cfg, name);
-}
-
-GIT_INLINE(int) git_config_file_foreach(
-       git_config_backend *cfg,
-       int (*fn)(const git_config_entry *entry, void *data),
-       void *data)
-{
-       return git_config_backend_foreach_match(cfg, NULL, fn, data);
-}
-
-GIT_INLINE(int) git_config_file_foreach_match(
-       git_config_backend *cfg,
-       const char *regexp,
-       int (*fn)(const git_config_entry *entry, void *data),
-       void *data)
-{
-       return git_config_backend_foreach_match(cfg, regexp, fn, data);
-}
-
-GIT_INLINE(int) git_config_file_lock(git_config_backend *cfg)
-{
-       return cfg->lock(cfg);
-}
-
-GIT_INLINE(int) git_config_file_unlock(git_config_backend *cfg, int success)
-{
-       return cfg->unlock(cfg, success);
-}
-
-extern int git_config_file_normalize_section(char *start, char *end);
-
-#endif
diff --git a/src/config_mem.c b/src/config_mem.c
new file mode 100644 (file)
index 0000000..c2ecfda
--- /dev/null
@@ -0,0 +1,224 @@
+/*
+ * Copyright (C) the libgit2 contributors. All rights reserved.
+ *
+ * This file is part of libgit2, distributed under the GNU GPL v2 with
+ * a Linking Exception. For full terms see the included COPYING file.
+ */
+
+#include "config.h"
+
+#include "config_backend.h"
+#include "config_parse.h"
+#include "config_entries.h"
+
+typedef struct {
+       git_config_backend parent;
+       git_config_entries *entries;
+       git_buf cfg;
+} config_memory_backend;
+
+typedef struct {
+       git_config_entries *entries;
+       git_config_level_t level;
+} config_memory_parse_data;
+
+static int config_error_readonly(void)
+{
+       git_error_set(GIT_ERROR_CONFIG, "this backend is read-only");
+       return -1;
+}
+
+static int read_variable_cb(
+       git_config_parser *reader,
+       const char *current_section,
+       const char *var_name,
+       const char *var_value,
+       const char *line,
+       size_t line_len,
+       void *payload)
+{
+       config_memory_parse_data *parse_data = (config_memory_parse_data *) payload;
+       git_buf buf = GIT_BUF_INIT;
+       git_config_entry *entry;
+       const char *c;
+       int result;
+
+       GIT_UNUSED(reader);
+       GIT_UNUSED(line);
+       GIT_UNUSED(line_len);
+
+       if (current_section) {
+               /* TODO: Once warnings land, we should likely warn
+                * here. Git appears to warn in most cases if it sees
+                * un-namespaced config options.
+                */
+               git_buf_puts(&buf, current_section);
+               git_buf_putc(&buf, '.');
+       }
+
+       for (c = var_name; *c; c++)
+               git_buf_putc(&buf, git__tolower(*c));
+
+       if (git_buf_oom(&buf))
+               return -1;
+
+       entry = git__calloc(1, sizeof(git_config_entry));
+       GIT_ERROR_CHECK_ALLOC(entry);
+       entry->name = git_buf_detach(&buf);
+       entry->value = var_value ? git__strdup(var_value) : NULL;
+       entry->level = parse_data->level;
+       entry->include_depth = 0;
+
+       if ((result = git_config_entries_append(parse_data->entries, entry)) < 0)
+               return result;
+
+       return result;
+}
+
+static int config_memory_open(git_config_backend *backend, git_config_level_t level, const git_repository *repo)
+{
+       config_memory_backend *memory_backend = (config_memory_backend *) backend;
+       config_memory_parse_data parse_data;
+       git_config_parser reader;
+
+       GIT_UNUSED(repo);
+
+       if (memory_backend->cfg.size == 0)
+               return 0;
+
+       git_parse_ctx_init(&reader.ctx, memory_backend->cfg.ptr, memory_backend->cfg.size);
+       reader.file = NULL;
+       parse_data.entries = memory_backend->entries;
+       parse_data.level = level;
+
+       return git_config_parse(&reader, NULL, read_variable_cb, NULL, NULL, &parse_data);
+}
+
+static int config_memory_get(git_config_backend *backend, const char *key, git_config_entry **out)
+{
+       config_memory_backend *memory_backend = (config_memory_backend *) backend;
+       return git_config_entries_get(out, memory_backend->entries, key);
+}
+
+static int config_memory_iterator(
+       git_config_iterator **iter,
+       git_config_backend *backend)
+{
+       config_memory_backend *memory_backend = (config_memory_backend *) backend;
+       git_config_entries *entries;
+       int error;
+
+       if ((error = git_config_entries_dup(&entries, memory_backend->entries)) < 0)
+               goto out;
+
+       if ((error = git_config_entries_iterator_new(iter, entries)) < 0)
+               goto out;
+
+out:
+       /* Let iterator delete duplicated entries when it's done */
+       git_config_entries_free(entries);
+       return error;
+}
+
+static int config_memory_set(git_config_backend *backend, const char *name, const char *value)
+{
+       GIT_UNUSED(backend);
+       GIT_UNUSED(name);
+       GIT_UNUSED(value);
+       return config_error_readonly();
+}
+
+static int config_memory_set_multivar(
+       git_config_backend *backend, const char *name, const char *regexp, const char *value)
+{
+       GIT_UNUSED(backend);
+       GIT_UNUSED(name);
+       GIT_UNUSED(regexp);
+       GIT_UNUSED(value);
+       return config_error_readonly();
+}
+
+static int config_memory_delete(git_config_backend *backend, const char *name)
+{
+       GIT_UNUSED(backend);
+       GIT_UNUSED(name);
+       return config_error_readonly();
+}
+
+static int config_memory_delete_multivar(git_config_backend *backend, const char *name, const char *regexp)
+{
+       GIT_UNUSED(backend);
+       GIT_UNUSED(name);
+       GIT_UNUSED(regexp);
+       return config_error_readonly();
+}
+
+static int config_memory_lock(git_config_backend *backend)
+{
+       GIT_UNUSED(backend);
+       return config_error_readonly();
+}
+
+static int config_memory_unlock(git_config_backend *backend, int success)
+{
+       GIT_UNUSED(backend);
+       GIT_UNUSED(success);
+       return config_error_readonly();
+}
+
+static int config_memory_snapshot(git_config_backend **out, git_config_backend *backend)
+{
+       GIT_UNUSED(out);
+       GIT_UNUSED(backend);
+       git_error_set(GIT_ERROR_CONFIG, "this backend does not support snapshots");
+       return -1;
+}
+
+static void config_memory_free(git_config_backend *_backend)
+{
+       config_memory_backend *backend = (config_memory_backend *)_backend;
+
+       if (backend == NULL)
+               return;
+
+       git_config_entries_free(backend->entries);
+       git_buf_dispose(&backend->cfg);
+       git__free(backend);
+}
+
+int git_config_backend_from_string(git_config_backend **out, const char *cfg, size_t len)
+{
+       config_memory_backend *backend;
+
+       backend = git__calloc(1, sizeof(config_memory_backend));
+       GIT_ERROR_CHECK_ALLOC(backend);
+
+       if (git_config_entries_new(&backend->entries) < 0) {
+               git__free(backend);
+               return -1;
+       }
+
+       if (git_buf_set(&backend->cfg, cfg, len) < 0) {
+               git_config_entries_free(backend->entries);
+               git__free(backend);
+               return -1;
+       }
+
+       backend->parent.version = GIT_CONFIG_BACKEND_VERSION;
+       backend->parent.readonly = 1;
+       backend->parent.open = config_memory_open;
+       backend->parent.get = config_memory_get;
+       backend->parent.set = config_memory_set;
+       backend->parent.set_multivar = config_memory_set_multivar;
+       backend->parent.del = config_memory_delete;
+       backend->parent.del_multivar = config_memory_delete_multivar;
+       backend->parent.iterator = config_memory_iterator;
+       backend->parent.lock = config_memory_lock;
+       backend->parent.unlock = config_memory_unlock;
+       backend->parent.snapshot = config_memory_snapshot;
+       backend->parent.free = config_memory_free;
+
+       *out = (git_config_backend *)backend;
+
+       return 0;
+}
index d4c1c2bbd00ffeecedbc3131229197dd63c5cc7d..ab2fb9867800bc5bb6c442b739c7957e471244bb 100644 (file)
 
 #include <ctype.h>
 
+const char *git_config_escapes = "ntb\"\\";
+const char *git_config_escaped = "\n\t\b\"\\";
+
 static void set_parse_error(git_config_parser *reader, int col, const char *error_str)
 {
-       giterr_set(GITERR_CONFIG, "failed to parse config file: %s (in %s:%"PRIuZ", column %d)",
-               error_str, reader->file->path, reader->ctx.line_num, col);
+       const char *file = reader->file ? reader->file->path : "in-memory";
+       git_error_set(GIT_ERROR_CONFIG, "failed to parse config file: %s (in %s:%"PRIuZ", column %d)",
+               error_str, file, reader->ctx.line_num, col);
 }
 
 
@@ -59,6 +63,7 @@ static int parse_section_header_ext(git_config_parser *reader, const char *line,
 {
        int c, rpos;
        char *first_quote, *last_quote;
+       const char *line_start = line;
        git_buf buf = GIT_BUF_INIT;
        size_t quoted_len, alloc_len, base_name_len = strlen(base_name);
 
@@ -82,8 +87,8 @@ static int parse_section_header_ext(git_config_parser *reader, const char *line,
                goto end_error;
        }
 
-       GITERR_CHECK_ALLOC_ADD(&alloc_len, base_name_len, quoted_len);
-       GITERR_CHECK_ALLOC_ADD(&alloc_len, alloc_len, 2);
+       GIT_ERROR_CHECK_ALLOC_ADD(&alloc_len, base_name_len, quoted_len);
+       GIT_ERROR_CHECK_ALLOC_ADD(&alloc_len, alloc_len, 2);
 
        if (git_buf_grow(&buf, alloc_len) < 0 ||
            git_buf_printf(&buf, "%s.", base_name) < 0)
@@ -130,15 +135,15 @@ end_parse:
 
        if (line[rpos] != '"' || line[rpos + 1] != ']') {
                set_parse_error(reader, rpos, "Unexpected text after closing quotes");
-               git_buf_free(&buf);
+               git_buf_dispose(&buf);
                return -1;
        }
 
        *section_name = git_buf_detach(&buf);
-       return 0;
+       return &line[rpos + 2] - line_start; /* rpos is at the closing quote */
 
 end_error:
-       git_buf_free(&buf);
+       git_buf_dispose(&buf);
 
        return -1;
 }
@@ -164,9 +169,9 @@ static int parse_section_header(git_config_parser *reader, char **section_out)
                return -1;
        }
 
-       GITERR_CHECK_ALLOC_ADD(&line_len, (size_t)(name_end - line), 1);
+       GIT_ERROR_CHECK_ALLOC_ADD(&line_len, (size_t)(name_end - line), 1);
        name = git__malloc(line_len);
-       GITERR_CHECK_ALLOC(name);
+       GIT_ERROR_CHECK_ALLOC(name);
 
        name_length = 0;
        pos = 0;
@@ -205,7 +210,7 @@ static int parse_section_header(git_config_parser *reader, char **section_out)
        name[name_length] = 0;
        *section_out = name;
 
-       return 0;
+       return pos;
 
 fail_parse:
        git__free(line);
@@ -299,7 +304,7 @@ static int unescape_line(
                                *fixed++ = git_config_escaped[esc - git_config_escapes];
                        } else {
                                git__free(str);
-                               giterr_set(GITERR_CONFIG, "invalid escape at %s", ptr);
+                               git_error_set(GIT_ERROR_CONFIG, "invalid escape at %s", ptr);
                                return -1;
                        }
                }
@@ -325,7 +330,7 @@ static int parse_multiline_variable(git_config_parser *reader, git_buf *value, i
                /* Check that the next line exists */
                git_parse_advance_line(&reader->ctx);
                line = git__strndup(reader->ctx.line, reader->ctx.line_len);
-               GITERR_CHECK_ALLOC(line);
+               GIT_ERROR_CHECK_ALLOC(line);
 
                /*
                 * We've reached the end of the file, there is no continuation.
@@ -406,22 +411,21 @@ static int parse_name(
 static int parse_variable(git_config_parser *reader, char **var_name, char **var_value)
 {
        const char *value_start = NULL;
-       char *line;
-       int quote_count;
+       char *line = NULL, *name = NULL, *value = NULL;
+       int quote_count, error;
        bool multiline;
 
+       *var_name = NULL;
+       *var_value = NULL;
+
        git_parse_advance_ws(&reader->ctx);
        line = git__strndup(reader->ctx.line, reader->ctx.line_len);
-       if (line == NULL)
-               return -1;
+       GIT_ERROR_CHECK_ALLOC(line);
 
        quote_count = strip_comments(line, 0);
 
-       /* If there is no value, boolean true is assumed */
-       *var_value = NULL;
-
-       if (parse_name(var_name, &value_start, reader, line) < 0)
-               goto on_error;
+       if ((error = parse_name(&name, &value_start, reader, line)) < 0)
+               goto out;
 
        /*
         * Now, let's try to parse the value
@@ -430,30 +434,35 @@ static int parse_variable(git_config_parser *reader, char **var_name, char **var
                while (git__isspace(value_start[0]))
                        value_start++;
 
-               if (unescape_line(var_value, &multiline, value_start, 0) < 0)
-                       goto on_error;
+               if ((error = unescape_line(&value, &multiline, value_start, 0)) < 0)
+                       goto out;
 
                if (multiline) {
                        git_buf multi_value = GIT_BUF_INIT;
-                       git_buf_attach(&multi_value, *var_value, 0);
+                       git_buf_attach(&multi_value, value, 0);
+                       value = NULL;
 
                        if (parse_multiline_variable(reader, &multi_value, quote_count) < 0 ||
-                               git_buf_oom(&multi_value)) {
-                               git_buf_free(&multi_value);
-                               goto on_error;
+                           git_buf_oom(&multi_value)) {
+                               error = -1;
+                               git_buf_dispose(&multi_value);
+                               goto out;
                        }
 
-                       *var_value = git_buf_detach(&multi_value);
+                       value = git_buf_detach(&multi_value);
                }
        }
 
-       git__free(line);
-       return 0;
+       *var_name = name;
+       *var_value = value;
+       name = NULL;
+       value = NULL;
 
-on_error:
-       git__free(*var_name);
+out:
+       git__free(name);
+       git__free(value);
        git__free(line);
-       return -1;
+       return error;
 }
 
 int git_config_parse(
@@ -465,7 +474,7 @@ int git_config_parse(
        void *data)
 {
        git_parse_ctx *ctx;
-       char *current_section = NULL, *var_name, *var_value;
+       char *current_section = NULL, *var_name = NULL, *var_value = NULL;
        int result = 0;
 
        ctx = &parser->ctx;
@@ -473,10 +482,14 @@ int git_config_parse(
        skip_bom(ctx);
 
        for (; ctx->remain_len > 0; git_parse_advance_line(ctx)) {
-               const char *line_start = parser->ctx.line;
-               size_t line_len = parser->ctx.line_len;
+               const char *line_start;
+               size_t line_len;
                char c;
 
+       restart:
+               line_start = ctx->line;
+               line_len = ctx->line_len;
+
                /*
                 * Get either first non-whitespace character or, if that does
                 * not exist, the first whitespace character. This is required
@@ -491,9 +504,24 @@ int git_config_parse(
                        git__free(current_section);
                        current_section = NULL;
 
-                       if ((result = parse_section_header(parser, &current_section)) == 0 && on_section) {
+                       result = parse_section_header(parser, &current_section);
+                       if (result < 0)
+                               break;
+
+                       git_parse_advance_chars(ctx, result);
+
+                       if (on_section)
                                result = on_section(parser, current_section, line_start, line_len, data);
-                       }
+                       /*
+                        * After we've parsed the section header we may not be
+                        * done with the line. If there's still data in there,
+                        * run the next loop with the rest of the current line
+                        * instead of moving forward.
+                        */
+
+                       if (!git_parse_peek(&c, ctx, GIT_PARSE_PEEK_SKIP_WHITESPACE))
+                               goto restart;
+
                        break;
 
                case '\n': /* comment or whitespace-only */
@@ -510,7 +538,10 @@ int git_config_parse(
                default: /* assume variable declaration */
                        if ((result = parse_variable(parser, &var_name, &var_value)) == 0 && on_variable) {
                                result = on_variable(parser, current_section, var_name, var_value, line_start, line_len, data);
+                               git__free(var_name);
+                               git__free(var_value);
                        }
+
                        break;
                }
 
index d14a8e60c01fc37d4f648d28898ba66e649cbf70..81a13fcebf8494875d555f2d1699898e3317f5b6 100644 (file)
@@ -12,8 +12,8 @@
 #include "oid.h"
 #include "parse.h"
 
-static const char *git_config_escapes = "ntb\"\\";
-static const char *git_config_escaped = "\n\t\b\"\\";
+extern const char *git_config_escapes;
+extern const char *git_config_escaped;
 
 typedef struct config_file {
        git_oid checksum;
@@ -36,8 +36,8 @@ typedef int (*git_config_parser_section_cb)(
 typedef int (*git_config_parser_variable_cb)(
        git_config_parser *parser,
        const char *current_section,
-       char *var_name,
-       char *var_value,
+       const char *var_name,
+       const char *var_value,
        const char *line,
        size_t line_len,
        void *data);
index 9af60076d0625600fd374fe9175803b598d0df69..80441e7e35a1177a0300bca1fde0d878982266a2 100644 (file)
 #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;
+       int 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->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);
@@ -92,7 +85,7 @@ static int has_cr_in_index(const git_filter_source *src)
                return false;
 
        if (git_repository_index__weakptr(&index, repo) < 0) {
-               giterr_clear();
+               git_error_clear();
                return false;
        }
 
@@ -119,146 +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)
+                                       git_error_set(
+                                               GIT_ERROR_FILTER, "CRLF would be replaced by LF in '%s'",
+                                               filename);
+                               else
+                                       git_error_set(
+                                               GIT_ERROR_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)
+                                       git_error_set(
+                                               GIT_ERROR_FILTER, "LF would be replaced by CRLF in '%s'",
+                                               filename);
+                               else
+                                       git_error_set(
+                                               GIT_ERROR_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:
-       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) {
+
+               if (is_binary)
+                       return GIT_PASSTHROUGH;
 
-       default:
-               goto line_ending_error;
+               /*
+                * 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 (ca->crlf_action == GIT_CRLF_GUESS &&
-                       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 */
@@ -269,85 +284,99 @@ 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 &&
-                       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);
+       GIT_ERROR_CHECK_ALLOC(*payload);
        memcpy(*payload, &ca, sizeof(ca));
 
        return 0;
 }
 
 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;
        }
index b9352b8ee0d62f44ef97b8805c2de16f283e4b09..1ff7752c7d8210099e858e2b2303508a1e54f8b2 100644 (file)
@@ -124,21 +124,21 @@ static int lookup_index_alloc(
 {
        size_t entries_len, hash_len, index_len;
 
-       GITERR_CHECK_ALLOC_MULTIPLY(&entries_len, entries, sizeof(struct index_entry));
-       GITERR_CHECK_ALLOC_MULTIPLY(&hash_len, hash_count, sizeof(struct index_entry *));
+       GIT_ERROR_CHECK_ALLOC_MULTIPLY(&entries_len, entries, sizeof(struct index_entry));
+       GIT_ERROR_CHECK_ALLOC_MULTIPLY(&hash_len, hash_count, sizeof(struct index_entry *));
 
-       GITERR_CHECK_ALLOC_ADD(&index_len, sizeof(struct git_delta_index), entries_len);
-       GITERR_CHECK_ALLOC_ADD(&index_len, index_len, hash_len);
+       GIT_ERROR_CHECK_ALLOC_ADD(&index_len, sizeof(struct git_delta_index), entries_len);
+       GIT_ERROR_CHECK_ALLOC_ADD(&index_len, index_len, hash_len);
 
        if (!git__is_ulong(index_len)) {
-               giterr_set(GITERR_NOMEMORY, "overly large delta");
+               git_error_set(GIT_ERROR_NOMEMORY, "overly large delta");
                return -1;
        }
 
        *out = git__malloc(index_len);
-       GITERR_CHECK_ALLOC(*out);
+       GIT_ERROR_CHECK_ALLOC(*out);
 
-       *out_len = index_len;
+       *out_len = (unsigned long)index_len;
        return 0;
 }
 
@@ -286,15 +286,22 @@ int git_delta_create_from_index(
        if (!trg_buf || !trg_size)
                return 0;
 
+       if (index->src_size > UINT_MAX ||
+           trg_size > UINT_MAX ||
+           max_size > (UINT_MAX - MAX_OP_SIZE - 1)) {
+               git_error_set(GIT_ERROR_INVALID, "buffer sizes too large for delta processing");
+               return -1;
+       }
+
        bufpos = 0;
        bufsize = 8192;
        if (max_size && bufsize >= max_size)
                bufsize = (unsigned int)(max_size + MAX_OP_SIZE + 1);
        buf = git__malloc(bufsize);
-       GITERR_CHECK_ALLOC(buf);
+       GIT_ERROR_CHECK_ALLOC(buf);
 
        /* store reference buffer size */
-       i = index->src_size;
+       i = (unsigned int)index->src_size;
        while (i >= 0x80) {
                buf[bufpos++] = i | 0x80;
                i >>= 7;
@@ -302,7 +309,7 @@ int git_delta_create_from_index(
        buf[bufpos++] = i;
 
        /* store target buffer size */
-       i = trg_size;
+       i = (unsigned int)trg_size;
        while (i >= 0x80) {
                buf[bufpos++] = i | 0x80;
                i >>= 7;
@@ -423,7 +430,7 @@ int git_delta_create_from_index(
                        void *tmp = buf;
                        bufsize = bufsize * 3 / 2;
                        if (max_size && bufsize >= max_size)
-                               bufsize = max_size + MAX_OP_SIZE + 1;
+                               bufsize = (unsigned int)(max_size + MAX_OP_SIZE + 1);
                        if (max_size && bufpos > max_size)
                                break;
                        buf = git__realloc(buf, bufsize);
@@ -438,7 +445,7 @@ int git_delta_create_from_index(
                buf[bufpos - inscnt - 1] = inscnt;
 
        if (max_size && bufpos > max_size) {
-               giterr_set(GITERR_NOMEMORY, "delta would be larger than maximum size");
+               git_error_set(GIT_ERROR_NOMEMORY, "delta would be larger than maximum size");
                git__free(buf);
                return GIT_EBUFS;
        }
@@ -466,7 +473,7 @@ static int hdr_sz(
 
        do {
                if (d == end) {
-                       giterr_set(GITERR_INVALID, "truncated delta");
+                       git_error_set(GIT_ERROR_INVALID, "truncated delta");
                        return -1;
                }
 
@@ -545,18 +552,18 @@ int git_delta_apply(
         * base object, resulting in data corruption or segfault.
         */
        if ((hdr_sz(&base_sz, &delta, delta_end) < 0) || (base_sz != base_len)) {
-               giterr_set(GITERR_INVALID, "failed to apply delta: base size does not match given data");
+               git_error_set(GIT_ERROR_INVALID, "failed to apply delta: base size does not match given data");
                return -1;
        }
 
        if (hdr_sz(&res_sz, &delta, delta_end) < 0) {
-               giterr_set(GITERR_INVALID, "failed to apply delta: base size does not match given data");
+               git_error_set(GIT_ERROR_INVALID, "failed to apply delta: base size does not match given data");
                return -1;
        }
 
-       GITERR_CHECK_ALLOC_ADD(&alloc_sz, res_sz, 1);
+       GIT_ERROR_CHECK_ALLOC_ADD(&alloc_sz, res_sz, 1);
        res_dp = git__malloc(alloc_sz);
-       GITERR_CHECK_ALLOC(res_dp);
+       GIT_ERROR_CHECK_ALLOC(res_dp);
 
        res_dp[res_sz] = '\0';
        *out = res_dp;
@@ -616,6 +623,6 @@ fail:
        *out = NULL;
        *out_len = 0;
 
-       giterr_set(GITERR_INVALID, "failed to apply delta");
+       git_error_set(GIT_ERROR_INVALID, "failed to apply delta");
        return -1;
 }
index edf8edfd12be02169ce9cc456c7782ad8de42849..893ca646edd35b3d5bfc1ed32605be38586a2bdd 100644 (file)
@@ -36,7 +36,7 @@ struct commit_name {
 
 static void *oidmap_value_bykey(git_oidmap *map, const git_oid *key)
 {
-       khint_t pos = git_oidmap_lookup_index(map, key);
+       size_t pos = git_oidmap_lookup_index(map, key);
 
        if (!git_oidmap_valid_index(map, pos))
                return NULL;
@@ -108,7 +108,7 @@ static int add_to_known_names(
        if (replace_name(&tag, repo, e, prio, sha1)) {
                if (!found) {
                        e = git__malloc(sizeof(struct commit_name));
-                       GITERR_CHECK_ALLOC(e);
+                       GIT_ERROR_CHECK_ALLOC(e);
 
                        e->path = NULL;
                        e->tag = NULL;
@@ -151,7 +151,7 @@ static int retrieve_peeled_tag_or_object_oid(
        if ((error = git_reference_lookup_resolved(&ref, repo, refname, -1)) < 0)
                return error;
 
-       if ((error = git_reference_peel(&peeled, ref, GIT_OBJ_ANY)) < 0)
+       if ((error = git_reference_peel(&peeled, ref, GIT_OBJECT_ANY)) < 0)
                goto cleanup;
 
        git_oid_cpy(ref_target_out, git_reference_target(ref));
@@ -191,7 +191,7 @@ static int commit_name_dup(struct commit_name **out, struct commit_name *in)
        struct commit_name *name;
 
        name = git__malloc(sizeof(struct commit_name));
-       GITERR_CHECK_ALLOC(name);
+       GIT_ERROR_CHECK_ALLOC(name);
 
        memcpy(name, in,  sizeof(struct commit_name));
        name->tag = NULL;
@@ -201,7 +201,7 @@ static int commit_name_dup(struct commit_name **out, struct commit_name *in)
                return -1;
 
        name->path = git__strdup(in->path);
-       GITERR_CHECK_ALLOC(name->path);
+       GIT_ERROR_CHECK_ALLOC(name->path);
 
        *out = name;
        return 0;
@@ -267,7 +267,7 @@ static int possible_tag_dup(struct possible_tag **out, struct possible_tag *in)
        int error;
 
        tag = git__malloc(sizeof(struct possible_tag));
-       GITERR_CHECK_ALLOC(tag);
+       GIT_ERROR_CHECK_ALLOC(tag);
 
        memcpy(tag, in, sizeof(struct possible_tag));
        tag->name = NULL;
@@ -335,14 +335,14 @@ static int display_name(git_buf *buf, git_repository *repo, struct commit_name *
 {
        if (n->prio == 2 && !n->tag) {
                if (git_tag_lookup(&n->tag, repo, &n->sha1) < 0) {
-                       giterr_set(GITERR_TAG, "annotated tag '%s' not available", n->path);
+                       git_error_set(GIT_ERROR_TAG, "annotated tag '%s' not available", n->path);
                        return -1;
                }
        }
 
        if (n->tag && !n->name_checked) {
                if (!git_tag_name(n->tag)) {
-                       giterr_set(GITERR_TAG, "annotated tag '%s' has no embedded name", n->path);
+                       git_error_set(GIT_ERROR_TAG, "annotated tag '%s' has no embedded name", n->path);
                        return -1;
                }
 
@@ -366,7 +366,7 @@ static int find_unique_abbrev_size(
        int *out,
        git_repository *repo,
        const git_oid *oid_in,
-       int abbreviated_size)
+       unsigned int abbreviated_size)
 {
        size_t size = abbreviated_size;
        git_odb *odb;
@@ -392,7 +392,7 @@ static int find_unique_abbrev_size(
 
        /* If we didn't find any shorter prefix, we have to do the whole thing */
        *out = GIT_OID_HEXSZ;
-       
+
        return 0;
 }
 
@@ -401,7 +401,7 @@ static int show_suffix(
        int depth,
        git_repository *repo,
        const git_oid* id,
-       size_t abbrev_size)
+       unsigned int abbrev_size)
 {
        int error, size = 0;
 
@@ -425,7 +425,7 @@ static int describe_not_found(const git_oid *oid, const char *message_format) {
        char oid_str[GIT_OID_HEXSZ + 1];
        git_oid_tostr(oid_str, sizeof(oid_str), oid);
 
-       giterr_set(GITERR_DESCRIBE, message_format, oid_str);
+       git_error_set(GIT_ERROR_DESCRIBE, message_format, oid_str);
        return GIT_ENOTFOUND;
 }
 
@@ -504,7 +504,7 @@ static int describe(
                                unannotated_cnt++;
                        } else if (match_cnt < data->opts->max_candidates_tags) {
                                struct possible_tag *t = git__malloc(sizeof(struct commit_name));
-                               GITERR_CHECK_ALLOC(t);
+                               GIT_ERROR_CHECK_ALLOC(t);
                                if ((error = git_vector_insert(&all_matches, t)) < 0)
                                        goto cleanup;
 
@@ -563,14 +563,14 @@ static int describe(
                        goto cleanup;
                }
                if (unannotated_cnt) {
-                       error = describe_not_found(git_commit_id(commit), 
+                       error = describe_not_found(git_commit_id(commit),
                                "cannot describe - "
                                "no annotated tags can describe '%s'; "
                            "however, there were unannotated tags.");
                        goto cleanup;
                }
                else {
-                       error = describe_not_found(git_commit_id(commit), 
+                       error = describe_not_found(git_commit_id(commit),
                                "cannot describe - "
                                "no tags can describe '%s'.");
                        goto cleanup;
@@ -667,7 +667,7 @@ int git_describe_commit(
        assert(committish);
 
        data.result = git__calloc(1, sizeof(git_describe_result));
-       GITERR_CHECK_ALLOC(data.result);
+       GIT_ERROR_CHECK_ALLOC(data.result);
        data.result->repo = git_object_owner(committish);
 
        data.repo = git_object_owner(committish);
@@ -675,18 +675,18 @@ int git_describe_commit(
        if ((error = normalize_options(&normalized, opts)) < 0)
                return error;
 
-       GITERR_CHECK_VERSION(
+       GIT_ERROR_CHECK_VERSION(
                &normalized,
                GIT_DESCRIBE_OPTIONS_VERSION,
                "git_describe_options");
        data.opts = &normalized;
 
        data.names = git_oidmap_alloc();
-       GITERR_CHECK_ALLOC(data.names);
+       GIT_ERROR_CHECK_ALLOC(data.names);
 
        /** TODO: contains to be implemented */
 
-       if ((error = git_object_peel((git_object **)(&commit), committish, GIT_OBJ_COMMIT)) < 0)
+       if ((error = git_object_peel((git_object **)(&commit), committish, GIT_OBJECT_COMMIT)) < 0)
                goto cleanup;
 
        if ((error = git_reference_foreach_name(
@@ -695,7 +695,7 @@ int git_describe_commit(
                                goto cleanup;
 
        if (git_oidmap_size(data.names) == 0 && !opts->show_commit_oid_as_fallback) {
-               giterr_set(GITERR_DESCRIBE, "cannot describe - "
+               git_error_set(GIT_ERROR_DESCRIBE, "cannot describe - "
                        "no reference found, cannot describe anything.");
                error = -1;
                goto cleanup;
@@ -738,7 +738,7 @@ int git_describe_workdir(
        if ((error = git_reference_name_to_id(&current_id, repo, GIT_HEAD_FILE)) < 0)
                return error;
 
-       if ((error = git_object_lookup(&commit, repo, &current_id, GIT_OBJ_COMMIT)) < 0)
+       if ((error = git_object_lookup(&commit, repo, &current_id, GIT_OBJECT_COMMIT)) < 0)
                return error;
 
        /* The first step is to perform a describe of HEAD, so we can leverage this */
@@ -786,14 +786,14 @@ int git_describe_format(git_buf *out, const git_describe_result *result, const g
 
        assert(out && result);
 
-       GITERR_CHECK_VERSION(given, GIT_DESCRIBE_FORMAT_OPTIONS_VERSION, "git_describe_format_options");
+       GIT_ERROR_CHECK_VERSION(given, GIT_DESCRIBE_FORMAT_OPTIONS_VERSION, "git_describe_format_options");
        normalize_format_options(&opts, given);
 
        git_buf_sanitize(out);
 
 
        if (opts.always_use_long_format && opts.abbreviated_size == 0) {
-               giterr_set(GITERR_DESCRIBE, "cannot describe - "
+               git_error_set(GIT_ERROR_DESCRIBE, "cannot describe - "
                        "'always_use_long_format' is incompatible with a zero"
                        "'abbreviated_size'");
                return -1;
index c7a6528965b9401c1f0f11d52adb14772b2f9d18..d2e129d1b4b036e8d22e66f0ad6bc36934f3f189 100644 (file)
@@ -114,7 +114,7 @@ int git_diff_is_sorted_icase(const git_diff *diff)
 int git_diff_get_perfdata(git_diff_perfdata *out, const git_diff *diff)
 {
        assert(out);
-       GITERR_CHECK_VERSION(out, GIT_DIFF_PERFDATA_VERSION, "git_diff_perfdata");
+       GIT_ERROR_CHECK_VERSION(out, GIT_DIFF_PERFDATA_VERSION, "git_diff_perfdata");
        out->stat_calls = diff->perf.stat_calls;
        out->oid_calculations = diff->perf.oid_calculations;
        return 0;
@@ -251,7 +251,7 @@ int git_diff_format_email(
        assert(out && diff && opts);
        assert(opts->summary && opts->id && opts->author);
 
-       GITERR_CHECK_VERSION(opts,
+       GIT_ERROR_CHECK_VERSION(opts,
                GIT_DIFF_FORMAT_EMAIL_OPTIONS_VERSION,
                "git_format_email_options");
 
@@ -260,14 +260,14 @@ int git_diff_format_email(
 
        if (!ignore_marker) {
                if (opts->patch_no > opts->total_patches) {
-                       giterr_set(GITERR_INVALID,
+                       git_error_set(GIT_ERROR_INVALID,
                                "patch %"PRIuZ" out of range. max %"PRIuZ,
                                opts->patch_no, opts->total_patches);
                        return -1;
                }
 
                if (opts->patch_no == 0) {
-                       giterr_set(GITERR_INVALID,
+                       git_error_set(GIT_ERROR_INVALID,
                                "invalid patch no %"PRIuZ". should be >0", opts->patch_no);
                        return -1;
                }
@@ -280,14 +280,14 @@ int git_diff_format_email(
                size_t offset = 0;
 
                if ((offset = (loc - opts->summary)) == 0) {
-                       giterr_set(GITERR_INVALID, "summary is empty");
+                       git_error_set(GIT_ERROR_INVALID, "summary is empty");
                        error = -1;
                        goto on_error;
                }
 
-               GITERR_CHECK_ALLOC_ADD(&allocsize, offset, 1);
+               GIT_ERROR_CHECK_ALLOC_ADD(&allocsize, offset, 1);
                summary = git__calloc(allocsize, sizeof(char));
-               GITERR_CHECK_ALLOC(summary);
+               GIT_ERROR_CHECK_ALLOC(summary);
 
                strncpy(summary, opts->summary, offset);
        }
@@ -386,7 +386,7 @@ static int flush_hunk(git_oid *result, git_hash_ctx *ctx)
 
        for (i = 0; i < GIT_OID_RAWSZ; i++) {
                carry += result->id[i] + hash.id[i];
-               result->id[i] = carry;
+               result->id[i] = (unsigned char)carry;
                carry >>= 8;
        }
 
@@ -439,7 +439,7 @@ static int file_cb(
                goto out;
 
 out:
-       git_buf_free(&buf);
+       git_buf_dispose(&buf);
        return error;
 }
 
@@ -466,7 +466,7 @@ static int line_cb(
            case GIT_DIFF_LINE_CONTEXT:
                break;
            default:
-               giterr_set(GITERR_PATCH, "invalid line origin for patch");
+               git_error_set(GIT_ERROR_PATCH, "invalid line origin for patch");
                return -1;
        }
 
@@ -477,7 +477,7 @@ static int line_cb(
                goto out;
 
 out:
-       git_buf_free(&buf);
+       git_buf_dispose(&buf);
        return error;
 }
 
@@ -493,7 +493,7 @@ int git_diff_patchid(git_oid *out, git_diff *diff, git_diff_patchid_options *opt
        struct patch_id_args args;
        int error;
 
-       GITERR_CHECK_VERSION(
+       GIT_ERROR_CHECK_VERSION(
                opts, GIT_DIFF_PATCHID_OPTIONS_VERSION, "git_diff_patchid_options");
 
        memset(&args, 0, sizeof(args));
index 7114b06b638ee86a0101e57abed39e39e73bc24f..05246dfa3e16b5a7c69ee35166fd4c944807a43c 100644 (file)
@@ -121,7 +121,7 @@ static int diff_driver_add_patterns(
 
        if (error && pat != NULL)
                (void)git_array_pop(drv->fn_patterns); /* release last item */
-       git_buf_free(&buf);
+       git_buf_dispose(&buf);
 
        /* We want to ignore bad patterns, so return success regardless */
        return 0;
@@ -149,7 +149,7 @@ static git_diff_driver_registry *git_repository_driver_registry(
        }
 
        if (!repo->diff_drivers)
-               giterr_set(GITERR_REPOSITORY, "unable to create diff driver registry");
+               git_error_set(GIT_ERROR_REPOSITORY, "unable to create diff driver registry");
 
        return repo->diff_drivers;
 }
@@ -162,11 +162,11 @@ static int diff_driver_alloc(
                namelen = strlen(name),
                alloclen;
 
-       GITERR_CHECK_ALLOC_ADD(&alloclen, driverlen, namelen);
-       GITERR_CHECK_ALLOC_ADD(&alloclen, alloclen, 1);
+       GIT_ERROR_CHECK_ALLOC_ADD(&alloclen, driverlen, namelen);
+       GIT_ERROR_CHECK_ALLOC_ADD(&alloclen, alloclen, 1);
 
        driver = git__calloc(1, alloclen);
-       GITERR_CHECK_ALLOC(driver);
+       GIT_ERROR_CHECK_ALLOC(driver);
 
        memcpy(driver->name, name, namelen);
 
@@ -211,7 +211,7 @@ static int git_diff_driver_builtin(
                (error = p_regcomp(
                        &drv->word_pattern, ddef->words, ddef->flags | REG_EXTENDED)))
        {
-               error = giterr_set_regex(&drv->word_pattern, error);
+               error = git_error_set_regex(&drv->word_pattern, error);
                goto done;
        }
 
@@ -234,8 +234,7 @@ static int git_diff_driver_load(
        int error = 0;
        git_diff_driver_registry *reg;
        git_diff_driver *drv = NULL;
-       size_t namelen;
-       khiter_t pos;
+       size_t namelen, pos;
        git_config *cfg = NULL;
        git_buf name = GIT_BUF_INIT;
        git_config_entry *ce = NULL;
@@ -257,7 +256,7 @@ static int git_diff_driver_load(
 
        /* if you can't read config for repo, just use default driver */
        if (git_repository_config_snapshot(&cfg, repo) < 0) {
-               giterr_clear();
+               git_error_clear();
                goto done;
        }
 
@@ -288,7 +287,7 @@ static int git_diff_driver_load(
                        cfg, name.ptr, NULL, diff_driver_xfuncname, drv)) < 0) {
                if (error != GIT_ENOTFOUND)
                        goto done;
-               giterr_clear(); /* no diff.<driver>.xfuncname, so just continue */
+               git_error_clear(); /* no diff.<driver>.xfuncname, so just continue */
        }
 
        git_buf_truncate(&name, namelen + strlen("diff.."));
@@ -297,7 +296,7 @@ static int git_diff_driver_load(
                        cfg, name.ptr, NULL, diff_driver_funcname, drv)) < 0) {
                if (error != GIT_ENOTFOUND)
                        goto done;
-               giterr_clear(); /* no diff.<driver>.funcname, so just continue */
+               git_error_clear(); /* no diff.<driver>.funcname, so just continue */
        }
 
        /* if we found any patterns, set driver type to use correct callback */
@@ -316,7 +315,7 @@ static int git_diff_driver_load(
                found_driver = true;
        else {
                /* TODO: warn about bad regex instead of failure */
-               error = giterr_set_regex(&drv->word_pattern, error);
+               error = git_error_set_regex(&drv->word_pattern, error);
                goto done;
        }
 
@@ -338,7 +337,7 @@ static int git_diff_driver_load(
 
 done:
        git_config_entry_free(ce);
-       git_buf_free(&name);
+       git_buf_dispose(&name);
        git_config_free(cfg);
 
        if (!*out) {
@@ -380,7 +379,7 @@ int git_diff_driver_lookup(
        else if ((error = git_diff_driver_load(out, repo, values[0])) < 0) {
                if (error == GIT_ENOTFOUND) {
                        error = 0;
-                       giterr_clear();
+                       git_error_clear();
                }
        }
 
@@ -516,7 +515,7 @@ void git_diff_find_context_init(
 void git_diff_find_context_clear(git_diff_find_context_payload *payload)
 {
        if (payload) {
-               git_buf_free(&payload->line);
+               git_buf_dispose(&payload->line);
                payload->driver = NULL;
        }
 }
index 5bb9c372ab0bdbd97818d72463b894f454c7941a..ae1016d9a91717cfc6826da55f33de920313b7c7 100644 (file)
@@ -161,7 +161,7 @@ int git_diff_file_content__init_from_src(
                        fc->flags |= GIT_DIFF_FLAG__FREE_BLOB;
                } else {
                        fc->file->size = src->buflen;
-                       git_odb_hash(&fc->file->id, src->buf, src->buflen, GIT_OBJ_BLOB);
+                       git_odb_hash(&fc->file->id, src->buf, src->buflen, GIT_OBJECT_BLOB);
                        fc->file->id_abbrev = GIT_OID_HEXSZ;
 
                        fc->map.len  = src->buflen;
@@ -188,7 +188,7 @@ static int diff_file_content_commit_to_str(
                if ((error = git_submodule_lookup(&sm, fc->repo, fc->file->path)) < 0) {
                        /* GIT_EEXISTS means a "submodule" that has not been git added */
                        if (error == GIT_EEXISTS) {
-                               giterr_clear();
+                               git_error_clear();
                                error = 0;
                        }
                        return error;
@@ -251,7 +251,7 @@ static int diff_file_content_load_blob(
 
        if (odb_obj != NULL) {
                error = git_object__from_odb_object(
-                       (git_object **)&fc->blob, fc->repo, odb_obj, GIT_OBJ_BLOB);
+                       (git_object **)&fc->blob, fc->repo, odb_obj, GIT_OBJECT_BLOB);
                git_odb_object_free(odb_obj);
        } else {
                error = git_blob_lookup(
@@ -280,7 +280,7 @@ static int diff_file_content_load_workdir_symlink_fake(
        fc->map.data = git_buf_detach(&target);
        fc->flags |= GIT_DIFF_FLAG__FREE_DATA;
 
-       git_buf_free(&target);
+       git_buf_dispose(&target);
        return error;
 }
 
@@ -303,13 +303,13 @@ static int diff_file_content_load_workdir_symlink(
        alloc_len = (ssize_t)(fc->file->size * 2) + 1;
 
        fc->map.data = git__calloc(alloc_len, sizeof(char));
-       GITERR_CHECK_ALLOC(fc->map.data);
+       GIT_ERROR_CHECK_ALLOC(fc->map.data);
 
        fc->flags |= GIT_DIFF_FLAG__FREE_DATA;
 
        read_len = p_readlink(git_buf_cstr(path), fc->map.data, alloc_len);
        if (read_len < 0) {
-               giterr_set(GITERR_OS, "failed to read symlink '%s'", fc->file->path);
+               git_error_set(GIT_ERROR_OS, "failed to read symlink '%s'", fc->file->path);
                return -1;
        }
 
@@ -352,7 +352,7 @@ static int diff_file_content_load_workdir_file(
                }
 
                /* if mmap failed, fall through to try readbuffer below */
-               giterr_clear();
+               git_error_clear();
        }
 
        if (!(error = git_futils_readbuffer_fd(&raw, fd, (size_t)fc->file->size))) {
@@ -361,7 +361,7 @@ static int diff_file_content_load_workdir_file(
                error = git_filter_list_apply_to_data(&out, fl, &raw);
 
                if (out.ptr != raw.ptr)
-                       git_buf_free(&raw);
+                       git_buf_dispose(&raw);
 
                if (!error) {
                        fc->map.len  = out.size;
@@ -402,11 +402,11 @@ static int diff_file_content_load_workdir(
        /* once data is loaded, update OID if we didn't have it previously */
        if (!error && (fc->file->flags & GIT_DIFF_FLAG_VALID_ID) == 0) {
                error = git_odb_hash(
-                       &fc->file->id, fc->map.data, fc->map.len, GIT_OBJ_BLOB);
+                       &fc->file->id, fc->map.data, fc->map.len, GIT_OBJECT_BLOB);
                fc->file->flags |= GIT_DIFF_FLAG_VALID_ID;
        }
 
-       git_buf_free(&path);
+       git_buf_dispose(&path);
        return error;
 }
 
index e11cbe4e4c475e690e71fbfb3aec6746176dad9f..5579dc2143ddf57b12c5098989b735e76fd29b45 100644 (file)
@@ -81,7 +81,7 @@ static int diff_insert_delta(
                        if (error > 0)  /* positive value means to skip this delta */
                                return 0;
                        else                    /* negative value means to cancel diff */
-                               return giterr_set_after_callback_function(error, "git_diff");
+                               return git_error_set_after_callback_function(error, "git_diff");
                }
        }
 
@@ -138,7 +138,7 @@ static int diff_delta__from_one(
        if (DIFF_FLAG_IS_SET(diff, GIT_DIFF_REVERSE))
                has_old = !has_old;
 
-       if ((entry->flags & GIT_IDXENTRY_VALID) != 0)
+       if ((entry->flags & GIT_INDEX_ENTRY_VALID) != 0)
                return 0;
 
        if (status == GIT_DELTA_IGNORED &&
@@ -157,7 +157,7 @@ static int diff_delta__from_one(
                return 0;
 
        delta = diff_delta__alloc(diff, status, entry->path);
-       GITERR_CHECK_ALLOC(delta);
+       GIT_ERROR_CHECK_ALLOC(delta);
 
        /* This fn is just for single-sided diffs */
        assert(status != GIT_DELTA_MODIFIED);
@@ -220,7 +220,7 @@ static int diff_delta__from_two(
        }
 
        delta = diff_delta__alloc(diff, status, canonical_path);
-       GITERR_CHECK_ALLOC(delta);
+       GIT_ERROR_CHECK_ALLOC(delta);
        delta->nfiles = 2;
 
        if (!git_index_entry_is_conflict(old_entry)) {
@@ -273,7 +273,8 @@ static git_diff_delta *diff_delta__last_for_item(
                break;
        case GIT_DELTA_MODIFIED:
                if (git_oid__cmp(&delta->old_file.id, &item->id) == 0 ||
-                       git_oid__cmp(&delta->new_file.id, &item->id) == 0)
+                   (delta->new_file.mode == item->mode &&
+                       git_oid__cmp(&delta->new_file.id, &item->id) == 0))
                        return delta;
                break;
        default:
@@ -516,7 +517,7 @@ static int diff_generated_apply_options(
 
                if (entry && git_submodule_parse_ignore(
                                &diff->base.opts.ignore_submodules, entry->value) < 0)
-                       giterr_clear();
+                       git_error_clear();
                git_config_entry_free(entry);
        }
 
@@ -563,9 +564,14 @@ int git_diff__oid_for_file(
 {
        git_index_entry entry;
 
+       if (size < 0 || size > UINT32_MAX) {
+               git_error_set(GIT_ERROR_NOMEMORY, "file size overflow (for 32-bits) on '%s'", path);
+               return -1;
+       }
+
        memset(&entry, 0, sizeof(entry));
        entry.mode = mode;
-       entry.file_size = size;
+       entry.file_size = (uint32_t)size;
        entry.path = (char *)path;
 
        return git_diff__oid_for_entry(out, diff, &entry, mode, NULL);
@@ -600,7 +606,7 @@ int git_diff__oid_for_entry(
 
                if (p_stat(full_path.ptr, &st) < 0) {
                        error = git_path_set_error(errno, entry.path, "stat");
-                       git_buf_free(&full_path);
+                       git_buf_dispose(&full_path);
                        return error;
                }
 
@@ -621,13 +627,13 @@ int git_diff__oid_for_entry(
                        /* if submodule lookup failed probably just in an intermediate
                         * state where some init hasn't happened, so ignore the error
                         */
-                       giterr_clear();
+                       git_error_clear();
                }
        } else if (S_ISLNK(mode)) {
                error = git_odb__hashlink(out, full_path.ptr);
                diff->base.perf.oid_calculations++;
        } else if (!git__is_sizet(entry.file_size)) {
-               giterr_set(GITERR_OS, "file size overflow (for 32-bits) on '%s'",
+               git_error_set(GIT_ERROR_NOMEMORY, "file size overflow (for 32-bits) on '%s'",
                        entry.path);
                error = -1;
        } else if (!(error = git_filter_list_load(&fl,
@@ -639,7 +645,7 @@ int git_diff__oid_for_entry(
                        error = fd;
                else {
                        error = git_odb__hashfd_filtered(
-                               out, fd, (size_t)entry.file_size, GIT_OBJ_BLOB, fl);
+                               out, fd, (size_t)entry.file_size, GIT_OBJECT_BLOB, fl);
                        p_close(fd);
                        diff->base.perf.oid_calculations++;
                }
@@ -663,7 +669,7 @@ int git_diff__oid_for_entry(
                }
        }
 
-       git_buf_free(&full_path);
+       git_buf_dispose(&full_path);
        return error;
 }
 
@@ -699,7 +705,7 @@ static int maybe_modified_submodule(
 
                /* GIT_EEXISTS means dir with .git in it was found - ignore it */
                if (error == GIT_EEXISTS) {
-                       giterr_clear();
+                       git_error_clear();
                        error = 0;
                }
                return error;
@@ -763,11 +769,11 @@ static int maybe_modified(
                status = GIT_DELTA_CONFLICTED;
 
        /* support "assume unchanged" (poorly, b/c we still stat everything) */
-       } else if ((oitem->flags & GIT_IDXENTRY_VALID) != 0) {
+       } else if ((oitem->flags & GIT_INDEX_ENTRY_VALID) != 0) {
                status = GIT_DELTA_UNMODIFIED;
 
        /* support "skip worktree" index bit */
-       } else if ((oitem->flags_extended & GIT_IDXENTRY_SKIP_WORKTREE) != 0) {
+       } else if ((oitem->flags_extended & GIT_INDEX_ENTRY_SKIP_WORKTREE) != 0) {
                status = GIT_DELTA_UNMODIFIED;
 
        /* if basic type of file changed, then split into delete and add */
@@ -1059,7 +1065,7 @@ static int handle_unmatched_new_item(
 
                        /* if directory is empty, can't advance into it, so skip it */
                        if (error == GIT_ENOTFOUND) {
-                               giterr_clear();
+                               git_error_clear();
                                error = iterator_advance(&info->nitem, info->new_iter);
                        }
 
@@ -1081,7 +1087,7 @@ static int handle_unmatched_new_item(
        else if (nitem->mode == GIT_FILEMODE_COMMIT) {
                /* ignore things that are not actual submodules */
                if (git_submodule_lookup(NULL, info->repo, nitem->path) != 0) {
-                       giterr_clear();
+                       git_error_clear();
                        delta_type = GIT_DELTA_IGNORED;
 
                        /* if this contains a tracked item, treat as normal TREE */
@@ -1090,7 +1096,7 @@ static int handle_unmatched_new_item(
                                if (error != GIT_ENOTFOUND)
                                        return error;
 
-                               giterr_clear();
+                               git_error_clear();
                                return iterator_advance(&info->nitem, info->new_iter);
                        }
                }
@@ -1191,7 +1197,7 @@ int git_diff__from_iterators(
        *out = NULL;
 
        diff = diff_generated_alloc(repo, old_iter, new_iter);
-       GITERR_CHECK_ALLOC(diff);
+       GIT_ERROR_CHECK_ALLOC(diff);
 
        info.repo = repo;
        info.old_iter = old_iter;
@@ -1268,7 +1274,7 @@ cleanup:
        b_opts.flags = FLAGS_SECOND; \
        b_opts.start = pfx; \
        b_opts.end = pfx; \
-       GITERR_CHECK_VERSION(opts, GIT_DIFF_OPTIONS_VERSION, "git_diff_options"); \
+       GIT_ERROR_CHECK_VERSION(opts, GIT_DIFF_OPTIONS_VERSION, "git_diff_options"); \
        if (opts && (opts->flags & GIT_DIFF_DISABLE_PATHSPEC_MATCH)) { \
                a_opts.pathlist.strings = opts->pathspec.strings; \
                a_opts.pathlist.count = opts->pathspec.count; \
@@ -1319,7 +1325,7 @@ static int diff_load_index(git_index **index, git_repository *repo)
 
        /* reload the repository index when user did not pass one in */
        if (!error && git_index_read(*index, false) < 0)
-               giterr_clear();
+               git_error_clear();
 
        return error;
 }
@@ -1551,7 +1557,7 @@ int git_diff__paired_foreach(
                }
 
                if ((error = cb(h2i, i2w, payload)) != 0) {
-                       giterr_set_after_callback(error);
+                       git_error_set_after_callback(error);
                        break;
                }
        }
@@ -1590,7 +1596,7 @@ int git_diff__commit(
                char commit_oidstr[GIT_OID_HEXSZ + 1];
 
                error = -1;
-               giterr_set(GITERR_INVALID, "commit %s is a merge commit",
+               git_error_set(GIT_ERROR_INVALID, "commit %s is a merge commit",
                        git_oid_tostr(commit_oidstr, GIT_OID_HEXSZ + 1, git_commit_id(commit)));
                goto on_error;
        }
index 3f182b0ba6f010b87b24d0be6193ef5ed60d3775..6e669a3d5dc9a5c254dccfa283ff73a4167a4c71 100644 (file)
@@ -109,7 +109,7 @@ GIT_INLINE(int) git_diff_file__resolve_zero_size(
        int error;
        git_odb *odb;
        size_t len;
-       git_otype type;
+       git_object_t type;
 
        if ((error = git_repository_odb(&odb, repo)) < 0)
                return error;
index 59fd8612a8295d0b1ccf70f628fed3a45042bed6..b4c76a3eb7074e69b1515907628a2453a34e87e0 100644 (file)
@@ -78,10 +78,10 @@ int git_diff_from_buffer(
        *out = NULL;
 
        diff = diff_parsed_alloc();
-       GITERR_CHECK_ALLOC(diff);
+       GIT_ERROR_CHECK_ALLOC(diff);
 
        ctx = git_patch_parse_ctx_init(content, content_len, NULL);
-       GITERR_CHECK_ALLOC(ctx);
+       GIT_ERROR_CHECK_ALLOC(ctx);
 
        while (ctx->parse_ctx.remain_len) {
                if ((error = git_patch_parse(&patch, ctx)) < 0)
@@ -92,7 +92,7 @@ int git_diff_from_buffer(
        }
 
        if (error == GIT_ENOTFOUND && git_vector_length(&diff->patches) > 0) {
-               giterr_clear();
+               git_error_clear();
                error = 0;
        }
 
index 5e535482ca901ed397b84ff95d99e3622e9a34d5..8705615a09606c8b3d9450e118658c1098a64aa7 100644 (file)
@@ -224,7 +224,7 @@ static int diff_print_one_raw(
                delta->new_file.id_abbrev;
 
        if (pi->id_strlen > id_abbrev) {
-               giterr_set(GITERR_PATCH,
+               git_error_set(GIT_ERROR_PATCH,
                        "the patch input contains %d id characters (cannot print %d)",
                        id_abbrev, pi->id_strlen);
                return -1;
@@ -275,7 +275,7 @@ static int diff_print_oid_range(
 
        if (delta->old_file.mode &&
                        id_strlen > delta->old_file.id_abbrev) {
-               giterr_set(GITERR_PATCH,
+               git_error_set(GIT_ERROR_PATCH,
                        "the patch input contains %d id characters (cannot print %d)",
                        delta->old_file.id_abbrev, id_strlen);
                return -1;
@@ -283,7 +283,7 @@ static int diff_print_oid_range(
 
        if ((delta->new_file.mode &&
                        id_strlen > delta->new_file.id_abbrev)) {
-               giterr_set(GITERR_PATCH,
+               git_error_set(GIT_ERROR_PATCH,
                        "the patch input contains %d id characters (cannot print %d)",
                        delta->new_file.id_abbrev, id_strlen);
                return -1;
@@ -343,7 +343,7 @@ int diff_delta_format_similarity_header(
        int error = 0;
 
        if (delta->similarity > 100) {
-               giterr_set(GITERR_PATCH, "invalid similarity %d", delta->similarity);
+               git_error_set(GIT_ERROR_PATCH, "invalid similarity %d", delta->similarity);
                error = -1;
                goto done;
        }
@@ -373,8 +373,8 @@ int diff_delta_format_similarity_header(
                error = -1;
 
 done:
-       git_buf_free(&old_path);
-       git_buf_free(&new_path);
+       git_buf_dispose(&old_path);
+       git_buf_dispose(&new_path);
 
        return error;
 }
@@ -446,8 +446,8 @@ int git_diff_delta__format_file_header(
                error = -1;
 
 done:
-       git_buf_free(&old_path);
-       git_buf_free(&new_path);
+       git_buf_dispose(&old_path);
+       git_buf_dispose(&new_path);
 
        return error;
 }
@@ -509,8 +509,8 @@ static int diff_print_patch_file_binary_noshow(
                old_path.ptr, new_path.ptr);
 
 done:
-       git_buf_free(&old_path);
-       git_buf_free(&new_path);
+       git_buf_dispose(&old_path);
+       git_buf_dispose(&new_path);
 
        return error;
 }
@@ -540,7 +540,7 @@ static int diff_print_patch_file_binary(
                        binary->old_file.datalen, binary->old_file.inflatedlen)) < 0) {
 
                if (error == GIT_EBUFS) {
-                       giterr_clear();
+                       git_error_clear();
                        git_buf_truncate(pi->buf, pre_binary_size);
 
                        return diff_print_patch_file_binary_noshow(
@@ -683,7 +683,7 @@ int git_diff_print(
                print_file = diff_print_one_name_status;
                break;
        default:
-               giterr_set(GITERR_INVALID, "unknown diff output format (%d)", format);
+               git_error_set(GIT_ERROR_INVALID, "unknown diff output format (%d)", format);
                return -1;
        }
 
@@ -693,10 +693,10 @@ int git_diff_print(
                        diff, print_file, print_binary, print_hunk, print_line, &pi);
 
                if (error) /* make sure error message is set */
-                       giterr_set_after_callback_function(error, "git_diff_print");
+                       git_error_set_after_callback_function(error, "git_diff_print");
        }
 
-       git_buf_free(&buf);
+       git_buf_dispose(&buf);
 
        return error;
 }
@@ -711,7 +711,7 @@ int git_diff_print_callback__to_buf(
        GIT_UNUSED(delta); GIT_UNUSED(hunk);
 
        if (!output) {
-               giterr_set(GITERR_INVALID, "buffer pointer must be provided");
+               git_error_set(GIT_ERROR_INVALID, "buffer pointer must be provided");
                return -1;
        }
 
@@ -773,10 +773,10 @@ int git_patch_print(
                        &pi);
 
                if (error) /* make sure error message is set */
-                       giterr_set_after_callback_function(error, "git_patch_print");
+                       git_error_set_after_callback_function(error, "git_patch_print");
        }
 
-       git_buf_free(&temp);
+       git_buf_dispose(&temp);
 
        return error;
 }
index 583c684593c80fc90775d9a5ca78a7041d1c9856..a0681712fc375ffb63d4246ebc2961d9600cfc73 100644 (file)
@@ -54,22 +54,37 @@ int git_diff_file_stats__full_to_buf(
        size_t width)
 {
        const char *old_path = NULL, *new_path = NULL;
-       size_t padding, old_size, new_size;
+       size_t padding;
+       git_off_t old_size, new_size;
 
        old_path = delta->old_file.path;
        new_path = delta->new_file.path;
        old_size = delta->old_file.size;
        new_size = delta->new_file.size;
 
-       if (git_buf_printf(out, " %s", old_path) < 0)
-               goto on_error;
-
        if (strcmp(old_path, new_path) != 0) {
+               size_t common_dirlen;
+               int error;
+
                padding = stats->max_name - strlen(old_path) - strlen(new_path);
 
-               if (git_buf_printf(out, DIFF_RENAME_FILE_SEPARATOR "%s", new_path) < 0)
+               if ((common_dirlen = git_path_common_dirlen(old_path, new_path)) &&
+                   common_dirlen <= INT_MAX) {
+                       error = git_buf_printf(out, " %.*s{%s"DIFF_RENAME_FILE_SEPARATOR"%s}",
+                                              (int) common_dirlen, old_path,
+                                              old_path + common_dirlen,
+                                              new_path + common_dirlen);
+               } else {
+                       error = git_buf_printf(out, " %s" DIFF_RENAME_FILE_SEPARATOR "%s",
+                                              old_path, new_path);
+               }
+
+               if (error < 0)
                        goto on_error;
        } else {
+               if (git_buf_printf(out, " %s", old_path) < 0)
+                       goto on_error;
+
                padding = stats->max_name - strlen(old_path);
 
                if (stats->renames > 0)
@@ -82,7 +97,7 @@ int git_diff_file_stats__full_to_buf(
 
        if (delta->flags & GIT_DIFF_FLAG_BINARY) {
                if (git_buf_printf(out,
-                               "Bin %" PRIuZ " -> %" PRIuZ " bytes", old_size, new_size) < 0)
+                               "Bin %" PRId64 " -> %" PRId64 " bytes", old_size, new_size) < 0)
                        goto on_error;
        }
        else {
@@ -170,7 +185,7 @@ int git_diff_get_stats(
        assert(out && diff);
 
        stats = git__calloc(1, sizeof(git_diff_stats));
-       GITERR_CHECK_ALLOC(stats);
+       GIT_ERROR_CHECK_ALLOC(stats);
 
        deltas = git_diff_num_deltas(diff);
 
index a9706e002551afaec91d6c2ef2c411f7cf6203e3..00ce1cbf63d15d31496b77b1c4defb5ccc2a3dd0 100644 (file)
@@ -131,7 +131,7 @@ int git_diff__merge(
 
        if (ignore_case != ((from->opts.flags & GIT_DIFF_IGNORE_CASE) != 0) ||
                reversed    != ((from->opts.flags & GIT_DIFF_REVERSE) != 0)) {
-               giterr_set(GITERR_INVALID,
+               git_error_set(GIT_ERROR_INVALID,
                        "attempt to merge diffs created with conflicting options");
                return -1;
        }
@@ -251,7 +251,7 @@ static int normalize_find_opts(
        git_config *cfg = NULL;
        git_hashsig_option_t hashsig_opts;
 
-       GITERR_CHECK_VERSION(given, GIT_DIFF_FIND_OPTIONS_VERSION, "git_diff_find_options");
+       GIT_ERROR_CHECK_VERSION(given, GIT_DIFF_FIND_OPTIONS_VERSION, "git_diff_find_options");
 
        if (diff->repo != NULL &&
                git_repository_config__weakptr(&cfg, diff->repo) < 0)
@@ -332,7 +332,7 @@ static int normalize_find_opts(
        /* assign the internal metric with whitespace flag as payload */
        if (!opts->metric) {
                opts->metric = git__malloc(sizeof(git_diff_similarity_metric));
-               GITERR_CHECK_ALLOC(opts->metric);
+               GIT_ERROR_CHECK_ALLOC(opts->metric);
 
                opts->metric->file_signature = git_diff_find_similar__hashsig_for_file;
                opts->metric->buffer_signature = git_diff_find_similar__hashsig_for_buf;
@@ -357,7 +357,7 @@ static int insert_delete_side_of_split(
 {
        /* make new record for DELETED side of split */
        git_diff_delta *deleted = git_diff__delta_dup(delta, &diff->pool);
-       GITERR_CHECK_ALLOC(deleted);
+       GIT_ERROR_CHECK_ALLOC(deleted);
 
        deleted->status = GIT_DELTA_DELETED;
        deleted->nfiles = 1;
@@ -496,13 +496,13 @@ static int similarity_sig(
                if (info->odb_obj != NULL)
                        error = git_object__from_odb_object(
                                (git_object **)&info->blob, info->repo,
-                               info->odb_obj, GIT_OBJ_BLOB);
+                               info->odb_obj, GIT_OBJECT_BLOB);
                else
                        error = git_blob_lookup(&info->blob, info->repo, &file->id);
 
                if (error < 0) {
                        /* if lookup fails, just skip this item in similarity calc */
-                       giterr_clear();
+                       git_error_clear();
                } else {
                        size_t sz;
 
@@ -529,7 +529,7 @@ static void similarity_unload(similarity_info *info)
        if (info->blob)
                git_blob_free(info->blob);
        else
-               git_buf_free(&info->data);
+               git_buf_dispose(&info->data);
 }
 
 #define FLAG_SET(opts,flag_name) (((opts)->flags & flag_name) != 0)
@@ -816,6 +816,8 @@ int git_diff_find_similar(
        diff_find_match *best_match;
        git_diff_file swap;
 
+       assert(diff);
+
        if ((error = normalize_find_opts(diff, &opts, given_opts)) < 0)
                return error;
 
@@ -829,9 +831,9 @@ int git_diff_find_similar(
        if ((opts.flags & GIT_DIFF_FIND_ALL) == 0)
                goto cleanup;
 
-       GITERR_CHECK_ALLOC_MULTIPLY(&sigcache_size, num_deltas, 2);
+       GIT_ERROR_CHECK_ALLOC_MULTIPLY(&sigcache_size, num_deltas, 2);
        sigcache = git__calloc(sigcache_size, sizeof(void *));
-       GITERR_CHECK_ALLOC(sigcache);
+       GIT_ERROR_CHECK_ALLOC(sigcache);
 
        /* Label rename sources and targets
         *
@@ -854,13 +856,13 @@ int git_diff_find_similar(
                goto cleanup;
 
        src2tgt = git__calloc(num_deltas, sizeof(diff_find_match));
-       GITERR_CHECK_ALLOC(src2tgt);
+       GIT_ERROR_CHECK_ALLOC(src2tgt);
        tgt2src = git__calloc(num_deltas, sizeof(diff_find_match));
-       GITERR_CHECK_ALLOC(tgt2src);
+       GIT_ERROR_CHECK_ALLOC(tgt2src);
 
        if (FLAG_SET(&opts, GIT_DIFF_FIND_COPIES)) {
                tgt2src_copy = git__calloc(num_deltas, sizeof(diff_find_match));
-               GITERR_CHECK_ALLOC(tgt2src_copy);
+               GIT_ERROR_CHECK_ALLOC(tgt2src_copy);
        }
 
        /*
index 701eb1b5fc71cf5321fd3b393012f75c60e23228..c4668fa2fdca4d6451166d968a0652d9ff64e8cd 100644 (file)
@@ -6,6 +6,7 @@
  */
 
 #include "diff_xdiff.h"
+#include "util.h"
 
 #include "git2/errors.h"
 #include "diff.h"
@@ -51,7 +52,7 @@ static int git_xdiff_parse_hunk(git_diff_hunk *hunk, const char *header)
        return 0;
 
 fail:
-       giterr_set(GITERR_INVALID, "malformed hunk header from xdiff");
+       git_error_set(GIT_ERROR_INVALID, "malformed hunk header from xdiff");
        return -1;
 }
 
@@ -100,7 +101,7 @@ static int diff_update_lines(
                info->new_lineno += (int)line->num_lines;
                break;
        default:
-               giterr_set(GITERR_INVALID, "unknown diff line origin %02x",
+               git_error_set(GIT_ERROR_INVALID, "unknown diff line origin %02x",
                        (unsigned int)line->origin);
                return -1;
        }
@@ -115,6 +116,7 @@ static int git_xdiff_cb(void *priv, mmbuffer_t *bufs, int len)
        const git_diff_delta *delta = patch->base.delta;
        git_patch_generated_output *output = &info->xo->output;
        git_diff_line line;
+       size_t buffer_len;
 
        if (len == 1) {
                output->error = git_xdiff_parse_hunk(&info->hunk, bufs[0].ptr);
@@ -124,6 +126,16 @@ static int git_xdiff_cb(void *priv, mmbuffer_t *bufs, int len)
                info->hunk.header_len = bufs[0].size;
                if (info->hunk.header_len >= sizeof(info->hunk.header))
                        info->hunk.header_len = sizeof(info->hunk.header) - 1;
+
+               /* Sanitize the hunk header in case there is invalid Unicode */
+               buffer_len = git__utf8_valid_buf_length((const uint8_t *) bufs[0].ptr, info->hunk.header_len);
+               /* Sanitizing the hunk header may delete the newline, so add it back again if there is room */
+               if (buffer_len < info->hunk.header_len) {
+                       bufs[0].ptr[buffer_len] = '\n';
+                       buffer_len += 1;
+                       info->hunk.header_len = buffer_len;
+               }
+
                memcpy(info->hunk.header, bufs[0].ptr, info->hunk.header_len);
                info->hunk.header[info->hunk.header_len] = '\0';
 
@@ -212,7 +224,7 @@ static int git_xdiff(git_patch_generated_output *output, git_patch_generated *pa
 
        if (info.xd_old_data.size > GIT_XDIFF_MAX_SIZE ||
                info.xd_new_data.size > GIT_XDIFF_MAX_SIZE) {
-               giterr_set(GITERR_INVALID, "files too large for diff");
+               git_error_set(GIT_ERROR_INVALID, "files too large for diff");
                return -1;
        }
 
index a874163b0d9c636d44483802612c7f13a397cd9b..afa3409368369a21145ab46f317df42b45bcdce9 100644 (file)
@@ -17,7 +17,7 @@
 
 static git_error g_git_oom_error = {
        "Out of memory",
-       GITERR_NOMEMORY
+       GIT_ERROR_NOMEMORY
 };
 
 static void set_error_from_buffer(int error_class)
@@ -44,18 +44,18 @@ static void set_error(int error_class, char *string)
        set_error_from_buffer(error_class);
 }
 
-void giterr_set_oom(void)
+void git_error_set_oom(void)
 {
        GIT_GLOBAL->last_error = &g_git_oom_error;
 }
 
-void giterr_set(int error_class, const char *string, ...)
+void git_error_set(int error_class, const char *string, ...)
 {
        va_list arglist;
 #ifdef GIT_WIN32
-       DWORD win32_error_code = (error_class == GITERR_OS) ? GetLastError() : 0;
+       DWORD win32_error_code = (error_class == GIT_ERROR_OS) ? GetLastError() : 0;
 #endif
-       int error_code = (error_class == GITERR_OS) ? errno : 0;
+       int error_code = (error_class == GIT_ERROR_OS) ? errno : 0;
        git_buf *buf = &GIT_GLOBAL->error_buf;
 
        git_buf_clear(buf);
@@ -64,11 +64,11 @@ void giterr_set(int error_class, const char *string, ...)
                git_buf_vprintf(buf, string, arglist);
                va_end(arglist);
 
-               if (error_class == GITERR_OS)
+               if (error_class == GIT_ERROR_OS)
                        git_buf_PUTS(buf, ": ");
        }
 
-       if (error_class == GITERR_OS) {
+       if (error_class == GIT_ERROR_OS) {
 #ifdef GIT_WIN32
                char * win32_error = git_win32_get_error_message(win32_error_code);
                if (win32_error) {
@@ -90,7 +90,7 @@ void giterr_set(int error_class, const char *string, ...)
                set_error_from_buffer(error_class);
 }
 
-void giterr_set_str(int error_class, const char *string)
+void git_error_set_str(int error_class, const char *string)
 {
        git_buf *buf = &GIT_GLOBAL->error_buf;
 
@@ -105,14 +105,14 @@ void giterr_set_str(int error_class, const char *string)
                set_error_from_buffer(error_class);
 }
 
-int giterr_set_regex(const regex_t *regex, int error_code)
+int git_error_set_regex(const regex_t *regex, int error_code)
 {
        char error_buf[1024];
 
        assert(error_code);
 
        regerror(error_code, regex, error_buf, sizeof(error_buf));
-       giterr_set_str(GITERR_REGEX, error_buf);
+       git_error_set_str(GIT_ERROR_REGEX, error_buf);
 
        if (error_code == REG_NOMATCH)
                return GIT_ENOTFOUND;
@@ -120,7 +120,7 @@ int giterr_set_regex(const regex_t *regex, int error_code)
        return GIT_EINVALIDSPEC;
 }
 
-void giterr_clear(void)
+void git_error_clear(void)
 {
        if (GIT_GLOBAL->last_error != NULL) {
                set_error(0, NULL);
@@ -133,12 +133,12 @@ void giterr_clear(void)
 #endif
 }
 
-const git_error *giterr_last(void)
+const git_error *git_error_last(void)
 {
        return GIT_GLOBAL->last_error;
 }
 
-int giterr_state_capture(git_error_state *state, int error_code)
+int git_error_state_capture(git_error_state *state, int error_code)
 {
        git_error *error = GIT_GLOBAL->last_error;
        git_buf *error_buf = &GIT_GLOBAL->error_buf;
@@ -160,19 +160,19 @@ int giterr_state_capture(git_error_state *state, int error_code)
                        state->error_msg.message = git_buf_detach(error_buf);
        }
 
-       giterr_clear();
+       git_error_clear();
        return error_code;
 }
 
-int giterr_state_restore(git_error_state *state)
+int git_error_state_restore(git_error_state *state)
 {
        int ret = 0;
 
-       giterr_clear();
+       git_error_clear();
 
        if (state && state->error_msg.message) {
                if (state->oom)
-                       giterr_set_oom();
+                       git_error_set_oom();
                else
                        set_error(state->error_msg.klass, state->error_msg.message);
 
@@ -183,7 +183,7 @@ int giterr_state_restore(git_error_state *state)
        return ret;
 }
 
-void giterr_state_free(git_error_state *state)
+void git_error_state_free(git_error_state *state)
 {
        if (!state)
                return;
@@ -194,7 +194,7 @@ void giterr_state_free(git_error_state *state)
        memset(state, 0, sizeof(git_error_state));
 }
 
-int giterr_system_last(void)
+int git_error_system_last(void)
 {
 #ifdef GIT_WIN32
        return GetLastError();
@@ -203,7 +203,7 @@ int giterr_system_last(void)
 #endif
 }
 
-void giterr_system_set(int code)
+void git_error_system_set(int code)
 {
 #ifdef GIT_WIN32
        SetLastError(code);
@@ -211,3 +211,25 @@ void giterr_system_set(int code)
        errno = code;
 #endif
 }
+
+/* Deprecated error values and functions */
+
+const git_error *giterr_last(void)
+{
+       return git_error_last();
+}
+
+void giterr_clear(void)
+{
+       git_error_clear();
+}
+
+void giterr_set_str(int error_class, const char *string)
+{
+       git_error_set_str(error_class, string);
+}
+
+void giterr_set_oom(void)
+{
+       git_error_set_oom();
+}
index e03b7a251726b260a43cc6021ca4ad9f2ee0588b..694a61c02b16aacab61f406ebf8e8f51822c54dc 100644 (file)
 
 #cmakedefine GIT_GSSAPI 1
 #cmakedefine GIT_WINHTTP 1
-#cmakedefine GIT_CURL 1
 
 #cmakedefine GIT_HTTPS 1
 #cmakedefine GIT_OPENSSL 1
 #cmakedefine GIT_SECURE_TRANSPORT 1
+#cmakedefine GIT_MBEDTLS 1
 
 #cmakedefine GIT_SHA1_COLLISIONDETECT 1
 #cmakedefine GIT_SHA1_WIN32 1
 #cmakedefine GIT_SHA1_COMMON_CRYPTO 1
 #cmakedefine GIT_SHA1_OPENSSL 1
+#cmakedefine GIT_SHA1_MBEDTLS 1
 
 #endif
index 0b22b3673b49618c0ca3c7933f03255e450f825e..d29341b94398c868504cf19be0277f04e0822f6a 100644 (file)
@@ -78,7 +78,7 @@ static int filter_wants(git_remote *remote, const git_fetch_options *opts)
                        goto cleanup;
 
                error = git_refspec__dwim_one(&remote->active_refspecs, &head, &remote->refs);
-               git_refspec__free(&head);
+               git_refspec__dispose(&head);
 
                if (error < 0)
                        goto cleanup;
@@ -96,7 +96,7 @@ static int filter_wants(git_remote *remote, const git_fetch_options *opts)
        }
 
 cleanup:
-       git_refspec__free(&tagspec);
+       git_refspec__dispose(&tagspec);
 
        return error;
 }
@@ -113,7 +113,7 @@ int git_fetch_negotiate(git_remote *remote, const git_fetch_options *opts)
        remote->need_pack = 0;
 
        if (filter_wants(remote, opts) < 0) {
-               giterr_set(GITERR_NET, "failed to filter the reference list for wants");
+               git_error_set(GIT_ERROR_NET, "failed to filter the reference list for wants");
                return -1;
        }
 
index e55e7c85b55039f6352b96255efc63aaae22bfc6..bdded029abe2176bc8f39b38b3e2e6f4a4463743 100644 (file)
@@ -50,7 +50,7 @@ int git_fetchhead_ref_create(
        *out = NULL;
 
        fetchhead_ref = git__malloc(sizeof(git_fetchhead_ref));
-       GITERR_CHECK_ALLOC(fetchhead_ref);
+       GIT_ERROR_CHECK_ALLOC(fetchhead_ref);
 
        memset(fetchhead_ref, 0x0, sizeof(git_fetchhead_ref));
 
@@ -119,11 +119,11 @@ int git_fetchhead_write(git_repository *repo, git_vector *fetchhead_refs)
                return -1;
 
        if (git_filebuf_open(&file, path.ptr, GIT_FILEBUF_APPEND, GIT_REFS_FILE_MODE) < 0) {
-               git_buf_free(&path);
+               git_buf_dispose(&path);
                return -1;
        }
 
-       git_buf_free(&path);
+       git_buf_dispose(&path);
 
        git_vector_sort(fetchhead_refs);
 
@@ -148,7 +148,7 @@ static int fetchhead_ref_parse(
        *remote_url = NULL;
 
        if (!*line) {
-               giterr_set(GITERR_FETCHHEAD,
+               git_error_set(GIT_ERROR_FETCHHEAD,
                        "empty line in FETCH_HEAD line %"PRIuZ, line_num);
                return -1;
        }
@@ -162,16 +162,16 @@ static int fetchhead_ref_parse(
        }
 
        if (strlen(oid_str) != GIT_OID_HEXSZ) {
-               giterr_set(GITERR_FETCHHEAD,
+               git_error_set(GIT_ERROR_FETCHHEAD,
                        "invalid object ID in FETCH_HEAD line %"PRIuZ, line_num);
                return -1;
        }
 
        if (git_oid_fromstr(oid, oid_str) < 0) {
-               const git_error *oid_err = giterr_last();
+               const git_error *oid_err = git_error_last();
                const char *err_msg = oid_err ? oid_err->message : "invalid object ID";
 
-               giterr_set(GITERR_FETCHHEAD, "%s in FETCH_HEAD line %"PRIuZ,
+               git_error_set(GIT_ERROR_FETCHHEAD, "%s in FETCH_HEAD line %"PRIuZ,
                        err_msg, line_num);
                return -1;
        }
@@ -179,7 +179,7 @@ static int fetchhead_ref_parse(
        /* Parse new data from newer git clients */
        if (*line) {
                if ((is_merge_str = git__strsep(&line, "\t")) == NULL) {
-                       giterr_set(GITERR_FETCHHEAD,
+                       git_error_set(GIT_ERROR_FETCHHEAD,
                                "invalid description data in FETCH_HEAD line %"PRIuZ, line_num);
                        return -1;
                }
@@ -189,13 +189,13 @@ static int fetchhead_ref_parse(
                else if (strcmp(is_merge_str, "not-for-merge") == 0)
                        *is_merge = 0;
                else {
-                       giterr_set(GITERR_FETCHHEAD,
+                       git_error_set(GIT_ERROR_FETCHHEAD,
                                "invalid for-merge entry in FETCH_HEAD line %"PRIuZ, line_num);
                        return -1;
                }
 
                if ((desc = line) == NULL) {
-                       giterr_set(GITERR_FETCHHEAD,
+                       git_error_set(GIT_ERROR_FETCHHEAD,
                                "invalid description in FETCH_HEAD line %"PRIuZ, line_num);
                        return -1;
                }
@@ -212,7 +212,7 @@ static int fetchhead_ref_parse(
                if (name) {
                        if ((desc = strstr(name, "' ")) == NULL ||
                                git__prefixcmp(desc, "' of ") != 0) {
-                               giterr_set(GITERR_FETCHHEAD,
+                               git_error_set(GIT_ERROR_FETCHHEAD,
                                        "invalid description in FETCH_HEAD line %"PRIuZ, line_num);
                                return -1;
                        }
@@ -271,21 +271,21 @@ int git_repository_fetchhead_foreach(git_repository *repo,
 
                error = cb(ref_name, remote_url, &oid, is_merge, payload);
                if (error) {
-                       giterr_set_after_callback(error);
+                       git_error_set_after_callback(error);
                        goto done;
                }
        }
 
        if (*buffer) {
-               giterr_set(GITERR_FETCHHEAD, "no EOL at line %"PRIuZ, line_num+1);
+               git_error_set(GIT_ERROR_FETCHHEAD, "no EOL at line %"PRIuZ, line_num+1);
                error = -1;
                goto done;
        }
 
 done:
-       git_buf_free(&file);
-       git_buf_free(&path);
-       git_buf_free(&name);
+       git_buf_dispose(&file);
+       git_buf_dispose(&path);
+       git_buf_dispose(&name);
 
        return error;
 }
index 8b7e489da4d920de2a19655f172504a23196572d..8a70bcd666f940bf6652ac716db85466ecc234d3 100644 (file)
@@ -24,15 +24,15 @@ static int verify_last_error(git_filebuf *file)
 {
        switch (file->last_error) {
        case BUFERR_WRITE:
-               giterr_set(GITERR_OS, "failed to write out file");
+               git_error_set(GIT_ERROR_OS, "failed to write out file");
                return -1;
 
        case BUFERR_MEM:
-               giterr_set_oom();
+               git_error_set_oom();
                return -1;
 
        case BUFERR_ZLIB:
-               giterr_set(GITERR_ZLIB,
+               git_error_set(GIT_ERROR_ZLIB,
                        "Buffer error when writing out ZLib data");
                return -1;
 
@@ -47,8 +47,8 @@ static int lock_file(git_filebuf *file, int flags, mode_t mode)
                if (flags & GIT_FILEBUF_FORCE)
                        p_unlink(file->path_lock);
                else {
-                       giterr_clear(); /* actual OS error code just confuses */
-                       giterr_set(GITERR_OS,
+                       git_error_clear(); /* actual OS error code just confuses */
+                       git_error_set(GIT_ERROR_OS,
                                "failed to lock file '%s' for writing", file->path_lock);
                        return GIT_ELOCKED;
                }
@@ -75,7 +75,7 @@ static int lock_file(git_filebuf *file, int flags, mode_t mode)
 
                source = p_open(file->path_original, O_RDONLY);
                if (source < 0) {
-                       giterr_set(GITERR_OS,
+                       git_error_set(GIT_ERROR_OS,
                                "failed to open file '%s' for reading",
                                file->path_original);
                        return -1;
@@ -91,10 +91,10 @@ static int lock_file(git_filebuf *file, int flags, mode_t mode)
                p_close(source);
 
                if (read_bytes < 0) {
-                       giterr_set(GITERR_OS, "failed to read file '%s'", file->path_original);
+                       git_error_set(GIT_ERROR_OS, "failed to read file '%s'", file->path_original);
                        return -1;
                } else if (error < 0) {
-                       giterr_set(GITERR_OS, "failed to write file '%s'", file->path_lock);
+                       git_error_set(GIT_ERROR_OS, "failed to write file '%s'", file->path_lock);
                        return -1;
                }
        }
@@ -218,7 +218,7 @@ static int resolve_symlink(git_buf *out, const char *path)
                }
 
                if (error < 0) {
-                       giterr_set(GITERR_OS, "failed to stat '%s'", curpath.ptr);
+                       git_error_set(GIT_ERROR_OS, "failed to stat '%s'", curpath.ptr);
                        error = -1;
                        goto cleanup;
                }
@@ -230,13 +230,13 @@ static int resolve_symlink(git_buf *out, const char *path)
 
                ret = p_readlink(curpath.ptr, target.ptr, GIT_PATH_MAX);
                if (ret < 0) {
-                       giterr_set(GITERR_OS, "failed to read symlink '%s'", curpath.ptr);
+                       git_error_set(GIT_ERROR_OS, "failed to read symlink '%s'", curpath.ptr);
                        error = -1;
                        goto cleanup;
                }
 
                if (ret == GIT_PATH_MAX) {
-                       giterr_set(GITERR_INVALID, "symlink target too long");
+                       git_error_set(GIT_ERROR_INVALID, "symlink target too long");
                        error = -1;
                        goto cleanup;
                }
@@ -256,19 +256,19 @@ static int resolve_symlink(git_buf *out, const char *path)
                                goto cleanup;
 
                        git_buf_swap(&curpath, &dir);
-                       git_buf_free(&dir);
+                       git_buf_dispose(&dir);
 
                        if ((error = git_path_apply_relative(&curpath, target.ptr)) < 0)
                                goto cleanup;
                }
        }
 
-       giterr_set(GITERR_INVALID, "maximum symlink depth reached");
+       git_error_set(GIT_ERROR_INVALID, "maximum symlink depth reached");
        error = -1;
 
 cleanup:
-       git_buf_free(&curpath);
-       git_buf_free(&target);
+       git_buf_dispose(&curpath);
+       git_buf_dispose(&target);
        return error;
 }
 
@@ -303,7 +303,7 @@ int git_filebuf_open_withsize(git_filebuf *file, const char *path, int flags, mo
        /* Allocate the main cache buffer */
        if (!file->do_not_buffer) {
                file->buffer = git__malloc(file->buf_size);
-               GITERR_CHECK_ALLOC(file->buffer);
+               GIT_ERROR_CHECK_ALLOC(file->buffer);
        }
 
        /* If we are hashing on-write, allocate a new hash context */
@@ -320,13 +320,13 @@ int git_filebuf_open_withsize(git_filebuf *file, const char *path, int flags, mo
        if (compression != 0) {
                /* Initialize the ZLib stream */
                if (deflateInit(&file->zs, compression) != Z_OK) {
-                       giterr_set(GITERR_ZLIB, "failed to initialize zlib");
+                       git_error_set(GIT_ERROR_ZLIB, "failed to initialize zlib");
                        goto cleanup;
                }
 
                /* Allocate the Zlib cache buffer */
                file->z_buf = git__malloc(file->buf_size);
-               GITERR_CHECK_ALLOC(file->z_buf);
+               GIT_ERROR_CHECK_ALLOC(file->z_buf);
 
                /* Never flush */
                file->flush_mode = Z_NO_FLUSH;
@@ -343,7 +343,7 @@ int git_filebuf_open_withsize(git_filebuf *file, const char *path, int flags, mo
                file->fd = git_futils_mktmp(&tmp_path, path, mode);
 
                if (file->fd < 0) {
-                       git_buf_free(&tmp_path);
+                       git_buf_dispose(&tmp_path);
                        goto cleanup;
                }
                file->fd_is_open = true;
@@ -352,7 +352,7 @@ int git_filebuf_open_withsize(git_filebuf *file, const char *path, int flags, mo
                /* No original path */
                file->path_original = NULL;
                file->path_lock = git_buf_detach(&tmp_path);
-               GITERR_CHECK_ALLOC(file->path_lock);
+               GIT_ERROR_CHECK_ALLOC(file->path_lock);
        } else {
                git_buf resolved_path = GIT_BUF_INIT;
 
@@ -364,15 +364,15 @@ int git_filebuf_open_withsize(git_filebuf *file, const char *path, int flags, mo
                file->path_original = git_buf_detach(&resolved_path);
 
                /* create the locking path by appending ".lock" to the original */
-               GITERR_CHECK_ALLOC_ADD(&alloc_len, path_len, GIT_FILELOCK_EXTLENGTH);
+               GIT_ERROR_CHECK_ALLOC_ADD(&alloc_len, path_len, GIT_FILELOCK_EXTLENGTH);
                file->path_lock = git__malloc(alloc_len);
-               GITERR_CHECK_ALLOC(file->path_lock);
+               GIT_ERROR_CHECK_ALLOC(file->path_lock);
 
                memcpy(file->path_lock, file->path_original, path_len);
                memcpy(file->path_lock + path_len, GIT_FILELOCK_EXTENSION, GIT_FILELOCK_EXTLENGTH);
 
                if (git_path_isdir(file->path_original)) {
-                       giterr_set(GITERR_FILESYSTEM, "path '%s' is a directory", file->path_original);
+                       git_error_set(GIT_ERROR_FILESYSTEM, "path '%s' is a directory", file->path_original);
                        error = GIT_EDIRECTORY;
                        goto cleanup;
                }
@@ -411,7 +411,7 @@ int git_filebuf_commit_at(git_filebuf *file, const char *path)
 {
        git__free(file->path_original);
        file->path_original = git__strdup(path);
-       GITERR_CHECK_ALLOC(file->path_original);
+       GIT_ERROR_CHECK_ALLOC(file->path_original);
 
        return git_filebuf_commit(file);
 }
@@ -430,19 +430,19 @@ int git_filebuf_commit(git_filebuf *file)
        file->fd_is_open = false;
 
        if (file->do_fsync && p_fsync(file->fd) < 0) {
-               giterr_set(GITERR_OS, "failed to fsync '%s'", file->path_lock);
+               git_error_set(GIT_ERROR_OS, "failed to fsync '%s'", file->path_lock);
                goto on_error;
        }
 
        if (p_close(file->fd) < 0) {
-               giterr_set(GITERR_OS, "failed to close file at '%s'", file->path_lock);
+               git_error_set(GIT_ERROR_OS, "failed to close file at '%s'", file->path_lock);
                goto on_error;
        }
 
        file->fd = -1;
 
        if (p_rename(file->path_lock, file->path_original) < 0) {
-               giterr_set(GITERR_OS, "failed to rename lockfile to '%s'", file->path_original);
+               git_error_set(GIT_ERROR_OS, "failed to rename lockfile to '%s'", file->path_original);
                goto on_error;
        }
 
@@ -583,7 +583,7 @@ int git_filebuf_stats(time_t *mtime, size_t *size, git_filebuf *file)
                res = p_stat(file->path_original, &st);
 
        if (res < 0) {
-               giterr_set(GITERR_OS, "could not get stat info for '%s'",
+               git_error_set(GIT_ERROR_OS, "could not get stat info for '%s'",
                        file->path_original);
                return res;
        }
index 58988c2d2d416e5c13cac676920832c1c810af3c..988ea0f0896ebc6178f915fe4d1f9c73d7309da8 100644 (file)
@@ -35,13 +35,13 @@ int git_futils_mktmp(git_buf *path_out, const char *filename, mode_t mode)
                return -1;
 
        if ((fd = p_mkstemp(path_out->ptr)) < 0) {
-               giterr_set(GITERR_OS,
+               git_error_set(GIT_ERROR_OS,
                        "failed to create temporary file '%s'", path_out->ptr);
                return -1;
        }
 
        if (p_chmod(path_out->ptr, (mode & ~mask))) {
-               giterr_set(GITERR_OS,
+               git_error_set(GIT_ERROR_OS,
                        "failed to set permissions on file '%s'", path_out->ptr);
                return -1;
        }
@@ -58,7 +58,7 @@ int git_futils_creat_withpath(const char *path, const mode_t dirmode, const mode
 
        fd = p_creat(path, mode);
        if (fd < 0) {
-               giterr_set(GITERR_OS, "failed to create file '%s'", path);
+               git_error_set(GIT_ERROR_OS, "failed to create file '%s'", path);
                return -1;
        }
 
@@ -72,7 +72,7 @@ int git_futils_creat_locked(const char *path, const mode_t mode)
 
        if (fd < 0) {
                int error = errno;
-               giterr_set(GITERR_OS, "failed to create locked file '%s'", path);
+               git_error_set(GIT_ERROR_OS, "failed to create locked file '%s'", path);
                switch (error) {
                case EEXIST:
                        return GIT_ELOCKED;
@@ -117,7 +117,7 @@ git_off_t git_futils_filesize(git_file fd)
        struct stat sb;
 
        if (p_fstat(fd, &sb)) {
-               giterr_set(GITERR_OS, "failed to stat file descriptor");
+               git_error_set(GIT_ERROR_OS, "failed to stat file descriptor");
                return -1;
        }
 
@@ -146,11 +146,11 @@ int git_futils_readbuffer_fd(git_buf *buf, git_file fd, size_t len)
        git_buf_clear(buf);
 
        if (!git__is_ssizet(len)) {
-               giterr_set(GITERR_INVALID, "read too large");
+               git_error_set(GIT_ERROR_INVALID, "read too large");
                return -1;
        }
 
-       GITERR_CHECK_ALLOC_ADD(&alloc_len, len, 1);
+       GIT_ERROR_CHECK_ALLOC_ADD(&alloc_len, len, 1);
        if (git_buf_grow(buf, alloc_len) < 0)
                return -1;
 
@@ -158,8 +158,8 @@ int git_futils_readbuffer_fd(git_buf *buf, git_file fd, size_t len)
        read_size = p_read(fd, buf->ptr, len);
 
        if (read_size != (ssize_t)len) {
-               giterr_set(GITERR_OS, "failed to read descriptor");
-               git_buf_free(buf);
+               git_error_set(GIT_ERROR_OS, "failed to read descriptor");
+               git_buf_dispose(buf);
                return -1;
        }
 
@@ -188,12 +188,12 @@ int git_futils_readbuffer_updated(
 
 
        if (S_ISDIR(st.st_mode)) {
-               giterr_set(GITERR_INVALID, "requested file is a directory");
+               git_error_set(GIT_ERROR_INVALID, "requested file is a directory");
                return GIT_ENOTFOUND;
        }
 
        if (!git__is_sizet(st.st_size+1)) {
-               giterr_set(GITERR_OS, "invalid regular file stat for '%s'", path);
+               git_error_set(GIT_ERROR_OS, "invalid regular file stat for '%s'", path);
                return -1;
        }
 
@@ -209,7 +209,7 @@ int git_futils_readbuffer_updated(
 
        if (checksum) {
                if ((error = git_hash_buf(&checksum_new, buf.ptr, buf.size)) < 0) {
-                       git_buf_free(&buf);
+                       git_buf_dispose(&buf);
                        return error;
                }
 
@@ -217,7 +217,7 @@ int git_futils_readbuffer_updated(
                 * If we were given a checksum, we only want to use it if it's different
                 */
                if (!git_oid__cmp(checksum, &checksum_new)) {
-                       git_buf_free(&buf);
+                       git_buf_dispose(&buf);
                        if (updated)
                                *updated = 0;
 
@@ -234,7 +234,7 @@ int git_futils_readbuffer_updated(
                *updated = 1;
 
        git_buf_swap(out, &buf);
-       git_buf_free(&buf);
+       git_buf_dispose(&buf);
 
        return 0;
 }
@@ -261,24 +261,24 @@ int git_futils_writebuffer(
                mode = GIT_FILEMODE_BLOB;
 
        if ((fd = p_open(path, flags, mode)) < 0) {
-               giterr_set(GITERR_OS, "could not open '%s' for writing", path);
+               git_error_set(GIT_ERROR_OS, "could not open '%s' for writing", path);
                return fd;
        }
 
        if ((error = p_write(fd, git_buf_cstr(buf), git_buf_len(buf))) < 0) {
-               giterr_set(GITERR_OS, "could not write to '%s'", path);
+               git_error_set(GIT_ERROR_OS, "could not write to '%s'", path);
                (void)p_close(fd);
                return error;
        }
 
        if (do_fsync && (error = p_fsync(fd)) < 0) {
-               giterr_set(GITERR_OS, "could not fsync '%s'", path);
+               git_error_set(GIT_ERROR_OS, "could not fsync '%s'", path);
                p_close(fd);
                return error;
        }
 
        if ((error = p_close(fd)) < 0) {
-               giterr_set(GITERR_OS, "error while closing '%s'", path);
+               git_error_set(GIT_ERROR_OS, "error while closing '%s'", path);
                return error;
        }
 
@@ -294,7 +294,7 @@ int git_futils_mv_withpath(const char *from, const char *to, const mode_t dirmod
                return -1;
 
        if (p_rename(from, to) < 0) {
-               giterr_set(GITERR_OS, "failed to rename '%s' to '%s'", from, to);
+               git_error_set(GIT_ERROR_OS, "failed to rename '%s' to '%s'", from, to);
                return -1;
        }
 
@@ -321,7 +321,7 @@ int git_futils_mmap_ro_file(git_map *out, const char *path)
        }
 
        if (!git__is_sizet(len)) {
-               giterr_set(GITERR_OS, "file `%s` too large to mmap", path);
+               git_error_set(GIT_ERROR_OS, "file `%s` too large to mmap", path);
                result = -1;
                goto out;
        }
@@ -346,7 +346,7 @@ GIT_INLINE(int) mkdir_validate_dir(
 {
        /* with exclusive create, existing dir is an error */
        if ((flags & GIT_MKDIR_EXCL) != 0) {
-               giterr_set(GITERR_FILESYSTEM,
+               git_error_set(GIT_ERROR_FILESYSTEM,
                        "failed to make directory '%s': directory exists", path);
                return GIT_EEXISTS;
        }
@@ -354,7 +354,7 @@ GIT_INLINE(int) mkdir_validate_dir(
        if ((S_ISREG(st->st_mode) && (flags & GIT_MKDIR_REMOVE_FILES)) ||
                (S_ISLNK(st->st_mode) && (flags & GIT_MKDIR_REMOVE_SYMLINKS))) {
                if (p_unlink(path) < 0) {
-                       giterr_set(GITERR_OS, "failed to remove %s '%s'",
+                       git_error_set(GIT_ERROR_OS, "failed to remove %s '%s'",
                                S_ISLNK(st->st_mode) ? "symlink" : "file", path);
                        return GIT_EEXISTS;
                }
@@ -362,7 +362,7 @@ GIT_INLINE(int) mkdir_validate_dir(
                opts->perfdata.mkdir_calls++;
 
                if (p_mkdir(path, mode) < 0) {
-                       giterr_set(GITERR_OS, "failed to make directory '%s'", path);
+                       git_error_set(GIT_ERROR_OS, "failed to make directory '%s'", path);
                        return GIT_EEXISTS;
                }
        }
@@ -372,13 +372,13 @@ GIT_INLINE(int) mkdir_validate_dir(
                opts->perfdata.stat_calls++;
 
                if (p_stat(path, st) < 0) {
-                       giterr_set(GITERR_OS, "failed to make directory '%s'", path);
+                       git_error_set(GIT_ERROR_OS, "failed to make directory '%s'", path);
                        return GIT_EEXISTS;
                }
        }
 
        else if (!S_ISDIR(st->st_mode)) {
-               giterr_set(GITERR_FILESYSTEM,
+               git_error_set(GIT_ERROR_FILESYSTEM,
                        "failed to make directory '%s': directory exists", path);
                return GIT_EEXISTS;
        }
@@ -400,7 +400,7 @@ GIT_INLINE(int) mkdir_validate_mode(
                opts->perfdata.chmod_calls++;
 
                if (p_chmod(path, mode) < 0) {
-                       giterr_set(GITERR_OS, "failed to set permissions on '%s'", path);
+                       git_error_set(GIT_ERROR_OS, "failed to set permissions on '%s'", path);
                        return -1;
                }
        }
@@ -415,7 +415,7 @@ GIT_INLINE(int) mkdir_canonicalize(
        ssize_t root_len;
 
        if (path->size == 0) {
-               giterr_set(GITERR_OS, "attempt to create empty path");
+               git_error_set(GIT_ERROR_OS, "attempt to create empty path");
                return -1;
        }
 
@@ -475,7 +475,7 @@ int git_futils_mkdir(
                if (error == 0) {
                        break;
                } else if (errno != ENOENT) {
-                       giterr_set(GITERR_OS, "failed to stat '%s'", parent_path.ptr);
+                       git_error_set(GIT_ERROR_OS, "failed to stat '%s'", parent_path.ptr);
                        goto done;
                }
 
@@ -526,8 +526,8 @@ int git_futils_mkdir(
                parent_path.size ? parent_path.ptr : NULL, mode, flags, &opts);
 
 done:
-       git_buf_free(&make_path);
-       git_buf_free(&parent_path);
+       git_buf_dispose(&make_path);
+       git_buf_dispose(&parent_path);
        return error;
 }
 
@@ -602,18 +602,18 @@ int git_futils_mkdir_relative(
 retry_lstat:
                if (p_lstat(make_path.ptr, &st) < 0) {
                        if (mkdir_attempted || errno != ENOENT) {
-                               giterr_set(GITERR_OS, "cannot access component in path '%s'", make_path.ptr);
+                               git_error_set(GIT_ERROR_OS, "cannot access component in path '%s'", make_path.ptr);
                                error = -1;
                                goto done;
                        }
 
-                       giterr_clear();
+                       git_error_clear();
                        opts->perfdata.mkdir_calls++;
                        mkdir_attempted = true;
                        if (p_mkdir(make_path.ptr, mode) < 0) {
                                if (errno == EEXIST)
                                        goto retry_lstat;
-                               giterr_set(GITERR_OS, "failed to make directory '%s'", make_path.ptr);
+                               git_error_set(GIT_ERROR_OS, "failed to make directory '%s'", make_path.ptr);
                                error = -1;
                                goto done;
                        }
@@ -632,11 +632,11 @@ retry_lstat:
                        char *cache_path;
                        size_t alloc_size;
 
-                       GITERR_CHECK_ALLOC_ADD(&alloc_size, make_path.size, 1);
+                       GIT_ERROR_CHECK_ALLOC_ADD(&alloc_size, make_path.size, 1);
                        if (!git__is_uint32(alloc_size))
                                return -1;
                        cache_path = git_pool_malloc(opts->pool, (uint32_t)alloc_size);
-                       GITERR_CHECK_ALLOC(cache_path);
+                       GIT_ERROR_CHECK_ALLOC(cache_path);
 
                        memcpy(cache_path, make_path.ptr, make_path.size + 1);
 
@@ -654,14 +654,14 @@ retry_lstat:
                opts->perfdata.stat_calls++;
 
                if (p_stat(make_path.ptr, &st) < 0 || !S_ISDIR(st.st_mode)) {
-                       giterr_set(GITERR_OS, "path is not a directory '%s'",
+                       git_error_set(GIT_ERROR_OS, "path is not a directory '%s'",
                                make_path.ptr);
                        error = GIT_ENOTFOUND;
                }
        }
 
 done:
-       git_buf_free(&make_path);
+       git_buf_dispose(&make_path);
        return error;
 }
 
@@ -677,10 +677,10 @@ typedef struct {
 static int futils__error_cannot_rmdir(const char *path, const char *filemsg)
 {
        if (filemsg)
-               giterr_set(GITERR_OS, "could not remove directory '%s': %s",
+               git_error_set(GIT_ERROR_OS, "could not remove directory '%s': %s",
                                   path, filemsg);
        else
-               giterr_set(GITERR_OS, "could not remove directory '%s'", path);
+               git_error_set(GIT_ERROR_OS, "could not remove directory '%s'", path);
 
        return -1;
 }
@@ -818,11 +818,11 @@ int git_futils_rmdir_r(
                        &fullpath, base, futils__rmdir_empty_parent, &data);
 
        if (error == GIT_ITEROVER) {
-               giterr_clear();
+               git_error_clear();
                error = 0;
        }
 
-       git_buf_free(&fullpath);
+       git_buf_dispose(&fullpath);
 
        return error;
 }
@@ -851,12 +851,12 @@ static int cp_by_fd(int ifd, int ofd, bool close_fd_when_done)
                error = p_write(ofd, buffer, len);
 
        if (len < 0) {
-               giterr_set(GITERR_OS, "read error while copying file");
+               git_error_set(GIT_ERROR_OS, "read error while copying file");
                error = (int)len;
        }
 
        if (error < 0)
-               giterr_set(GITERR_OS, "write error while copying file");
+               git_error_set(GIT_ERROR_OS, "write error while copying file");
 
        if (close_fd_when_done) {
                p_close(ifd);
@@ -901,20 +901,20 @@ static int cp_link(const char *from, const char *to, size_t link_size)
        char *link_data;
        size_t alloc_size;
 
-       GITERR_CHECK_ALLOC_ADD(&alloc_size, link_size, 1);
+       GIT_ERROR_CHECK_ALLOC_ADD(&alloc_size, link_size, 1);
        link_data = git__malloc(alloc_size);
-       GITERR_CHECK_ALLOC(link_data);
+       GIT_ERROR_CHECK_ALLOC(link_data);
 
        read_len = p_readlink(from, link_data, link_size);
        if (read_len != (ssize_t)link_size) {
-               giterr_set(GITERR_OS, "failed to read symlink data for '%s'", from);
+               git_error_set(GIT_ERROR_OS, "failed to read symlink data for '%s'", from);
                error = -1;
        }
        else {
                link_data[read_len] = '\0';
 
                if (p_symlink(link_data, to) < 0) {
-                       giterr_set(GITERR_OS, "could not symlink '%s' as '%s'",
+                       git_error_set(GIT_ERROR_OS, "could not symlink '%s' as '%s'",
                                link_data, to);
                        error = -1;
                }
@@ -977,7 +977,7 @@ static int _cp_r_callback(void *ref, git_buf *from)
        else if (error != GIT_ENOTFOUND)
                return error;
        else {
-               giterr_clear();
+               git_error_clear();
                error = 0;
        }
 
@@ -1010,7 +1010,7 @@ static int _cp_r_callback(void *ref, git_buf *from)
                        return 0;
 
                if (p_unlink(info->to.ptr) < 0) {
-                       giterr_set(GITERR_OS, "cannot overwrite existing file '%s'",
+                       git_error_set(GIT_ERROR_OS, "cannot overwrite existing file '%s'",
                                info->to.ptr);
                        return GIT_EEXISTS;
                }
@@ -1030,7 +1030,7 @@ static int _cp_r_callback(void *ref, git_buf *from)
        /* make symlink or regular file */
        if (info->flags & GIT_CPDIR_LINK_FILES) {
                if ((error = p_link(from->ptr, info->to.ptr)) < 0)
-                       giterr_set(GITERR_OS, "failed to link '%s'", from->ptr);
+                       git_error_set(GIT_ERROR_OS, "failed to link '%s'", from->ptr);
        } else if (S_ISLNK(from_st.st_mode)) {
                error = cp_link(from->ptr, info->to.ptr, (size_t)from_st.st_size);
        } else {
@@ -1081,8 +1081,8 @@ int git_futils_cp_r(
 
        error = _cp_r_callback(&info, &path);
 
-       git_buf_free(&path);
-       git_buf_free(&info.to);
+       git_buf_dispose(&path);
+       git_buf_dispose(&info.to);
 
        return error;
 }
@@ -1155,12 +1155,12 @@ int git_futils_fsync_dir(const char *path)
        int fd, error = -1;
 
        if ((fd = p_open(path, O_RDONLY)) < 0) {
-               giterr_set(GITERR_OS, "failed to open directory '%s' for fsync", path);
+               git_error_set(GIT_ERROR_OS, "failed to open directory '%s' for fsync", path);
                return -1;
        }
 
        if ((error = p_fsync(fd)) < 0)
-               giterr_set(GITERR_OS, "failed to fsync directory '%s'", path);
+               git_error_set(GIT_ERROR_OS, "failed to fsync directory '%s'", path);
 
        p_close(fd);
        return error;
index 2844ece211bc2e12086393f1dd4fe9edeb8aef3b..85131f8343d30471a7f11f92c053fcd11833fcec 100644 (file)
@@ -340,7 +340,7 @@ typedef struct {
  * This function updates the file stamp to current data for the given path
  * and returns 0 if the file is up-to-date relative to the prior setting,
  * 1 if the file has been changed, or GIT_ENOTFOUND if the file doesn't
- * exist.  This will not call giterr_set, so you must set the error if you
+ * exist.  This will not call git_error_set, so you must set the error if you
  * plan to return an error.
  *
  * @param stamp File stamp to be checked
index 6ab09790bf1126ab3ec1cd7adb1746e79c475f23..33ddfe2a5d1e70d7eabf8a356dfc33b8b34d74b0 100644 (file)
@@ -157,15 +157,15 @@ static int filter_registry_insert(
        if (filter_def_scan_attrs(&attrs, &nattr, &nmatch, filter->attributes) < 0)
                return -1;
 
-       GITERR_CHECK_ALLOC_MULTIPLY(&alloc_len, nattr, 2);
-       GITERR_CHECK_ALLOC_MULTIPLY(&alloc_len, alloc_len, sizeof(char *));
-       GITERR_CHECK_ALLOC_ADD(&alloc_len, alloc_len, sizeof(git_filter_def));
+       GIT_ERROR_CHECK_ALLOC_MULTIPLY(&alloc_len, nattr, 2);
+       GIT_ERROR_CHECK_ALLOC_MULTIPLY(&alloc_len, alloc_len, sizeof(char *));
+       GIT_ERROR_CHECK_ALLOC_ADD(&alloc_len, alloc_len, sizeof(git_filter_def));
 
        fdef = git__calloc(1, alloc_len);
-       GITERR_CHECK_ALLOC(fdef);
+       GIT_ERROR_CHECK_ALLOC(fdef);
 
        fdef->filter_name = git__strdup(name);
-       GITERR_CHECK_ALLOC(fdef->filter_name);
+       GIT_ERROR_CHECK_ALLOC(fdef->filter_name);
 
        fdef->filter      = filter;
        fdef->priority    = priority;
@@ -269,13 +269,13 @@ int git_filter_register(
        assert(name && filter);
 
        if (git_rwlock_wrlock(&filter_registry.lock) < 0) {
-               giterr_set(GITERR_OS, "failed to lock filter registry");
+               git_error_set(GIT_ERROR_OS, "failed to lock filter registry");
                return -1;
        }
 
        if (!filter_registry_find(NULL, name)) {
-               giterr_set(
-                       GITERR_FILTER, "attempt to reregister existing filter '%s'", name);
+               git_error_set(
+                       GIT_ERROR_FILTER, "attempt to reregister existing filter '%s'", name);
                error = GIT_EEXISTS;
                goto done;
        }
@@ -297,17 +297,17 @@ int git_filter_unregister(const char *name)
 
        /* cannot unregister default filters */
        if (!strcmp(GIT_FILTER_CRLF, name) || !strcmp(GIT_FILTER_IDENT, name)) {
-               giterr_set(GITERR_FILTER, "cannot unregister filter '%s'", name);
+               git_error_set(GIT_ERROR_FILTER, "cannot unregister filter '%s'", name);
                return -1;
        }
 
        if (git_rwlock_wrlock(&filter_registry.lock) < 0) {
-               giterr_set(GITERR_OS, "failed to lock filter registry");
+               git_error_set(GIT_ERROR_OS, "failed to lock filter registry");
                return -1;
        }
 
        if ((fdef = filter_registry_lookup(&pos, name)) == NULL) {
-               giterr_set(GITERR_FILTER, "cannot find filter '%s' to unregister", name);
+               git_error_set(GIT_ERROR_FILTER, "cannot find filter '%s' to unregister", name);
                error = GIT_ENOTFOUND;
                goto done;
        }
@@ -348,7 +348,7 @@ git_filter *git_filter_lookup(const char *name)
        git_filter *filter = NULL;
 
        if (git_rwlock_rdlock(&filter_registry.lock) < 0) {
-               giterr_set(GITERR_OS, "failed to lock filter registry");
+               git_error_set(GIT_ERROR_OS, "failed to lock filter registry");
                return NULL;
        }
 
@@ -404,11 +404,11 @@ static int filter_list_new(
        git_filter_list *fl = NULL;
        size_t pathlen = src->path ? strlen(src->path) : 0, alloclen;
 
-       GITERR_CHECK_ALLOC_ADD(&alloclen, sizeof(git_filter_list), pathlen);
-       GITERR_CHECK_ALLOC_ADD(&alloclen, alloclen, 1);
+       GIT_ERROR_CHECK_ALLOC_ADD(&alloclen, sizeof(git_filter_list), pathlen);
+       GIT_ERROR_CHECK_ALLOC_ADD(&alloclen, alloclen, 1);
 
        fl = git__calloc(1, alloclen);
-       GITERR_CHECK_ALLOC(fl);
+       GIT_ERROR_CHECK_ALLOC(fl);
 
        if (src->path)
                memcpy(fl->path, src->path, pathlen);
@@ -431,14 +431,14 @@ static int filter_list_check_attributes(
        int error;
        size_t i;
        const char **strs = git__calloc(fdef->nattrs, sizeof(const char *));
-       GITERR_CHECK_ALLOC(strs);
+       GIT_ERROR_CHECK_ALLOC(strs);
 
        error = git_attr_get_many_with_session(
                strs, repo, attr_session, 0, src->path, fdef->nattrs, fdef->attrs);
 
        /* if no values were found but no matches are needed, it's okay! */
        if (error == GIT_ENOTFOUND && !fdef->nmatches) {
-               giterr_clear();
+               git_error_clear();
                git__free((void *)strs);
                return 0;
        }
@@ -499,7 +499,7 @@ int git_filter_list__load_ext(
        git_filter_def *fdef;
 
        if (git_rwlock_rdlock(&filter_registry.lock) < 0) {
-               giterr_set(GITERR_OS, "failed to lock filter registry");
+               git_error_set(GIT_ERROR_OS, "failed to lock filter registry");
                return -1;
        }
 
@@ -551,7 +551,7 @@ int git_filter_list__load_ext(
                        }
 
                        fe = git_array_alloc(fl->filters);
-                       GITERR_CHECK_ALLOC(fe);
+                       GIT_ERROR_CHECK_ALLOC(fe);
 
                        fe->filter = fdef->filter;
                        fe->filter_name = fdef->filter_name;
@@ -634,7 +634,7 @@ int git_filter_list_push(
        assert(fl && filter);
 
        if (git_rwlock_rdlock(&filter_registry.lock) < 0) {
-               giterr_set(GITERR_OS, "failed to lock filter registry");
+               git_error_set(GIT_ERROR_OS, "failed to lock filter registry");
                return -1;
        }
 
@@ -646,7 +646,7 @@ int git_filter_list_push(
        git_rwlock_rdunlock(&filter_registry.lock);
 
        if (fdef == NULL) {
-               giterr_set(GITERR_FILTER, "cannot use an unregistered filter");
+               git_error_set(GIT_ERROR_FILTER, "cannot use an unregistered filter");
                return -1;
        }
 
@@ -654,7 +654,7 @@ int git_filter_list_push(
                return error;
 
        fe = git_array_alloc(fl->filters);
-       GITERR_CHECK_ALLOC(fe);
+       GIT_ERROR_CHECK_ALLOC(fe);
        fe->filter  = filter;
        fe->payload = payload;
 
@@ -759,7 +759,7 @@ static int buf_from_blob(git_buf *out, git_blob *blob)
        git_off_t rawsize = git_blob_rawsize(blob);
 
        if (!git__is_sizet(rawsize)) {
-               giterr_set(GITERR_OS, "blob is too large to filter");
+               git_error_set(GIT_ERROR_OS, "blob is too large to filter");
                return -1;
        }
 
@@ -809,6 +809,7 @@ static int proxy_stream_close(git_writestream *s)
 {
        struct proxy_stream *proxy_stream = (struct proxy_stream *)s;
        git_buf *writebuf;
+       git_error_state error_state = {0};
        int error;
 
        assert(proxy_stream);
@@ -826,6 +827,11 @@ static int proxy_stream_close(git_writestream *s)
                git_buf_sanitize(proxy_stream->output);
                writebuf = proxy_stream->output;
        } else {
+               /* close stream before erroring out taking care
+                * to preserve the original error */
+               git_error_state_capture(&error_state, error);
+               proxy_stream->target->close(proxy_stream->target);
+               git_error_state_restore(&error_state);
                return error;
        }
 
@@ -841,8 +847,8 @@ static void proxy_stream_free(git_writestream *s)
        struct proxy_stream *proxy_stream = (struct proxy_stream *)s;
        assert(proxy_stream);
 
-       git_buf_free(&proxy_stream->input);
-       git_buf_free(&proxy_stream->temp_buf);
+       git_buf_dispose(&proxy_stream->input);
+       git_buf_dispose(&proxy_stream->temp_buf);
        git__free(proxy_stream);
 }
 
@@ -855,7 +861,7 @@ static int proxy_stream_init(
        git_writestream *target)
 {
        struct proxy_stream *proxy_stream = git__calloc(1, sizeof(struct proxy_stream));
-       GITERR_CHECK_ALLOC(proxy_stream);
+       GIT_ERROR_CHECK_ALLOC(proxy_stream);
 
        proxy_stream->parent.write = proxy_stream_write;
        proxy_stream->parent.close = proxy_stream_close;
@@ -968,7 +974,7 @@ int git_filter_list_stream_file(
        }
 
        if (readlen < 0)
-               error = readlen;
+               error = -1;
 
 done:
        if (initialized)
@@ -977,7 +983,7 @@ done:
        if (fd >= 0)
                p_close(fd);
        stream_list_free(&filter_streams);
-       git_buf_free(&abspath);
+       git_buf_dispose(&abspath);
        return error;
 }
 
index b1c403ba999f6932d37a53c54a80bffdb3bb6d6c..34081fb4adfb017af9ebe622c06c6760183f7e80 100644 (file)
 /* 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;
index 2f9b45bcda262357d23f22ef286d86b11984444c..418c036c1bf0d91086cef0a2917b5324ac204d10 100644 (file)
@@ -7,11 +7,13 @@
 
 #include "global.h"
 
+#include "alloc.h"
 #include "hash.h"
 #include "sysdir.h"
 #include "filter.h"
 #include "merge_driver.h"
-#include "streams/curl.h"
+#include "streams/registry.h"
+#include "streams/mbedtls.h"
 #include "streams/openssl.h"
 #include "thread-utils.h"
 #include "git2/global.h"
 
 git_mutex git__mwindow_mutex;
 
-#define MAX_SHUTDOWN_CB 10
+typedef int (*git_global_init_fn)(void);
+
+static git_global_init_fn git__init_callbacks[] = {
+       git_allocator_global_init,
+       git_hash_global_init,
+       git_sysdir_global_init,
+       git_filter_global_init,
+       git_merge_driver_global_init,
+       git_transport_ssh_global_init,
+       git_stream_registry_global_init,
+       git_openssl_stream_global_init,
+       git_mbedtls_stream_global_init,
+       git_mwindow_global_init
+};
+
+static git_global_shutdown_fn git__shutdown_callbacks[ARRAY_SIZE(git__init_callbacks)];
 
-static git_global_shutdown_fn git__shutdown_callbacks[MAX_SHUTDOWN_CB];
 static git_atomic git__n_shutdown_callbacks;
 static git_atomic git__n_inits;
 char *git__user_agent;
@@ -35,7 +51,7 @@ char *git__ssl_ciphers;
 void git__on_shutdown(git_global_shutdown_fn callback)
 {
        int count = git_atomic_inc(&git__n_shutdown_callbacks);
-       assert(count <= MAX_SHUTDOWN_CB && count > 0);
+       assert(count <= (int) ARRAY_SIZE(git__shutdown_callbacks) && count > 0);
        git__shutdown_callbacks[count - 1] = callback;
 }
 
@@ -50,6 +66,7 @@ static void git__global_state_cleanup(git_global_st *st)
 
 static int init_common(void)
 {
+       size_t i;
        int ret;
 
        /* Initialize the CRT debug allocator first, before our first malloc */
@@ -58,15 +75,10 @@ static int init_common(void)
        git_win32__stack_init();
 #endif
 
-       /* Initialize any other subsystems that have global state */
-       if ((ret = git_hash_global_init()) == 0 &&
-               (ret = git_sysdir_global_init()) == 0 &&
-               (ret = git_filter_global_init()) == 0 &&
-               (ret = git_merge_driver_global_init()) == 0 &&
-               (ret = git_transport_ssh_global_init()) == 0 &&
-               (ret = git_openssl_stream_global_init()) == 0 &&
-               (ret = git_curl_stream_global_init()) == 0)
-               ret = git_mwindow_global_init();
+       /* Initialize subsystems that have global state */
+       for (i = 0; i < ARRAY_SIZE(git__init_callbacks); i++)
+               if ((ret = git__init_callbacks[i]()) != 0)
+                       break;
 
        GIT_MEMORY_BARRIER;
 
@@ -274,10 +286,10 @@ int git_libgit2_init(void)
 {
        int ret, err;
 
-       ret = git_atomic_inc(&git__n_inits);
-
        if ((err = pthread_mutex_lock(&_init_mutex)) != 0)
                return err;
+
+       ret = git_atomic_inc(&git__n_inits);
        err = pthread_once(&_once_init, init_once);
        err |= pthread_mutex_unlock(&_init_mutex);
 
@@ -291,13 +303,13 @@ int git_libgit2_shutdown(void)
 {
        void *ptr = NULL;
        pthread_once_t new_once = PTHREAD_ONCE_INIT;
-       int ret;
+       int error, ret;
 
-       if ((ret = git_atomic_dec(&git__n_inits)) != 0)
-               return ret;
+       if ((error = pthread_mutex_lock(&_init_mutex)) != 0)
+               return error;
 
-       if ((ret = pthread_mutex_lock(&_init_mutex)) != 0)
-               return ret;
+       if ((ret = git_atomic_dec(&git__n_inits)) != 0)
+               goto out;
 
        /* Shut down any subsystems that have global state */
        shutdown_common();
@@ -312,10 +324,11 @@ int git_libgit2_shutdown(void)
        git_mutex_free(&git__mwindow_mutex);
        _once_init = new_once;
 
-       if ((ret = pthread_mutex_unlock(&_init_mutex)) != 0)
-               return ret;
+out:
+       if ((error = pthread_mutex_unlock(&_init_mutex)) != 0)
+               return error;
 
-       return 0;
+       return ret;
 }
 
 git_global_st *git__global_state(void)
index 31eaf888972bc075b5987ea9316b625d9ff9157c..0502e352e7827f3713472bcf8fc962a9bdb7e9da 100644 (file)
@@ -14,7 +14,6 @@
 typedef struct git_hash_prov git_hash_prov;
 typedef struct git_hash_ctx git_hash_ctx;
 
-int git_hash_global_init(void);
 int git_hash_ctx_init(git_hash_ctx *ctx);
 void git_hash_ctx_cleanup(git_hash_ctx *ctx);
 
@@ -26,10 +25,14 @@ void git_hash_ctx_cleanup(git_hash_ctx *ctx);
 # include "hash/hash_openssl.h"
 #elif defined(GIT_SHA1_WIN32)
 # include "hash/hash_win32.h"
+#elif defined(GIT_SHA1_MBEDTLS)
+# include "hash/hash_mbedtls.h"
 #else
 # include "hash/hash_generic.h"
 #endif
 
+int git_hash_global_init(void);
+
 typedef struct {
        void *data;
        size_t len;
index 4c5e3c302d45864cf0244b9635d953cda9edf058..743209802389bb81093acaee85b049b397e88707 100644 (file)
@@ -15,10 +15,14 @@ struct git_hash_ctx {
        SHA1_CTX c;
 };
 
-#define git_hash_global_init() 0
 #define git_hash_ctx_init(ctx) git_hash_init(ctx)
 #define git_hash_ctx_cleanup(ctx)
 
+GIT_INLINE(int) git_hash_global_init(void)
+{
+       return 0;
+}
+
 GIT_INLINE(int) git_hash_init(git_hash_ctx *ctx)
 {
        assert(ctx);
@@ -37,7 +41,7 @@ GIT_INLINE(int) git_hash_final(git_oid *out, git_hash_ctx *ctx)
 {
        assert(ctx);
        if (SHA1DCFinal(out->id, &ctx->c)) {
-               giterr_set(GITERR_SHA1, "SHA1 collision attack detected");
+               git_error_set(GIT_ERROR_SHA1, "SHA1 collision attack detected");
                return -1;
        }
 
index 5c3887dbad80f301c4b80dd0ac12780089d7a7eb..ce352a63358e9e686bf661c462e0b91d49ddf75e 100644 (file)
@@ -18,10 +18,14 @@ struct git_hash_ctx {
 
 #define CC_LONG_MAX ((CC_LONG)-1)
 
-#define git_hash_global_init() 0
 #define git_hash_ctx_init(ctx) git_hash_init(ctx)
 #define git_hash_ctx_cleanup(ctx)
 
+GIT_INLINE(int) git_hash_global_init(void)
+{
+       return 0;
+}
+
 GIT_INLINE(int) git_hash_init(git_hash_ctx *ctx)
 {
        assert(ctx);
index 21a0428071f641b66765ed71aeef0a8cfa72c274..fb0009ccf2420e792a99c488cc4332cce1346f6f 100644 (file)
@@ -18,8 +18,12 @@ struct git_hash_ctx {
        unsigned int W[16];
 };
 
-#define git_hash_global_init() 0
 #define git_hash_ctx_init(ctx) git_hash_init(ctx)
 #define git_hash_ctx_cleanup(ctx)
 
+GIT_INLINE(int) git_hash_global_init(void)
+{
+       return 0;
+}
+
 #endif
diff --git a/src/hash/hash_mbedtls.c b/src/hash/hash_mbedtls.c
new file mode 100644 (file)
index 0000000..a19d763
--- /dev/null
@@ -0,0 +1,38 @@
+/*
+ * Copyright (C) the libgit2 contributors. All rights reserved.
+ *
+ * This file is part of libgit2, distributed under the GNU GPL v2 with
+ * a Linking Exception. For full terms see the included COPYING file.
+ */
+
+#include "common.h"
+#include "hash.h"
+#include "hash/hash_mbedtls.h"
+
+void git_hash_ctx_cleanup(git_hash_ctx *ctx)
+{
+    assert(ctx);
+    mbedtls_sha1_free(&ctx->c);
+}
+
+int git_hash_init(git_hash_ctx *ctx)
+{
+    assert(ctx);
+    mbedtls_sha1_init(&ctx->c);
+    mbedtls_sha1_starts(&ctx->c);
+    return 0;
+}
+
+int git_hash_update(git_hash_ctx *ctx, const void *data, size_t len)
+{
+    assert(ctx);
+    mbedtls_sha1_update(&ctx->c, data, len);
+    return 0;
+}
+
+int git_hash_final(git_oid *out, git_hash_ctx *ctx)
+{
+    assert(ctx);
+    mbedtls_sha1_finish(&ctx->c, out->id);
+    return 0;
+}
diff --git a/src/hash/hash_mbedtls.h b/src/hash/hash_mbedtls.h
new file mode 100644 (file)
index 0000000..7f3decd
--- /dev/null
@@ -0,0 +1,24 @@
+/*
+ * Copyright (C) the libgit2 contributors. All rights reserved.
+ *
+ * This file is part of libgit2, distributed under the GNU GPL v2 with
+ * a Linking Exception. For full terms see the included COPYING file.
+ */
+
+#ifndef INCLUDE_hash_mbedtld_h__
+#define INCLUDE_hash_mbedtld_h__
+
+#include <mbedtls/sha1.h>
+
+struct git_hash_ctx {
+    mbedtls_sha1_context c;
+};
+
+#define git_hash_ctx_init(ctx) git_hash_init(ctx)
+
+GIT_INLINE(int) git_hash_global_init(void)
+{
+       return 0;
+}
+
+#endif /* INCLUDE_hash_mbedtld_h__ */
index eb2dcb02f9ea2d6b853b90704cc4b005d20e9624..8dbfd5ad5a3b3d1d326f22c8b5dcce8bd4f342cd 100644 (file)
@@ -16,16 +16,20 @@ struct git_hash_ctx {
        SHA_CTX c;
 };
 
-#define git_hash_global_init() 0
 #define git_hash_ctx_init(ctx) git_hash_init(ctx)
 #define git_hash_ctx_cleanup(ctx)
 
+GIT_INLINE(int) git_hash_global_init(void)
+{
+       return 0;
+}
+
 GIT_INLINE(int) git_hash_init(git_hash_ctx *ctx)
 {
        assert(ctx);
 
        if (SHA1_Init(&ctx->c) != 1) {
-               giterr_set(GITERR_SHA1, "hash_openssl: failed to initialize hash context");
+               git_error_set(GIT_ERROR_SHA1, "hash_openssl: failed to initialize hash context");
                return -1;
        }
 
@@ -37,7 +41,7 @@ GIT_INLINE(int) git_hash_update(git_hash_ctx *ctx, const void *data, size_t len)
        assert(ctx);
 
        if (SHA1_Update(&ctx->c, data, len) != 1) {
-               giterr_set(GITERR_SHA1, "hash_openssl: failed to update hash");
+               git_error_set(GIT_ERROR_SHA1, "hash_openssl: failed to update hash");
                return -1;
        }
 
@@ -49,7 +53,7 @@ GIT_INLINE(int) git_hash_final(git_oid *out, git_hash_ctx *ctx)
        assert(ctx);
 
        if (SHA1_Final(out->id, &ctx->c) != 1) {
-               giterr_set(GITERR_SHA1, "hash_openssl: failed to finalize hash");
+               git_error_set(GIT_ERROR_SHA1, "hash_openssl: failed to finalize hash");
                return -1;
        }
 
index 779802c4b721b65cde45acb230d4c1d61bcf510e..4b68303588948057991c95ce3faedf1bb6fa0509 100644 (file)
@@ -25,7 +25,7 @@ GIT_INLINE(int) hash_cng_prov_init(void)
 
        /* Only use CNG on Windows 2008 / Vista SP1  or better (Windows 6.0 SP1) */
        if (!git_has_win32_version(6, 0, 1)) {
-               giterr_set(GITERR_SHA1, "CryptoNG is not supported on this platform");
+               git_error_set(GIT_ERROR_SHA1, "CryptoNG is not supported on this platform");
                return -1;
        }
 
@@ -35,7 +35,7 @@ GIT_INLINE(int) hash_cng_prov_init(void)
                StringCchCat(dll_path, MAX_PATH, "\\") < 0 ||
                StringCchCat(dll_path, MAX_PATH, GIT_HASH_CNG_DLL_NAME) < 0 ||
                (hash_prov.prov.cng.dll = LoadLibrary(dll_path)) == NULL) {
-               giterr_set(GITERR_SHA1, "CryptoNG library could not be loaded");
+               git_error_set(GIT_ERROR_SHA1, "CryptoNG library could not be loaded");
                return -1;
        }
 
@@ -49,7 +49,7 @@ GIT_INLINE(int) hash_cng_prov_init(void)
                (hash_prov.prov.cng.close_algorithm_provider = (hash_win32_cng_close_algorithm_provider_fn)GetProcAddress(hash_prov.prov.cng.dll, "BCryptCloseAlgorithmProvider")) == NULL) {
                FreeLibrary(hash_prov.prov.cng.dll);
 
-               giterr_set(GITERR_OS, "CryptoNG functions could not be loaded");
+               git_error_set(GIT_ERROR_OS, "CryptoNG functions could not be loaded");
                return -1;
        }
 
@@ -57,7 +57,7 @@ GIT_INLINE(int) hash_cng_prov_init(void)
        if (hash_prov.prov.cng.open_algorithm_provider(&hash_prov.prov.cng.handle, GIT_HASH_CNG_HASH_TYPE, NULL, GIT_HASH_CNG_HASH_REUSABLE) < 0) {
                FreeLibrary(hash_prov.prov.cng.dll);
 
-               giterr_set(GITERR_OS, "algorithm provider could not be initialized");
+               git_error_set(GIT_ERROR_OS, "algorithm provider could not be initialized");
                return -1;
        }
 
@@ -66,7 +66,7 @@ GIT_INLINE(int) hash_cng_prov_init(void)
                hash_prov.prov.cng.close_algorithm_provider(hash_prov.prov.cng.handle, 0);
                FreeLibrary(hash_prov.prov.cng.dll);
 
-               giterr_set(GITERR_OS, "algorithm handle could not be found");
+               git_error_set(GIT_ERROR_OS, "algorithm handle could not be found");
                return -1;
        }
 
@@ -86,7 +86,7 @@ GIT_INLINE(void) hash_cng_prov_shutdown(void)
 GIT_INLINE(int) hash_cryptoapi_prov_init()
 {
        if (!CryptAcquireContext(&hash_prov.prov.cryptoapi.handle, NULL, 0, PROV_RSA_FULL, CRYPT_VERIFYCONTEXT)) {
-               giterr_set(GITERR_OS, "legacy hash context could not be started");
+               git_error_set(GIT_ERROR_OS, "legacy hash context could not be started");
                return -1;
        }
 
@@ -141,7 +141,7 @@ GIT_INLINE(int) hash_cryptoapi_init(git_hash_ctx *ctx)
 
        if (!CryptCreateHash(ctx->prov->prov.cryptoapi.handle, CALG_SHA1, 0, 0, &ctx->ctx.cryptoapi.hash_handle)) {
                ctx->ctx.cryptoapi.valid = 0;
-               giterr_set(GITERR_OS, "legacy hash implementation could not be created");
+               git_error_set(GIT_ERROR_OS, "legacy hash implementation could not be created");
                return -1;
        }
 
@@ -159,7 +159,7 @@ GIT_INLINE(int) hash_cryptoapi_update(git_hash_ctx *ctx, const void *_data, size
                DWORD chunk = (len > MAXDWORD) ? MAXDWORD : (DWORD)len;
 
                if (!CryptHashData(ctx->ctx.cryptoapi.hash_handle, data, chunk, 0)) {
-                       giterr_set(GITERR_OS, "legacy hash data could not be updated");
+                       git_error_set(GIT_ERROR_OS, "legacy hash data could not be updated");
                        return -1;
                }
 
@@ -178,7 +178,7 @@ GIT_INLINE(int) hash_cryptoapi_final(git_oid *out, git_hash_ctx *ctx)
        assert(ctx->ctx.cryptoapi.valid);
 
        if (!CryptGetHashParam(ctx->ctx.cryptoapi.hash_handle, HP_HASHVAL, out->id, &len, 0)) {
-               giterr_set(GITERR_OS, "legacy hash data could not be finished");
+               git_error_set(GIT_ERROR_OS, "legacy hash data could not be finished");
                error = -1;
        }
 
@@ -204,7 +204,7 @@ GIT_INLINE(int) hash_ctx_cng_init(git_hash_ctx *ctx)
        if (hash_prov.prov.cng.create_hash(hash_prov.prov.cng.handle, &ctx->ctx.cng.hash_handle, ctx->ctx.cng.hash_object, hash_prov.prov.cng.hash_object_size, NULL, 0, 0) < 0) {
                git__free(ctx->ctx.cng.hash_object);
 
-               giterr_set(GITERR_OS, "hash implementation could not be created");
+               git_error_set(GIT_ERROR_OS, "hash implementation could not be created");
                return -1;
        }
 
@@ -223,7 +223,7 @@ GIT_INLINE(int) hash_cng_init(git_hash_ctx *ctx)
 
        /* CNG needs to be finished to restart */
        if (ctx->prov->prov.cng.finish_hash(ctx->ctx.cng.hash_handle, hash, GIT_OID_RAWSZ, 0) < 0) {
-               giterr_set(GITERR_OS, "hash implementation could not be finished");
+               git_error_set(GIT_ERROR_OS, "hash implementation could not be finished");
                return -1;
        }
 
@@ -240,7 +240,7 @@ GIT_INLINE(int) hash_cng_update(git_hash_ctx *ctx, const void *_data, size_t len
                ULONG chunk = (len > ULONG_MAX) ? ULONG_MAX : (ULONG)len;
 
                if (ctx->prov->prov.cng.hash_data(ctx->ctx.cng.hash_handle, data, chunk, 0) < 0) {
-                       giterr_set(GITERR_OS, "hash could not be updated");
+                       git_error_set(GIT_ERROR_OS, "hash could not be updated");
                        return -1;
                }
 
@@ -254,7 +254,7 @@ GIT_INLINE(int) hash_cng_update(git_hash_ctx *ctx, const void *_data, size_t len
 GIT_INLINE(int) hash_cng_final(git_oid *out, git_hash_ctx *ctx)
 {
        if (ctx->prov->prov.cng.finish_hash(ctx->ctx.cng.hash_handle, out->id, GIT_OID_RAWSZ, 0) < 0) {
-               giterr_set(GITERR_OS, "hash could not be finished");
+               git_error_set(GIT_ERROR_OS, "hash could not be finished");
                return -1;
        }
 
index 30d0594636d77bf3383557c7172a5c0f25560e48..abebd7a54f16c1c210213e3b625d10f413fe3af5 100644 (file)
@@ -216,7 +216,7 @@ static int hashsig_finalize_hashes(git_hashsig *sig)
 {
        if (sig->mins.size < HASHSIG_HEAP_MIN_SIZE &&
                !(sig->opt & GIT_HASHSIG_ALLOW_SMALL_FILES)) {
-               giterr_set(GITERR_INVALID,
+               git_error_set(GIT_ERROR_INVALID,
                        "file too small for similarity signature calculation");
                return GIT_EBUFS;
        }
@@ -249,7 +249,7 @@ int git_hashsig_create(
        int error;
        hashsig_in_progress prog;
        git_hashsig *sig = hashsig_alloc(opts);
-       GITERR_CHECK_ALLOC(sig);
+       GIT_ERROR_CHECK_ALLOC(sig);
 
        hashsig_in_progress_init(&prog, sig);
 
@@ -276,7 +276,7 @@ int git_hashsig_create_fromfile(
        int error = 0, fd;
        hashsig_in_progress prog;
        git_hashsig *sig = hashsig_alloc(opts);
-       GITERR_CHECK_ALLOC(sig);
+       GIT_ERROR_CHECK_ALLOC(sig);
 
        if ((fd = git_futils_open_ro(path)) < 0) {
                git__free(sig);
@@ -288,7 +288,7 @@ int git_hashsig_create_fromfile(
        while (!error) {
                if ((buflen = p_read(fd, buf, sizeof(buf))) <= 0) {
                        if ((error = (int)buflen) < 0)
-                               giterr_set(GITERR_OS,
+                               git_error_set(GIT_ERROR_OS,
                                        "read error on '%s' calculating similarity hashes", path);
                        break;
                }
index 45f0c22040e573d8e4e98dcd922353c70bf742bb..3a5fc105ae46b85ea264eb616236f7488519d505 100644 (file)
@@ -7,17 +7,27 @@
 
 #include "idxmap.h"
 
+#define kmalloc git__malloc
+#define kcalloc git__calloc
+#define krealloc git__realloc
+#define kreallocarray git__reallocarray
+#define kfree git__free
+#include "khash.h"
+
+__KHASH_TYPE(idx, const git_index_entry *, git_index_entry *)
+__KHASH_TYPE(idxicase, const git_index_entry *, git_index_entry *)
+
 /* This is __ac_X31_hash_string but with tolower and it takes the entry's stage into account */
 static kh_inline khint_t idxentry_hash(const git_index_entry *e)
 {
        const char *s = e->path;
        khint_t h = (khint_t)git__tolower(*s);
        if (h) for (++s ; *s; ++s) h = (h << 5) - h + (khint_t)git__tolower(*s);
-       return h + GIT_IDXENTRY_STAGE(e);
+       return h + GIT_INDEX_ENTRY_STAGE(e);
 }
 
-#define idxentry_equal(a, b) (GIT_IDXENTRY_STAGE(a) == GIT_IDXENTRY_STAGE(b) && strcmp(a->path, b->path) == 0)
-#define idxentry_icase_equal(a, b) (GIT_IDXENTRY_STAGE(a) == GIT_IDXENTRY_STAGE(b) && strcasecmp(a->path, b->path) == 0)
+#define idxentry_equal(a, b) (GIT_INDEX_ENTRY_STAGE(a) == GIT_INDEX_ENTRY_STAGE(b) && strcmp(a->path, b->path) == 0)
+#define idxentry_icase_equal(a, b) (GIT_INDEX_ENTRY_STAGE(a) == GIT_INDEX_ENTRY_STAGE(b) && strcasecmp(a->path, b->path) == 0)
 
 __KHASH_IMPL(idx, static kh_inline, const git_index_entry *, git_index_entry *, 1, idxentry_hash, idxentry_equal)
 __KHASH_IMPL(idxicase, static kh_inline, const git_index_entry *, git_index_entry *, 1, idxentry_hash, idxentry_icase_equal)
@@ -25,7 +35,7 @@ __KHASH_IMPL(idxicase, static kh_inline, const git_index_entry *, git_index_entr
 int git_idxmap_alloc(git_idxmap **map)
 {
        if ((*map = kh_init(idx)) == NULL) {
-               giterr_set_oom();
+               git_error_set_oom();
                return -1;
        }
 
@@ -35,7 +45,7 @@ int git_idxmap_alloc(git_idxmap **map)
 int git_idxmap_icase_alloc(git_idxmap_icase **map)
 {
        if ((*map = kh_init(idxicase)) == NULL) {
-               giterr_set_oom();
+               git_error_set_oom();
                return -1;
        }
 
@@ -104,11 +114,21 @@ void git_idxmap_free(git_idxmap *map)
        kh_destroy(idx, map);
 }
 
+void git_idxmap_icase_free(git_idxmap_icase *map)
+{
+       kh_destroy(idxicase, map);
+}
+
 void git_idxmap_clear(git_idxmap *map)
 {
        kh_clear(idx, map);
 }
 
+void git_idxmap_icase_clear(git_idxmap_icase *map)
+{
+       kh_clear(idxicase, map);
+}
+
 void git_idxmap_delete_at(git_idxmap *map, size_t idx)
 {
        kh_del(idx, map, idx);
index f7e903a615752ea3e56ec4f2be70220c2a1763e1..215a245217837a1ab7e415c6c3ddcbc13b7502e7 100644 (file)
@@ -9,23 +9,10 @@
 
 #include "common.h"
 
-#include <ctype.h>
 #include "git2/index.h"
 
-#define kmalloc git__malloc
-#define kcalloc git__calloc
-#define krealloc git__realloc
-#define kreallocarray git__reallocarray
-#define kfree git__free
-#include "khash.h"
-
-__KHASH_TYPE(idx, const git_index_entry *, git_index_entry *)
-__KHASH_TYPE(idxicase, const git_index_entry *, git_index_entry *)
-
-typedef khash_t(idx) git_idxmap;
-typedef khash_t(idxicase) git_idxmap_icase;
-
-typedef khiter_t git_idxmap_iter;
+typedef struct kh_idx_s git_idxmap;
+typedef struct kh_idxicase_s git_idxmap_icase;
 
 int git_idxmap_alloc(git_idxmap **map);
 int git_idxmap_icase_alloc(git_idxmap_icase **map);
@@ -41,7 +28,9 @@ int git_idxmap_has_data(git_idxmap *map, size_t idx);
 void git_idxmap_resize(git_idxmap *map, size_t size);
 void git_idxmap_icase_resize(git_idxmap_icase *map, size_t size);
 void git_idxmap_free(git_idxmap *map);
+void git_idxmap_icase_free(git_idxmap_icase *map);
 void git_idxmap_clear(git_idxmap *map);
+void git_idxmap_icase_clear(git_idxmap_icase *map);
 
 void git_idxmap_delete_at(git_idxmap *map, size_t idx);
 void git_idxmap_icase_delete_at(git_idxmap_icase *map, size_t idx);
@@ -49,7 +38,4 @@ void git_idxmap_icase_delete_at(git_idxmap_icase *map, size_t idx);
 void git_idxmap_delete(git_idxmap *map, const git_index_entry *key);
 void git_idxmap_icase_delete(git_idxmap_icase *map, const git_index_entry *key);
 
-#define git_idxmap_begin               kh_begin
-#define git_idxmap_end         kh_end
-
 #endif
index 76b997245f23e82d40472744c0f24a77f80564f3..c6e4da705980b6a6eb0eccffac7d8c415f0c8f18 100644 (file)
@@ -133,27 +133,16 @@ static int does_negate_rule(int *out, git_vector *rules, git_attr_fnmatch *match
                                continue;
                }
 
-               /*
-                * When dealing with a directory, we add '/<star>' so
-                * p_fnmatch() honours FNM_PATHNAME. Checking for LEADINGDIR
-                * alone isn't enough as that's also set for nagations, so we
-                * need to check that NEGATIVE is off.
-                */
                git_buf_clear(&buf);
-               if (rule->containing_dir) {
+               if (rule->containing_dir)
                        git_buf_puts(&buf, rule->containing_dir);
-               }
-
-               error = git_buf_puts(&buf, rule->pattern);
+               git_buf_puts(&buf, rule->pattern);
 
-               if ((rule->flags & (GIT_ATTR_FNMATCH_LEADINGDIR | GIT_ATTR_FNMATCH_NEGATIVE)) == GIT_ATTR_FNMATCH_LEADINGDIR)
-                       error = git_buf_PUTS(&buf, "/*");
-
-               if (error < 0)
+               if (git_buf_oom(&buf))
                        goto out;
 
                if ((error = p_fnmatch(git_buf_cstr(&buf), path, fnflags)) < 0) {
-                       giterr_set(GITERR_INVALID, "error matching pattern");
+                       git_error_set(GIT_ERROR_INVALID, "error matching pattern");
                        goto out;
                }
 
@@ -169,7 +158,7 @@ static int does_negate_rule(int *out, git_vector *rules, git_attr_fnmatch *match
 
 out:
        git__free(path);
-       git_buf_free(&buf);
+       git_buf_dispose(&buf);
        return error;
 }
 
@@ -182,7 +171,7 @@ static int parse_ignore_file(
        git_attr_fnmatch *match = NULL;
 
        if (git_repository__cvar(&ignore_case, repo, GIT_CVAR_IGNORECASE) < 0)
-               giterr_clear();
+               git_error_clear();
 
        /* if subdir file path, convert context for file paths */
        if (attrs->entry &&
@@ -191,7 +180,7 @@ static int parse_ignore_file(
                context = attrs->entry->path;
 
        if (git_mutex_lock(&attrs->lock) < 0) {
-               giterr_set(GITERR_OS, "failed to lock ignore file");
+               git_error_set(GIT_ERROR_OS, "failed to lock ignore file");
                return -1;
        }
 
@@ -203,7 +192,10 @@ static int parse_ignore_file(
                        break;
                }
 
-               match->flags = GIT_ATTR_FNMATCH_ALLOWSPACE | GIT_ATTR_FNMATCH_ALLOWNEG;
+               match->flags =
+                   GIT_ATTR_FNMATCH_ALLOWSPACE |
+                   GIT_ATTR_FNMATCH_ALLOWNEG |
+                   GIT_ATTR_FNMATCH_NOLEADINGDIR;
 
                if (!(error = git_attr_fnmatch__parse(
                        match, &attrs->pool, context, &scan)))
@@ -323,7 +315,7 @@ int git_ignore__for_path(
                    (error = git_path_to_dir(&local)) < 0 ||
                    (error = git_buf_joinpath(&ignores->dir, workdir, local.ptr)) < 0)
                {;} /* Nothing, we just want to stop on the first error */
-               git_buf_free(&local);
+               git_buf_dispose(&local);
        } else {
                error = git_buf_joinpath(&ignores->dir, path, "");
        }
@@ -363,7 +355,7 @@ int git_ignore__for_path(
                        git_repository_attr_cache(repo)->cfg_excl_file);
 
 cleanup:
-       git_buf_free(&infopath);
+       git_buf_dispose(&infopath);
        if (error < 0)
                git_ignore__free(ignores);
 
@@ -435,7 +427,7 @@ void git_ignore__free(git_ignores *ignores)
        }
        git_vector_free(&ignores->ign_global);
 
-       git_buf_free(&ignores->dir);
+       git_buf_dispose(&ignores->dir);
 }
 
 static bool ignore_lookup_in_rules(
@@ -445,6 +437,9 @@ static bool ignore_lookup_in_rules(
        git_attr_fnmatch *match;
 
        git_vector_rforeach(&file->rules, j, match) {
+               if (match->flags & GIT_ATTR_FNMATCH_DIRECTORY &&
+                   path->is_dir == GIT_DIR_FLAG_FALSE)
+                       continue;
                if (git_attr_fnmatch__match(match, path)) {
                        *ignored = ((match->flags & GIT_ATTR_FNMATCH_NEGATIVE) == 0) ?
                                GIT_IGNORE_TRUE : GIT_IGNORE_FALSE;
@@ -629,7 +624,7 @@ int git_ignore__check_pathspec_for_exact_ignores(
                        break;
 
                if (ignored) {
-                       giterr_set(GITERR_INVALID, "pathspec contains ignored file '%s'",
+                       git_error_set(GIT_ERROR_INVALID, "pathspec contains ignored file '%s'",
                                filename);
                        error = GIT_EINVALIDSPEC;
                        break;
@@ -637,7 +632,7 @@ int git_ignore__check_pathspec_for_exact_ignores(
        }
 
        git_index_free(idx);
-       git_buf_free(&path);
+       git_buf_dispose(&path);
 
        return error;
 }
index 2b47e4dc3a74e6cb6fe4330d5c1b16b7e9f4f9d3..7f865c2c75168cceeb2c56db77c041586773bb9b 100644 (file)
@@ -29,7 +29,7 @@
 
 #define INSERT_IN_MAP_EX(idx, map, e, err) do {                                \
                if ((idx)->ignore_case)                                 \
-                       git_idxmap_icase_insert((khash_t(idxicase) *) (map), (e), (e), (err)); \
+                       git_idxmap_icase_insert((git_idxmap_icase *) (map), (e), (e), (err)); \
                else                                                    \
                        git_idxmap_insert((map), (e), (e), (err));      \
        } while (0)
 
 #define LOOKUP_IN_MAP(p, idx, k) do {                                  \
                if ((idx)->ignore_case)                                 \
-                       (p) = git_idxmap_icase_lookup_index((khash_t(idxicase) *) index->entries_map, (k)); \
+                       (p) = git_idxmap_icase_lookup_index((git_idxmap_icase *) index->entries_map, (k)); \
                else                                                    \
                        (p) = git_idxmap_lookup_index(index->entries_map, (k)); \
        } while (0)
 
 #define DELETE_IN_MAP(idx, e) do {                                     \
                if ((idx)->ignore_case)                                 \
-                       git_idxmap_icase_delete((khash_t(idxicase) *) (idx)->entries_map, (e)); \
+                       git_idxmap_icase_delete((git_idxmap_icase *) (idx)->entries_map, (e)); \
                else                                                    \
                        git_idxmap_delete((idx)->entries_map, (e));     \
        } while (0)
@@ -135,8 +135,10 @@ struct reuc_entry_internal {
        char path[GIT_FLEX_ARRAY];
 };
 
+bool git_index__enforce_unsaved_safety = false;
+
 /* local declarations */
-static size_t read_extension(git_index *index, const char *buffer, size_t buffer_size);
+static int read_extension(size_t *read_len, git_index *index, const char *buffer, size_t buffer_size);
 static int read_header(struct index_header *dest, const void *buffer);
 
 static int parse_index(git_index *index, const char *buffer, size_t buffer_size);
@@ -166,7 +168,7 @@ int git_index_entry_srch(const void *key, const void *array_member)
                return 1;
 
        if (srch_key->stage != GIT_INDEX_STAGE_ANY)
-               return srch_key->stage - GIT_IDXENTRY_STAGE(&entry->entry);
+               return srch_key->stage - GIT_INDEX_ENTRY_STAGE(&entry->entry);
 
        return 0;
 }
@@ -192,7 +194,7 @@ int git_index_entry_isrch(const void *key, const void *array_member)
                return 1;
 
        if (srch_key->stage != GIT_INDEX_STAGE_ANY)
-               return srch_key->stage - GIT_IDXENTRY_STAGE(&entry->entry);
+               return srch_key->stage - GIT_INDEX_ENTRY_STAGE(&entry->entry);
 
        return 0;
 }
@@ -220,7 +222,7 @@ int git_index_entry_cmp(const void *a, const void *b)
        diff = strcmp(entry_a->path, entry_b->path);
 
        if (diff == 0)
-               diff = (GIT_IDXENTRY_STAGE(entry_a) - GIT_IDXENTRY_STAGE(entry_b));
+               diff = (GIT_INDEX_ENTRY_STAGE(entry_a) - GIT_INDEX_ENTRY_STAGE(entry_b));
 
        return diff;
 }
@@ -234,7 +236,7 @@ int git_index_entry_icmp(const void *a, const void *b)
        diff = strcasecmp(entry_a->path, entry_b->path);
 
        if (diff == 0)
-               diff = (GIT_IDXENTRY_STAGE(entry_a) - GIT_IDXENTRY_STAGE(entry_b));
+               diff = (GIT_INDEX_ENTRY_STAGE(entry_a) - GIT_INDEX_ENTRY_STAGE(entry_b));
 
        return diff;
 }
@@ -406,7 +408,7 @@ int git_index_open(git_index **index_out, const char *index_path)
        assert(index_out);
 
        index = git__calloc(1, sizeof(git_index));
-       GITERR_CHECK_ALLOC(index);
+       GIT_ERROR_CHECK_ALLOC(index);
 
        git_pool_init(&index->tree_pool, 1);
 
@@ -516,6 +518,8 @@ static int index_remove_entry(git_index *index, size_t pos)
                } else {
                        index_entry_free(entry);
                }
+
+               index->dirty = 1;
        }
 
        return error;
@@ -527,6 +531,7 @@ int git_index_clear(git_index *index)
 
        assert(index);
 
+       index->dirty = 1;
        index->tree = NULL;
        git_pool_clear(&index->tree_pool);
 
@@ -545,7 +550,7 @@ int git_index_clear(git_index *index)
 
 static int create_index_error(int error, const char *msg)
 {
-       giterr_set_str(GITERR_INDEX, msg);
+       git_error_set_str(GIT_ERROR_INDEX, msg);
        return error;
 }
 
@@ -557,7 +562,7 @@ int git_index_set_caps(git_index *index, int caps)
 
        old_ignore_case = index->ignore_case;
 
-       if (caps == GIT_INDEXCAP_FROM_OWNER) {
+       if (caps == GIT_INDEX_CAPABILITY_FROM_OWNER) {
                git_repository *repo = INDEX_OWNER(index);
                int val;
 
@@ -573,9 +578,9 @@ int git_index_set_caps(git_index *index, int caps)
                        index->no_symlinks = (val == 0);
        }
        else {
-               index->ignore_case = ((caps & GIT_INDEXCAP_IGNORE_CASE) != 0);
-               index->distrust_filemode = ((caps & GIT_INDEXCAP_NO_FILEMODE) != 0);
-               index->no_symlinks = ((caps & GIT_INDEXCAP_NO_SYMLINKS) != 0);
+               index->ignore_case = ((caps & GIT_INDEX_CAPABILITY_IGNORE_CASE) != 0);
+               index->distrust_filemode = ((caps & GIT_INDEX_CAPABILITY_NO_FILEMODE) != 0);
+               index->no_symlinks = ((caps & GIT_INDEX_CAPABILITY_NO_SYMLINKS) != 0);
        }
 
        if (old_ignore_case != index->ignore_case) {
@@ -587,9 +592,9 @@ int git_index_set_caps(git_index *index, int caps)
 
 int git_index_caps(const git_index *index)
 {
-       return ((index->ignore_case ? GIT_INDEXCAP_IGNORE_CASE : 0) |
-                       (index->distrust_filemode ? GIT_INDEXCAP_NO_FILEMODE : 0) |
-                       (index->no_symlinks ? GIT_INDEXCAP_NO_SYMLINKS : 0));
+       return ((index->ignore_case ? GIT_INDEX_CAPABILITY_IGNORE_CASE : 0) |
+                       (index->distrust_filemode ? GIT_INDEX_CAPABILITY_NO_FILEMODE : 0) |
+                       (index->no_symlinks ? GIT_INDEX_CAPABILITY_NO_SYMLINKS : 0));
 }
 
 const git_oid *git_index_checksum(git_index *index)
@@ -611,7 +616,7 @@ static int compare_checksum(git_index *index)
 
        if (p_lseek(fd, -20, SEEK_END) < 0) {
                p_close(fd);
-               giterr_set(GITERR_OS, "failed to seek to end of file");
+               git_error_set(GIT_ERROR_OS, "failed to seek to end of file");
                return -1;
        }
 
@@ -637,19 +642,22 @@ int git_index_read(git_index *index, int force)
        index->on_disk = git_path_exists(index->index_file_path);
 
        if (!index->on_disk) {
-               if (force)
-                       return git_index_clear(index);
+               if (force && (error = git_index_clear(index)) < 0)
+                       return error;
+
+               index->dirty = 0;
                return 0;
        }
 
        if ((updated = git_futils_filestamp_check(&stamp, index->index_file_path) < 0) ||
            ((updated = compare_checksum(index)) < 0)) {
-               giterr_set(
-                       GITERR_INDEX,
+               git_error_set(
+                       GIT_ERROR_INDEX,
                        "failed to read index: '%s' no longer exists",
                        index->index_file_path);
                return updated;
        }
+
        if (!updated && !force)
                return 0;
 
@@ -665,19 +673,32 @@ int git_index_read(git_index *index, int force)
        if (!error)
                error = parse_index(index, buffer.ptr, buffer.size);
 
-       if (!error)
+       if (!error) {
                git_futils_filestamp_set(&index->stamp, &stamp);
+               index->dirty = 0;
+       }
 
-       git_buf_free(&buffer);
+       git_buf_dispose(&buffer);
        return error;
 }
 
+int git_index_read_safely(git_index *index)
+{
+       if (git_index__enforce_unsaved_safety && index->dirty) {
+               git_error_set(GIT_ERROR_INDEX,
+                       "the index has unsaved changes that would be overwritten by this operation");
+               return GIT_EINDEXDIRTY;
+       }
+
+       return git_index_read(index, false);
+}
+
 int git_index__changed_relative_to(
        git_index *index, const git_oid *checksum)
 {
        /* attempt to update index (ignoring errors) */
        if (git_index_read(index, false) < 0)
-               giterr_clear();
+               git_error_clear();
 
        return !!git_oid_cmp(&index->checksum, checksum);
 }
@@ -715,7 +736,7 @@ static int truncate_racily_clean(git_index *index)
 
        diff_opts.flags |= GIT_DIFF_INCLUDE_TYPECHANGE | GIT_DIFF_IGNORE_SUBMODULES | GIT_DIFF_DISABLE_PATHSPEC_MATCH;
        git_vector_foreach(&index->entries, i, entry) {
-               if ((entry->flags_extended & GIT_IDXENTRY_UPTODATE) == 0 &&
+               if ((entry->flags_extended & GIT_INDEX_ENTRY_UPTODATE) == 0 &&
                        is_racy_entry(index, entry))
                        git_vector_insert(&paths, (char *)entry->path);
        }
@@ -735,8 +756,10 @@ static int truncate_racily_clean(git_index *index)
                /* Ensure that we have a stage 0 for this file (ie, it's not a
                 * conflict), otherwise smudging it is quite pointless.
                 */
-               if (entry)
+               if (entry) {
                        entry->file_size = 0;
+                       index->dirty = 1;
+               }
        }
 
 done:
@@ -758,7 +781,7 @@ int git_index_set_version(git_index *index, unsigned int version)
 
        if (version < INDEX_VERSION_NUMBER_LB ||
            version > INDEX_VERSION_NUMBER_UB) {
-               giterr_set(GITERR_INDEX, "invalid version number");
+               git_error_set(GIT_ERROR_INDEX, "invalid version number");
                return -1;
        }
 
@@ -774,8 +797,9 @@ int git_index_write(git_index *index)
 
        truncate_racily_clean(index);
 
-       if ((error = git_indexwriter_init(&writer, index)) == 0)
-               error = git_indexwriter_commit(&writer);
+       if ((error = git_indexwriter_init(&writer, index)) == 0 &&
+               (error = git_indexwriter_commit(&writer)) == 0)
+               index->dirty = 0;
 
        git_indexwriter_cleanup(&writer);
 
@@ -827,20 +851,20 @@ const git_index_entry *git_index_get_byindex(
 const git_index_entry *git_index_get_bypath(
        git_index *index, const char *path, int stage)
 {
-       khiter_t pos;
        git_index_entry key = {{ 0 }};
+       size_t pos;
 
        assert(index);
 
        key.path = path;
-       GIT_IDXENTRY_STAGE_SET(&key, stage);
+       GIT_INDEX_ENTRY_STAGE_SET(&key, stage);
 
        LOOKUP_IN_MAP(pos, index, &key);
 
        if (git_idxmap_valid_index(index->entries_map, pos))
                return git_idxmap_value_at(index->entries_map, pos);
 
-       giterr_set(GITERR_INDEX, "index does not contain '%s'", path);
+       git_error_set(GIT_ERROR_INDEX, "index does not contain '%s'", path);
        return NULL;
 }
 
@@ -866,12 +890,12 @@ static void index_entry_adjust_namemask(
                git_index_entry *entry,
                size_t path_length)
 {
-       entry->flags &= ~GIT_IDXENTRY_NAMEMASK;
+       entry->flags &= ~GIT_INDEX_ENTRY_NAMEMASK;
 
-       if (path_length < GIT_IDXENTRY_NAMEMASK)
-               entry->flags |= path_length & GIT_IDXENTRY_NAMEMASK;
+       if (path_length < GIT_INDEX_ENTRY_NAMEMASK)
+               entry->flags |= path_length & GIT_INDEX_ENTRY_NAMEMASK;
        else
-               entry->flags |= GIT_IDXENTRY_NAMEMASK;
+               entry->flags |= GIT_INDEX_ENTRY_NAMEMASK;
 }
 
 /* When `from_workdir` is true, we will validate the paths to avoid placing
@@ -902,14 +926,14 @@ static int index_entry_create(
                mode = st->st_mode;
 
        if (!git_path_isvalid(repo, path, mode, path_valid_flags)) {
-               giterr_set(GITERR_INDEX, "invalid path: '%s'", path);
+               git_error_set(GIT_ERROR_INDEX, "invalid path: '%s'", path);
                return -1;
        }
 
-       GITERR_CHECK_ALLOC_ADD(&alloclen, sizeof(struct entry_internal), pathlen);
-       GITERR_CHECK_ALLOC_ADD(&alloclen, alloclen, 1);
+       GIT_ERROR_CHECK_ALLOC_ADD(&alloclen, sizeof(struct entry_internal), pathlen);
+       GIT_ERROR_CHECK_ALLOC_ADD(&alloclen, alloclen, 1);
        entry = git__calloc(1, alloclen);
-       GITERR_CHECK_ALLOC(entry);
+       GIT_ERROR_CHECK_ALLOC(entry);
 
        entry->pathlen = pathlen;
        memcpy(entry->path, path, pathlen);
@@ -949,7 +973,7 @@ static int index_entry_init(
                return -1;
 
        error = git_path_lstat(path.ptr, &st);
-       git_buf_free(&path);
+       git_buf_dispose(&path);
 
        if (error < 0)
                return error;
@@ -1006,7 +1030,7 @@ static int index_entry_reuc_init(git_index_reuc_entry **reuc_out,
        assert(reuc_out && path);
 
        *reuc_out = reuc = reuc_entry_alloc(path);
-       GITERR_CHECK_ALLOC(reuc);
+       GIT_ERROR_CHECK_ALLOC(reuc);
 
        if ((reuc->mode[0] = ancestor_mode) > 0) {
                assert(ancestor_oid);
@@ -1054,7 +1078,7 @@ static void index_entry_cpy_nocache(
        git_oid_cpy(&tgt->id, &src->id);
        tgt->mode = src->mode;
        tgt->flags = src->flags;
-       tgt->flags_extended = (src->flags_extended & GIT_IDXENTRY_EXTENDED_FLAGS);
+       tgt->flags_extended = (src->flags_extended & GIT_INDEX_ENTRY_EXTENDED_FLAGS);
 }
 
 static int index_entry_dup_nocache(
@@ -1072,9 +1096,8 @@ static int index_entry_dup_nocache(
 static int has_file_name(git_index *index,
         const git_index_entry *entry, size_t pos, int ok_to_replace)
 {
-       int retval = 0;
        size_t len = strlen(entry->path);
-       int stage = GIT_IDXENTRY_STAGE(entry);
+       int stage = GIT_INDEX_ENTRY_STAGE(entry);
        const char *name = entry->path;
 
        while (pos < index->entries.length) {
@@ -1084,18 +1107,17 @@ static int has_file_name(git_index *index,
                        break;
                if (memcmp(name, p->path, len))
                        break;
-               if (GIT_IDXENTRY_STAGE(&p->entry) != stage)
+               if (GIT_INDEX_ENTRY_STAGE(&p->entry) != stage)
                        continue;
                if (p->path[len] != '/')
                        continue;
-               retval = -1;
                if (!ok_to_replace)
-                       break;
+                       return -1;
 
                if (index_remove_entry(index, --pos) < 0)
                        break;
        }
-       return retval;
+       return 0;
 }
 
 /*
@@ -1105,8 +1127,7 @@ static int has_file_name(git_index *index,
 static int has_dir_name(git_index *index,
                const git_index_entry *entry, int ok_to_replace)
 {
-       int retval = 0;
-       int stage = GIT_IDXENTRY_STAGE(entry);
+       int stage = GIT_INDEX_ENTRY_STAGE(entry);
        const char *name = entry->path;
        const char *slash = name + strlen(name);
 
@@ -1117,14 +1138,13 @@ static int has_dir_name(git_index *index,
                        if (*--slash == '/')
                                break;
                        if (slash <= entry->path)
-                               return retval;
+                               return 0;
                }
                len = slash - name;
 
                if (!index_find(&pos, index, name, len, stage)) {
-                       retval = -1;
                        if (!ok_to_replace)
-                               break;
+                               return -1;
 
                        if (index_remove_entry(index, pos) < 0)
                                break;
@@ -1144,22 +1164,20 @@ static int has_dir_name(git_index *index,
                            memcmp(p->path, name, len))
                                break; /* not our subdirectory */
 
-                       if (GIT_IDXENTRY_STAGE(&p->entry) == stage)
-                               return retval;
+                       if (GIT_INDEX_ENTRY_STAGE(&p->entry) == stage)
+                               return 0;
                }
        }
 
-       return retval;
+       return 0;
 }
 
 static int check_file_directory_collision(git_index *index,
                git_index_entry *entry, size_t pos, int ok_to_replace)
 {
-       int retval = has_file_name(index, entry, pos, ok_to_replace);
-       retval = retval + has_dir_name(index, entry, ok_to_replace);
-
-       if (retval) {
-               giterr_set(GITERR_INDEX,
+       if (has_file_name(index, entry, pos, ok_to_replace) < 0 ||
+           has_dir_name(index, entry, ok_to_replace) < 0) {
+               git_error_set(GIT_ERROR_INDEX,
                        "'%s' appears as both a file and a directory", entry->path);
                return -1;
        }
@@ -1204,7 +1222,7 @@ static int canonicalize_directory_path(
                        &pos, &index->entries, index->entries_search_path, search);
 
                while ((match = git_vector_get(&index->entries, pos))) {
-                       if (GIT_IDXENTRY_STAGE(match) != 0) {
+                       if (GIT_INDEX_ENTRY_STAGE(match) != 0) {
                                /* conflicts do not contribute to canonical paths */
                        } else if (strncmp(search, match->path, search_len) == 0) {
                                /* prefer an exact match to the input filename */
@@ -1241,8 +1259,8 @@ static int index_no_dups(void **old, void *new)
 {
        const git_index_entry *entry = new;
        GIT_UNUSED(old);
-       giterr_set(GITERR_INDEX, "'%s' appears multiple times at stage %d",
-               entry->path, GIT_IDXENTRY_STAGE(entry));
+       git_error_set(GIT_ERROR_INDEX, "'%s' appears multiple times at stage %d",
+               entry->path, GIT_INDEX_ENTRY_STAGE(entry));
        return GIT_EEXISTS;
 }
 
@@ -1258,7 +1276,7 @@ static void index_existing_and_best(
        int error;
 
        error = index_find(&pos,
-               index, entry->path, 0, GIT_IDXENTRY_STAGE(entry));
+               index, entry->path, 0, GIT_INDEX_ENTRY_STAGE(entry));
 
        if (error == 0) {
                *existing = index->entries.contents[pos];
@@ -1271,7 +1289,7 @@ static void index_existing_and_best(
        *existing_position = 0;
        *best = NULL;
 
-       if (GIT_IDXENTRY_STAGE(entry) == 0) {
+       if (GIT_INDEX_ENTRY_STAGE(entry) == 0) {
                for (; pos < index->entries.length; pos++) {
                        int (*strcomp)(const char *a, const char *b) =
                                index->ignore_case ? git__strcasecmp : git__strcmp;
@@ -1281,7 +1299,7 @@ static void index_existing_and_best(
                        if (strcomp(entry->path, e->path) != 0)
                                break;
 
-                       if (GIT_IDXENTRY_STAGE(e) == GIT_INDEX_STAGE_ANCESTOR) {
+                       if (GIT_INDEX_ENTRY_STAGE(e) == GIT_INDEX_STAGE_ANCESTOR) {
                                *best = e;
                                continue;
                        } else {
@@ -1313,57 +1331,58 @@ static int index_insert(
        bool trust_mode,
        bool trust_id)
 {
-       int error = 0;
-       size_t path_length, position;
        git_index_entry *existing, *best, *entry;
+       size_t path_length, position;
+       int error;
 
        assert(index && entry_ptr);
 
        entry = *entry_ptr;
 
-       /* make sure that the path length flag is correct */
+       /* Make sure that the path length flag is correct */
        path_length = ((struct entry_internal *)entry)->pathlen;
        index_entry_adjust_namemask(entry, path_length);
 
-       /* this entry is now up-to-date and should not be checked for raciness */
-       entry->flags_extended |= GIT_IDXENTRY_UPTODATE;
+       /* This entry is now up-to-date and should not be checked for raciness */
+       entry->flags_extended |= GIT_INDEX_ENTRY_UPTODATE;
 
        git_vector_sort(&index->entries);
 
-       /* look if an entry with this path already exists, either staged, or (if
+       /*
+        * Look if an entry with this path already exists, either staged, or (if
         * this entry is a regular staged item) as the "ours" side of a conflict.
         */
        index_existing_and_best(&existing, &position, &best, index, entry);
 
-       /* update the file mode */
+       /* Update the file mode */
        entry->mode = trust_mode ?
                git_index__create_mode(entry->mode) :
                index_merge_mode(index, best, entry->mode);
 
-       /* canonicalize the directory name */
-       if (!trust_path)
-               error = canonicalize_directory_path(index, entry, best);
+       /* Canonicalize the directory name */
+       if (!trust_path && (error = canonicalize_directory_path(index, entry, best)) < 0)
+               goto out;
 
-       /* ensure that the given id exists (unless it's a submodule) */
-       if (!error && !trust_id && INDEX_OWNER(index) &&
-               (entry->mode & GIT_FILEMODE_COMMIT) != GIT_FILEMODE_COMMIT) {
+       /* Ensure that the given id exists (unless it's a submodule) */
+       if (!trust_id && INDEX_OWNER(index) &&
+           (entry->mode & GIT_FILEMODE_COMMIT) != GIT_FILEMODE_COMMIT) {
 
                if (!git_object__is_valid(INDEX_OWNER(index), &entry->id,
-                       git_object__type_from_filemode(entry->mode)))
+                                         git_object__type_from_filemode(entry->mode))) {
                        error = -1;
+                       goto out;
+               }
        }
 
-       /* look for tree / blob name collisions, removing conflicts if requested */
-       if (!error)
-               error = check_file_directory_collision(index, entry, position, replace);
+       /* Look for tree / blob name collisions, removing conflicts if requested */
+       if ((error = check_file_directory_collision(index, entry, position, replace)) < 0)
+               goto out;
 
-       if (error < 0)
-               /* skip changes */;
-
-       /* if we are replacing an existing item, overwrite the existing entry
+       /*
+        * If we are replacing an existing item, overwrite the existing entry
         * and return it in place of the passed in one.
         */
-       else if (existing) {
+       if (existing) {
                if (replace) {
                        index_entry_cpy(existing, entry);
 
@@ -1372,20 +1391,22 @@ static int index_insert(
                }
 
                index_entry_free(entry);
-               *entry_ptr = entry = existing;
-       }
-       else {
-               /* if replace is not requested or no existing entry exists, insert
+               *entry_ptr = existing;
+       } else {
+               /*
+                * If replace is not requested or no existing entry exists, insert
                 * at the sorted position.  (Since we re-sort after each insert to
                 * check for dups, this is actually cheaper in the long run.)
                 */
-               error = git_vector_insert_sorted(&index->entries, entry, index_no_dups);
+               if ((error = git_vector_insert_sorted(&index->entries, entry, index_no_dups)) < 0)
+                       goto out;
 
-               if (error == 0) {
-                       INSERT_IN_MAP(index, entry, &error);
-               }
+               INSERT_IN_MAP(index, entry, &error);
        }
 
+       index->dirty = 1;
+
+out:
        if (error < 0) {
                index_entry_free(*entry_ptr);
                *entry_ptr = NULL;
@@ -1448,7 +1469,7 @@ int git_index_add_frombuffer(
                        "Index is not backed up by an existing repository.");
 
        if (!is_file_or_link(source_entry->mode)) {
-               giterr_set(GITERR_INDEX, "invalid filemode");
+               git_error_set(GIT_ERROR_INDEX, "invalid filemode");
                return -1;
        }
 
@@ -1489,7 +1510,7 @@ static int add_repo_as_submodule(git_index_entry **out, git_index *index, const
                return error;
 
        if ((error = p_stat(abspath.ptr, &st)) < 0) {
-               giterr_set(GITERR_OS, "failed to stat repository dir");
+               git_error_set(GIT_ERROR_OS, "failed to stat repository dir");
                return -1;
        }
 
@@ -1509,7 +1530,7 @@ static int add_repo_as_submodule(git_index_entry **out, git_index *index, const
 
        git_reference_free(head);
        git_repository_free(sub);
-       git_buf_free(&abspath);
+       git_buf_dispose(&abspath);
 
        *out = entry;
        return 0;
@@ -1533,13 +1554,13 @@ int git_index_add_bypath(git_index *index, const char *path)
                git_submodule *sm;
                git_error_state err;
 
-               giterr_state_capture(&err, ret);
+               git_error_state_capture(&err, ret);
 
                ret = git_submodule_lookup(&sm, INDEX_OWNER(index), path);
                if (ret == GIT_ENOTFOUND)
-                       return giterr_state_restore(&err);
+                       return git_error_state_restore(&err);
 
-               giterr_state_free(&err);
+               git_error_state_free(&err);
 
                /*
                 * EEXISTS means that there is a repository at that path, but it's not known
@@ -1581,7 +1602,7 @@ int git_index_remove_bypath(git_index *index, const char *path)
                return ret;
 
        if (ret == GIT_ENOTFOUND)
-               giterr_clear();
+               git_error_clear();
 
        return 0;
 }
@@ -1598,7 +1619,7 @@ int git_index__fill(git_index *index, const git_vector *source_entries)
                return 0;
 
        git_vector_size_hint(&index->entries, source_entries->length);
-       git_idxmap_resize(index->entries_map, (khint_t)(source_entries->length * 1.3));
+       git_idxmap_resize(index->entries_map, (size_t)(source_entries->length * 1.3));
 
        git_vector_foreach(source_entries, i, source_entry) {
                git_index_entry *entry = NULL;
@@ -1607,7 +1628,7 @@ int git_index__fill(git_index *index, const git_vector *source_entries)
                        break;
 
                index_entry_adjust_namemask(entry, ((struct entry_internal *)entry)->pathlen);
-               entry->flags_extended |= GIT_IDXENTRY_UPTODATE;
+               entry->flags_extended |= GIT_INDEX_ENTRY_UPTODATE;
                entry->mode = git_index__create_mode(entry->mode);
 
                if ((ret = git_vector_insert(&index->entries, entry)) < 0)
@@ -1616,6 +1637,8 @@ int git_index__fill(git_index *index, const git_vector *source_entries)
                INSERT_IN_MAP(index, entry, &ret);
                if (ret < 0)
                        break;
+
+               index->dirty = 1;
        }
 
        if (!ret)
@@ -1633,7 +1656,7 @@ int git_index_add(git_index *index, const git_index_entry *source_entry)
        assert(index && source_entry && source_entry->path);
 
        if (!valid_filemode(source_entry->mode)) {
-               giterr_set(GITERR_INDEX, "invalid entry mode");
+               git_error_set(GIT_ERROR_INDEX, "invalid entry mode");
                return -1;
        }
 
@@ -1652,13 +1675,13 @@ int git_index_remove(git_index *index, const char *path, int stage)
        git_index_entry remove_key = {{ 0 }};
 
        remove_key.path = path;
-       GIT_IDXENTRY_STAGE_SET(&remove_key, stage);
+       GIT_INDEX_ENTRY_STAGE_SET(&remove_key, stage);
 
        DELETE_IN_MAP(index, &remove_key);
 
        if (index_find(&position, index, path, 0, stage) < 0) {
-               giterr_set(
-                       GITERR_INDEX, "index does not contain %s at stage %d", path, stage);
+               git_error_set(
+                       GIT_ERROR_INDEX, "index does not contain %s at stage %d", path, stage);
                error = GIT_ENOTFOUND;
        } else {
                error = index_remove_entry(index, position);
@@ -1683,7 +1706,7 @@ int git_index_remove_directory(git_index *index, const char *dir, int stage)
                if (!entry || git__prefixcmp(entry->path, pfx.ptr) != 0)
                        break;
 
-               if (GIT_IDXENTRY_STAGE(entry) != stage) {
+               if (GIT_INDEX_ENTRY_STAGE(entry) != stage) {
                        ++pos;
                        continue;
                }
@@ -1693,7 +1716,7 @@ int git_index_remove_directory(git_index *index, const char *dir, int stage)
                /* removed entry at 'pos' so we don't need to increment */
        }
 
-       git_buf_free(&pfx);
+       git_buf_dispose(&pfx);
 
        return error;
 }
@@ -1730,7 +1753,7 @@ int git_index_find(size_t *at_pos, git_index *index, const char *path)
 
        if (git_vector_bsearch2(
                        &pos, &index->entries, index->entries_search_path, path) < 0) {
-               giterr_set(GITERR_INDEX, "index does not contain %s", path);
+               git_error_set(GIT_ERROR_INDEX, "index does not contain %s", path);
                return GIT_ENOTFOUND;
        }
 
@@ -1772,7 +1795,7 @@ int git_index_conflict_add(git_index *index,
        /* Validate entries */
        for (i = 0; i < 3; i++) {
                if (entries[i] && !valid_filemode(entries[i]->mode)) {
-                       giterr_set(GITERR_INDEX, "invalid filemode for stage %d entry",
+                       git_error_set(GIT_ERROR_INDEX, "invalid filemode for stage %d entry",
                                i + 1);
                        ret = -1;
                        goto on_error;
@@ -1788,7 +1811,7 @@ int git_index_conflict_add(git_index *index,
                        if (ret != GIT_ENOTFOUND)
                                goto on_error;
 
-                       giterr_clear();
+                       git_error_clear();
                        ret = 0;
                }
        }
@@ -1799,7 +1822,7 @@ int git_index_conflict_add(git_index *index,
                        continue;
 
                /* Make sure stage is correct */
-               GIT_IDXENTRY_STAGE_SET(entries[i], i + 1);
+               GIT_INDEX_ENTRY_STAGE_SET(entries[i], i + 1);
 
                if ((ret = index_insert(index, &entries[i], 1, true, true, false)) < 0)
                        goto on_error;
@@ -1842,7 +1865,7 @@ static int index_conflict__get_byindex(
                if (path && index->entries_cmp_path(conflict_entry->path, path) != 0)
                        break;
 
-               stage = GIT_IDXENTRY_STAGE(conflict_entry);
+               stage = GIT_INDEX_ENTRY_STAGE(conflict_entry);
                path = conflict_entry->path;
 
                switch (stage) {
@@ -1909,7 +1932,7 @@ static int index_conflict_remove(git_index *index, const char *path)
                        index->entries_cmp_path(conflict_entry->path, path) != 0)
                        break;
 
-               if (GIT_IDXENTRY_STAGE(conflict_entry) == 0) {
+               if (GIT_INDEX_ENTRY_STAGE(conflict_entry) == 0) {
                        pos++;
                        continue;
                }
@@ -1941,13 +1964,58 @@ int git_index_has_conflicts(const git_index *index)
        assert(index);
 
        git_vector_foreach(&index->entries, i, entry) {
-               if (GIT_IDXENTRY_STAGE(entry) > 0)
+               if (GIT_INDEX_ENTRY_STAGE(entry) > 0)
                        return 1;
        }
 
        return 0;
 }
 
+int git_index_iterator_new(
+       git_index_iterator **iterator_out,
+       git_index *index)
+{
+       git_index_iterator *it;
+       int error;
+
+       assert(iterator_out && index);
+
+       it = git__calloc(1, sizeof(git_index_iterator));
+       GIT_ERROR_CHECK_ALLOC(it);
+
+       if ((error = git_index_snapshot_new(&it->snap, index)) < 0) {
+               git__free(it);
+               return error;
+       }
+
+       it->index = index;
+
+       *iterator_out = it;
+       return 0;
+}
+
+int git_index_iterator_next(
+       const git_index_entry **out,
+       git_index_iterator *it)
+{
+       assert(out && it);
+
+       if (it->cur >= git_vector_length(&it->snap))
+               return GIT_ITEROVER;
+
+       *out = (git_index_entry *)git_vector_get(&it->snap, it->cur++);
+       return 0;
+}
+
+void git_index_iterator_free(git_index_iterator *it)
+{
+       if (it == NULL)
+               return;
+
+       git_index_snapshot_release(&it->snap, it->index);
+       git__free(it);
+}
+
 int git_index_conflict_iterator_new(
        git_index_conflict_iterator **iterator_out,
        git_index *index)
@@ -1957,7 +2025,7 @@ int git_index_conflict_iterator_new(
        assert(iterator_out && index);
 
        it = git__calloc(1, sizeof(git_index_conflict_iterator));
-       GITERR_CHECK_ALLOC(it);
+       GIT_ERROR_CHECK_ALLOC(it);
 
        it->index = index;
 
@@ -2043,7 +2111,7 @@ int git_index_name_add(git_index *index,
        assert((ancestor && ours) || (ancestor && theirs) || (ours && theirs));
 
        conflict_name = git__calloc(1, sizeof(git_index_name_entry));
-       GITERR_CHECK_ALLOC(conflict_name);
+       GIT_ERROR_CHECK_ALLOC(conflict_name);
 
        if ((ancestor && !(conflict_name->ancestor = git__strdup(ancestor))) ||
                (ours     && !(conflict_name->ours     = git__strdup(ours))) ||
@@ -2054,6 +2122,7 @@ int git_index_name_add(git_index *index,
                return -1;
        }
 
+       index->dirty = 1;
        return 0;
 }
 
@@ -2068,6 +2137,8 @@ void git_index_name_clear(git_index *index)
                index_name_entry_free(conflict_name);
 
        git_vector_clear(&index->names);
+
+       index->dirty = 1;
 }
 
 size_t git_index_reuc_entrycount(git_index *index)
@@ -2093,6 +2164,8 @@ static int index_reuc_insert(
        assert(git_vector_is_sorted(&index->reuc));
 
        res = git_vector_insert_sorted(&index->reuc, reuc, &index_reuc_on_dup);
+       index->dirty = 1;
+
        return res == GIT_EEXISTS ? 0 : res;
 }
 
@@ -2158,6 +2231,7 @@ int git_index_reuc_remove(git_index *index, size_t position)
        if (!error)
                index_entry_reuc_free(reuc);
 
+       index->dirty = 1;
        return error;
 }
 
@@ -2171,11 +2245,13 @@ void git_index_reuc_clear(git_index *index)
                index_entry_reuc_free(git__swap(index->reuc.contents[i], NULL));
 
        git_vector_clear(&index->reuc);
+
+       index->dirty = 1;
 }
 
 static int index_error_invalid(const char *message)
 {
-       giterr_set(GITERR_INDEX, "invalid data in index - %s", message);
+       git_error_set(GIT_ERROR_INDEX, "invalid data in index - %s", message);
        return -1;
 }
 
@@ -2198,7 +2274,7 @@ static int read_reuc(git_index *index, const char *buffer, size_t size)
                        return index_error_invalid("reading reuc entries");
 
                lost = reuc_entry_alloc(buffer);
-               GITERR_CHECK_ALLOC(lost);
+               GIT_ERROR_CHECK_ALLOC(lost);
 
                size -= len;
                buffer += len;
@@ -2271,7 +2347,7 @@ static int read_conflict_names(git_index *index, const char *buffer, size_t size
                ptr = NULL; \
        else { \
                ptr = git__malloc(len); \
-               GITERR_CHECK_ALLOC(ptr); \
+               GIT_ERROR_CHECK_ALLOC(ptr); \
                memcpy(ptr, buffer, len); \
        } \
        \
@@ -2280,7 +2356,7 @@ static int read_conflict_names(git_index *index, const char *buffer, size_t size
 
        while (size) {
                git_index_name_entry *conflict_name = git__calloc(1, sizeof(git_index_name_entry));
-               GITERR_CHECK_ALLOC(conflict_name);
+               GIT_ERROR_CHECK_ALLOC(conflict_name);
 
                read_conflict_name(conflict_name->ancestor);
                read_conflict_name(conflict_name->ours);
@@ -2310,13 +2386,13 @@ out_err:
 static size_t index_entry_size(size_t path_len, size_t varint_len, uint32_t flags)
 {
        if (varint_len) {
-               if (flags & GIT_IDXENTRY_EXTENDED)
+               if (flags & GIT_INDEX_ENTRY_EXTENDED)
                        return offsetof(struct entry_long, path) + path_len + 1 + varint_len;
                else
                        return offsetof(struct entry_short, path) + path_len + 1 + varint_len;
        } else {
 #define entry_size(type,len) ((offsetof(type, path) + (len) + 8) & ~7)
-               if (flags & GIT_IDXENTRY_EXTENDED)
+               if (flags & GIT_INDEX_ENTRY_EXTENDED)
                        return entry_size(struct entry_long, path_len);
                else
                        return entry_size(struct entry_short, path_len);
@@ -2358,7 +2434,7 @@ static int read_entry(
        git_oid_cpy(&entry.id, &source.oid);
        entry.flags = ntohs(source.flags);
 
-       if (entry.flags & GIT_IDXENTRY_EXTENDED) {
+       if (entry.flags & GIT_INDEX_ENTRY_EXTENDED) {
                uint16_t flags_raw;
                size_t flags_offset;
 
@@ -2373,7 +2449,7 @@ static int read_entry(
                path_ptr = (const char *) buffer + offsetof(struct entry_short, path);
 
        if (!compressed) {
-               path_length = entry.flags & GIT_IDXENTRY_NAMEMASK;
+               path_length = entry.flags & GIT_INDEX_ENTRY_NAMEMASK;
 
                /* if this is a very long string, we must find its
                 * real length without overflowing */
@@ -2399,17 +2475,17 @@ static int read_entry(
                if (varint_len == 0 || last_len < strip_len)
                        return index_error_invalid("incorrect prefix length");
 
-               prefix_len = last_len - strip_len;
+               prefix_len = last_len - (size_t)strip_len;
                suffix_len = strlen(path_ptr + varint_len);
 
-               GITERR_CHECK_ALLOC_ADD(&path_len, prefix_len, suffix_len);
-               GITERR_CHECK_ALLOC_ADD(&path_len, path_len, 1);
+               GIT_ERROR_CHECK_ALLOC_ADD(&path_len, prefix_len, suffix_len);
+               GIT_ERROR_CHECK_ALLOC_ADD(&path_len, path_len, 1);
 
                if (path_len > GIT_PATH_MAX)
                        return index_error_invalid("unreasonable path length");
 
                tmp_path = git__malloc(path_len);
-               GITERR_CHECK_ALLOC(tmp_path);
+               GIT_ERROR_CHECK_ALLOC(tmp_path);
 
                memcpy(tmp_path, last, prefix_len);
                memcpy(tmp_path + prefix_len, path_ptr + varint_len, suffix_len + 1);
@@ -2450,7 +2526,7 @@ static int read_header(struct index_header *dest, const void *buffer)
        return 0;
 }
 
-static size_t read_extension(git_index *index, const char *buffer, size_t buffer_size)
+static int read_extension(size_t *read_len, git_index *index, const char *buffer, size_t buffer_size)
 {
        struct index_extension dest;
        size_t total_size;
@@ -2463,31 +2539,36 @@ static size_t read_extension(git_index *index, const char *buffer, size_t buffer
 
        if (dest.extension_size > total_size ||
                buffer_size < total_size ||
-               buffer_size - total_size < INDEX_FOOTER_SIZE)
-               return 0;
+               buffer_size - total_size < INDEX_FOOTER_SIZE) {
+               index_error_invalid("extension is truncated");
+               return -1;
+       }
 
        /* optional extension */
        if (dest.signature[0] >= 'A' && dest.signature[0] <= 'Z') {
                /* tree cache */
                if (memcmp(dest.signature, INDEX_EXT_TREECACHE_SIG, 4) == 0) {
                        if (git_tree_cache_read(&index->tree, buffer + 8, dest.extension_size, &index->tree_pool) < 0)
-                               return 0;
+                               return -1;
                } else if (memcmp(dest.signature, INDEX_EXT_UNMERGED_SIG, 4) == 0) {
                        if (read_reuc(index, buffer + 8, dest.extension_size) < 0)
-                               return 0;
+                               return -1;
                } else if (memcmp(dest.signature, INDEX_EXT_CONFLICT_NAME_SIG, 4) == 0) {
                        if (read_conflict_names(index, buffer + 8, dest.extension_size) < 0)
-                               return 0;
+                               return -1;
                }
                /* else, unsupported extension. We cannot parse this, but we can skip
                 * it by returning `total_size */
        } else {
                /* we cannot handle non-ignorable extensions;
                 * in fact they aren't even defined in the standard */
-               return 0;
+               git_error_set(GIT_ERROR_INDEX, "unsupported mandatory extension: '%.4s'", dest.signature);
+               return -1;
        }
 
-       return total_size;
+       *read_len = total_size;
+
+       return 0;
 }
 
 static int parse_index(git_index *index, const char *buffer, size_t buffer_size)
@@ -2527,7 +2608,7 @@ static int parse_index(git_index *index, const char *buffer, size_t buffer_size)
        assert(!index->entries.length);
 
        if (index->ignore_case)
-               git_idxmap_icase_resize((khash_t(idxicase) *) index->entries_map, header.entry_count);
+               git_idxmap_icase_resize((git_idxmap_icase *) index->entries_map, header.entry_count);
        else
                git_idxmap_resize(index->entries_map, header.entry_count);
 
@@ -2569,11 +2650,7 @@ static int parse_index(git_index *index, const char *buffer, size_t buffer_size)
        while (buffer_size > INDEX_FOOTER_SIZE) {
                size_t extension_size;
 
-               extension_size = read_extension(index, buffer, buffer_size);
-
-               /* see if we have read any bytes from the extension */
-               if (extension_size == 0) {
-                       error = index_error_invalid("extension is truncated");
+               if ((error = read_extension(&extension_size, index, buffer, buffer_size)) < 0) {
                        goto done;
                }
 
@@ -2605,6 +2682,7 @@ static int parse_index(git_index *index, const char *buffer, size_t buffer_size)
        git_vector_set_sorted(&index->entries, !index->ignore_case);
        git_vector_sort(&index->entries);
 
+       index->dirty = 0;
 done:
        return error;
 }
@@ -2617,10 +2695,10 @@ static bool is_index_extended(git_index *index)
        extended = 0;
 
        git_vector_foreach(&index->entries, i, entry) {
-               entry->flags &= ~GIT_IDXENTRY_EXTENDED;
-               if (entry->flags_extended & GIT_IDXENTRY_EXTENDED_FLAGS) {
+               entry->flags &= ~GIT_INDEX_ENTRY_EXTENDED;
+               if (entry->flags_extended & GIT_INDEX_ENTRY_EXTENDED_FLAGS) {
                        extended++;
-                       entry->flags |= GIT_IDXENTRY_EXTENDED;
+                       entry->flags |= GIT_INDEX_ENTRY_EXTENDED;
                }
        }
 
@@ -2630,7 +2708,7 @@ static bool is_index_extended(git_index *index)
 static int write_disk_entry(git_filebuf *file, git_index_entry *entry, const char *last)
 {
        void *mem = NULL;
-       struct entry_short *ondisk;
+       struct entry_short ondisk;
        size_t path_len, disk_size;
        int varint_len = 0;
        char *path;
@@ -2658,9 +2736,7 @@ static int write_disk_entry(git_filebuf *file, git_index_entry *entry, const cha
        if (git_filebuf_reserve(file, &mem, disk_size) < 0)
                return -1;
 
-       ondisk = (struct entry_short *)mem;
-
-       memset(ondisk, 0x0, disk_size);
+       memset(mem, 0x0, disk_size);
 
        /**
         * Yes, we have to truncate.
@@ -2672,30 +2748,32 @@ static int write_disk_entry(git_filebuf *file, git_index_entry *entry, const cha
         *
         * In 2038 I will be either too dead or too rich to care about this
         */
-       ondisk->ctime.seconds = htonl((uint32_t)entry->ctime.seconds);
-       ondisk->mtime.seconds = htonl((uint32_t)entry->mtime.seconds);
-       ondisk->ctime.nanoseconds = htonl(entry->ctime.nanoseconds);
-       ondisk->mtime.nanoseconds = htonl(entry->mtime.nanoseconds);
-       ondisk->dev = htonl(entry->dev);
-       ondisk->ino = htonl(entry->ino);
-       ondisk->mode = htonl(entry->mode);
-       ondisk->uid = htonl(entry->uid);
-       ondisk->gid = htonl(entry->gid);
-       ondisk->file_size = htonl((uint32_t)entry->file_size);
-
-       git_oid_cpy(&ondisk->oid, &entry->id);
-
-       ondisk->flags = htons(entry->flags);
-
-       if (entry->flags & GIT_IDXENTRY_EXTENDED) {
-               struct entry_long *ondisk_ext;
-               ondisk_ext = (struct entry_long *)ondisk;
-               ondisk_ext->flags_extended = htons(entry->flags_extended &
-                       GIT_IDXENTRY_EXTENDED_FLAGS);
-               path = ondisk_ext->path;
+       ondisk.ctime.seconds = htonl((uint32_t)entry->ctime.seconds);
+       ondisk.mtime.seconds = htonl((uint32_t)entry->mtime.seconds);
+       ondisk.ctime.nanoseconds = htonl(entry->ctime.nanoseconds);
+       ondisk.mtime.nanoseconds = htonl(entry->mtime.nanoseconds);
+       ondisk.dev = htonl(entry->dev);
+       ondisk.ino = htonl(entry->ino);
+       ondisk.mode = htonl(entry->mode);
+       ondisk.uid = htonl(entry->uid);
+       ondisk.gid = htonl(entry->gid);
+       ondisk.file_size = htonl((uint32_t)entry->file_size);
+
+       git_oid_cpy(&ondisk.oid, &entry->id);
+
+       ondisk.flags = htons(entry->flags);
+
+       if (entry->flags & GIT_INDEX_ENTRY_EXTENDED) {
+               struct entry_long ondisk_ext;
+               memcpy(&ondisk_ext, &ondisk, sizeof(struct entry_short));
+               ondisk_ext.flags_extended = htons(entry->flags_extended &
+                       GIT_INDEX_ENTRY_EXTENDED_FLAGS);
+               memcpy(mem, &ondisk_ext, offsetof(struct entry_long, path));
+               path = ((struct entry_long*)mem)->path;
                disk_size -= offsetof(struct entry_long, path);
        } else {
-               path = ondisk->path;
+               memcpy(mem, &ondisk, offsetof(struct entry_short, path));
+               path = ((struct entry_short*)mem)->path;
                disk_size -= offsetof(struct entry_short, path);
        }
 
@@ -2820,7 +2898,7 @@ static int write_name_extension(git_index *index, git_filebuf *file)
 
        error = write_extension(file, &extension, &name_buf);
 
-       git_buf_free(&name_buf);
+       git_buf_dispose(&name_buf);
 
 done:
        return error;
@@ -2868,7 +2946,7 @@ static int write_reuc_extension(git_index *index, git_filebuf *file)
 
        error = write_extension(file, &extension, &reuc_buf);
 
-       git_buf_free(&reuc_buf);
+       git_buf_dispose(&reuc_buf);
 
 done:
        return error;
@@ -2892,7 +2970,7 @@ static int write_tree_extension(git_index *index, git_filebuf *file)
 
        error = write_extension(file, &extension, &buf);
 
-       git_buf_free(&buf);
+       git_buf_dispose(&buf);
 
        return error;
 }
@@ -2903,7 +2981,7 @@ static void clear_uptodate(git_index *index)
        size_t i;
 
        git_vector_foreach(&index->entries, i, entry)
-               entry->flags_extended &= ~GIT_IDXENTRY_UPTODATE;
+               entry->flags_extended &= ~GIT_INDEX_ENTRY_UPTODATE;
 }
 
 static int write_index(git_oid *checksum, git_index *index, git_filebuf *file)
@@ -2960,12 +3038,12 @@ static int write_index(git_oid *checksum, git_index *index, git_filebuf *file)
 
 int git_index_entry_stage(const git_index_entry *entry)
 {
-       return GIT_IDXENTRY_STAGE(entry);
+       return GIT_INDEX_ENTRY_STAGE(entry);
 }
 
 int git_index_entry_is_conflict(const git_index_entry *entry)
 {
-       return (GIT_IDXENTRY_STAGE(entry) > 0);
+       return (GIT_INDEX_ENTRY_STAGE(entry) > 0);
 }
 
 typedef struct read_tree_data {
@@ -3009,7 +3087,7 @@ static int read_tree_cb(
        }
 
        index_entry_adjust_namemask(entry, path.size);
-       git_buf_free(&path);
+       git_buf_dispose(&path);
 
        if (git_vector_insert(data->new_entries, entry) < 0) {
                index_entry_free(entry);
@@ -3047,7 +3125,7 @@ int git_index_read_tree(git_index *index, const git_tree *tree)
                goto cleanup;
 
        if (index->ignore_case)
-               git_idxmap_icase_resize((khash_t(idxicase) *) entries_map, entries.length);
+               git_idxmap_icase_resize((git_idxmap_icase *) entries_map, entries.length);
        else
                git_idxmap_resize(entries_map, entries.length);
 
@@ -3055,7 +3133,7 @@ int git_index_read_tree(git_index *index, const git_tree *tree)
                INSERT_IN_MAP_EX(index, entries_map, e, &error);
 
                if (error < 0) {
-                       giterr_set(GITERR_INDEX, "failed to insert entry into map");
+                       git_error_set(GIT_ERROR_INDEX, "failed to insert entry into map");
                        return error;
                }
        }
@@ -3071,6 +3149,8 @@ int git_index_read_tree(git_index *index, const git_tree *tree)
                entries_map = git__swap(index->entries_map, entries_map);
        }
 
+       index->dirty = 1;
+
 cleanup:
        git_vector_free(&entries);
        git_idxmap_free(entries_map);
@@ -3105,7 +3185,7 @@ static int git_index_read_iterator(
                goto done;
 
        if (index->ignore_case && new_length_hint)
-               git_idxmap_icase_resize((khash_t(idxicase) *) new_entries_map, new_length_hint);
+               git_idxmap_icase_resize((git_idxmap_icase *) new_entries_map, new_length_hint);
        else if (new_length_hint)
                git_idxmap_resize(new_entries_map, new_length_hint);
 
@@ -3178,7 +3258,7 @@ static int git_index_read_iterator(
                        error = git_vector_insert(&remove_entries, remove_entry);
 
                if (error < 0) {
-                       giterr_set(GITERR_INDEX, "failed to insert entry");
+                       git_error_set(GIT_ERROR_INDEX, "failed to insert entry");
                        goto done;
                }
 
@@ -3210,6 +3290,7 @@ static int git_index_read_iterator(
 
        clear_uptodate(index);
 
+       index->dirty = 1;
        error = 0;
 
 done:
@@ -3286,7 +3367,7 @@ int git_index_add_all(
        error = index_apply_to_wd_diff(index, INDEX_ACTION_ADDALL, paths, flags, cb, payload);
 
        if (error)
-               giterr_set_after_callback(error);
+               git_error_set_after_callback(error);
 
 cleanup:
        git_iterator_free(wditer);
@@ -3388,7 +3469,7 @@ static int index_apply_to_wd_diff(git_index *index, int action, const git_strarr
        git_diff_free(diff);
 
        if (error) /* make sure error is set if callback stopped iteration */
-               giterr_set_after_callback(error);
+               git_error_set_after_callback(error);
 
 cleanup:
        git_pathspec__clear(&ps);
@@ -3445,7 +3526,7 @@ static int index_apply_to_all(
                        error = git_index_add_bypath(index, path.ptr);
 
                        if (error == GIT_ENOTFOUND) {
-                               giterr_clear();
+                               git_error_clear();
 
                                error = git_index_remove_bypath(index, path.ptr);
 
@@ -3458,13 +3539,13 @@ static int index_apply_to_all(
                                i--; /* back up foreach if we removed this */
                        break;
                default:
-                       giterr_set(GITERR_INVALID, "unknown index action %d", action);
+                       git_error_set(GIT_ERROR_INVALID, "unknown index action %d", action);
                        error = -1;
                        break;
                }
        }
 
-       git_buf_free(&path);
+       git_buf_dispose(&path);
        git_pathspec__clear(&ps);
 
        return error;
@@ -3480,7 +3561,7 @@ int git_index_remove_all(
                index, INDEX_ACTION_REMOVE, pathspec, cb, payload);
 
        if (error) /* make sure error is set if callback stopped iteration */
-               giterr_set_after_callback(error);
+               git_error_set_after_callback(error);
 
        return error;
 }
@@ -3493,7 +3574,7 @@ int git_index_update_all(
 {
        int error = index_apply_to_wd_diff(index, INDEX_ACTION_UPDATE, pathspec, 0, cb, payload);
        if (error) /* make sure error is set if callback stopped iteration */
-               giterr_set_after_callback(error);
+               git_error_set_after_callback(error);
 
        return error;
 }
@@ -3549,7 +3630,7 @@ int git_indexwriter_init(
                &writer->file, index->index_file_path, GIT_FILEBUF_HASH_CONTENTS, GIT_INDEX_FILE_MODE)) < 0) {
 
                if (error == GIT_ELOCKED)
-                       giterr_set(GITERR_INDEX, "the index is locked; this might be due to a concurrent or crashed process");
+                       git_error_set(GIT_ERROR_INDEX, "the index is locked; this might be due to a concurrent or crashed process");
 
                return error;
        }
@@ -3598,10 +3679,11 @@ int git_indexwriter_commit(git_indexwriter *writer)
 
        if ((error = git_futils_filestamp_check(
                &writer->index->stamp, writer->index->index_file_path)) < 0) {
-               giterr_set(GITERR_OS, "could not read index timestamp");
+               git_error_set(GIT_ERROR_OS, "could not read index timestamp");
                return -1;
        }
 
+       writer->index->dirty = 0;
        writer->index->on_disk = 1;
        git_oid_cpy(&writer->index->checksum, &checksum);
 
index 0f1c0956cb92cd4f249cf000876a8be4fc74ba26..982afed3a6c15026544c2a46a66f67cf146a8e3b 100644 (file)
@@ -20,6 +20,8 @@
 #define GIT_INDEX_FILE "index"
 #define GIT_INDEX_FILE_MODE 0666
 
+extern bool git_index__enforce_unsaved_safety;
+
 struct git_index {
        git_refcount rc;
 
@@ -37,6 +39,7 @@ struct git_index {
        unsigned int ignore_case:1;
        unsigned int distrust_filemode:1;
        unsigned int no_symlinks:1;
+       unsigned int dirty:1;   /* whether we have unsaved changes */
 
        git_tree_cache *tree;
        git_pool tree_pool;
@@ -52,6 +55,12 @@ struct git_index {
        unsigned int version;
 };
 
+struct git_index_iterator {
+       git_index *index;
+       git_vector snap;
+       size_t cur;
+};
+
 struct git_index_conflict_iterator {
        git_index *index;
        size_t cur;
@@ -143,6 +152,13 @@ extern int git_index_snapshot_find(
 /* Replace an index with a new index */
 int git_index_read_index(git_index *index, const git_index *new_index);
 
+GIT_INLINE(int) git_index_is_dirty(git_index *index)
+{
+       return index->dirty;
+}
+
+extern int git_index_read_safely(git_index *index);
+
 typedef struct {
        git_index *index;
        git_filebuf file;
index c0976f2703392884bd099895f45afd07af93f6ad..27b7637906e82efc1e1b487388e9926b7908f0a3 100644 (file)
@@ -10,6 +10,9 @@
 #include "git2/indexer.h"
 #include "git2/object.h"
 
+#include "commit.h"
+#include "tree.h"
+#include "tag.h"
 #include "pack.h"
 #include "mwindow.h"
 #include "posix.h"
@@ -22,6 +25,8 @@
 
 extern git_mutex git__mwindow_mutex;
 
+size_t git_indexer__max_objects = UINT32_MAX;
+
 #define UINT31_MAX (0x7FFFFFFF)
 
 struct entry {
@@ -36,12 +41,15 @@ struct git_indexer {
                pack_committed :1,
                have_stream :1,
                have_delta :1,
-               do_fsync :1;
+               do_fsync :1,
+               do_verify :1;
        struct git_pack_header hdr;
        struct git_pack_file *pack;
        unsigned int mode;
        git_off_t off;
        git_off_t entry_start;
+       git_object_t entry_type;
+       git_buf entry_data;
        git_packfile_stream stream;
        size_t nr_objects;
        git_vector objects;
@@ -53,6 +61,9 @@ struct git_indexer {
        void *progress_payload;
        char objbuf[8*1024];
 
+       /* OIDs referenced from pack objects. Used for verification. */
+       git_oidmap *expected_oids;
+
        /* Needed to look up objects which we want to inject to fix a thin pack */
        git_odb *odb;
 
@@ -84,12 +95,12 @@ static int parse_header(struct git_pack_header *hdr, struct git_pack_file *pack)
 
        /* Verify we recognize this pack file format. */
        if (hdr->hdr_signature != ntohl(PACK_SIGNATURE)) {
-               giterr_set(GITERR_INDEXER, "wrong pack signature");
+               git_error_set(GIT_ERROR_INDEXER, "wrong pack signature");
                return -1;
        }
 
        if (!pack_version_ok(hdr->hdr_version)) {
-               giterr_set(GITERR_INDEXER, "wrong pack version");
+               git_error_set(GIT_ERROR_INDEXER, "wrong pack version");
                return -1;
        }
 
@@ -104,27 +115,42 @@ static int objects_cmp(const void *a, const void *b)
        return git_oid__cmp(&entrya->oid, &entryb->oid);
 }
 
+int git_indexer_init_options(git_indexer_options *opts, unsigned int version)
+{
+       GIT_INIT_STRUCTURE_FROM_TEMPLATE(
+               opts, version, git_indexer_options, GIT_INDEXER_OPTIONS_INIT);
+       return 0;
+}
+
 int git_indexer_new(
                git_indexer **out,
                const char *prefix,
                unsigned int mode,
                git_odb *odb,
-               git_transfer_progress_cb progress_cb,
-               void *progress_payload)
+               git_indexer_options *in_opts)
 {
+       git_indexer_options opts = GIT_INDEXER_OPTIONS_INIT;
        git_indexer *idx;
        git_buf path = GIT_BUF_INIT, tmp_path = GIT_BUF_INIT;
        static const char suff[] = "/pack";
        int error, fd = -1;
 
+       if (in_opts)
+               memcpy(&opts, in_opts, sizeof(opts));
+
        idx = git__calloc(1, sizeof(git_indexer));
-       GITERR_CHECK_ALLOC(idx);
+       GIT_ERROR_CHECK_ALLOC(idx);
        idx->odb = odb;
-       idx->progress_cb = progress_cb;
-       idx->progress_payload = progress_payload;
+       idx->progress_cb = opts.progress_cb;
+       idx->progress_payload = opts.progress_cb_payload;
        idx->mode = mode ? mode : GIT_PACK_FILE_MODE;
        git_hash_ctx_init(&idx->hash_ctx);
        git_hash_ctx_init(&idx->trailer);
+       git_buf_init(&idx->entry_data, 0);
+       idx->expected_oids = git_oidmap_alloc();
+       GIT_ERROR_CHECK_ALLOC(idx->expected_oids);
+
+       idx->do_verify = opts.verify;
 
        if (git_repository__fsync_gitdir)
                idx->do_fsync = 1;
@@ -134,12 +160,12 @@ int git_indexer_new(
                goto cleanup;
 
        fd = git_futils_mktmp(&tmp_path, git_buf_cstr(&path), idx->mode);
-       git_buf_free(&path);
+       git_buf_dispose(&path);
        if (fd < 0)
                goto cleanup;
 
        error = git_packfile_alloc(&idx->pack, git_buf_cstr(&tmp_path));
-       git_buf_free(&tmp_path);
+       git_buf_dispose(&tmp_path);
 
        if (error < 0)
                goto cleanup;
@@ -161,8 +187,8 @@ cleanup:
        if (idx->pack != NULL)
                p_unlink(idx->pack->pack_name);
 
-       git_buf_free(&path);
-       git_buf_free(&tmp_path);
+       git_buf_dispose(&path);
+       git_buf_dispose(&tmp_path);
        git__free(idx);
        return -1;
 }
@@ -178,7 +204,7 @@ static int store_delta(git_indexer *idx)
        struct delta_info *delta;
 
        delta = git__calloc(1, sizeof(struct delta_info));
-       GITERR_CHECK_ALLOC(delta);
+       GIT_ERROR_CHECK_ALLOC(delta);
        delta->delta_off = idx->entry_start;
 
        if (git_vector_insert(&idx->deltas, delta) < 0)
@@ -187,7 +213,7 @@ static int store_delta(git_indexer *idx)
        return 0;
 }
 
-static int hash_header(git_hash_ctx *ctx, git_off_t len, git_otype type)
+static int hash_header(git_hash_ctx *ctx, git_off_t len, git_object_t type)
 {
        char buffer[64];
        size_t hdrlen;
@@ -210,6 +236,9 @@ static int hash_object_stream(git_indexer*idx, git_packfile_stream *stream)
                if ((read = git_packfile_stream_read(stream, idx->objbuf, sizeof(idx->objbuf))) < 0)
                        break;
 
+               if (idx->do_verify)
+                       git_buf_put(&idx->entry_data, idx->objbuf, read);
+
                git_hash_update(&idx->hash_ctx, idx->objbuf, read);
        } while (read > 0);
 
@@ -220,13 +249,13 @@ static int hash_object_stream(git_indexer*idx, git_packfile_stream *stream)
 }
 
 /* In order to create the packfile stream, we need to skip over the delta base description */
-static int advance_delta_offset(git_indexer *idx, git_otype type)
+static int advance_delta_offset(git_indexer *idx, git_object_t type)
 {
        git_mwindow *w = NULL;
 
-       assert(type == GIT_OBJ_REF_DELTA || type == GIT_OBJ_OFS_DELTA);
+       assert(type == GIT_OBJECT_REF_DELTA || type == GIT_OBJECT_OFS_DELTA);
 
-       if (type == GIT_OBJ_REF_DELTA) {
+       if (type == GIT_OBJECT_REF_DELTA) {
                idx->off += GIT_OID_RAWSZ;
        } else {
                git_off_t base_off = get_delta_base(idx->pack, &w, &idx->off, type, idx->entry_start);
@@ -279,10 +308,101 @@ static int crc_object(uint32_t *crc_out, git_mwindow_file *mwf, git_off_t start,
        return 0;
 }
 
+static void add_expected_oid(git_indexer *idx, const git_oid *oid)
+{
+       int ret;
+
+       /*
+        * If we know about that object because it is stored in our ODB or
+        * because we have already processed it as part of our pack file, we do
+        * not have to expect it.
+        */
+       if ((!idx->odb || !git_odb_exists(idx->odb, oid)) &&
+           !git_oidmap_exists(idx->pack->idx_cache, oid) &&
+           !git_oidmap_exists(idx->expected_oids, oid)) {
+                   git_oid *dup = git__malloc(sizeof(*oid));
+                   git_oid_cpy(dup, oid);
+                   git_oidmap_put(idx->expected_oids, dup, &ret);
+       }
+}
+
+static int check_object_connectivity(git_indexer *idx, const git_rawobj *obj)
+{
+       git_object *object;
+       size_t keyidx;
+       int error;
+
+       if (obj->type != GIT_OBJECT_BLOB &&
+           obj->type != GIT_OBJECT_TREE &&
+           obj->type != GIT_OBJECT_COMMIT &&
+           obj->type != GIT_OBJECT_TAG)
+               return 0;
+
+       if ((error = git_object__from_raw(&object, obj->data, obj->len, obj->type)) < 0)
+               goto out;
+
+       keyidx = git_oidmap_lookup_index(idx->expected_oids, &object->cached.oid);
+       if (git_oidmap_valid_index(idx->expected_oids, keyidx)) {
+               const git_oid *key = git_oidmap_key(idx->expected_oids, keyidx);
+               git__free((git_oid *) key);
+               git_oidmap_delete_at(idx->expected_oids, keyidx);
+       }
+
+       /*
+        * Check whether this is a known object. If so, we can just continue as
+        * we assume that the ODB has a complete graph.
+        */
+       if (idx->odb && git_odb_exists(idx->odb, &object->cached.oid))
+               return 0;
+
+       switch (obj->type) {
+               case GIT_OBJECT_TREE:
+               {
+                       git_tree *tree = (git_tree *) object;
+                       git_tree_entry *entry;
+                       size_t i;
+
+                       git_array_foreach(tree->entries, i, entry)
+                               add_expected_oid(idx, entry->oid);
+
+                       break;
+               }
+               case GIT_OBJECT_COMMIT:
+               {
+                       git_commit *commit = (git_commit *) object;
+                       git_oid *parent_oid;
+                       size_t i;
+
+                       git_array_foreach(commit->parent_ids, i, parent_oid)
+                               add_expected_oid(idx, parent_oid);
+
+                       add_expected_oid(idx, &commit->tree_id);
+
+                       break;
+               }
+               case GIT_OBJECT_TAG:
+               {
+                       git_tag *tag = (git_tag *) object;
+
+                       add_expected_oid(idx, &tag->target);
+
+                       break;
+               }
+               case GIT_OBJECT_BLOB:
+               default:
+                       break;
+       }
+
+out:
+       git_object_free(object);
+
+       return error;
+}
+
 static int store_object(git_indexer *idx)
 {
        int i, error;
-       khiter_t k;
+       size_t k;
        git_oid oid;
        struct entry *entry;
        git_off_t entry_size;
@@ -290,10 +410,10 @@ static int store_object(git_indexer *idx)
        git_off_t entry_start = idx->entry_start;
 
        entry = git__calloc(1, sizeof(*entry));
-       GITERR_CHECK_ALLOC(entry);
+       GIT_ERROR_CHECK_ALLOC(entry);
 
        pentry = git__calloc(1, sizeof(struct git_pack_entry));
-       GITERR_CHECK_ALLOC(pentry);
+       GIT_ERROR_CHECK_ALLOC(pentry);
 
        git_hash_final(&oid, &idx->hash_ctx);
        entry_size = idx->off - entry_start;
@@ -304,18 +424,29 @@ static int store_object(git_indexer *idx)
                entry->offset = (uint32_t)entry_start;
        }
 
+       if (idx->do_verify) {
+               git_rawobj rawobj = {
+                   idx->entry_data.ptr,
+                   idx->entry_data.size,
+                   idx->entry_type
+               };
+
+               if ((error = check_object_connectivity(idx, &rawobj)) < 0)
+                       goto on_error;
+       }
+
        git_oid_cpy(&pentry->sha1, &oid);
        pentry->offset = entry_start;
 
        k = git_oidmap_put(idx->pack->idx_cache, &pentry->sha1, &error);
        if (error == -1) {
                git__free(pentry);
-               giterr_set_oom();
+               git_error_set_oom();
                goto on_error;
        }
 
        if (error == 0) {
-               giterr_set(GITERR_INDEXER, "duplicate object %s found in pack", git_oid_tostr_s(&pentry->sha1));
+               git_error_set(GIT_ERROR_INDEXER, "duplicate object %s found in pack", git_oid_tostr_s(&pentry->sha1));
                git__free(pentry);
                goto on_error;
        }
@@ -352,7 +483,7 @@ GIT_INLINE(bool) has_entry(git_indexer *idx, git_oid *id)
 static int save_entry(git_indexer *idx, struct entry *entry, struct git_pack_entry *pentry, git_off_t entry_start)
 {
        int i, error;
-       khiter_t k;
+       size_t k;
 
        if (entry_start > UINT31_MAX) {
                entry->offset = UINT32_MAX;
@@ -365,7 +496,7 @@ static int save_entry(git_indexer *idx, struct entry *entry, struct git_pack_ent
        k = git_oidmap_put(idx->pack->idx_cache, &pentry->sha1, &error);
 
        if (error <= 0) {
-               giterr_set(GITERR_INDEXER, "cannot insert object into pack");
+               git_error_set(GIT_ERROR_INDEXER, "cannot insert object into pack");
                return -1;
        }
 
@@ -390,15 +521,15 @@ static int hash_and_save(git_indexer *idx, git_rawobj *obj, git_off_t entry_star
        struct git_pack_entry *pentry = NULL;
 
        entry = git__calloc(1, sizeof(*entry));
-       GITERR_CHECK_ALLOC(entry);
+       GIT_ERROR_CHECK_ALLOC(entry);
 
        if (git_odb__hashobj(&oid, obj) < 0) {
-               giterr_set(GITERR_INDEXER, "failed to hash object");
+               git_error_set(GIT_ERROR_INDEXER, "failed to hash object");
                goto on_error;
        }
 
        pentry = git__calloc(1, sizeof(struct git_pack_entry));
-       GITERR_CHECK_ALLOC(pentry);
+       GIT_ERROR_CHECK_ALLOC(pentry);
 
        git_oid_cpy(&pentry->sha1, &oid);
        git_oid_cpy(&entry->oid, &oid);
@@ -420,7 +551,7 @@ on_error:
 static int do_progress_callback(git_indexer *idx, git_transfer_progress *stats)
 {
        if (idx->progress_cb)
-               return giterr_set_after_callback_function(
+               return git_error_set_after_callback_function(
                        idx->progress_cb(stats, idx->progress_payload),
                        "indexer progress");
        return 0;
@@ -518,24 +649,110 @@ static int append_to_pack(git_indexer *idx, const void *data, size_t size)
 
        if (p_lseek(fd, page_start + mmap_alignment - 1, SEEK_SET) < 0 ||
            p_write(idx->pack->mwf.fd, data, 1) < 0) {
-               giterr_set(GITERR_OS, "cannot extend packfile '%s'", idx->pack->pack_name);
+               git_error_set(GIT_ERROR_OS, "cannot extend packfile '%s'", idx->pack->pack_name);
                return -1;
        }
 
        return write_at(idx, data, idx->pack->mwf.size, size);
 }
 
+static int read_stream_object(git_indexer *idx, git_transfer_progress *stats)
+{
+       git_packfile_stream *stream = &idx->stream;
+       git_off_t entry_start = idx->off;
+       size_t entry_size;
+       git_object_t type;
+       git_mwindow *w = NULL;
+       int error;
+
+       if (idx->pack->mwf.size <= idx->off + 20)
+               return GIT_EBUFS;
+
+       if (!idx->have_stream) {
+               error = git_packfile_unpack_header(&entry_size, &type, &idx->pack->mwf, &w, &idx->off);
+               if (error == GIT_EBUFS) {
+                       idx->off = entry_start;
+                       return error;
+               }
+               if (error < 0)
+                       return error;
+
+               git_mwindow_close(&w);
+               idx->entry_start = entry_start;
+               git_hash_init(&idx->hash_ctx);
+               git_buf_clear(&idx->entry_data);
+
+               if (type == GIT_OBJECT_REF_DELTA || type == GIT_OBJECT_OFS_DELTA) {
+                       error = advance_delta_offset(idx, type);
+                       if (error == GIT_EBUFS) {
+                               idx->off = entry_start;
+                               return error;
+                       }
+                       if (error < 0)
+                               return error;
+
+                       idx->have_delta = 1;
+               } else {
+                       idx->have_delta = 0;
+
+                       error = hash_header(&idx->hash_ctx, entry_size, type);
+                       if (error < 0)
+                               return error;
+               }
+
+               idx->have_stream = 1;
+               idx->entry_type = type;
+
+               error = git_packfile_stream_open(stream, idx->pack, idx->off);
+               if (error < 0)
+                       return error;
+       }
+
+       if (idx->have_delta) {
+               error = read_object_stream(idx, stream);
+       } else {
+               error = hash_object_stream(idx, stream);
+       }
+
+       idx->off = stream->curpos;
+       if (error == GIT_EBUFS)
+               return error;
+
+       /* We want to free the stream reasorces no matter what here */
+       idx->have_stream = 0;
+       git_packfile_stream_dispose(stream);
+
+       if (error < 0)
+               return error;
+
+       if (idx->have_delta) {
+               error = store_delta(idx);
+       } else {
+               error = store_object(idx);
+       }
+
+       if (error < 0)
+               return error;
+
+       if (!idx->have_delta) {
+               stats->indexed_objects++;
+       }
+       stats->received_objects++;
+
+       if ((error = do_progress_callback(idx, stats)) != 0)
+               return error;
+
+       return 0;
+}
+
 int git_indexer_append(git_indexer *idx, const void *data, size_t size, git_transfer_progress *stats)
 {
        int error = -1;
-       size_t processed;
        struct git_pack_header *hdr = &idx->hdr;
        git_mwindow_file *mwf = &idx->pack->mwf;
 
        assert(idx && data && stats);
 
-       processed = stats->indexed_objects;
-
        if ((error = append_to_pack(idx, data, size)) < 0)
                return error;
 
@@ -557,15 +774,15 @@ int git_indexer_append(git_indexer *idx, const void *data, size_t size, git_tran
                idx->nr_objects = ntohl(hdr->hdr_entries);
                idx->off = sizeof(struct git_pack_header);
 
-               /* for now, limit to 2^32 objects */
-               assert(idx->nr_objects == (size_t)((unsigned int)idx->nr_objects));
-               if (idx->nr_objects == (size_t)((unsigned int)idx->nr_objects))
+               if (idx->nr_objects <= git_indexer__max_objects) {
                        total_objects = (unsigned int)idx->nr_objects;
-               else
-                       total_objects = UINT_MAX;
+               } else {
+                       git_error_set(GIT_ERROR_INDEXER, "too many objects");
+                       return -1;
+               }
 
                idx->pack->idx_cache = git_oidmap_alloc();
-               GITERR_CHECK_ALLOC(idx->pack->idx_cache);
+               GIT_ERROR_CHECK_ALLOC(idx->pack->idx_cache);
 
                idx->pack->has_cache = 1;
                if (git_vector_init(&idx->objects, total_objects, objects_cmp) < 0)
@@ -578,7 +795,7 @@ int git_indexer_append(git_indexer *idx, const void *data, size_t size, git_tran
                stats->local_objects = 0;
                stats->total_deltas = 0;
                stats->indexed_deltas = 0;
-               processed = stats->indexed_objects = 0;
+               stats->indexed_objects = 0;
                stats->total_objects = total_objects;
 
                if ((error = do_progress_callback(idx, stats)) != 0)
@@ -590,87 +807,13 @@ int git_indexer_append(git_indexer *idx, const void *data, size_t size, git_tran
        /* As the file grows any windows we try to use will be out of date */
        git_mwindow_free_all(mwf);
 
-       while (processed < idx->nr_objects) {
-               git_packfile_stream *stream = &idx->stream;
-               git_off_t entry_start = idx->off;
-               size_t entry_size;
-               git_otype type;
-               git_mwindow *w = NULL;
-
-               if (idx->pack->mwf.size <= idx->off + 20)
-                       return 0;
-
-               if (!idx->have_stream) {
-                       error = git_packfile_unpack_header(&entry_size, &type, mwf, &w, &idx->off);
-                       if (error == GIT_EBUFS) {
-                               idx->off = entry_start;
-                               return 0;
-                       }
-                       if (error < 0)
+       while (stats->indexed_objects < idx->nr_objects) {
+               if ((error = read_stream_object(idx, stats)) != 0) {
+                       if (error == GIT_EBUFS)
+                               break;
+                       else
                                goto on_error;
-
-                       git_mwindow_close(&w);
-                       idx->entry_start = entry_start;
-                       git_hash_init(&idx->hash_ctx);
-
-                       if (type == GIT_OBJ_REF_DELTA || type == GIT_OBJ_OFS_DELTA) {
-                               error = advance_delta_offset(idx, type);
-                               if (error == GIT_EBUFS) {
-                                       idx->off = entry_start;
-                                       return 0;
-                               }
-                               if (error < 0)
-                                       goto on_error;
-
-                               idx->have_delta = 1;
-                       } else {
-                               idx->have_delta = 0;
-
-                               error = hash_header(&idx->hash_ctx, entry_size, type);
-                               if (error < 0)
-                                       goto on_error;
-                       }
-
-                       idx->have_stream = 1;
-
-                       error = git_packfile_stream_open(stream, idx->pack, idx->off);
-                       if (error < 0)
-                               goto on_error;
-               }
-
-               if (idx->have_delta) {
-                       error = read_object_stream(idx, stream);
-               } else {
-                       error = hash_object_stream(idx, stream);
-               }
-
-               idx->off = stream->curpos;
-               if (error == GIT_EBUFS)
-                       return 0;
-
-               /* We want to free the stream reasorces no matter what here */
-               idx->have_stream = 0;
-               git_packfile_stream_free(stream);
-
-               if (error < 0)
-                       goto on_error;
-
-               if (idx->have_delta) {
-                       error = store_delta(idx);
-               } else {
-                       error = store_object(idx);
                }
-
-               if (error < 0)
-                       goto on_error;
-
-               if (!idx->have_delta) {
-                       stats->indexed_objects = (unsigned int)++processed;
-               }
-               stats->received_objects++;
-
-               if ((error = do_progress_callback(idx, stats)) != 0)
-                       goto on_error;
        }
 
        return 0;
@@ -729,7 +872,7 @@ static int inject_object(git_indexer *idx, git_oid *id)
        entry_start = idx->pack->mwf.size;
 
        if (git_odb_read(&obj, idx->odb, id) < 0) {
-               giterr_set(GITERR_INDEXER, "missing delta bases");
+               git_error_set(GIT_ERROR_INDEXER, "missing delta bases");
                return -1;
        }
 
@@ -737,7 +880,7 @@ static int inject_object(git_indexer *idx, git_oid *id)
        len = git_odb_object_size(obj);
 
        entry = git__calloc(1, sizeof(*entry));
-       GITERR_CHECK_ALLOC(entry);
+       GIT_ERROR_CHECK_ALLOC(entry);
 
        entry->crc = crc32(0L, Z_NULL, 0);
 
@@ -758,7 +901,7 @@ static int inject_object(git_indexer *idx, git_oid *id)
 
        idx->pack->mwf.size += buf.size;
        entry->crc = htonl(crc32(entry->crc, (unsigned char *)buf.ptr, (uInt)buf.size));
-       git_buf_free(&buf);
+       git_buf_dispose(&buf);
 
        /* Write a fake trailer so the pack functions play ball */
 
@@ -768,7 +911,7 @@ static int inject_object(git_indexer *idx, git_oid *id)
        idx->pack->mwf.size += GIT_OID_RAWSZ;
 
        pentry = git__calloc(1, sizeof(struct git_pack_entry));
-       GITERR_CHECK_ALLOC(pentry);
+       GIT_ERROR_CHECK_ALLOC(pentry);
 
        git_oid_cpy(&pentry->sha1, id);
        git_oid_cpy(&entry->oid, id);
@@ -792,7 +935,7 @@ static int fix_thin_pack(git_indexer *idx, git_transfer_progress *stats)
        unsigned int i;
        struct delta_info *delta;
        size_t size;
-       git_otype type;
+       git_object_t type;
        git_mwindow *w = NULL;
        git_off_t curpos = 0;
        unsigned char *base_info;
@@ -802,7 +945,7 @@ static int fix_thin_pack(git_indexer *idx, git_transfer_progress *stats)
        assert(git_vector_length(&idx->deltas) > 0);
 
        if (idx->odb == NULL) {
-               giterr_set(GITERR_INDEXER, "cannot fix a thin pack without an ODB");
+               git_error_set(GIT_ERROR_INDEXER, "cannot fix a thin pack without an ODB");
                return -1;
        }
 
@@ -816,21 +959,21 @@ static int fix_thin_pack(git_indexer *idx, git_transfer_progress *stats)
                if (error < 0)
                        return error;
 
-               if (type == GIT_OBJ_REF_DELTA) {
+               if (type == GIT_OBJECT_REF_DELTA) {
                        found_ref_delta = 1;
                        break;
                }
        }
 
        if (!found_ref_delta) {
-               giterr_set(GITERR_INDEXER, "no REF_DELTA found, cannot inject object");
+               git_error_set(GIT_ERROR_INDEXER, "no REF_DELTA found, cannot inject object");
                return -1;
        }
 
        /* curpos now points to the base information, which is an OID */
        base_info = git_mwindow_open(&idx->pack->mwf, &w, curpos, GIT_OID_RAWSZ, &left);
        if (base_info == NULL) {
-               giterr_set(GITERR_INDEXER, "failed to map delta information");
+               git_error_set(GIT_ERROR_INDEXER, "failed to map delta information");
                return -1;
        }
 
@@ -859,7 +1002,7 @@ static int resolve_deltas(git_indexer *idx, git_transfer_progress *stats)
                progressed = 0;
                non_null = 0;
                git_vector_foreach(&idx->deltas, i, delta) {
-                       git_rawobj obj = {NULL};
+                       git_rawobj obj = {0};
 
                        if (!delta)
                                continue;
@@ -874,6 +1017,10 @@ static int resolve_deltas(git_indexer *idx, git_transfer_progress *stats)
                                return -1;
                        }
 
+                       if (idx->do_verify && check_object_connectivity(idx, &obj) < 0)
+                               /* TODO: error? continue? */
+                               continue;
+
                        if (hash_and_save(idx, &obj, delta->delta_off) < 0)
                                continue;
 
@@ -955,17 +1102,17 @@ int git_indexer_commit(git_indexer *idx, git_transfer_progress *stats)
        void *packfile_trailer;
 
        if (!idx->parsed_header) {
-               giterr_set(GITERR_INDEXER, "incomplete pack header");
+               git_error_set(GIT_ERROR_INDEXER, "incomplete pack header");
                return -1;
        }
 
        /* Test for this before resolve_deltas(), as it plays with idx->off */
        if (idx->off + 20 < idx->pack->mwf.size) {
-               giterr_set(GITERR_INDEXER, "unexpected data at the end of the pack");
+               git_error_set(GIT_ERROR_INDEXER, "unexpected data at the end of the pack");
                return -1;
        }
        if (idx->off + 20 > idx->pack->mwf.size) {
-               giterr_set(GITERR_INDEXER, "missing trailer at the end of the pack");
+               git_error_set(GIT_ERROR_INDEXER, "missing trailer at the end of the pack");
                return -1;
        }
 
@@ -981,7 +1128,7 @@ int git_indexer_commit(git_indexer *idx, git_transfer_progress *stats)
 
        git_hash_final(&trailer_hash, &idx->trailer);
        if (git_oid_cmp(&file_hash, &trailer_hash)) {
-               giterr_set(GITERR_INDEXER, "packfile trailer mismatch");
+               git_error_set(GIT_ERROR_INDEXER, "packfile trailer mismatch");
                return -1;
        }
 
@@ -992,7 +1139,7 @@ int git_indexer_commit(git_indexer *idx, git_transfer_progress *stats)
                return error;
 
        if (stats->indexed_objects != stats->total_objects) {
-               giterr_set(GITERR_INDEXER, "early EOF");
+               git_error_set(GIT_ERROR_INDEXER, "early EOF");
                return -1;
        }
 
@@ -1004,6 +1151,18 @@ int git_indexer_commit(git_indexer *idx, git_transfer_progress *stats)
                write_at(idx, &trailer_hash, idx->pack->mwf.size - GIT_OID_RAWSZ, GIT_OID_RAWSZ);
        }
 
+       /*
+        * Is the resulting graph fully connected or are we still
+        * missing some objects? In the second case, we can
+        * bail out due to an incomplete and thus corrupt
+        * packfile.
+        */
+       if (git_oidmap_size(idx->expected_oids) > 0) {
+               git_error_set(GIT_ERROR_INDEXER, "packfile is missing %"PRIuZ" objects",
+                       git_oidmap_size(idx->expected_oids));
+               return -1;
+       }
+
        git_vector_sort(&idx->objects);
 
        /* Use the trailer hash as the pack file name to ensure
@@ -1090,18 +1249,18 @@ int git_indexer_commit(git_indexer *idx, git_transfer_progress *stats)
 
        /* Truncate file to undo rounding up to next page_size in append_to_pack */
        if (p_ftruncate(idx->pack->mwf.fd, idx->pack->mwf.size) < 0) {
-               giterr_set(GITERR_OS, "failed to truncate pack file '%s'", idx->pack->pack_name);
+               git_error_set(GIT_ERROR_OS, "failed to truncate pack file '%s'", idx->pack->pack_name);
                return -1;
        }
 
        if (idx->do_fsync && p_fsync(idx->pack->mwf.fd) < 0) {
-               giterr_set(GITERR_OS, "failed to fsync packfile");
+               git_error_set(GIT_ERROR_OS, "failed to fsync packfile");
                goto on_error;
        }
 
        /* We need to close the descriptor here so Windows doesn't choke on commit_at */
        if (p_close(idx->pack->mwf.fd) < 0) {
-               giterr_set(GITERR_OS, "failed to close packfile");
+               git_error_set(GIT_ERROR_OS, "failed to close packfile");
                goto on_error;
        }
 
@@ -1121,23 +1280,25 @@ int git_indexer_commit(git_indexer *idx, git_transfer_progress *stats)
 
        idx->pack_committed = 1;
 
-       git_buf_free(&filename);
+       git_buf_dispose(&filename);
        return 0;
 
 on_error:
        git_mwindow_free_all(&idx->pack->mwf);
        git_filebuf_cleanup(&index_file);
-       git_buf_free(&filename);
+       git_buf_dispose(&filename);
        return -1;
 }
 
 void git_indexer_free(git_indexer *idx)
 {
+       size_t pos;
+
        if (idx == NULL)
                return;
 
        if (idx->have_stream)
-               git_packfile_stream_free(&idx->stream);
+               git_packfile_stream_dispose(&idx->stream);
 
        git_vector_free_deep(&idx->objects);
 
@@ -1160,7 +1321,18 @@ void git_indexer_free(git_indexer *idx)
                git_mutex_unlock(&git__mwindow_mutex);
        }
 
+       for (pos = git_oidmap_begin(idx->expected_oids);
+           pos != git_oidmap_end(idx->expected_oids); pos++)
+       {
+               if (git_oidmap_has_data(idx->expected_oids, pos)) {
+                       git__free((git_oid *) git_oidmap_key(idx->expected_oids, pos));
+                       git_oidmap_delete_at(idx->expected_oids, pos);
+               }
+       }
+
        git_hash_ctx_cleanup(&idx->trailer);
        git_hash_ctx_cleanup(&idx->hash_ctx);
+       git_buf_dispose(&idx->entry_data);
+       git_oidmap_free(idx->expected_oids);
        git__free(idx);
 }
index 30528db5945a567bdf2fe113f9f5efeebec20e1d..10b10973751381905bde70a888657602bd324854 100644 (file)
@@ -42,34 +42,44 @@ GIT_INLINE(int) git__is_int(long long p)
        return p == (long long)r;
 }
 
-/**
- * Sets `one + two` into `out`, unless the arithmetic would overflow.
- * @return true if the result fits in a `uint64_t`, false on overflow.
- */
-GIT_INLINE(bool) git__add_uint64_overflow(uint64_t *out, uint64_t one, uint64_t two)
-{
-       if (UINT64_MAX - one < two)
-               return true;
-       *out = one + two;
-       return false;
-}
-
 /* Use clang/gcc compiler intrinsics whenever possible */
-#if (SIZE_MAX == ULONG_MAX) && __has_builtin(__builtin_uaddl_overflow)
-# define git__add_sizet_overflow(out, one, two) \
-       __builtin_uaddl_overflow(one, two, out)
-# define git__multiply_sizet_overflow(out, one, two) \
-       __builtin_umull_overflow(one, two, out)
-#elif (SIZE_MAX == UINT_MAX) && __has_builtin(__builtin_uadd_overflow)
+#if (__has_builtin(__builtin_add_overflow) || \
+     (defined(__GNUC__) && (__GNUC__ >= 5)))
+
+# if (SIZE_MAX == UINT_MAX)
+#  define git__add_sizet_overflow(out, one, two) \
+     __builtin_uadd_overflow(one, two, out)
+#  define git__multiply_sizet_overflow(out, one, two) \
+     __builtin_umul_overflow(one, two, out)
+# elif (SIZE_MAX == ULONG_MAX)
+#  define git__add_sizet_overflow(out, one, two) \
+     __builtin_uaddl_overflow(one, two, out)
+#  define git__multiply_sizet_overflow(out, one, two) \
+     __builtin_umull_overflow(one, two, out)
+# elif (SIZE_MAX == ULLONG_MAX)
+#  define git__add_sizet_overflow(out, one, two) \
+     __builtin_uaddll_overflow(one, two, out)
+#  define git__multiply_sizet_overflow(out, one, two) \
+     __builtin_umulll_overflow(one, two, out)
+# else
+#  error compiler has add with overflow intrinsics but SIZE_MAX is unknown
+# endif
+
+/* Use Microsoft's safe integer handling functions where available */
+#elif defined(_MSC_VER)
+
+# include <intsafe.h>
+
 # define git__add_sizet_overflow(out, one, two) \
-       __builtin_uadd_overflow(one, two, out)
+    (SizeTAdd(one, two, out) != S_OK)
 # define git__multiply_sizet_overflow(out, one, two) \
-       __builtin_umul_overflow(one, two, out)
+    (SizeTMult(one, two, out) != S_OK)
+
 #else
 
 /**
  * Sets `one + two` into `out`, unless the arithmetic would overflow.
- * @return true if the result fits in a `size_t`, false on overflow.
+ * @return false if the result fits in a `size_t`, true on overflow.
  */
 GIT_INLINE(bool) git__add_sizet_overflow(size_t *out, size_t one, size_t two)
 {
@@ -81,7 +91,7 @@ GIT_INLINE(bool) git__add_sizet_overflow(size_t *out, size_t one, size_t two)
 
 /**
  * Sets `one * two` into `out`, unless the arithmetic would overflow.
- * @return true if the result fits in a `size_t`, false on overflow.
+ * @return false if the result fits in a `size_t`, true on overflow.
  */
 GIT_INLINE(bool) git__multiply_sizet_overflow(size_t *out, size_t one, size_t two)
 {
index ff075ce8c4a38e655a8e2502165eb5c51067818e..0db92921154beefb9597f4735c6839a5867f2e36 100644 (file)
@@ -46,14 +46,14 @@ static int iterator_range_init(
 {
        if (start && *start) {
                iter->start = git__strdup(start);
-               GITERR_CHECK_ALLOC(iter->start);
+               GIT_ERROR_CHECK_ALLOC(iter->start);
 
                iter->start_len = strlen(iter->start);
        }
 
        if (end && *end) {
                iter->end = git__strdup(end);
-               GITERR_CHECK_ALLOC(iter->end);
+               GIT_ERROR_CHECK_ALLOC(iter->end);
 
                iter->end_len = strlen(iter->end);
        }
@@ -146,7 +146,7 @@ static int iterator_init_common(
                (iter->flags & GIT_ITERATOR_DONT_PRECOMPOSE_UNICODE) == 0) {
 
                if (git_repository__cvar(&precompose, repo, GIT_CVAR_PRECOMPOSE) < 0)
-                       giterr_clear();
+                       git_error_clear();
                else if (precompose)
                        iter->flags |= GIT_ITERATOR_PRECOMPOSE_UNICODE;
        }
@@ -403,7 +403,7 @@ int git_iterator_for_nothing(
        *out = NULL;
 
        iter = git__calloc(1, sizeof(empty_iterator));
-       GITERR_CHECK_ALLOC(iter);
+       GIT_ERROR_CHECK_ALLOC(iter);
 
        iter->base.type = GIT_ITERATOR_TYPE_EMPTY;
        iter->base.cb = &callbacks;
@@ -478,14 +478,6 @@ GIT_INLINE(int) tree_entry_cmp(
                icase ? git__strncasecmp : git__strncmp);
 }
 
-GIT_INLINE(int) tree_iterator_entry_cmp(const void *ptr_a, const void *ptr_b)
-{
-       const tree_iterator_entry *a = (const tree_iterator_entry *)ptr_a;
-       const tree_iterator_entry *b = (const tree_iterator_entry *)ptr_b;
-
-       return tree_entry_cmp(a->tree_entry, b->tree_entry, false);
-}
-
 GIT_INLINE(int) tree_iterator_entry_cmp_icase(
        const void *ptr_a, const void *ptr_b)
 {
@@ -549,7 +541,7 @@ static int tree_iterator_frame_init(
        int error = 0;
 
        new_frame = git_array_alloc(iter->frames);
-       GITERR_CHECK_ALLOC(new_frame);
+       GIT_ERROR_CHECK_ALLOC(new_frame);
 
        memset(new_frame, 0, sizeof(tree_iterator_frame));
 
@@ -572,7 +564,7 @@ static int tree_iterator_frame_init(
 
        git_array_foreach(dup->entries, i, tree_entry) {
                new_entry = git_pool_malloc(&iter->entry_pool, 1);
-               GITERR_CHECK_ALLOC(new_entry);
+               GIT_ERROR_CHECK_ALLOC(new_entry);
 
                new_entry->tree_entry = tree_entry;
                new_entry->parent_path = new_frame->path.ptr;
@@ -626,20 +618,20 @@ GIT_INLINE(int) tree_iterator_frame_push_neighbors(
                        break;
 
                path = git_array_alloc(parent_frame->similar_paths);
-               GITERR_CHECK_ALLOC(path);
+               GIT_ERROR_CHECK_ALLOC(path);
 
                memset(path, 0, sizeof(git_buf));
 
                if ((error = tree_iterator_compute_path(path, entry)) < 0)
                        break;
 
-               GITERR_CHECK_ALLOC_ADD(&new_size,
+               GIT_ERROR_CHECK_ALLOC_ADD(&new_size,
                        frame->entries.length, tree->entries.size);
                git_vector_size_hint(&frame->entries, new_size);
 
                git_array_foreach(tree->entries, i, tree_entry) {
                        new_entry = git_pool_malloc(&iter->entry_pool, 1);
-                       GITERR_CHECK_ALLOC(new_entry);
+                       GIT_ERROR_CHECK_ALLOC(new_entry);
 
                        new_entry->tree_entry = tree_entry;
                        new_entry->parent_path = path->ptr;
@@ -701,7 +693,7 @@ static void tree_iterator_frame_pop(tree_iterator *iter)
 
        do {
                buf = git_array_pop(frame->similar_paths);
-               git_buf_free(buf);
+               git_buf_dispose(buf);
        } while (buf != NULL);
 
        git_array_clear(frame->similar_paths);
@@ -711,7 +703,7 @@ static void tree_iterator_frame_pop(tree_iterator *iter)
 
        git_vector_free(&frame->similar_trees);
 
-       git_buf_free(&frame->path);
+       git_buf_dispose(&frame->path);
 }
 
 static int tree_iterator_current(
@@ -929,7 +921,7 @@ static void tree_iterator_free(git_iterator *i)
        tree_iterator_clear(iter);
 
        git_tree_free(iter->root);
-       git_buf_free(&iter->entry_path);
+       git_buf_dispose(&iter->entry_path);
 }
 
 int git_iterator_for_tree(
@@ -955,7 +947,7 @@ int git_iterator_for_tree(
                return git_iterator_for_nothing(out, options);
 
        iter = git__calloc(1, sizeof(tree_iterator));
-       GITERR_CHECK_ALLOC(iter);
+       GIT_ERROR_CHECK_ALLOC(iter);
 
        iter->base.type = GIT_ITERATOR_TYPE_TREE;
        iter->base.cb = &callbacks;
@@ -1015,6 +1007,7 @@ typedef struct {
        struct stat st;
        size_t path_len;
        iterator_pathlist_search_t match;
+       git_oid id;
        char path[GIT_FLEX_ARRAY];
 } filesystem_iterator_entry;
 
@@ -1150,7 +1143,7 @@ static void filesystem_iterator_frame_push_ignores(
 
        if (git_ignore__lookup(&new_frame->is_ignored,
                        &iter->ignores, path, GIT_DIR_FLAG_TRUE) < 0) {
-               giterr_clear();
+               git_error_clear();
                new_frame->is_ignored = GIT_IGNORE_NOTFOUND;
        }
 
@@ -1265,7 +1258,32 @@ GIT_INLINE(bool) filesystem_iterator_is_dot_git(
        return (len == 4 || path[len - 5] == '/');
 }
 
-static filesystem_iterator_entry *filesystem_iterator_entry_init(
+static int filesystem_iterator_entry_hash(
+       filesystem_iterator *iter,
+       filesystem_iterator_entry *entry)
+{
+       git_buf fullpath = GIT_BUF_INIT;
+       int error;
+
+       if (S_ISDIR(entry->st.st_mode)) {
+               memset(&entry->id, 0, GIT_OID_RAWSZ);
+               return 0;
+       }
+
+       if (iter->base.type == GIT_ITERATOR_TYPE_WORKDIR)
+               return git_repository_hashfile(&entry->id,
+                       iter->base.repo, entry->path, GIT_OBJECT_BLOB, NULL);
+
+       if (!(error = git_buf_joinpath(&fullpath, iter->root, entry->path)))
+               error = git_odb_hashfile(&entry->id, fullpath.ptr, GIT_OBJECT_BLOB);
+
+       git_buf_dispose(&fullpath);
+       return error;
+}
+
+static int filesystem_iterator_entry_init(
+       filesystem_iterator_entry **out,
+       filesystem_iterator *iter,
        filesystem_iterator_frame *frame,
        const char *path,
        size_t path_len,
@@ -1274,15 +1292,19 @@ static filesystem_iterator_entry *filesystem_iterator_entry_init(
 {
        filesystem_iterator_entry *entry;
        size_t entry_size;
+       int error = 0;
+
+       *out = NULL;
 
        /* Make sure to append two bytes, one for the path's null
         * termination, one for a possible trailing '/' for folders.
         */
-       if (GIT_ADD_SIZET_OVERFLOW(&entry_size,
-                       sizeof(filesystem_iterator_entry), path_len) ||
-               GIT_ADD_SIZET_OVERFLOW(&entry_size, entry_size, 2) ||
-               (entry = git_pool_malloc(&frame->entry_pool, entry_size)) == NULL)
-               return NULL;
+       GIT_ERROR_CHECK_ALLOC_ADD(&entry_size,
+               sizeof(filesystem_iterator_entry), path_len);
+       GIT_ERROR_CHECK_ALLOC_ADD(&entry_size, entry_size, 2);
+
+       entry = git_pool_malloc(&frame->entry_pool, entry_size);
+       GIT_ERROR_CHECK_ALLOC(entry);
 
        entry->path_len = path_len;
        entry->match = pathlist_match;
@@ -1295,7 +1317,13 @@ static filesystem_iterator_entry *filesystem_iterator_entry_init(
 
        entry->path[entry->path_len] = '\0';
 
-       return entry;
+       if (iter->base.flags & GIT_ITERATOR_INCLUDE_HASH)
+               error = filesystem_iterator_entry_hash(iter, entry);
+
+       if (!error)
+               *out = entry;
+
+       return error;
 }
 
 static int filesystem_iterator_frame_push(
@@ -1312,13 +1340,13 @@ static int filesystem_iterator_frame_push(
        int error;
 
        if (iter->frames.size == FILESYSTEM_MAX_DEPTH) {
-               giterr_set(GITERR_REPOSITORY,
+               git_error_set(GIT_ERROR_REPOSITORY,
                        "directory nesting too deep (%"PRIuZ")", iter->frames.size);
                return -1;
        }
 
        new_frame = git_array_alloc(iter->frames);
-       GITERR_CHECK_ALLOC(new_frame);
+       GIT_ERROR_CHECK_ALLOC(new_frame);
 
        memset(new_frame, 0, sizeof(filesystem_iterator_frame));
 
@@ -1418,9 +1446,9 @@ static int filesystem_iterator_frame_push(
                else if (dir_expected)
                        continue;
 
-               entry = filesystem_iterator_entry_init(new_frame,
-                       path, path_len, &statbuf, pathlist_match);
-               GITERR_CHECK_ALLOC(entry);
+               if ((error = filesystem_iterator_entry_init(&entry,
+                       iter, new_frame, path, path_len, &statbuf, pathlist_match)) < 0)
+                       goto done;
 
                git_vector_insert(&new_frame->entries, entry);
        }
@@ -1435,7 +1463,7 @@ done:
        if (error < 0)
                git_array_pop(iter->frames);
 
-       git_buf_free(&root);
+       git_buf_dispose(&root);
        git_path_diriter_free(&diriter);
        return error;
 }
@@ -1457,10 +1485,17 @@ static void filesystem_iterator_set_current(
        filesystem_iterator *iter,
        filesystem_iterator_entry *entry)
 {
-       iter->entry.ctime.seconds = entry->st.st_ctime;
-       iter->entry.mtime.seconds = entry->st.st_mtime;
+       /*
+        * Index entries are limited to 32 bit timestamps.  We can safely
+        * cast this since workdir times are only used in the cache; any
+        * mismatch will cause a hash recomputation which is unfortunate
+        * but affects only people who set their filetimes to 2038.
+        * (Same with the file size.)
+        */
+       iter->entry.ctime.seconds = (int32_t)entry->st.st_ctime;
+       iter->entry.mtime.seconds = (int32_t)entry->st.st_mtime;
 
-#if defined(GIT_USE_NSEC)      
+#if defined(GIT_USE_NSEC)
        iter->entry.ctime.nanoseconds = entry->st.st_ctime_nsec;
        iter->entry.mtime.nanoseconds = entry->st.st_mtime_nsec;
 #else
@@ -1473,7 +1508,10 @@ static void filesystem_iterator_set_current(
        iter->entry.mode = git_futils_canonical_mode(entry->st.st_mode);
        iter->entry.uid = entry->st.st_uid;
        iter->entry.gid = entry->st.st_gid;
-       iter->entry.file_size = entry->st.st_size;
+       iter->entry.file_size = (uint32_t)entry->st.st_size;
+
+       if (iter->base.flags & GIT_ITERATOR_INCLUDE_HASH)
+               git_oid_cpy(&iter->entry.id, &entry->id);
 
        iter->entry.path = entry->path;
 
@@ -1523,7 +1561,7 @@ static int filesystem_iterator_is_dir(
        *is_dir = S_ISDIR(st.st_mode);
 
 done:
-       git_buf_free(&fullpath);
+       git_buf_dispose(&fullpath);
        return error;
 }
 
@@ -1664,7 +1702,7 @@ static void filesystem_iterator_update_ignored(filesystem_iterator *iter)
 
        if (git_ignore__lookup(&iter->current_is_ignored,
                        &iter->ignores, iter->entry.path, dir_flag) < 0) {
-               giterr_clear();
+               git_error_clear();
                iter->current_is_ignored = GIT_IGNORE_NOTFOUND;
        }
 
@@ -1804,7 +1842,7 @@ static void filesystem_iterator_clear(filesystem_iterator *iter)
        git_array_clear(iter->frames);
        git_ignore__free(&iter->ignores);
 
-       git_buf_free(&iter->tmp_buf);
+       git_buf_dispose(&iter->tmp_buf);
 
        iterator_clear(&iter->base);
 }
@@ -1838,7 +1876,7 @@ static void filesystem_iterator_free(git_iterator *i)
 {
        filesystem_iterator *iter = (filesystem_iterator *)i;
        git__free(iter->root);
-       git_buf_free(&iter->current_path);
+       git_buf_dispose(&iter->current_path);
        git_tree_free(iter->tree);
        if (iter->index)
                git_index_snapshot_release(&iter->index_snapshot, iter->index);
@@ -1873,7 +1911,7 @@ static int iterator_for_filesystem(
                return git_iterator_for_nothing(out, options);
 
        iter = git__calloc(1, sizeof(filesystem_iterator));
-       GITERR_CHECK_ALLOC(iter);
+       GIT_ERROR_CHECK_ALLOC(iter);
 
        iter->base.type = type;
        iter->base.cb = &callbacks;
@@ -1881,7 +1919,7 @@ static int iterator_for_filesystem(
        root_len = strlen(root);
 
        iter->root = git__malloc(root_len+2);
-       GITERR_CHECK_ALLOC(iter->root);
+       GIT_ERROR_CHECK_ALLOC(iter->root);
 
        memcpy(iter->root, root, root_len);
 
@@ -2176,7 +2214,7 @@ static void index_iterator_free(git_iterator *i)
        index_iterator *iter = (index_iterator *)i;
 
        git_index_snapshot_release(&iter->entries, iter->base.index);
-       git_buf_free(&iter->tree_buf);
+       git_buf_dispose(&iter->tree_buf);
 }
 
 int git_iterator_for_index(
@@ -2203,7 +2241,7 @@ int git_iterator_for_index(
                return git_iterator_for_nothing(out, options);
 
        iter = git__calloc(1, sizeof(index_iterator));
-       GITERR_CHECK_ALLOC(iter);
+       GIT_ERROR_CHECK_ALLOC(iter);
 
        iter->base.type = GIT_ITERATOR_TYPE_INDEX;
        iter->base.cb = &callbacks;
@@ -2259,6 +2297,35 @@ void git_iterator_free(git_iterator *iter)
        git__free(iter);
 }
 
+int git_iterator_foreach(
+       git_iterator *iterator,
+       git_iterator_foreach_cb cb,
+       void *data)
+{
+       const git_index_entry *iterator_item;
+       int error = 0;
+
+       if ((error = git_iterator_current(&iterator_item, iterator)) < 0)
+               goto done;
+
+       if ((error = cb(iterator_item, data)) != 0)
+               goto done;
+
+       while (true) {
+               if ((error = git_iterator_advance(&iterator_item, iterator)) < 0)
+                       goto done;
+
+               if ((error = cb(iterator_item, data)) != 0)
+                       goto done;
+       }
+
+done:
+       if (error == GIT_ITEROVER)
+               error = 0;
+
+       return error;
+}
+
 int git_iterator_walk(
        git_iterator **iterators,
        size_t cnt,
@@ -2274,8 +2341,8 @@ int git_iterator_walk(
        iterator_item = git__calloc(cnt, sizeof(git_index_entry *));
        cur_items = git__calloc(cnt, sizeof(git_index_entry *));
 
-       GITERR_CHECK_ALLOC(iterator_item);
-       GITERR_CHECK_ALLOC(cur_items);
+       GIT_ERROR_CHECK_ALLOC(iterator_item);
+       GIT_ERROR_CHECK_ALLOC(cur_items);
 
        /* Set up the iterators */
        for (i = 0; i < cnt; i++) {
index a6497d87b83aacc36d24da3aa8dde9508fbf1bb8..bbe357fbdf70978ecad5923308252fd91859381a 100644 (file)
@@ -41,6 +41,8 @@ typedef enum {
        GIT_ITERATOR_INCLUDE_CONFLICTS = (1u << 6),
        /** descend into symlinked directories */
        GIT_ITERATOR_DESCEND_SYMLINKS = (1u << 7),
+       /** hash files in workdir or filesystem iterators */
+       GIT_ITERATOR_INCLUDE_HASH = (1u << 8),
 } git_iterator_flag_t;
 
 typedef enum {
@@ -289,6 +291,19 @@ extern int git_iterator_current_workdir_path(
  */
 extern git_index *git_iterator_index(git_iterator *iter);
 
+typedef int (*git_iterator_foreach_cb)(
+       const git_index_entry *entry,
+       void *data);
+
+/**
+ * Walk the given iterator and invoke the callback for each path
+ * contained in the iterator.
+ */
+extern int git_iterator_foreach(
+       git_iterator *iterator,
+       git_iterator_foreach_cb cb,
+       void *data);
+
 typedef int (*git_iterator_walk_cb)(
        const git_index_entry **entries,
        void *data);
index 71eb583d58964e88c71ec457faadf22b380406b9..40e2d1848b77cfc10a10f84a66551e1d7e4e3d5d 100644 (file)
@@ -146,8 +146,10 @@ typedef unsigned long long khint64_t;
 #ifndef kh_inline
 #ifdef _MSC_VER
 #define kh_inline __inline
+#elif defined(__GNUC__)
+#define kh_inline __inline__
 #else
-#define kh_inline inline
+#define kh_inline
 #endif
 #endif /* kh_inline */
 
diff --git a/src/mailmap.c b/src/mailmap.c
new file mode 100644 (file)
index 0000000..409cdbd
--- /dev/null
@@ -0,0 +1,485 @@
+/*
+ * Copyright (C) the libgit2 contributors. All rights reserved.
+ *
+ * This file is part of libgit2, distributed under the GNU GPL v2 with
+ * a Linking Exception. For full terms see the included COPYING file.
+ */
+
+#include "mailmap.h"
+
+#include "common.h"
+#include "path.h"
+#include "repository.h"
+#include "signature.h"
+#include "git2/config.h"
+#include "git2/revparse.h"
+#include "blob.h"
+#include "parse.h"
+
+#define MM_FILE ".mailmap"
+#define MM_FILE_CONFIG "mailmap.file"
+#define MM_BLOB_CONFIG "mailmap.blob"
+#define MM_BLOB_DEFAULT "HEAD:" MM_FILE
+
+static void mailmap_entry_free(git_mailmap_entry *entry)
+{
+       if (!entry)
+               return;
+
+       git__free(entry->real_name);
+       git__free(entry->real_email);
+       git__free(entry->replace_name);
+       git__free(entry->replace_email);
+       git__free(entry);
+}
+
+/*
+ * First we sort by replace_email, then replace_name (if present).
+ * Entries with names are greater than entries without.
+ */
+static int mailmap_entry_cmp(const void *a_raw, const void *b_raw)
+{
+       const git_mailmap_entry *a = (const git_mailmap_entry *)a_raw;
+       const git_mailmap_entry *b = (const git_mailmap_entry *)b_raw;
+       int cmp;
+
+       assert(a && b && a->replace_email && b->replace_email);
+
+       cmp = git__strcmp(a->replace_email, b->replace_email);
+       if (cmp)
+               return cmp;
+
+       /* NULL replace_names are less than not-NULL ones */
+       if (a->replace_name == NULL || b->replace_name == NULL)
+               return (int)(a->replace_name != NULL) - (int)(b->replace_name != NULL);
+
+       return git__strcmp(a->replace_name, b->replace_name);
+}
+
+/* Replace the old entry with the new on duplicate. */
+static int mailmap_entry_replace(void **old_raw, void *new_raw)
+{
+       mailmap_entry_free((git_mailmap_entry *)*old_raw);
+       *old_raw = new_raw;
+       return GIT_EEXISTS;
+}
+
+/* Check if we're at the end of line, w/ comments */
+static bool is_eol(git_parse_ctx *ctx)
+{
+       char c;
+       return git_parse_peek(&c, ctx, GIT_PARSE_PEEK_SKIP_WHITESPACE) < 0 || c == '#';
+}
+
+static int advance_until(
+       const char **start, size_t *len, git_parse_ctx *ctx, char needle)
+{
+       *start = ctx->line;
+       while (ctx->line_len > 0 && *ctx->line != '#' && *ctx->line != needle)
+               git_parse_advance_chars(ctx, 1);
+
+       if (ctx->line_len == 0 || *ctx->line == '#')
+               return -1; /* end of line */
+
+       *len = ctx->line - *start;
+       git_parse_advance_chars(ctx, 1); /* advance past needle */
+       return 0;
+}
+
+/*
+ * Parse a single entry from a mailmap file.
+ *
+ * The output git_bufs will be non-owning, and should be copied before being
+ * persisted.
+ */
+static int parse_mailmap_entry(
+       git_buf *real_name, git_buf *real_email,
+       git_buf *replace_name, git_buf *replace_email,
+       git_parse_ctx *ctx)
+{
+       const char *start;
+       size_t len;
+
+       git_buf_clear(real_name);
+       git_buf_clear(real_email);
+       git_buf_clear(replace_name);
+       git_buf_clear(replace_email);
+
+       git_parse_advance_ws(ctx);
+       if (is_eol(ctx))
+               return -1; /* blank line */
+
+       /* Parse the real name */
+       if (advance_until(&start, &len, ctx, '<') < 0)
+               return -1;
+
+       git_buf_attach_notowned(real_name, start, len);
+       git_buf_rtrim(real_name);
+
+       /*
+        * If this is the last email in the line, this is the email to replace,
+        * otherwise, it's the real email.
+        */
+       if (advance_until(&start, &len, ctx, '>') < 0)
+               return -1;
+
+       /* If we aren't at the end of the line, parse a second name and email */
+       if (!is_eol(ctx)) {
+               git_buf_attach_notowned(real_email, start, len);
+
+               git_parse_advance_ws(ctx);
+               if (advance_until(&start, &len, ctx, '<') < 0)
+                       return -1;
+               git_buf_attach_notowned(replace_name, start, len);
+               git_buf_rtrim(replace_name);
+
+               if (advance_until(&start, &len, ctx, '>') < 0)
+                       return -1;
+       }
+
+       git_buf_attach_notowned(replace_email, start, len);
+
+       if (!is_eol(ctx))
+               return -1;
+
+       return 0;
+}
+
+int git_mailmap_new(git_mailmap **out)
+{
+       int error;
+       git_mailmap *mm = git__calloc(1, sizeof(git_mailmap));
+       GIT_ERROR_CHECK_ALLOC(mm);
+
+       error = git_vector_init(&mm->entries, 0, mailmap_entry_cmp);
+       if (error < 0) {
+               git__free(mm);
+               return error;
+       }
+       *out = mm;
+       return 0;
+}
+
+void git_mailmap_free(git_mailmap *mm)
+{
+       size_t idx;
+       git_mailmap_entry *entry;
+       if (!mm)
+               return;
+
+       git_vector_foreach(&mm->entries, idx, entry)
+               mailmap_entry_free(entry);
+
+       git_vector_free(&mm->entries);
+       git__free(mm);
+}
+
+static int mailmap_add_entry_unterminated(
+       git_mailmap *mm,
+       const char *real_name, size_t real_name_size,
+       const char *real_email, size_t real_email_size,
+       const char *replace_name, size_t replace_name_size,
+       const char *replace_email, size_t replace_email_size)
+{
+       int error;
+       git_mailmap_entry *entry = git__calloc(1, sizeof(git_mailmap_entry));
+       GIT_ERROR_CHECK_ALLOC(entry);
+
+       assert(mm && replace_email && *replace_email);
+
+       if (real_name_size > 0) {
+               entry->real_name = git__substrdup(real_name, real_name_size);
+               GIT_ERROR_CHECK_ALLOC(entry->real_name);
+       }
+       if (real_email_size > 0) {
+               entry->real_email = git__substrdup(real_email, real_email_size);
+               GIT_ERROR_CHECK_ALLOC(entry->real_email);
+       }
+       if (replace_name_size > 0) {
+               entry->replace_name = git__substrdup(replace_name, replace_name_size);
+               GIT_ERROR_CHECK_ALLOC(entry->replace_name);
+       }
+       entry->replace_email = git__substrdup(replace_email, replace_email_size);
+       GIT_ERROR_CHECK_ALLOC(entry->replace_email);
+
+       error = git_vector_insert_sorted(&mm->entries, entry, mailmap_entry_replace);
+       if (error == GIT_EEXISTS)
+               error = GIT_OK;
+       else if (error < 0)
+               mailmap_entry_free(entry);
+
+       return error;
+}
+
+int git_mailmap_add_entry(
+       git_mailmap *mm, const char *real_name, const char *real_email,
+       const char *replace_name, const char *replace_email)
+{
+       return mailmap_add_entry_unterminated(
+               mm,
+               real_name, real_name ? strlen(real_name) : 0,
+               real_email, real_email ? strlen(real_email) : 0,
+               replace_name, replace_name ? strlen(replace_name) : 0,
+               replace_email, strlen(replace_email));
+}
+
+static int mailmap_add_buffer(git_mailmap *mm, const char *buf, size_t len)
+{
+       int error = 0;
+       git_parse_ctx ctx;
+
+       /* Scratch buffers containing the real parsed names & emails */
+       git_buf real_name = GIT_BUF_INIT;
+       git_buf real_email = GIT_BUF_INIT;
+       git_buf replace_name = GIT_BUF_INIT;
+       git_buf replace_email = GIT_BUF_INIT;
+
+       /* Buffers may not contain '\0's. */
+       if (memchr(buf, '\0', len) != NULL)
+               return -1;
+
+       git_parse_ctx_init(&ctx, buf, len);
+
+       /* Run the parser */
+       while (ctx.remain_len > 0) {
+               error = parse_mailmap_entry(
+                       &real_name, &real_email, &replace_name, &replace_email, &ctx);
+               if (error < 0) {
+                       error = 0; /* Skip lines which don't contain a valid entry */
+                       git_parse_advance_line(&ctx);
+                       continue; /* TODO: warn */
+               }
+
+               /* NOTE: Can't use add_entry(...) as our buffers aren't terminated */
+               error = mailmap_add_entry_unterminated(
+                       mm, real_name.ptr, real_name.size, real_email.ptr, real_email.size,
+                       replace_name.ptr, replace_name.size, replace_email.ptr, replace_email.size);
+               if (error < 0)
+                       goto cleanup;
+
+               error = 0;
+       }
+
+cleanup:
+       git_buf_dispose(&real_name);
+       git_buf_dispose(&real_email);
+       git_buf_dispose(&replace_name);
+       git_buf_dispose(&replace_email);
+       return error;
+}
+
+int git_mailmap_from_buffer(git_mailmap **out, const char *data, size_t len)
+{
+       int error = git_mailmap_new(out);
+       if (error < 0)
+               return error;
+
+       error = mailmap_add_buffer(*out, data, len);
+       if (error < 0) {
+               git_mailmap_free(*out);
+               *out = NULL;
+       }
+       return error;
+}
+
+static int mailmap_add_blob(
+       git_mailmap *mm, git_repository *repo, const char *rev)
+{
+       git_object *object = NULL;
+       git_blob *blob = NULL;
+       git_buf content = GIT_BUF_INIT;
+       int error;
+
+       assert(mm && repo);
+
+       error = git_revparse_single(&object, repo, rev);
+       if (error < 0)
+               goto cleanup;
+
+       error = git_object_peel((git_object **)&blob, object, GIT_OBJECT_BLOB);
+       if (error < 0)
+               goto cleanup;
+
+       error = git_blob__getbuf(&content, blob);
+       if (error < 0)
+               goto cleanup;
+
+       error = mailmap_add_buffer(mm, content.ptr, content.size);
+       if (error < 0)
+               goto cleanup;
+
+cleanup:
+       git_buf_dispose(&content);
+       git_blob_free(blob);
+       git_object_free(object);
+       return error;
+}
+
+static int mailmap_add_file_ondisk(
+       git_mailmap *mm, const char *path, git_repository *repo)
+{
+       const char *base = repo ? git_repository_workdir(repo) : NULL;
+       git_buf fullpath = GIT_BUF_INIT;
+       git_buf content = GIT_BUF_INIT;
+       int error;
+
+       error = git_path_join_unrooted(&fullpath, path, base, NULL);
+       if (error < 0)
+               goto cleanup;
+
+       error = git_futils_readbuffer(&content, fullpath.ptr);
+       if (error < 0)
+               goto cleanup;
+
+       error = mailmap_add_buffer(mm, content.ptr, content.size);
+       if (error < 0)
+               goto cleanup;
+
+cleanup:
+       git_buf_dispose(&fullpath);
+       git_buf_dispose(&content);
+       return error;
+}
+
+/* NOTE: Only expose with an error return, currently never errors */
+static void mailmap_add_from_repository(git_mailmap *mm, git_repository *repo)
+{
+       git_config *config = NULL;
+       git_buf rev_buf = GIT_BUF_INIT;
+       git_buf path_buf = GIT_BUF_INIT;
+       const char *rev = NULL;
+       const char *path = NULL;
+
+       assert(mm && repo);
+
+       /* If we're in a bare repo, default blob to 'HEAD:.mailmap' */
+       if (repo->is_bare)
+               rev = MM_BLOB_DEFAULT;
+
+       /* Try to load 'mailmap.file' and 'mailmap.blob' cfgs from the repo */
+       if (git_repository_config(&config, repo) == 0) {
+               if (git_config_get_string_buf(&rev_buf, config, MM_BLOB_CONFIG) == 0)
+                       rev = rev_buf.ptr;
+               if (git_config_get_path(&path_buf, config, MM_FILE_CONFIG) == 0)
+                       path = path_buf.ptr;
+       }
+
+       /*
+        * Load mailmap files in order, overriding previous entries with new ones.
+        *  1. The '.mailmap' file in the repository's workdir root,
+        *  2. The blob described by the 'mailmap.blob' config (default HEAD:.mailmap),
+        *  3. The file described by the 'mailmap.file' config.
+        *
+        * We ignore errors from these loads, as these files may not exist, or may
+        * contain invalid information, and we don't want to report that error.
+        *
+        * XXX: Warn?
+        */
+       if (!repo->is_bare)
+               mailmap_add_file_ondisk(mm, MM_FILE, repo);
+       if (rev != NULL)
+               mailmap_add_blob(mm, repo, rev);
+       if (path != NULL)
+               mailmap_add_file_ondisk(mm, path, repo);
+
+       git_buf_dispose(&rev_buf);
+       git_buf_dispose(&path_buf);
+       git_config_free(config);
+}
+
+int git_mailmap_from_repository(git_mailmap **out, git_repository *repo)
+{
+       int error = git_mailmap_new(out);
+       if (error < 0)
+               return error;
+       mailmap_add_from_repository(*out, repo);
+       return 0;
+}
+
+const git_mailmap_entry *git_mailmap_entry_lookup(
+       const git_mailmap *mm, const char *name, const char *email)
+{
+       int error;
+       ssize_t fallback = -1;
+       size_t idx;
+       git_mailmap_entry *entry;
+
+       /* The lookup needle we want to use only sets the replace_email. */
+       git_mailmap_entry needle = { NULL };
+       needle.replace_email = (char *)email;
+
+       assert(email);
+
+       if (!mm)
+               return NULL;
+
+       /*
+        * We want to find the place to start looking. so we do a binary search for
+        * the "fallback" nameless entry. If we find it, we advance past it and record
+        * the index.
+        */
+       error = git_vector_bsearch(&idx, (git_vector *)&mm->entries, &needle);
+       if (error >= 0)
+               fallback = idx++;
+       else if (error != GIT_ENOTFOUND)
+               return NULL;
+
+       /* do a linear search for an exact match */
+       for (; idx < git_vector_length(&mm->entries); ++idx) {
+               entry = git_vector_get(&mm->entries, idx);
+
+               if (git__strcmp(entry->replace_email, email))
+                       break; /* it's a different email, so we're done looking */
+
+               assert(entry->replace_name); /* should be specific */
+               if (!name || !git__strcmp(entry->replace_name, name))
+                       return entry;
+       }
+
+       if (fallback < 0)
+               return NULL; /* no fallback */
+       return git_vector_get(&mm->entries, fallback);
+}
+
+int git_mailmap_resolve(
+       const char **real_name, const char **real_email,
+       const git_mailmap *mailmap,
+       const char *name, const char *email)
+{
+       const git_mailmap_entry *entry = NULL;
+       assert(name && email);
+
+       *real_name = name;
+       *real_email = email;
+
+       if ((entry = git_mailmap_entry_lookup(mailmap, name, email))) {
+               if (entry->real_name)
+                       *real_name = entry->real_name;
+               if (entry->real_email)
+                       *real_email = entry->real_email;
+       }
+       return 0;
+}
+
+int git_mailmap_resolve_signature(
+       git_signature **out, const git_mailmap *mailmap, const git_signature *sig)
+{
+       const char *name = NULL;
+       const char *email = NULL;
+       int error;
+
+       if (!sig)
+               return 0;
+
+       error = git_mailmap_resolve(&name, &email, mailmap, sig->name, sig->email);
+       if (error < 0)
+               return error;
+
+       error = git_signature_new(out, name, email, sig->when.time, sig->when.offset);
+       if (error < 0)
+               return error;
+
+       /* Copy over the sign, as git_signature_new doesn't let you pass it. */
+       (*out)->when.sign = sig->when.sign;
+       return 0;
+}
diff --git a/src/mailmap.h b/src/mailmap.h
new file mode 100644 (file)
index 0000000..2c9736a
--- /dev/null
@@ -0,0 +1,35 @@
+/*
+ * Copyright (C) the libgit2 contributors. All rights reserved.
+ *
+ * This file is part of libgit2, distributed under the GNU GPL v2 with
+ * a Linking Exception. For full terms see the included COPYING file.
+ */
+#ifndef INCLUDE_mailmap_h__
+#define INCLUDE_mailmap_h__
+
+#include "git2/mailmap.h"
+#include "vector.h"
+
+/*
+ * A mailmap is stored as a sorted vector of 'git_mailmap_entry's. These entries
+ * are sorted first by 'replace_email', and then by 'replace_name'. NULL
+ * replace_names are ordered first.
+ *
+ * Looking up a name and email in the mailmap is done with a binary search.
+ */
+struct git_mailmap {
+       git_vector entries;
+};
+
+/* Single entry parsed from a mailmap */
+typedef struct git_mailmap_entry {
+       char *real_name; /**< the real name (may be NULL) */
+       char *real_email; /**< the real email (may be NULL) */
+       char *replace_name; /**< the name to replace (may be NULL) */
+       char *replace_email; /**< the email to replace */
+} git_mailmap_entry;
+
+const git_mailmap_entry *git_mailmap_entry_lookup(
+       const git_mailmap *mm, const char *name, const char *email);
+
+#endif
index 6c98d13fb405803c2b1108e009a24f888ccbcd37..14b76fa2e3e78478ad1da7b1144864ed7a81524a 100644 (file)
@@ -80,7 +80,7 @@ int merge_bases_many(git_commit_list **out, git_revwalk **walk_out, git_reposito
        unsigned int i;
 
        if (length < 2) {
-               giterr_set(GITERR_INVALID, "at least two commits are required to find an ancestor");
+               git_error_set(GIT_ERROR_INVALID, "at least two commits are required to find an ancestor");
                return -1;
        }
 
@@ -106,7 +106,7 @@ int merge_bases_many(git_commit_list **out, git_revwalk **walk_out, git_reposito
                goto on_error;
 
        if (!result) {
-               giterr_set(GITERR_MERGE, "no merge base found");
+               git_error_set(GIT_ERROR_MERGE, "no merge base found");
                error = GIT_ENOTFOUND;
                goto on_error;
        }
@@ -186,7 +186,7 @@ int git_merge_base_octopus(git_oid *out, git_repository *repo, size_t length, co
        assert(out && repo && input_array);
 
        if (length < 2) {
-               giterr_set(GITERR_INVALID, "at least two commits are required to find an ancestor");
+               git_error_set(GIT_ERROR_INVALID, "at least two commits are required to find an ancestor");
                return -1;
        }
 
@@ -232,7 +232,7 @@ static int merge_bases(git_commit_list **out, git_revwalk **walk_out, git_reposi
 
        if (!result) {
                git_revwalk_free(walk);
-               giterr_set(GITERR_MERGE, "no merge base found");
+               git_error_set(GIT_ERROR_MERGE, "no merge base found");
                return GIT_ENOTFOUND;
        }
 
@@ -426,9 +426,9 @@ static int remove_redundant(git_revwalk *walk, git_vector *commits)
        int error = 0;
 
        redundant = git__calloc(commits->length, 1);
-       GITERR_CHECK_ALLOC(redundant);
+       GIT_ERROR_CHECK_ALLOC(redundant);
        filled_index = git__calloc((commits->length - 1), sizeof(unsigned int));
-       GITERR_CHECK_ALLOC(filled_index);
+       GIT_ERROR_CHECK_ALLOC(filled_index);
 
        for (i = 0; i < commits->length; ++i) {
                if ((error = git_commit_list_parse(walk, commits->contents[i])) < 0)
@@ -576,7 +576,7 @@ int git_repository_mergehead_foreach(
 
        while ((line = git__strsep(&buffer, "\n")) != NULL) {
                if (strlen(line) != GIT_OID_HEXSZ) {
-                       giterr_set(GITERR_INVALID, "unable to parse OID - invalid length");
+                       git_error_set(GIT_ERROR_INVALID, "unable to parse OID - invalid length");
                        error = -1;
                        goto cleanup;
                }
@@ -585,7 +585,7 @@ int git_repository_mergehead_foreach(
                        goto cleanup;
 
                if ((error = cb(&oid, payload)) != 0) {
-                       giterr_set_after_callback(error);
+                       git_error_set_after_callback(error);
                        goto cleanup;
                }
 
@@ -593,14 +593,14 @@ int git_repository_mergehead_foreach(
        }
 
        if (*buffer) {
-               giterr_set(GITERR_MERGE, "no EOL at line %"PRIuZ, line_num);
+               git_error_set(GIT_ERROR_MERGE, "no EOL at line %"PRIuZ, line_num);
                error = -1;
                goto cleanup;
        }
 
 cleanup:
-       git_buf_free(&merge_head_path);
-       git_buf_free(&merge_head_file);
+       git_buf_dispose(&merge_head_path);
+       git_buf_dispose(&merge_head_file);
 
        return error;
 }
@@ -859,23 +859,23 @@ static int merge_conflict_invoke_driver(
 
        if ((error = driver->apply(driver, &path, &mode, &buf, name, src)) < 0 ||
                (error = git_repository_odb(&odb, src->repo)) < 0 ||
-               (error = git_odb_write(&oid, odb, buf.ptr, buf.size, GIT_OBJ_BLOB)) < 0)
+               (error = git_odb_write(&oid, odb, buf.ptr, buf.size, GIT_OBJECT_BLOB)) < 0)
                goto done;
 
        result = git_pool_mallocz(&diff_list->pool, sizeof(git_index_entry));
-       GITERR_CHECK_ALLOC(result);
+       GIT_ERROR_CHECK_ALLOC(result);
 
        git_oid_cpy(&result->id, &oid);
        result->mode = mode;
        result->file_size = buf.size;
 
        result->path = git_pool_strdup(&diff_list->pool, path);
-       GITERR_CHECK_ALLOC(result->path);
+       GIT_ERROR_CHECK_ALLOC(result->path);
 
        *out = result;
 
 done:
-       git_buf_free(&buf);
+       git_buf_dispose(&buf);
        git_odb_free(odb);
 
        return error;
@@ -1084,7 +1084,7 @@ static int index_entry_similarity_inexact(
 }
 
 /* Tracks deletes by oid for merge_diff_mark_similarity_exact().  This is a
-* non-shrinking queue where next_pos is the next position to dequeue. 
+* non-shrinking queue where next_pos is the next position to dequeue.
 */
 typedef struct {
        git_array_t(size_t) arr;
@@ -1105,7 +1105,7 @@ static void deletes_by_oid_free(git_oidmap *map) {
 }
 
 static int deletes_by_oid_enqueue(git_oidmap *map, git_pool* pool, const git_oid *id, size_t idx) {
-       khint_t pos;
+       size_t pos;
        deletes_by_oid_queue *queue;
        size_t *array_entry;
        int error;
@@ -1113,7 +1113,7 @@ static int deletes_by_oid_enqueue(git_oidmap *map, git_pool* pool, const git_oid
        pos = git_oidmap_lookup_index(map, id);
        if (!git_oidmap_valid_index(map, pos)) {
                queue = git_pool_malloc(pool, sizeof(deletes_by_oid_queue));
-               GITERR_CHECK_ALLOC(queue);
+               GIT_ERROR_CHECK_ALLOC(queue);
 
                git_array_init(queue->arr);
                queue->next_pos = 0;
@@ -1125,7 +1125,7 @@ static int deletes_by_oid_enqueue(git_oidmap *map, git_pool* pool, const git_oid
        } else {
                queue = git_oidmap_value_at(map, pos);
                array_entry = git_array_alloc(queue->arr);
-               GITERR_CHECK_ALLOC(array_entry);
+               GIT_ERROR_CHECK_ALLOC(array_entry);
                *array_entry = idx;
        }
 
@@ -1133,7 +1133,7 @@ static int deletes_by_oid_enqueue(git_oidmap *map, git_pool* pool, const git_oid
 }
 
 static int deletes_by_oid_dequeue(size_t *idx, git_oidmap *map, const git_oid *id) {
-       khint_t pos;
+       size_t pos;
        deletes_by_oid_queue *queue;
        size_t *array_entry;
 
@@ -1143,7 +1143,7 @@ static int deletes_by_oid_dequeue(size_t *idx, git_oidmap *map, const git_oid *i
                return GIT_ENOTFOUND;
 
        queue = git_oidmap_value_at(map, pos);
-       
+
        if (queue->next_pos == 0) {
                *idx = queue->first_entry;
        } else {
@@ -1510,11 +1510,11 @@ int git_merge_diff_list__find_renames(
 
        similarity_ours = git__calloc(diff_list->conflicts.length,
                sizeof(struct merge_diff_similarity));
-       GITERR_CHECK_ALLOC(similarity_ours);
+       GIT_ERROR_CHECK_ALLOC(similarity_ours);
 
        similarity_theirs = git__calloc(diff_list->conflicts.length,
                sizeof(struct merge_diff_similarity));
-       GITERR_CHECK_ALLOC(similarity_theirs);
+       GIT_ERROR_CHECK_ALLOC(similarity_theirs);
 
        /* Calculate similarity between items that were deleted from the ancestor
         * and added in the other branch.
@@ -1523,9 +1523,9 @@ int git_merge_diff_list__find_renames(
                goto done;
 
        if (opts->rename_threshold < 100 && diff_list->conflicts.length <= opts->target_limit) {
-               GITERR_CHECK_ALLOC_MULTIPLY(&cache_size, diff_list->conflicts.length, 3);
+               GIT_ERROR_CHECK_ALLOC_MULTIPLY(&cache_size, diff_list->conflicts.length, 3);
                cache = git__calloc(cache_size, sizeof(void *));
-               GITERR_CHECK_ALLOC(cache);
+               GIT_ERROR_CHECK_ALLOC(cache);
 
                merge_diff_list_count_candidates(diff_list, &src_count, &tgt_count);
 
@@ -1739,7 +1739,7 @@ static int merge_diff_list_insert_unmodified(
        git_index_entry *entry;
 
        entry = git_pool_malloc(&diff_list->pool, sizeof(git_index_entry));
-       GITERR_CHECK_ALLOC(entry);
+       GIT_ERROR_CHECK_ALLOC(entry);
 
        if ((error = index_entry_dup_pool(entry, &diff_list->pool, tree_items[0])) >= 0)
                error = git_vector_insert(&diff_list->staged, entry);
@@ -1846,13 +1846,13 @@ static int merge_normalize_opts(
 
        if (given && given->default_driver) {
                opts->default_driver = git__strdup(given->default_driver);
-               GITERR_CHECK_ALLOC(opts->default_driver);
+               GIT_ERROR_CHECK_ALLOC(opts->default_driver);
        } else {
                error = git_config_get_entry(&entry, cfg, "merge.default");
 
                if (error == 0) {
                        opts->default_driver = git__strdup(entry->value);
-                       GITERR_CHECK_ALLOC(opts->default_driver);
+                       GIT_ERROR_CHECK_ALLOC(opts->default_driver);
                } else if (error == GIT_ENOTFOUND) {
                        error = 0;
                } else {
@@ -1873,7 +1873,7 @@ static int merge_normalize_opts(
        /* assign the internal metric with whitespace flag as payload */
        if (!opts->metric) {
                opts->metric = git__malloc(sizeof(git_diff_similarity_metric));
-               GITERR_CHECK_ALLOC(opts->metric);
+               GIT_ERROR_CHECK_ALLOC(opts->metric);
 
                opts->metric->file_signature = git_diff_find_similar__hashsig_for_file;
                opts->metric->buffer_signature = git_diff_find_similar__hashsig_for_buf;
@@ -2060,7 +2060,7 @@ int git_merge__iterators(
 
        *out = NULL;
 
-       GITERR_CHECK_VERSION(
+       GIT_ERROR_CHECK_VERSION(
                given_opts, GIT_MERGE_OPTIONS_VERSION, "git_merge_options");
 
        if ((error = merge_normalize_opts(repo, &opts, given_opts)) < 0)
@@ -2079,7 +2079,7 @@ int git_merge__iterators(
        }
 
        diff_list = git_merge_diff_list__alloc(repo);
-       GITERR_CHECK_ALLOC(diff_list);
+       GIT_ERROR_CHECK_ALLOC(diff_list);
 
        ancestor_iter = iterator_given_or_empty(&empty_ancestor, ancestor_iter);
        our_iter = iterator_given_or_empty(&empty_ours, our_iter);
@@ -2102,7 +2102,7 @@ int git_merge__iterators(
 
                if (!resolved) {
                        if ((opts.flags & GIT_MERGE_FAIL_ON_CONFLICT)) {
-                               giterr_set(GITERR_MERGE, "merge conflicts exist");
+                               git_error_set(GIT_ERROR_MERGE, "merge conflicts exist");
                                error = GIT_EMERGECONFLICT;
                                goto done;
                        }
@@ -2199,13 +2199,13 @@ GIT_INLINE(int) insert_head_ids(
 
        if (annotated_commit->type == GIT_ANNOTATED_COMMIT_REAL) {
                id = git_array_alloc(*ids);
-               GITERR_CHECK_ALLOC(id);
+               GIT_ERROR_CHECK_ALLOC(id);
 
                git_oid_cpy(id, git_commit_id(annotated_commit->commit));
        } else {
                for (i = 0; i < annotated_commit->parents.size; i++) {
                        id = git_array_alloc(*ids);
-                       GITERR_CHECK_ALLOC(id);
+                       GIT_ERROR_CHECK_ALLOC(id);
 
                        git_oid_cpy(id, &annotated_commit->parents.ptr[i]);
                }
@@ -2240,7 +2240,7 @@ static int create_virtual_base(
                return -1;
 
        result = git__calloc(1, sizeof(git_annotated_commit));
-       GITERR_CHECK_ALLOC(result);
+       GIT_ERROR_CHECK_ALLOC(result);
        result->type = GIT_ANNOTATED_COMMIT_VIRTUAL;
        result->index = index;
 
@@ -2368,7 +2368,7 @@ static int merge_annotated_commits(
                if (error != GIT_ENOTFOUND)
                        goto done;
 
-               giterr_clear();
+               git_error_clear();
        }
 
        if ((error = iterator_for_annotated_commit(&base_iter, base)) < 0 ||
@@ -2444,7 +2444,7 @@ cleanup:
        if (error < 0)
                git_filebuf_cleanup(&file);
 
-       git_buf_free(&file_path);
+       git_buf_dispose(&file_path);
 
        return error;
 }
@@ -2470,7 +2470,7 @@ cleanup:
        if (error < 0)
                git_filebuf_cleanup(&file);
 
-       git_buf_free(&file_path);
+       git_buf_dispose(&file_path);
 
        return error;
 }
@@ -2678,7 +2678,7 @@ static int write_merge_msg(
        assert(repo && heads);
 
        entries = git__calloc(heads_len, sizeof(struct merge_msg_entry));
-       GITERR_CHECK_ALLOC(entries);
+       GIT_ERROR_CHECK_ALLOC(entries);
 
        if (git_vector_init(&matching, heads_len, NULL) < 0) {
                git__free(entries);
@@ -2770,7 +2770,7 @@ cleanup:
        if (error < 0)
                git_filebuf_cleanup(&file);
 
-       git_buf_free(&file_path);
+       git_buf_dispose(&file_path);
 
        git_vector_free(&matching);
        git__free(entries);
@@ -2812,9 +2812,9 @@ static int merge_ancestor_head(
 
        assert(repo && our_head && their_heads);
 
-       GITERR_CHECK_ALLOC_ADD(&alloc_len, their_heads_len, 1);
+       GIT_ERROR_CHECK_ALLOC_ADD(&alloc_len, their_heads_len, 1);
        oids = git__calloc(alloc_len, sizeof(git_oid));
-       GITERR_CHECK_ALLOC(oids);
+       GIT_ERROR_CHECK_ALLOC(oids);
 
        git_oid_cpy(&oids[0], git_commit_id(our_head->commit));
 
@@ -3038,7 +3038,7 @@ int git_merge__check_result(git_repository *repo, git_index *index_new)
                goto done;
 
        if ((conflicts = index_conflicts + wd_conflicts) > 0) {
-               giterr_set(GITERR_MERGE, "%" PRIuZ " uncommitted change%s would be overwritten by merge",
+               git_error_set(GIT_ERROR_MERGE, "%" PRIuZ " uncommitted change%s would be overwritten by merge",
                        conflicts, (conflicts != 1) ? "s" : "");
                error = GIT_ECONFLICT;
        }
@@ -3090,7 +3090,7 @@ cleanup:
        if (error < 0)
                git_filebuf_cleanup(&file);
 
-       git_buf_free(&file_path);
+       git_buf_dispose(&file_path);
 
        return error;
 }
@@ -3110,11 +3110,11 @@ static int merge_heads(
        git_annotated_commit **ancestor_head_out,
        git_annotated_commit **our_head_out,
        git_repository *repo,
+       git_reference *our_ref,
        const git_annotated_commit **their_heads,
        size_t their_heads_len)
 {
        git_annotated_commit *ancestor_head = NULL, *our_head = NULL;
-       git_reference *our_ref = NULL;
        int error = 0;
 
        *ancestor_head_out = NULL;
@@ -3123,15 +3123,14 @@ static int merge_heads(
        if ((error = git_repository__ensure_not_bare(repo, "merge")) < 0)
                goto done;
 
-       if ((error = git_reference_lookup(&our_ref, repo, GIT_HEAD_FILE)) < 0 ||
-               (error = git_annotated_commit_from_ref(&our_head, repo, our_ref)) < 0)
+       if ((error = git_annotated_commit_from_ref(&our_head, repo, our_ref)) < 0)
                goto done;
 
        if ((error = merge_ancestor_head(&ancestor_head, repo, our_head, their_heads, their_heads_len)) < 0) {
                if (error != GIT_ENOTFOUND)
                        goto done;
 
-               giterr_clear();
+               git_error_clear();
                error = 0;
        }
 
@@ -3144,8 +3143,6 @@ done:
                git_annotated_commit_free(our_head);
        }
 
-       git_reference_free(our_ref);
-
        return error;
 }
 
@@ -3162,7 +3159,7 @@ static int merge_preference(git_merge_preference_t *out, git_repository *repo)
 
        if ((error = git_config_get_string(&value, config, "merge.ff")) < 0) {
                if (error == GIT_ENOTFOUND) {
-                       giterr_clear();
+                       git_error_clear();
                        error = 0;
                }
 
@@ -3182,20 +3179,22 @@ done:
        return error;
 }
 
-int git_merge_analysis(
+int git_merge_analysis_for_ref(
        git_merge_analysis_t *analysis_out,
        git_merge_preference_t *preference_out,
        git_repository *repo,
+       git_reference *our_ref,
        const git_annotated_commit **their_heads,
        size_t their_heads_len)
 {
        git_annotated_commit *ancestor_head = NULL, *our_head = NULL;
        int error = 0;
+       bool unborn;
 
-       assert(analysis_out && preference_out && repo && their_heads);
+       assert(analysis_out && preference_out && repo && their_heads && their_heads_len > 0);
 
        if (their_heads_len != 1) {
-               giterr_set(GITERR_MERGE, "can only merge a single branch");
+               git_error_set(GIT_ERROR_MERGE, "can only merge a single branch");
                error = -1;
                goto done;
        }
@@ -3205,12 +3204,16 @@ int git_merge_analysis(
        if ((error = merge_preference(preference_out, repo)) < 0)
                goto done;
 
-       if (git_repository_head_unborn(repo)) {
+       if ((error = git_reference__is_unborn_head(&unborn, our_ref, repo)) < 0)
+               goto done;
+
+       if (unborn) {
                *analysis_out |= GIT_MERGE_ANALYSIS_FASTFORWARD | GIT_MERGE_ANALYSIS_UNBORN;
+               error = 0;
                goto done;
        }
 
-       if ((error = merge_heads(&ancestor_head, &our_head, repo, their_heads, their_heads_len)) < 0)
+       if ((error = merge_heads(&ancestor_head, &our_head, repo, our_ref, their_heads, their_heads_len)) < 0)
                goto done;
 
        /* We're up-to-date if we're trying to merge our own common ancestor. */
@@ -3233,6 +3236,28 @@ done:
        return error;
 }
 
+int git_merge_analysis(
+       git_merge_analysis_t *analysis_out,
+       git_merge_preference_t *preference_out,
+       git_repository *repo,
+       const git_annotated_commit **their_heads,
+       size_t their_heads_len)
+{
+       git_reference *head_ref = NULL;
+       int error = 0;
+
+       if ((error = git_reference_lookup(&head_ref, repo, GIT_HEAD_FILE)) < 0) {
+               git_error_set(GIT_ERROR_MERGE, "failed to lookup HEAD reference");
+               return error;
+       }
+
+       error = git_merge_analysis_for_ref(analysis_out, preference_out, repo, head_ref, their_heads, their_heads_len);
+
+       git_reference_free(head_ref);
+
+       return error;
+}
+
 int git_merge(
        git_repository *repo,
        const git_annotated_commit **their_heads,
@@ -3243,15 +3268,15 @@ int git_merge(
        git_reference *our_ref = NULL;
        git_checkout_options checkout_opts;
        git_annotated_commit *our_head = NULL, *base = NULL;
-       git_index *index = NULL;
+       git_index *repo_index = NULL, *index = NULL;
        git_indexwriter indexwriter = GIT_INDEXWRITER_INIT;
        unsigned int checkout_strategy;
        int error = 0;
 
-       assert(repo && their_heads);
+       assert(repo && their_heads && their_heads_len > 0);
 
        if (their_heads_len != 1) {
-               giterr_set(GITERR_MERGE, "can only merge a single branch");
+               git_error_set(GIT_ERROR_MERGE, "can only merge a single branch");
                return -1;
        }
 
@@ -3266,6 +3291,10 @@ int git_merge(
                &checkout_strategy)) < 0)
                goto done;
 
+       if ((error = git_repository_index(&repo_index, repo) < 0) ||
+           (error = git_index_read(repo_index, 0) < 0))
+               goto done;
+
        /* Write the merge setup files to the repository. */
        if ((error = git_annotated_commit_from_head(&our_head, repo)) < 0 ||
                (error = git_merge__setup(repo, our_head, their_heads,
@@ -3299,6 +3328,7 @@ done:
        git_annotated_commit_free(our_head);
        git_annotated_commit_free(base);
        git_reference_free(our_ref);
+       git_index_free(repo_index);
 
        return error;
 }
index ea4bd27879f425c897594396e62219c3955a47ad..8b7e3559a013969dca0db12773dda0b5e9856a46 100644 (file)
@@ -181,7 +181,7 @@ static int merge_driver_registry_insert(
        git_merge_driver_entry *entry;
 
        entry = git__calloc(1, sizeof(git_merge_driver_entry) + strlen(name) + 1);
-       GITERR_CHECK_ALLOC(entry);
+       GIT_ERROR_CHECK_ALLOC(entry);
 
        strcpy(entry->name, name);
        entry->driver = driver;
@@ -265,12 +265,12 @@ int git_merge_driver_register(const char *name, git_merge_driver *driver)
        assert(name && driver);
 
        if (git_rwlock_wrlock(&merge_driver_registry.lock) < 0) {
-               giterr_set(GITERR_OS, "failed to lock merge driver registry");
+               git_error_set(GIT_ERROR_OS, "failed to lock merge driver registry");
                return -1;
        }
 
        if (!merge_driver_registry_find(NULL, name)) {
-               giterr_set(GITERR_MERGE, "attempt to reregister existing driver '%s'",
+               git_error_set(GIT_ERROR_MERGE, "attempt to reregister existing driver '%s'",
                        name);
                error = GIT_EEXISTS;
                goto done;
@@ -290,12 +290,12 @@ int git_merge_driver_unregister(const char *name)
        int error = 0;
 
        if (git_rwlock_wrlock(&merge_driver_registry.lock) < 0) {
-               giterr_set(GITERR_OS, "failed to lock merge driver registry");
+               git_error_set(GIT_ERROR_OS, "failed to lock merge driver registry");
                return -1;
        }
 
        if ((entry = merge_driver_registry_lookup(&pos, name)) == NULL) {
-               giterr_set(GITERR_MERGE, "cannot find merge driver '%s' to unregister",
+               git_error_set(GIT_ERROR_MERGE, "cannot find merge driver '%s' to unregister",
                        name);
                error = GIT_ENOTFOUND;
                goto done;
@@ -332,7 +332,7 @@ git_merge_driver *git_merge_driver_lookup(const char *name)
                return &git_merge_driver__binary;
 
        if (git_rwlock_rdlock(&merge_driver_registry.lock) < 0) {
-               giterr_set(GITERR_OS, "failed to lock merge driver registry");
+               git_error_set(GIT_ERROR_OS, "failed to lock merge driver registry");
                return NULL;
        }
 
@@ -341,7 +341,7 @@ git_merge_driver *git_merge_driver_lookup(const char *name)
        git_rwlock_rdunlock(&merge_driver_registry.lock);
 
        if (entry == NULL) {
-               giterr_set(GITERR_MERGE, "cannot use an unregistered filter");
+               git_error_set(GIT_ERROR_MERGE, "cannot use an unregistered filter");
                return NULL;
        }
 
index a36c1986c92201a21fb52cc0f614eabf74356665..0647a5df6236c912c00fb65ec3394452253595e4 100644 (file)
@@ -130,7 +130,7 @@ static int merge_file__xdiff(
 
        if ((xdl_result = xdl_merge(&ancestor_mmfile, &our_mmfile,
                &their_mmfile, &xmparam, &mmbuffer)) < 0) {
-               giterr_set(GITERR_MERGE, "failed to merge files");
+               git_error_set(GIT_ERROR_MERGE, "failed to merge files");
                error = -1;
                goto done;
        }
index 38d0352b4274a0f7b1fe333a32705a179d6f7a2d..ffbee7d145a74c0a4ff8123153a56a2654e2c007 100644 (file)
@@ -51,14 +51,14 @@ int git_mwindow_get_pack(struct git_pack_file **out, const char *path)
 {
        int error;
        char *packname;
-       git_strmap_iter pos;
+       size_t pos;
        struct git_pack_file *pack;
 
        if ((error = git_packfile__name(&packname, path)) < 0)
                return error;
 
        if (git_mutex_lock(&git__mwindow_mutex) < 0) {
-               giterr_set(GITERR_OS, "failed to lock mwindow mutex");
+               git_error_set(GIT_ERROR_OS, "failed to lock mwindow mutex");
                return -1;
        }
 
@@ -97,7 +97,7 @@ int git_mwindow_get_pack(struct git_pack_file **out, const char *path)
 void git_mwindow_put_pack(struct git_pack_file *pack)
 {
        int count;
-       git_strmap_iter pos;
+       size_t pos;
 
        if (git_mutex_lock(&git__mwindow_mutex) < 0)
                return;
@@ -122,7 +122,7 @@ void git_mwindow_put_pack(struct git_pack_file *pack)
 void git_mwindow_free_all(git_mwindow_file *mwf)
 {
        if (git_mutex_lock(&git__mwindow_mutex)) {
-               giterr_set(GITERR_THREAD, "unable to lock mwindow mutex");
+               git_error_set(GIT_ERROR_THREAD, "unable to lock mwindow mutex");
                return;
        }
 
@@ -229,7 +229,7 @@ static int git_mwindow_close_lru(git_mwindow_file *mwf)
        }
 
        if (!lru_w) {
-               giterr_set(GITERR_OS, "failed to close memory window; couldn't find LRU");
+               git_error_set(GIT_ERROR_OS, "failed to close memory window; couldn't find LRU");
                return -1;
        }
 
@@ -324,7 +324,7 @@ unsigned char *git_mwindow_open(
        git_mwindow *w = *cursor;
 
        if (git_mutex_lock(&git__mwindow_mutex)) {
-               giterr_set(GITERR_THREAD, "unable to lock mwindow mutex");
+               git_error_set(GIT_ERROR_THREAD, "unable to lock mwindow mutex");
                return NULL;
        }
 
@@ -376,7 +376,7 @@ int git_mwindow_file_register(git_mwindow_file *mwf)
        int ret;
 
        if (git_mutex_lock(&git__mwindow_mutex)) {
-               giterr_set(GITERR_THREAD, "unable to lock mwindow mutex");
+               git_error_set(GIT_ERROR_THREAD, "unable to lock mwindow mutex");
                return -1;
        }
 
@@ -416,7 +416,7 @@ void git_mwindow_close(git_mwindow **window)
        git_mwindow *w = *window;
        if (w) {
                if (git_mutex_lock(&git__mwindow_mutex)) {
-                       giterr_set(GITERR_THREAD, "unable to lock mwindow mutex");
+                       git_error_set(GIT_ERROR_THREAD, "unable to lock mwindow mutex");
                        return;
                }
 
index fa20cbaf2dee358cdc4f5c8f986150c0061c9dbd..ecbc2aebed2165340252b557015818f1493a0ac5 100644 (file)
@@ -119,6 +119,15 @@ int gitno__match_host(const char *pattern, const char *host)
        return -1;
 }
 
+static const char *default_port_http = "80";
+static const char *default_port_https = "443";
+
+const char *gitno__default_port(
+       gitno_connection_data *data)
+{
+       return data->use_ssl ? default_port_https : default_port_http;
+}
+
 static const char *prefix_http = "http://";
 static const char *prefix_https = "https://";
 
@@ -141,21 +150,21 @@ int gitno_connection_data_from_url(
 
        if (!git__prefixcmp(url, prefix_http)) {
                path_search_start = url + strlen(prefix_http);
-               default_port = "80";
+               default_port = default_port_http;
 
                if (data->use_ssl) {
-                       giterr_set(GITERR_NET, "redirect from HTTPS to HTTP is not allowed");
+                       git_error_set(GIT_ERROR_NET, "redirect from HTTPS to HTTP is not allowed");
                        goto cleanup;
                }
        } else if (!git__prefixcmp(url, prefix_https)) {
                path_search_start = url + strlen(prefix_https);
-               default_port = "443";
+               default_port = default_port_https;
                data->use_ssl = true;
        } else if (url[0] == '/')
-               default_port = data->use_ssl ? "443" : "80";
+               default_port = gitno__default_port(data);
 
        if (!default_port) {
-               giterr_set(GITERR_NET, "unrecognized URL prefix");
+               git_error_set(GIT_ERROR_NET, "unrecognized URL prefix");
                goto cleanup;
        }
 
@@ -187,7 +196,7 @@ int gitno_connection_data_from_url(
 
                /* Check for errors in the resulting data */
                if (original_host && url[0] != '/' && strcmp(original_host, data->host)) {
-                       giterr_set(GITERR_NET, "cross host redirect not allowed");
+                       git_error_set(GIT_ERROR_NET, "cross host redirect not allowed");
                        error = -1;
                }
        }
@@ -225,7 +234,7 @@ int gitno_extract_url_parts(
        int error = 0;
 
        if (http_parser_parse_url(url, strlen(url), false, &u)) {
-               giterr_set(GITERR_NET, "malformed URL '%s'", url);
+               git_error_set(GIT_ERROR_NET, "malformed URL '%s'", url);
                error = GIT_EINVALIDSPEC;
                goto done;
        }
@@ -254,7 +263,7 @@ int gitno_extract_url_parts(
                size_t url_path_len = u.field_data[UF_PATH].len;
                git_buf_decode_percent(&path, url_path, url_path_len);
        } else if (path_out) {
-               giterr_set(GITERR_NET, "invalid url, missing path");
+               git_error_set(GIT_ERROR_NET, "invalid url, missing path");
                error = GIT_EINVALIDSPEC;
                goto done;
        }
@@ -292,10 +301,10 @@ int gitno_extract_url_parts(
        *password_out = git_buf_detach(&password);
 
 done:
-       git_buf_free(&host);
-       git_buf_free(&port);
-       git_buf_free(&path);
-       git_buf_free(&username);
-       git_buf_free(&password);
+       git_buf_dispose(&host);
+       git_buf_dispose(&port);
+       git_buf_dispose(&path);
+       git_buf_dispose(&username);
+       git_buf_dispose(&password);
        return error;
 }
index 75fd9a512536062b202fc0345f32712d6a31e178..f376bd911f6a7d36c87a5402bd39fff5a2861194 100644 (file)
@@ -96,4 +96,6 @@ int gitno_extract_url_parts(
                const char *url,
                const char *default_port);
 
+const char *gitno__default_port(gitno_connection_data *data);
+
 #endif
index f63ef3667f4d033ff87a4b05110e0bb63713c5c7..8e622c64aaed61761a37a4e5e172ca88b31b0f52 100644 (file)
 #include "config.h"
 #include "iterator.h"
 #include "signature.h"
+#include "blob.h"
 
 static int note_error_notfound(void)
 {
-       giterr_set(GITERR_INVALID, "note could not be found");
+       git_error_set(GIT_ERROR_INVALID, "note could not be found");
        return GIT_ENOTFOUND;
 }
 
@@ -226,7 +227,7 @@ static int remove_note_in_tree_enotfound_cb(
        GIT_UNUSED(note_oid);
        GIT_UNUSED(fanout);
 
-       giterr_set(GITERR_REPOSITORY, "object '%s' has no note", annotated_object_sha);
+       git_error_set(GIT_ERROR_REPOSITORY, "object '%s' has no note", annotated_object_sha);
        return current_error;
 }
 
@@ -244,7 +245,7 @@ static int insert_note_in_tree_eexists_cb(git_tree **out,
        GIT_UNUSED(note_oid);
        GIT_UNUSED(fanout);
 
-       giterr_set(GITERR_REPOSITORY, "note for '%s' exists already", annotated_object_sha);
+       git_error_set(GIT_ERROR_REPOSITORY, "note for '%s' exists already", annotated_object_sha);
        return current_error;
 }
 
@@ -285,7 +286,7 @@ static int note_write(
        git_oid oid;
        git_tree *tree = NULL;
 
-       // TODO: should we apply filters?
+       /* TODO: should we apply filters? */
        /* create note object */
        if ((error = git_blob_create_frombuffer(&oid, repo, note, strlen(note))) < 0)
                goto cleanup;
@@ -319,9 +320,10 @@ static int note_new(
        git_blob *blob)
 {
        git_note *note = NULL;
+       git_off_t blobsize;
 
        note = git__malloc(sizeof(git_note));
-       GITERR_CHECK_ALLOC(note);
+       GIT_ERROR_CHECK_ALLOC(note);
 
        git_oid_cpy(&note->id, note_oid);
 
@@ -329,8 +331,11 @@ static int note_new(
                git_signature_dup(&note->committer, git_commit_committer(commit)) < 0)
                return -1;
 
-       note->message = git__strndup(git_blob_rawcontent(blob), git_blob_rawsize(blob));
-       GITERR_CHECK_ALLOC(note->message);
+       blobsize = git_blob_rawsize(blob);
+       GIT_ERROR_CHECK_BLOBSIZE(blobsize);
+
+       note->message = git__strndup(git_blob_rawcontent(blob), (size_t)blobsize);
+       GIT_ERROR_CHECK_ALLOC(note->message);
 
        *out = note;
        return 0;
@@ -417,7 +422,7 @@ static int normalize_namespace(char **out, git_repository *repo, const char *not
 {
        if (notes_ref) {
                *out = git__strdup(notes_ref);
-               GITERR_CHECK_ALLOC(*out);
+               GIT_ERROR_CHECK_ALLOC(*out);
                return 0;
        }
 
@@ -710,7 +715,7 @@ static int process_entry_path(
        error = git_oid_fromstr(annotated_object_id, buf.ptr);
 
 cleanup:
-       git_buf_free(&buf);
+       git_buf_dispose(&buf);
        return error;
 }
 
@@ -729,7 +734,7 @@ int git_note_foreach(
 
        while (!(error = git_note_next(&note_id, &annotated_id, iter))) {
                if ((error = note_cb(&note_id, &annotated_id, payload)) != 0) {
-                       giterr_set_after_callback(error);
+                       git_error_set_after_callback(error);
                        break;
                }
        }
index 48f561384543cb696791e25e2b68987b88f0bd9e..15f2722c70a7acc83aa3cd9e5595e0b00fe8153c 100644 (file)
@@ -12,6 +12,7 @@
 #include "repository.h"
 
 #include "commit.h"
+#include "hash.h"
 #include "tree.h"
 #include "blob.h"
 #include "oid.h"
 
 bool git_object__strict_input_validation = true;
 
+extern int git_odb_hash(git_oid *out, const void *data, size_t len, git_object_t type);
+
 typedef struct {
        const char      *str;   /* type name string */
        size_t          size;   /* size in bytes of the object structure */
 
        int  (*parse)(void *self, git_odb_object *obj);
+       int  (*parse_raw)(void *self, const char *data, size_t size);
        void (*free)(void *self);
 } git_object_def;
 
 static git_object_def git_objects_table[] = {
-       /* 0 = GIT_OBJ__EXT1 */
-       { "", 0, NULL, NULL },
+       /* 0 = GIT_OBJECT__EXT1 */
+       { "", 0, NULL, NULL, NULL },
 
-       /* 1 = GIT_OBJ_COMMIT */
-       { "commit", sizeof(git_commit), git_commit__parse, git_commit__free },
+       /* 1 = GIT_OBJECT_COMMIT */
+       { "commit", sizeof(git_commit), git_commit__parse, git_commit__parse_raw, git_commit__free },
 
-       /* 2 = GIT_OBJ_TREE */
-       { "tree", sizeof(git_tree), git_tree__parse, git_tree__free },
+       /* 2 = GIT_OBJECT_TREE */
+       { "tree", sizeof(git_tree), git_tree__parse, git_tree__parse_raw, git_tree__free },
 
-       /* 3 = GIT_OBJ_BLOB */
-       { "blob", sizeof(git_blob), git_blob__parse, git_blob__free },
+       /* 3 = GIT_OBJECT_BLOB */
+       { "blob", sizeof(git_blob), git_blob__parse, git_blob__parse_raw, git_blob__free },
 
-       /* 4 = GIT_OBJ_TAG */
-       { "tag", sizeof(git_tag), git_tag__parse, git_tag__free },
+       /* 4 = GIT_OBJECT_TAG */
+       { "tag", sizeof(git_tag), git_tag__parse, git_tag__parse_raw, git_tag__free },
 
-       /* 5 = GIT_OBJ__EXT2 */
-       { "", 0, NULL, NULL },
-       /* 6 = GIT_OBJ_OFS_DELTA */
-       { "OFS_DELTA", 0, NULL, NULL },
-       /* 7 = GIT_OBJ_REF_DELTA */
-       { "REF_DELTA", 0, NULL, NULL },
+       /* 5 = GIT_OBJECT__EXT2 */
+       { "", 0, NULL, NULL, NULL },
+       /* 6 = GIT_OBJECT_OFS_DELTA */
+       { "OFS_DELTA", 0, NULL, NULL, NULL },
+       /* 7 = GIT_OBJECT_REF_DELTA */
+       { "REF_DELTA", 0, NULL, NULL, NULL },
 };
 
+int git_object__from_raw(
+       git_object **object_out,
+       const char *data,
+       size_t size,
+       git_object_t type)
+{
+       git_object_def *def;
+       git_object *object;
+       size_t object_size;
+       int error;
+
+       assert(object_out);
+       *object_out = NULL;
+
+       /* Validate type match */
+       if (type != GIT_OBJECT_BLOB && type != GIT_OBJECT_TREE && type != GIT_OBJECT_COMMIT && type != GIT_OBJECT_TAG) {
+               git_error_set(GIT_ERROR_INVALID, "the requested type is invalid");
+               return GIT_ENOTFOUND;
+       }
+
+       if ((object_size = git_object__size(type)) == 0) {
+               git_error_set(GIT_ERROR_INVALID, "the requested type is invalid");
+               return GIT_ENOTFOUND;
+       }
+
+       /* Allocate and initialize base object */
+       object = git__calloc(1, object_size);
+       GIT_ERROR_CHECK_ALLOC(object);
+       object->cached.flags = GIT_CACHE_STORE_PARSED;
+       object->cached.type = type;
+       git_odb_hash(&object->cached.oid, data, size, type);
+
+       /* Parse raw object data */
+       def = &git_objects_table[type];
+       assert(def->free && def->parse_raw);
+
+       if ((error = def->parse_raw(object, data, size)) < 0) {
+               def->free(object);
+               return error;
+       }
+
+       git_cached_obj_incref(object);
+       *object_out = object;
+
+       return 0;
+}
+
 int git_object__from_odb_object(
        git_object **object_out,
        git_repository *repo,
        git_odb_object *odb_obj,
-       git_otype type)
+       git_object_t type)
 {
        int error;
        size_t object_size;
@@ -66,20 +117,20 @@ int git_object__from_odb_object(
        *object_out = NULL;
 
        /* Validate type match */
-       if (type != GIT_OBJ_ANY && type != odb_obj->cached.type) {
-               giterr_set(GITERR_INVALID,
+       if (type != GIT_OBJECT_ANY && type != odb_obj->cached.type) {
+               git_error_set(GIT_ERROR_INVALID,
                        "the requested type does not match the type in the ODB");
                return GIT_ENOTFOUND;
        }
 
        if ((object_size = git_object__size(odb_obj->cached.type)) == 0) {
-               giterr_set(GITERR_INVALID, "the requested type is invalid");
+               git_error_set(GIT_ERROR_INVALID, "the requested type is invalid");
                return GIT_ENOTFOUND;
        }
 
        /* Allocate and initialize base object */
        object = git__calloc(1, object_size);
-       GITERR_CHECK_ALLOC(object);
+       GIT_ERROR_CHECK_ALLOC(object);
 
        git_oid_cpy(&object->cached.oid, &odb_obj->cached.oid);
        object->cached.type = odb_obj->cached.type;
@@ -100,7 +151,7 @@ int git_object__from_odb_object(
 
 void git_object__free(void *obj)
 {
-       git_otype type = ((git_object *)obj)->cached.type;
+       git_object_t type = ((git_object *)obj)->cached.type;
 
        if (type < 0 || ((size_t)type) >= ARRAY_SIZE(git_objects_table) ||
                !git_objects_table[type].free)
@@ -114,7 +165,7 @@ int git_object_lookup_prefix(
        git_repository *repo,
        const git_oid *id,
        size_t len,
-       git_otype type)
+       git_object_t type)
 {
        git_object *object = NULL;
        git_odb *odb = NULL;
@@ -124,7 +175,7 @@ int git_object_lookup_prefix(
        assert(repo && object_out && id);
 
        if (len < GIT_OID_MINPREFIXLEN) {
-               giterr_set(GITERR_OBJECT, "ambiguous lookup - OID prefix is too short");
+               git_error_set(GIT_ERROR_OBJECT, "ambiguous lookup - OID prefix is too short");
                return GIT_EAMBIGUOUS;
        }
 
@@ -146,9 +197,9 @@ int git_object_lookup_prefix(
                        if (cached->flags == GIT_CACHE_STORE_PARSED) {
                                object = (git_object *)cached;
 
-                               if (type != GIT_OBJ_ANY && type != object->cached.type) {
+                               if (type != GIT_OBJECT_ANY && type != object->cached.type) {
                                        git_object_free(object);
-                                       giterr_set(GITERR_INVALID,
+                                       git_error_set(GIT_ERROR_INVALID,
                                                "the requested type does not match the type in ODB");
                                        return GIT_ENOTFOUND;
                                }
@@ -196,7 +247,7 @@ int git_object_lookup_prefix(
        return error;
 }
 
-int git_object_lookup(git_object **object_out, git_repository *repo, const git_oid *id, git_otype type) {
+int git_object_lookup(git_object **object_out, git_repository *repo, const git_oid *id, git_object_t type) {
        return git_object_lookup_prefix(object_out, repo, id, GIT_OID_HEXSZ, type);
 }
 
@@ -214,7 +265,7 @@ const git_oid *git_object_id(const git_object *obj)
        return &obj->cached.oid;
 }
 
-git_otype git_object_type(const git_object *obj)
+git_object_t git_object_type(const git_object *obj)
 {
        assert(obj);
        return obj->cached.type;
@@ -226,7 +277,7 @@ git_repository *git_object_owner(const git_object *obj)
        return obj->repo;
 }
 
-const char *git_object_type2string(git_otype type)
+const char *git_object_type2string(git_object_t type)
 {
        if (type < 0 || ((size_t) type) >= ARRAY_SIZE(git_objects_table))
                return "";
@@ -234,30 +285,30 @@ const char *git_object_type2string(git_otype type)
        return git_objects_table[type].str;
 }
 
-git_otype git_object_string2type(const char *str)
+git_object_t git_object_string2type(const char *str)
 {
        if (!str)
-               return GIT_OBJ_BAD;
+               return GIT_OBJECT_INVALID;
 
        return git_object_stringn2type(str, strlen(str));
 }
 
-git_otype git_object_stringn2type(const char *str, size_t len)
+git_object_t git_object_stringn2type(const char *str, size_t len)
 {
        size_t i;
 
        if (!str || !len || !*str)
-               return GIT_OBJ_BAD;
+               return GIT_OBJECT_INVALID;
 
        for (i = 0; i < ARRAY_SIZE(git_objects_table); i++)
                if (*git_objects_table[i].str &&
                        !git__prefixncmp(str, len, git_objects_table[i].str))
-                       return (git_otype)i;
+                       return (git_object_t)i;
 
-       return GIT_OBJ_BAD;
+       return GIT_OBJECT_INVALID;
 }
 
-int git_object_typeisloose(git_otype type)
+int git_object_typeisloose(git_object_t type)
 {
        if (type < 0 || ((size_t) type) >= ARRAY_SIZE(git_objects_table))
                return 0;
@@ -265,7 +316,7 @@ int git_object_typeisloose(git_otype type)
        return (git_objects_table[type].size > 0) ? 1 : 0;
 }
 
-size_t git_object__size(git_otype type)
+size_t git_object__size(git_object_t type)
 {
        if (type < 0 || ((size_t) type) >= ARRAY_SIZE(git_objects_table))
                return 0;
@@ -275,17 +326,17 @@ size_t git_object__size(git_otype type)
 
 static int dereference_object(git_object **dereferenced, git_object *obj)
 {
-       git_otype type = git_object_type(obj);
+       git_object_t type = git_object_type(obj);
 
        switch (type) {
-       case GIT_OBJ_COMMIT:
+       case GIT_OBJECT_COMMIT:
                return git_commit_tree((git_tree **)dereferenced, (git_commit*)obj);
 
-       case GIT_OBJ_TAG:
+       case GIT_OBJECT_TAG:
                return git_tag_target(dereferenced, (git_tag*)obj);
 
-       case GIT_OBJ_BLOB:
-       case GIT_OBJ_TREE:
+       case GIT_OBJECT_BLOB:
+       case GIT_OBJECT_TREE:
                return GIT_EPEEL;
 
        default:
@@ -293,7 +344,7 @@ static int dereference_object(git_object **dereferenced, git_object *obj)
        }
 }
 
-static int peel_error(int error, const git_oid *oid, git_otype type)
+static int peel_error(int error, const git_oid *oid, git_object_t type)
 {
        const char *type_name;
        char hex_oid[GIT_OID_HEXSZ + 1];
@@ -303,29 +354,29 @@ static int peel_error(int error, const git_oid *oid, git_otype type)
        git_oid_fmt(hex_oid, oid);
        hex_oid[GIT_OID_HEXSZ] = '\0';
 
-       giterr_set(GITERR_OBJECT, "the git_object of id '%s' can not be "
-               "successfully peeled into a %s (git_otype=%i).", hex_oid, type_name, type);
+       git_error_set(GIT_ERROR_OBJECT, "the git_object of id '%s' can not be "
+               "successfully peeled into a %s (git_object_t=%i).", hex_oid, type_name, type);
 
        return error;
 }
 
-static int check_type_combination(git_otype type, git_otype target)
+static int check_type_combination(git_object_t type, git_object_t target)
 {
        if (type == target)
                return 0;
 
        switch (type) {
-       case GIT_OBJ_BLOB:
-       case GIT_OBJ_TREE:
+       case GIT_OBJECT_BLOB:
+       case GIT_OBJECT_TREE:
                /* a blob or tree can never be peeled to anything but themselves */
                return GIT_EINVALIDSPEC;
                break;
-       case GIT_OBJ_COMMIT:
+       case GIT_OBJECT_COMMIT:
                /* a commit can only be peeled to a tree */
-               if (target != GIT_OBJ_TREE && target != GIT_OBJ_ANY)
+               if (target != GIT_OBJECT_TREE && target != GIT_OBJECT_ANY)
                        return GIT_EINVALIDSPEC;
                break;
-       case GIT_OBJ_TAG:
+       case GIT_OBJECT_TAG:
                /* a tag may point to anything, so we let anything through */
                break;
        default:
@@ -338,18 +389,18 @@ static int check_type_combination(git_otype type, git_otype target)
 int git_object_peel(
        git_object **peeled,
        const git_object *object,
-       git_otype target_type)
+       git_object_t target_type)
 {
        git_object *source, *deref = NULL;
        int error;
 
        assert(object && peeled);
 
-       assert(target_type == GIT_OBJ_TAG ||
-               target_type == GIT_OBJ_COMMIT ||
-               target_type == GIT_OBJ_TREE ||
-               target_type == GIT_OBJ_BLOB ||
-               target_type == GIT_OBJ_ANY);
+       assert(target_type == GIT_OBJECT_TAG ||
+               target_type == GIT_OBJECT_COMMIT ||
+               target_type == GIT_OBJECT_TREE ||
+               target_type == GIT_OBJECT_BLOB ||
+               target_type == GIT_OBJECT_ANY);
 
        if ((error = check_type_combination(git_object_type(object), target_type)) < 0)
                return peel_error(error, git_object_id(object), target_type);
@@ -369,7 +420,7 @@ int git_object_peel(
                        return 0;
                }
 
-               if (target_type == GIT_OBJ_ANY &&
+               if (target_type == GIT_OBJECT_ANY &&
                        git_object_type(deref) != git_object_type(object))
                {
                        *peeled = deref;
@@ -402,7 +453,7 @@ int git_object_lookup_bypath(
                git_object **out,
                const git_object *treeish,
                const char *path,
-               git_otype type)
+               git_object_t type)
 {
        int error = -1;
        git_tree *tree = NULL;
@@ -410,15 +461,15 @@ int git_object_lookup_bypath(
 
        assert(out && treeish && path);
 
-       if ((error = git_object_peel((git_object**)&tree, treeish, GIT_OBJ_TREE)) < 0 ||
+       if ((error = git_object_peel((git_object**)&tree, treeish, GIT_OBJECT_TREE)) < 0 ||
                 (error = git_tree_entry_bypath(&entry, tree, path)) < 0)
        {
                goto cleanup;
        }
 
-       if (type != GIT_OBJ_ANY && git_tree_entry_type(entry) != type)
+       if (type != GIT_OBJECT_ANY && git_tree_entry_type(entry) != type)
        {
-               giterr_set(GITERR_OBJECT,
+               git_error_set(GIT_ERROR_OBJECT,
                                "object at path '%s' is not of the asked-for type %d",
                                path, type);
                error = GIT_EINVALIDSPEC;
@@ -461,7 +512,7 @@ int git_object_short_id(git_buf *out, const git_object *obj)
                if (error != GIT_EAMBIGUOUS)
                        break;
 
-               giterr_clear();
+               git_error_clear();
                len++;
        }
 
@@ -476,10 +527,10 @@ int git_object_short_id(git_buf *out, const git_object *obj)
 }
 
 bool git_object__is_valid(
-       git_repository *repo, const git_oid *id, git_otype expected_type)
+       git_repository *repo, const git_oid *id, git_object_t expected_type)
 {
        git_odb *odb;
-       git_otype actual_type;
+       git_object_t actual_type;
        size_t len;
        int error;
 
@@ -490,8 +541,8 @@ bool git_object__is_valid(
                (error = git_odb_read_header(&len, &actual_type, odb, id)) < 0)
                return false;
 
-       if (expected_type != GIT_OBJ_ANY && expected_type != actual_type) {
-               giterr_set(GITERR_INVALID,
+       if (expected_type != GIT_OBJECT_ANY && expected_type != actual_type) {
+               git_error_set(GIT_ERROR_INVALID,
                        "the requested type does not match the type in the ODB");
                return false;
        }
index e46c9cafa5f684e5d4ac3156a889c88b325da8bc..227a6fdd54a604e0b98effe6b3be0064ce47fd90 100644 (file)
@@ -22,36 +22,47 @@ struct git_object {
 /* fully free the object; internal method, DO NOT EXPORT */
 void git_object__free(void *object);
 
+/*
+ * Parse object from raw data. Note that the resulting object is
+ * tied to the lifetime of the data, as some objects simply point
+ * into it.
+ */
+int git_object__from_raw(
+       git_object **object_out,
+       const char *data,
+       size_t size,
+       git_object_t type);
+
 int git_object__from_odb_object(
        git_object **object_out,
        git_repository *repo,
        git_odb_object *odb_obj,
-       git_otype type);
+       git_object_t type);
 
-int git_object__resolve_to_type(git_object **obj, git_otype type);
+int git_object__resolve_to_type(git_object **obj, git_object_t type);
 
-git_otype git_object_stringn2type(const char *str, size_t len);
+git_object_t git_object_stringn2type(const char *str, size_t len);
 
 int git_oid__parse(git_oid *oid, const char **buffer_out, const char *buffer_end, const char *header);
 
 void git_oid__writebuf(git_buf *buf, const char *header, const git_oid *oid);
 
 bool git_object__is_valid(
-       git_repository *repo, const git_oid *id, git_otype expected_type);
+       git_repository *repo, const git_oid *id, git_object_t expected_type);
 
-GIT_INLINE(git_otype) git_object__type_from_filemode(git_filemode_t mode)
+GIT_INLINE(git_object_t) git_object__type_from_filemode(git_filemode_t mode)
 {
        switch (mode) {
        case GIT_FILEMODE_TREE:
-               return GIT_OBJ_TREE;
+               return GIT_OBJECT_TREE;
        case GIT_FILEMODE_COMMIT:
-               return GIT_OBJ_COMMIT;
+               return GIT_OBJECT_COMMIT;
        case GIT_FILEMODE_BLOB:
        case GIT_FILEMODE_BLOB_EXECUTABLE:
        case GIT_FILEMODE_LINK:
-               return GIT_OBJ_BLOB;
+               return GIT_OBJECT_BLOB;
        default:
-               return GIT_OBJ_BAD;
+               return GIT_OBJECT_INVALID;
        }
 }
 
index 75efa4d105156924b25762f2502f1ecb2e9ead72..d45abd5ce7409b376e8109529ed36c28519011fe 100644 (file)
  */
 int git_commit_lookup(git_commit **out, git_repository *repo, const git_oid *id)
 {
-       return git_object_lookup((git_object **)out, repo, id, GIT_OBJ_COMMIT);
+       return git_object_lookup((git_object **)out, repo, id, GIT_OBJECT_COMMIT);
 }
 
 int git_commit_lookup_prefix(git_commit **out, git_repository *repo, const git_oid *id, size_t len)
 {
-       return git_object_lookup_prefix((git_object **)out, repo, id, len, GIT_OBJ_COMMIT);
+       return git_object_lookup_prefix((git_object **)out, repo, id, len, GIT_OBJECT_COMMIT);
 }
 
 void git_commit_free(git_commit *obj)
@@ -53,12 +53,12 @@ int git_commit_dup(git_commit **out, git_commit *obj)
  */
 int git_tree_lookup(git_tree **out, git_repository *repo, const git_oid *id)
 {
-       return git_object_lookup((git_object **)out, repo, id, GIT_OBJ_TREE);
+       return git_object_lookup((git_object **)out, repo, id, GIT_OBJECT_TREE);
 }
 
 int git_tree_lookup_prefix(git_tree **out, git_repository *repo, const git_oid *id, size_t len)
 {
-       return git_object_lookup_prefix((git_object **)out, repo, id, len, GIT_OBJ_TREE);
+       return git_object_lookup_prefix((git_object **)out, repo, id, len, GIT_OBJECT_TREE);
 }
 
 void git_tree_free(git_tree *obj)
@@ -86,12 +86,12 @@ int git_tree_dup(git_tree **out, git_tree *obj)
  */
 int git_tag_lookup(git_tag **out, git_repository *repo, const git_oid *id)
 {
-       return git_object_lookup((git_object **)out, repo, id, GIT_OBJ_TAG);
+       return git_object_lookup((git_object **)out, repo, id, GIT_OBJECT_TAG);
 }
 
 int git_tag_lookup_prefix(git_tag **out, git_repository *repo, const git_oid *id, size_t len)
 {
-       return git_object_lookup_prefix((git_object **)out, repo, id, len, GIT_OBJ_TAG);
+       return git_object_lookup_prefix((git_object **)out, repo, id, len, GIT_OBJECT_TAG);
 }
 
 void git_tag_free(git_tag *obj)
@@ -119,12 +119,12 @@ int git_tag_dup(git_tag **out, git_tag *obj)
  */
 int git_blob_lookup(git_blob **out, git_repository *repo, const git_oid *id)
 {
-       return git_object_lookup((git_object **)out, repo, id, GIT_OBJ_BLOB);
+       return git_object_lookup((git_object **)out, repo, id, GIT_OBJECT_BLOB);
 }
 
 int git_blob_lookup_prefix(git_blob **out, git_repository *repo, const git_oid *id, size_t len)
 {
-       return git_object_lookup_prefix((git_object **)out, repo, id, len, GIT_OBJ_BLOB);
+       return git_object_lookup_prefix((git_object **)out, repo, id, len, GIT_OBJECT_BLOB);
 }
 
 void git_blob_free(git_blob *obj)
index ede2aa57b4cb0e947bdc4e579b9a08b2a88ba787..498652c790b6f7c6712e96863abeaa52aa5b9e11 100644 (file)
--- a/src/odb.c
+++ b/src/odb.c
@@ -15,6 +15,7 @@
 #include "delta.h"
 #include "filter.h"
 #include "repository.h"
+#include "blob.h"
 
 #include "git2/odb_backend.h"
 #include "git2/oid.h"
@@ -51,34 +52,34 @@ static git_cache *odb_cache(git_odb *odb)
        return &odb->own_cache;
 }
 
-static int odb_otype_fast(git_otype *type_p, git_odb *db, const git_oid *id);
+static int odb_otype_fast(git_object_t *type_p, git_odb *db, const git_oid *id);
 static int load_alternates(git_odb *odb, const char *objects_dir, int alternate_depth);
 static int error_null_oid(int error, const char *message);
 
-static git_otype odb_hardcoded_type(const git_oid *id)
+static git_object_t odb_hardcoded_type(const git_oid *id)
 {
        static git_oid empty_tree = {{ 0x4b, 0x82, 0x5d, 0xc6, 0x42, 0xcb, 0x6e, 0xb9, 0xa0, 0x60,
                                           0xe5, 0x4b, 0xf8, 0xd6, 0x92, 0x88, 0xfb, 0xee, 0x49, 0x04 }};
 
        if (!git_oid_cmp(id, &empty_tree))
-               return GIT_OBJ_TREE;
+               return GIT_OBJECT_TREE;
 
-       return GIT_OBJ_BAD;
+       return GIT_OBJECT_INVALID;
 }
 
 static int odb_read_hardcoded(bool *found, git_rawobj *raw, const git_oid *id)
 {
-       git_otype type;
+       git_object_t type;
 
        *found = false;
 
-       if ((type = odb_hardcoded_type(id)) == GIT_OBJ_BAD)
+       if ((type = odb_hardcoded_type(id)) == GIT_OBJECT_INVALID)
                return 0;
 
        raw->type = type;
        raw->len = 0;
        raw->data = git__calloc(1, sizeof(uint8_t));
-       GITERR_CHECK_ALLOC(raw->data);
+       GIT_ERROR_CHECK_ALLOC(raw->data);
 
        *found = true;
        return 0;
@@ -89,16 +90,16 @@ int git_odb__format_object_header(
        char *hdr,
        size_t hdr_size,
        git_off_t obj_len,
-       git_otype obj_type)
+       git_object_t obj_type)
 {
        const char *type_str = git_object_type2string(obj_type);
        int hdr_max = (hdr_size > INT_MAX-2) ? (INT_MAX-2) : (int)hdr_size;
        int len;
 
-       len = p_snprintf(hdr, hdr_max, "%s %lld", type_str, (long long)obj_len);
+       len = p_snprintf(hdr, hdr_max, "%s %"PRId64, type_str, (int64_t)obj_len);
 
        if (len < 0 || len >= hdr_max) {
-               giterr_set(GITERR_OS, "object header creation failed");
+               git_error_set(GIT_ERROR_OS, "object header creation failed");
                return -1;
        }
 
@@ -116,12 +117,12 @@ int git_odb__hashobj(git_oid *id, git_rawobj *obj)
        assert(id && obj);
 
        if (!git_object_typeisloose(obj->type)) {
-               giterr_set(GITERR_INVALID, "invalid object type");
+               git_error_set(GIT_ERROR_INVALID, "invalid object type");
                return -1;
        }
 
        if (!obj->data && obj->len != 0) {
-               giterr_set(GITERR_INVALID, "invalid object");
+               git_error_set(GIT_ERROR_INVALID, "invalid object");
                return -1;
        }
 
@@ -175,7 +176,7 @@ size_t git_odb_object_size(git_odb_object *object)
        return object->cached.size;
 }
 
-git_otype git_odb_object_type(git_odb_object *object)
+git_object_t git_odb_object_type(git_odb_object *object)
 {
        return object->cached.type;
 }
@@ -195,7 +196,7 @@ void git_odb_object_free(git_odb_object *object)
        git_cached_obj_decref(object);
 }
 
-int git_odb__hashfd(git_oid *out, git_file fd, size_t size, git_otype type)
+int git_odb__hashfd(git_oid *out, git_file fd, size_t size, git_object_t type)
 {
        size_t hdr_len;
        char hdr[64], buffer[FILEIO_BUFSIZE];
@@ -204,7 +205,7 @@ int git_odb__hashfd(git_oid *out, git_file fd, size_t size, git_otype type)
        int error = 0;
 
        if (!git_object_typeisloose(type)) {
-               giterr_set(GITERR_INVALID, "invalid object type for hash");
+               git_error_set(GIT_ERROR_INVALID, "invalid object type for hash");
                return -1;
        }
 
@@ -229,7 +230,7 @@ int git_odb__hashfd(git_oid *out, git_file fd, size_t size, git_otype type)
         * If size is not zero, the file was truncated after we originally
         * stat'd it, so we consider this a read failure too */
        if (read_len < 0 || size > 0) {
-               giterr_set(GITERR_OS, "error reading file for hashing");
+               git_error_set(GIT_ERROR_OS, "error reading file for hashing");
                error = -1;
 
                goto done;
@@ -243,7 +244,7 @@ done:
 }
 
 int git_odb__hashfd_filtered(
-       git_oid *out, git_file fd, size_t size, git_otype type, git_filter_list *fl)
+       git_oid *out, git_file fd, size_t size, git_object_t type, git_filter_list *fl)
 {
        int error;
        git_buf raw = GIT_BUF_INIT;
@@ -260,12 +261,12 @@ int git_odb__hashfd_filtered(
 
                error = git_filter_list_apply_to_data(&post, fl, &raw);
 
-               git_buf_free(&raw);
+               git_buf_dispose(&raw);
 
                if (!error)
                        error = git_odb_hash(out, post.ptr, post.size, type);
 
-               git_buf_free(&post);
+               git_buf_dispose(&post);
        }
 
        return error;
@@ -281,7 +282,7 @@ int git_odb__hashlink(git_oid *out, const char *path)
                return -1;
 
        if (!git__is_int(st.st_size) || (int)st.st_size < 0) {
-               giterr_set(GITERR_FILESYSTEM, "file size overflow for 32-bit systems");
+               git_error_set(GIT_ERROR_FILESYSTEM, "file size overflow for 32-bit systems");
                return -1;
        }
 
@@ -292,32 +293,32 @@ int git_odb__hashlink(git_oid *out, const char *path)
                int read_len;
                size_t alloc_size;
 
-               GITERR_CHECK_ALLOC_ADD(&alloc_size, size, 1);
+               GIT_ERROR_CHECK_ALLOC_ADD(&alloc_size, size, 1);
                link_data = git__malloc(alloc_size);
-               GITERR_CHECK_ALLOC(link_data);
+               GIT_ERROR_CHECK_ALLOC(link_data);
 
                read_len = p_readlink(path, link_data, size);
                link_data[size] = '\0';
                if (read_len != size) {
-                       giterr_set(GITERR_OS, "failed to read symlink data for '%s'", path);
+                       git_error_set(GIT_ERROR_OS, "failed to read symlink data for '%s'", path);
                        git__free(link_data);
                        return -1;
                }
 
-               result = git_odb_hash(out, link_data, size, GIT_OBJ_BLOB);
+               result = git_odb_hash(out, link_data, size, GIT_OBJECT_BLOB);
                git__free(link_data);
        } else {
                int fd = git_futils_open_ro(path);
                if (fd < 0)
                        return -1;
-               result = git_odb__hashfd(out, fd, size, GIT_OBJ_BLOB);
+               result = git_odb__hashfd(out, fd, size, GIT_OBJECT_BLOB);
                p_close(fd);
        }
 
        return result;
 }
 
-int git_odb_hashfile(git_oid *out, const char *path, git_otype type)
+int git_odb_hashfile(git_oid *out, const char *path, git_object_t type)
 {
        git_off_t size;
        int result, fd = git_futils_open_ro(path);
@@ -325,7 +326,7 @@ int git_odb_hashfile(git_oid *out, const char *path, git_otype type)
                return fd;
 
        if ((size = git_futils_filesize(fd)) < 0 || !git__is_sizet(size)) {
-               giterr_set(GITERR_OS, "file size overflow for 32-bit systems");
+               git_error_set(GIT_ERROR_OS, "file size overflow for 32-bit systems");
                p_close(fd);
                return -1;
        }
@@ -335,7 +336,7 @@ int git_odb_hashfile(git_oid *out, const char *path, git_otype type)
        return result;
 }
 
-int git_odb_hash(git_oid *id, const void *data, size_t len, git_otype type)
+int git_odb_hash(git_oid *id, const void *data, size_t len, git_object_t type)
 {
        git_rawobj raw;
 
@@ -356,7 +357,7 @@ typedef struct {
        git_odb_stream stream;
        char *buffer;
        size_t size, written;
-       git_otype type;
+       git_object_t type;
 } fake_wstream;
 
 static int fake_wstream__fwrite(git_odb_stream *_stream, const git_oid *oid)
@@ -384,21 +385,20 @@ static void fake_wstream__free(git_odb_stream *_stream)
        git__free(stream);
 }
 
-static int init_fake_wstream(git_odb_stream **stream_p, git_odb_backend *backend, git_off_t size, git_otype type)
+static int init_fake_wstream(git_odb_stream **stream_p, git_odb_backend *backend, git_off_t size, git_object_t type)
 {
        fake_wstream *stream;
+       size_t blobsize;
 
-       if (!git__is_ssizet(size)) {
-               giterr_set(GITERR_ODB, "object size too large to keep in memory");
-               return -1;
-       }
+       GIT_ERROR_CHECK_BLOBSIZE(size);
+       blobsize = (size_t)size;
 
        stream = git__calloc(1, sizeof(fake_wstream));
-       GITERR_CHECK_ALLOC(stream);
+       GIT_ERROR_CHECK_ALLOC(stream);
 
-       stream->size = size;
+       stream->size = blobsize;
        stream->type = type;
-       stream->buffer = git__malloc(size);
+       stream->buffer = git__malloc(blobsize);
        if (stream->buffer == NULL) {
                git__free(stream);
                return -1;
@@ -441,7 +441,7 @@ static int backend_sort_cmp(const void *a, const void *b)
 int git_odb_new(git_odb **out)
 {
        git_odb *db = git__calloc(1, sizeof(*db));
-       GITERR_CHECK_ALLOC(db);
+       GIT_ERROR_CHECK_ALLOC(db);
 
        if (git_cache_init(&db->own_cache) < 0 ||
                git_vector_init(&db->backends, 4, backend_sort_cmp) < 0) {
@@ -462,13 +462,13 @@ static int add_backend_internal(
 
        assert(odb && backend);
 
-       GITERR_CHECK_VERSION(backend, GIT_ODB_BACKEND_VERSION, "git_odb_backend");
+       GIT_ERROR_CHECK_VERSION(backend, GIT_ODB_BACKEND_VERSION, "git_odb_backend");
 
        /* Check if the backend is already owned by another ODB */
        assert(!backend->odb || backend->odb == odb);
 
        internal = git__malloc(sizeof(backend_internal));
-       GITERR_CHECK_ALLOC(internal);
+       GIT_ERROR_CHECK_ALLOC(internal);
 
        internal->backend = backend;
        internal->priority = priority;
@@ -503,7 +503,7 @@ size_t git_odb_num_backends(git_odb *odb)
 
 static int git_odb__error_unsupported_in_backend(const char *action)
 {
-       giterr_set(GITERR_ODB,
+       git_error_set(GIT_ERROR_ODB,
                "cannot %s - unsupported in the loaded odb backends", action);
        return -1;
 }
@@ -521,7 +521,7 @@ int git_odb_get_backend(git_odb_backend **out, git_odb *odb, size_t pos)
                return 0;
        }
 
-       giterr_set(GITERR_ODB, "no ODB backend loaded at index %" PRIuZ, pos);
+       git_error_set(GIT_ERROR_ODB, "no ODB backend loaded at index %" PRIuZ, pos);
        return GIT_ENOTFOUND;
 }
 
@@ -546,7 +546,7 @@ int git_odb__add_default_backends(
                if (as_alternates)
                        return 0;
 
-               giterr_set(GITERR_ODB, "failed to load object database in '%s'", objects_dir);
+               git_error_set(GIT_ERROR_ODB, "failed to load object database in '%s'", objects_dir);
                return -1;
        }
 
@@ -588,12 +588,12 @@ static int load_alternates(git_odb *odb, const char *objects_dir, int alternate_
                return -1;
 
        if (git_path_exists(alternates_path.ptr) == false) {
-               git_buf_free(&alternates_path);
+               git_buf_dispose(&alternates_path);
                return 0;
        }
 
        if (git_futils_readbuffer(&alternates_buf, alternates_path.ptr) < 0) {
-               git_buf_free(&alternates_path);
+               git_buf_dispose(&alternates_path);
                return -1;
        }
 
@@ -619,8 +619,8 @@ static int load_alternates(git_odb *odb, const char *objects_dir, int alternate_
                        break;
        }
 
-       git_buf_free(&alternates_path);
-       git_buf_free(&alternates_buf);
+       git_buf_dispose(&alternates_path);
+       git_buf_dispose(&alternates_buf);
 
        return result;
 }
@@ -657,7 +657,7 @@ int git_odb__set_caps(git_odb *odb, int caps)
                int val;
 
                if (!repo) {
-                       giterr_set(GITERR_ODB, "cannot access repository to set odb caps");
+                       git_error_set(GIT_ERROR_ODB, "cannot access repository to set odb caps");
                        return -1;
                }
 
@@ -871,7 +871,7 @@ int git_odb_expand_ids(
                int error = GIT_EAMBIGUOUS;
 
                if (!query->type)
-                       query->type = GIT_OBJ_ANY;
+                       query->type = GIT_OBJECT_ANY;
 
                /* if we have a short OID, expand it first */
                if (query->length >= GIT_OID_MINPREFIXLEN && query->length < GIT_OID_HEXSZ) {
@@ -889,11 +889,11 @@ int git_odb_expand_ids(
                 * or because the user passed a full OID. Ensure its type is right.
                 */
                if (query->length >= GIT_OID_HEXSZ) {
-                       git_otype actual_type;
+                       git_object_t actual_type;
 
                        error = odb_otype_fast(&actual_type, db, &query->id);
                        if (!error) {
-                               if (query->type != GIT_OBJ_ANY && query->type != actual_type)
+                               if (query->type != GIT_OBJECT_ANY && query->type != actual_type)
                                        error = GIT_ENOTFOUND;
                                else
                                        query->type = actual_type;
@@ -919,11 +919,11 @@ int git_odb_expand_ids(
                }
        }
 
-       giterr_clear();
+       git_error_clear();
        return 0;
 }
 
-int git_odb_read_header(size_t *len_p, git_otype *type_p, git_odb *db, const git_oid *id)
+int git_odb_read_header(size_t *len_p, git_object_t *type_p, git_odb *db, const git_oid *id)
 {
        int error;
        git_odb_object *object;
@@ -937,15 +937,15 @@ int git_odb_read_header(size_t *len_p, git_otype *type_p, git_odb *db, const git
 }
 
 static int odb_read_header_1(
-       size_t *len_p, git_otype *type_p, git_odb *db,
+       size_t *len_p, git_object_t *type_p, git_odb *db,
        const git_oid *id, bool only_refreshed)
 {
        size_t i;
-       git_otype ht;
+       git_object_t ht;
        bool passthrough = false;
        int error;
 
-       if (!only_refreshed && (ht = odb_hardcoded_type(id)) != GIT_OBJ_BAD) {
+       if (!only_refreshed && (ht = odb_hardcoded_type(id)) != GIT_OBJECT_INVALID) {
                *type_p = ht;
                *len_p = 0;
                return 0;
@@ -980,7 +980,7 @@ static int odb_read_header_1(
 }
 
 int git_odb__read_header_or_object(
-       git_odb_object **out, size_t *len_p, git_otype *type_p,
+       git_odb_object **out, size_t *len_p, git_object_t *type_p,
        git_odb *db, const git_oid *id)
 {
        int error = GIT_ENOTFOUND;
@@ -1075,7 +1075,7 @@ static int odb_read_1(git_odb_object **out, git_odb *db, const git_oid *id,
                }
        }
 
-       giterr_clear();
+       git_error_clear();
        if ((object = odb_object__alloc(id, &raw)) == NULL) {
                error = -1;
                goto out;
@@ -1113,7 +1113,7 @@ int git_odb_read(git_odb_object **out, git_odb *db, const git_oid *id)
        return error;
 }
 
-static int odb_otype_fast(git_otype *type_p, git_odb *db, const git_oid *id)
+static int odb_otype_fast(git_object_t *type_p, git_odb *db, const git_oid *id)
 {
        git_odb_object *object;
        size_t _unused;
@@ -1181,7 +1181,7 @@ static int read_prefix_1(git_odb_object **out, git_odb *db,
                                        git_oid_tostr_s(&found_full_oid));
 
                                error = git_odb__error_ambiguous(buf.ptr);
-                               git_buf_free(&buf);
+                               git_buf_dispose(&buf);
                                goto out;
                        }
 
@@ -1260,7 +1260,7 @@ int git_odb_foreach(git_odb *db, git_odb_foreach_cb cb, void *payload)
        git_vector_foreach(&db->backends, i, internal) {
                git_odb_backend *b = internal->backend;
                int error = b->foreach(b, cb, payload);
-               if (error < 0)
+               if (error != 0)
                        return error;
        }
 
@@ -1268,7 +1268,7 @@ int git_odb_foreach(git_odb *db, git_odb_foreach_cb cb, void *payload)
 }
 
 int git_odb_write(
-       git_oid *oid, git_odb *db, const void *data, size_t len, git_otype type)
+       git_oid *oid, git_odb *db, const void *data, size_t len, git_object_t type)
 {
        size_t i;
        int error = GIT_ERROR;
@@ -1313,7 +1313,7 @@ int git_odb_write(
        return error;
 }
 
-static int hash_header(git_hash_ctx *ctx, git_off_t size, git_otype type)
+static int hash_header(git_hash_ctx *ctx, git_off_t size, git_object_t type)
 {
        char header[64];
        size_t hdrlen;
@@ -1327,7 +1327,7 @@ static int hash_header(git_hash_ctx *ctx, git_off_t size, git_otype type)
 }
 
 int git_odb_open_wstream(
-       git_odb_stream **stream, git_odb *db, git_off_t size, git_otype type)
+       git_odb_stream **stream, git_odb *db, git_off_t size, git_object_t type)
 {
        size_t i, writes = 0;
        int error = GIT_ERROR;
@@ -1362,7 +1362,7 @@ int git_odb_open_wstream(
        }
 
        ctx = git__malloc(sizeof(git_hash_ctx));
-       GITERR_CHECK_ALLOC(ctx);
+       GIT_ERROR_CHECK_ALLOC(ctx);
 
        if ((error = git_hash_ctx_init(ctx)) < 0 ||
                (error = hash_header(ctx, size, type)) < 0)
@@ -1382,7 +1382,7 @@ static int git_odb_stream__invalid_length(
        const git_odb_stream *stream,
        const char *action)
 {
-       giterr_set(GITERR_ODB,
+       git_error_set(GIT_ERROR_ODB,
                "cannot %s - "
                "Invalid length. %"PRId64" was expected. The "
                "total size of the received chunks amounts to %"PRId64".",
@@ -1436,7 +1436,7 @@ void git_odb_stream_free(git_odb_stream *stream)
 int git_odb_open_rstream(
        git_odb_stream **stream,
        size_t *len,
-       git_otype *type,
+       git_object_t *type,
        git_odb *db,
        const git_oid *oid)
 {
@@ -1524,7 +1524,7 @@ int git_odb__error_mismatch(const git_oid *expected, const git_oid *actual)
        git_oid_tostr(expected_oid, sizeof(expected_oid), expected);
        git_oid_tostr(actual_oid, sizeof(actual_oid), actual);
 
-       giterr_set(GITERR_ODB, "object hash mismatch - expected %s but got %s",
+       git_error_set(GIT_ERROR_ODB, "object hash mismatch - expected %s but got %s",
                expected_oid, actual_oid);
 
        return GIT_EMISMATCH;
@@ -1536,23 +1536,23 @@ int git_odb__error_notfound(
        if (oid != NULL) {
                char oid_str[GIT_OID_HEXSZ + 1];
                git_oid_tostr(oid_str, oid_len+1, oid);
-               giterr_set(GITERR_ODB, "object not found - %s (%.*s)",
+               git_error_set(GIT_ERROR_ODB, "object not found - %s (%.*s)",
                        message, (int) oid_len, oid_str);
        } else
-               giterr_set(GITERR_ODB, "object not found - %s", message);
+               git_error_set(GIT_ERROR_ODB, "object not found - %s", message);
 
        return GIT_ENOTFOUND;
 }
 
 static int error_null_oid(int error, const char *message)
 {
-       giterr_set(GITERR_ODB, "odb: %s: null OID cannot exist", message);
+       git_error_set(GIT_ERROR_ODB, "odb: %s: null OID cannot exist", message);
        return error;
 }
 
 int git_odb__error_ambiguous(const char *message)
 {
-       giterr_set(GITERR_ODB, "ambiguous SHA1 prefix - %s", message);
+       git_error_set(GIT_ERROR_ODB, "ambiguous SHA1 prefix - %s", message);
        return GIT_EAMBIGUOUS;
 }
 
index b354108e72e6292fe9376c85b7a07a8fb0bea19c..8c73515f09038e94f8f84ea8261fd920bf301bd8 100644 (file)
--- a/src/odb.h
+++ b/src/odb.h
@@ -28,7 +28,7 @@ extern bool git_odb__strict_hash_verification;
 typedef struct {
        void *data;                     /**< Raw, decompressed object data. */
        size_t len;                     /**< Total number of bytes in data. */
-       git_otype type;         /**< Type of this object. */
+       git_object_t type;              /**< Type of this object. */
 } git_rawobj;
 
 /* EXPORT */
@@ -70,7 +70,7 @@ int git_odb__hashobj(git_oid *id, git_rawobj *obj);
 /*
  * Format the object header such as it would appear in the on-disk object
  */
-int git_odb__format_object_header(size_t *out_len, char *hdr, size_t hdr_size, git_off_t obj_len, git_otype obj_type);
+int git_odb__format_object_header(size_t *out_len, char *hdr, size_t hdr_size, git_off_t obj_len, git_object_t obj_type);
 /*
  * Hash an open file descriptor.
  * This is a performance call when the contents of a fd need to be hashed,
@@ -81,22 +81,22 @@ int git_odb__format_object_header(size_t *out_len, char *hdr, size_t hdr_size, g
  * The fd is never closed, not even on error. It must be opened and closed
  * by the caller
  */
-int git_odb__hashfd(git_oid *out, git_file fd, size_t size, git_otype type);
+int git_odb__hashfd(git_oid *out, git_file fd, size_t size, git_object_t type);
 
 /*
  * Hash an open file descriptor applying an array of filters
  * Acts just like git_odb__hashfd with the addition of filters...
  */
 int git_odb__hashfd_filtered(
-       git_oid *out, git_file fd, size_t len, git_otype type, git_filter_list *fl);
+       git_oid *out, git_file fd, size_t len, git_object_t type, git_filter_list *fl);
 
 /*
  * Hash a `path`, assuming it could be a POSIX symlink: if the path is a
  * symlink, then the raw contents of the symlink will be hashed. Otherwise,
  * this will fallback to `git_odb__hashfd`.
  *
- * The hash type for this call is always `GIT_OBJ_BLOB` because symlinks may
- * only point to blobs.
+ * The hash type for this call is always `GIT_OBJIECT_BLOB` because
+ * symlinks may only point to blobs.
  */
 int git_odb__hashlink(git_oid *out, const char *path);
 
@@ -122,7 +122,7 @@ int git_odb__error_ambiguous(const char *message);
  * not be read.
  */
 int git_odb__read_header_or_object(
-       git_odb_object **out, size_t *len_p, git_otype *type_p,
+       git_odb_object **out, size_t *len_p, git_object_t *type_p,
        git_odb *db, const git_oid *id);
 
 /* freshen an entry in the object database */
index 470421e156d4d91f77670a07e72f189171c690b0..5bdf884d3ac9384a1ca193b7a47134dce5bb8aca 100644 (file)
@@ -25,7 +25,7 @@
 #define MAX_HEADER_LEN 64
 
 typedef struct { /* object header data */
-       git_otype type; /* object type */
+       git_object_t type; /* object type */
        size_t  size; /* object size */
 } obj_hdr;
 
@@ -81,8 +81,8 @@ static int object_file_name(
        size_t alloclen;
 
        /* expand length for object root + 40 hex sha1 chars + 2 * '/' + '\0' */
-       GITERR_CHECK_ALLOC_ADD(&alloclen, be->objects_dirlen, GIT_OID_HEXSZ);
-       GITERR_CHECK_ALLOC_ADD(&alloclen, alloclen, 3);
+       GIT_ERROR_CHECK_ALLOC_ADD(&alloclen, be->objects_dirlen, GIT_OID_HEXSZ);
+       GIT_ERROR_CHECK_ALLOC_ADD(&alloclen, alloclen, 3);
        if (git_buf_grow(name, alloclen) < 0)
                return -1;
 
@@ -138,7 +138,7 @@ static int parse_header_packlike(
        return 0;
 
 on_error:
-       giterr_set(GITERR_OBJECT, "failed to parse loose object: invalid header");
+       git_error_set(GIT_ERROR_OBJECT, "failed to parse loose object: invalid header");
        return -1;
 }
 
@@ -179,11 +179,11 @@ static int parse_header(
                goto on_error;
 
        if ((uint64_t)size > SIZE_MAX) {
-               giterr_set(GITERR_OBJECT, "object is larger than available memory");
+               git_error_set(GIT_ERROR_OBJECT, "object is larger than available memory");
                return -1;
        }
 
-       out->size = size;
+       out->size = (size_t)size;
 
        if (GIT_ADD_SIZET_OVERFLOW(out_len, i, 1))
                goto on_error;
@@ -191,7 +191,7 @@ static int parse_header(
        return 0;
 
 on_error:
-       giterr_set(GITERR_OBJECT, "failed to parse loose object: invalid header");
+       git_error_set(GIT_ERROR_OBJECT, "failed to parse loose object: invalid header");
        return -1;
 }
 
@@ -241,7 +241,7 @@ static int read_loose_packlike(git_rawobj *out, git_buf *obj)
                goto done;
 
        if (!git_object_typeisloose(hdr.type) || head_len > obj_len) {
-               giterr_set(GITERR_ODB, "failed to inflate loose object");
+               git_error_set(GIT_ERROR_ODB, "failed to inflate loose object");
                error = -1;
                goto done;
        }
@@ -266,7 +266,7 @@ static int read_loose_packlike(git_rawobj *out, git_buf *obj)
        out->data = git_buf_detach(&body);
 
 done:
-       git_buf_free(&body);
+       git_buf_dispose(&body);
        return error;
 }
 
@@ -294,7 +294,7 @@ static int read_loose_standard(git_rawobj *out, git_buf *obj)
                goto done;
 
        if (!git_object_typeisloose(hdr.type)) {
-               giterr_set(GITERR_ODB, "failed to inflate disk object");
+               git_error_set(GIT_ERROR_ODB, "failed to inflate disk object");
                error = -1;
                goto done;
        }
@@ -320,7 +320,7 @@ static int read_loose_standard(git_rawobj *out, git_buf *obj)
                goto done;
 
        if (!git_zstream_done(&zstream)) {
-               giterr_set(GITERR_ZLIB, "failed to finish zlib inflation: stream aborted prematurely");
+               git_error_set(GIT_ERROR_ZLIB, "failed to finish zlib inflation: stream aborted prematurely");
                error = -1;
                goto done;
        }
@@ -351,7 +351,7 @@ static int read_loose(git_rawobj *out, git_buf *loc)
 
        out->data = NULL;
        out->len = 0;
-       out->type = GIT_OBJ_BAD;
+       out->type = GIT_OBJECT_INVALID;
 
        if ((error = git_futils_readbuffer(&obj, loc->ptr)) < 0)
                goto done;
@@ -362,7 +362,7 @@ static int read_loose(git_rawobj *out, git_buf *loc)
                error = read_loose_standard(out, &obj);
 
 done:
-       git_buf_free(&obj);
+       git_buf_dispose(&obj);
        return error;
 }
 
@@ -427,7 +427,7 @@ static int read_header_loose(git_rawobj *out, git_buf *loc)
                error = read_header_loose_standard(out, obj, (size_t)obj_len);
 
        if (!error && !git_object_typeisloose(out->type)) {
-               giterr_set(GITERR_ZLIB, "failed to read loose object header");
+               git_error_set(GIT_ERROR_ZLIB, "failed to read loose object header");
                error = -1;
                goto done;
        }
@@ -496,8 +496,8 @@ static int locate_object_short_oid(
        int error;
 
        /* prealloc memory for OBJ_DIR/xx/xx..38x..xx */
-       GITERR_CHECK_ALLOC_ADD(&alloc_len, dir_len, GIT_OID_HEXSZ);
-       GITERR_CHECK_ALLOC_ADD(&alloc_len, alloc_len, 3);
+       GIT_ERROR_CHECK_ALLOC_ADD(&alloc_len, dir_len, GIT_OID_HEXSZ);
+       GIT_ERROR_CHECK_ALLOC_ADD(&alloc_len, alloc_len, 3);
        if (git_buf_grow(object_location, alloc_len) < 0)
                return -1;
 
@@ -543,8 +543,8 @@ static int locate_object_short_oid(
                return error;
 
        /* Update the location according to the oid obtained */
-       GITERR_CHECK_ALLOC_ADD(&alloc_len, dir_len, GIT_OID_HEXSZ);
-       GITERR_CHECK_ALLOC_ADD(&alloc_len, alloc_len, 2);
+       GIT_ERROR_CHECK_ALLOC_ADD(&alloc_len, dir_len, GIT_OID_HEXSZ);
+       GIT_ERROR_CHECK_ALLOC_ADD(&alloc_len, alloc_len, 2);
 
        git_buf_truncate(object_location, dir_len);
        if (git_buf_grow(object_location, alloc_len) < 0)
@@ -574,7 +574,7 @@ static int locate_object_short_oid(
  *
  ***********************************************************/
 
-static int loose_backend__read_header(size_t *len_p, git_otype *type_p, git_odb_backend *backend, const git_oid *oid)
+static int loose_backend__read_header(size_t *len_p, git_object_t *type_p, git_odb_backend *backend, const git_oid *oid)
 {
        git_buf object_path = GIT_BUF_INIT;
        git_rawobj raw;
@@ -583,7 +583,7 @@ static int loose_backend__read_header(size_t *len_p, git_otype *type_p, git_odb_
        assert(backend && oid);
 
        raw.len = 0;
-       raw.type = GIT_OBJ_BAD;
+       raw.type = GIT_OBJECT_INVALID;
 
        if (locate_object(&object_path, (loose_backend *)backend, oid) < 0) {
                error = git_odb__error_notfound("no matching loose object",
@@ -593,12 +593,12 @@ static int loose_backend__read_header(size_t *len_p, git_otype *type_p, git_odb_
                *type_p = raw.type;
        }
 
-       git_buf_free(&object_path);
+       git_buf_dispose(&object_path);
 
        return error;
 }
 
-static int loose_backend__read(void **buffer_p, size_t *len_p, git_otype *type_p, git_odb_backend *backend, const git_oid *oid)
+static int loose_backend__read(void **buffer_p, size_t *len_p, git_object_t *type_p, git_odb_backend *backend, const git_oid *oid)
 {
        git_buf object_path = GIT_BUF_INIT;
        git_rawobj raw;
@@ -615,7 +615,7 @@ static int loose_backend__read(void **buffer_p, size_t *len_p, git_otype *type_p
                *type_p = raw.type;
        }
 
-       git_buf_free(&object_path);
+       git_buf_dispose(&object_path);
 
        return error;
 }
@@ -624,7 +624,7 @@ static int loose_backend__read_prefix(
        git_oid *out_oid,
        void **buffer_p,
        size_t *len_p,
-       git_otype *type_p,
+       git_object_t *type_p,
        git_odb_backend *backend,
        const git_oid *short_oid,
        size_t len)
@@ -653,7 +653,7 @@ static int loose_backend__read_prefix(
                        *type_p = raw.type;
                }
 
-               git_buf_free(&object_path);
+               git_buf_dispose(&object_path);
        }
 
        return error;
@@ -668,7 +668,7 @@ static int loose_backend__exists(git_odb_backend *backend, const git_oid *oid)
 
        error = locate_object(&object_path, (loose_backend *)backend, oid);
 
-       git_buf_free(&object_path);
+       git_buf_dispose(&object_path);
 
        return !error;
 }
@@ -684,7 +684,7 @@ static int loose_backend__exists_prefix(
        error = locate_object_short_oid(
                &object_path, out, (loose_backend *)backend, short_id, len);
 
-       git_buf_free(&object_path);
+       git_buf_dispose(&object_path);
 
        return error;
 }
@@ -731,7 +731,7 @@ static int foreach_object_dir_cb(void *_state, git_buf *path)
        if (filename_to_oid(&oid, path->ptr + state->dir_len) < 0)
                return 0;
 
-       return giterr_set_after_callback_function(
+       return git_error_set_after_callback_function(
                state->cb(&oid, state->data), "git_odb_foreach");
 }
 
@@ -770,7 +770,7 @@ static int loose_backend__foreach(git_odb_backend *_backend, git_odb_foreach_cb
 
        error = git_path_direach(&buf, 0, foreach_cb, &state);
 
-       git_buf_free(&buf);
+       git_buf_dispose(&buf);
 
        return error;
 }
@@ -789,7 +789,7 @@ static int loose_backend__writestream_finalize(git_odb_stream *_stream, const gi
                error = git_filebuf_commit_at(
                        &stream->fbuf, final_path.ptr);
 
-       git_buf_free(&final_path);
+       git_buf_dispose(&final_path);
 
        return error;
 }
@@ -819,7 +819,7 @@ static int filebuf_flags(loose_backend *backend)
        return flags;
 }
 
-static int loose_backend__writestream(git_odb_stream **stream_out, git_odb_backend *_backend, git_off_t length, git_otype type)
+static int loose_backend__writestream(git_odb_stream **stream_out, git_odb_backend *_backend, git_off_t length, git_object_t type)
 {
        loose_backend *backend;
        loose_writestream *stream = NULL;
@@ -838,7 +838,7 @@ static int loose_backend__writestream(git_odb_stream **stream_out, git_odb_backe
                return error;
 
        stream = git__calloc(1, sizeof(loose_writestream));
-       GITERR_CHECK_ALLOC(stream);
+       GIT_ERROR_CHECK_ALLOC(stream);
 
        stream->stream.backend = _backend;
        stream->stream.read = NULL; /* read only */
@@ -856,7 +856,7 @@ static int loose_backend__writestream(git_odb_stream **stream_out, git_odb_backe
                git__free(stream);
                stream = NULL;
        }
-       git_buf_free(&tmp_path);
+       git_buf_dispose(&tmp_path);
        *stream_out = (git_odb_stream *)stream;
 
        return !stream ? -1 : 0;
@@ -926,7 +926,7 @@ static int loose_backend__readstream_packlike(
                return error;
 
        if (!git_object_typeisloose(hdr->type)) {
-               giterr_set(GITERR_ODB, "failed to inflate loose object");
+               git_error_set(GIT_ERROR_ODB, "failed to inflate loose object");
                return -1;
        }
 
@@ -958,7 +958,7 @@ static int loose_backend__readstream_standard(
                return error;
 
        if (!git_object_typeisloose(hdr->type)) {
-               giterr_set(GITERR_ODB, "failed to inflate disk object");
+               git_error_set(GIT_ERROR_ODB, "failed to inflate disk object");
                return -1;
        }
 
@@ -973,7 +973,7 @@ static int loose_backend__readstream_standard(
 static int loose_backend__readstream(
        git_odb_stream **stream_out,
        size_t *len_out,
-       git_otype *type_out,
+       git_object_t *type_out,
        git_odb_backend *_backend,
        const git_oid *oid)
 {
@@ -989,7 +989,7 @@ static int loose_backend__readstream(
        backend = (loose_backend *)_backend;
        *stream_out = NULL;
        *len_out = 0;
-       *type_out = GIT_OBJ_BAD;
+       *type_out = GIT_OBJECT_INVALID;
 
        if (locate_object(&object_path, backend, oid) < 0) {
                error = git_odb__error_notfound("no matching loose object",
@@ -998,10 +998,10 @@ static int loose_backend__readstream(
        }
 
        stream = git__calloc(1, sizeof(loose_readstream));
-       GITERR_CHECK_ALLOC(stream);
+       GIT_ERROR_CHECK_ALLOC(stream);
 
        hash_ctx = git__malloc(sizeof(git_hash_ctx));
-       GITERR_CHECK_ALLOC(hash_ctx);
+       GIT_ERROR_CHECK_ALLOC(hash_ctx);
 
        if ((error = git_hash_ctx_init(hash_ctx)) < 0 ||
                (error = git_futils_mmap_ro_file(&stream->map, object_path.ptr)) < 0 ||
@@ -1028,18 +1028,22 @@ static int loose_backend__readstream(
 
 done:
        if (error < 0) {
-               git_futils_mmap_free(&stream->map);
-               git_zstream_free(&stream->zstream);
-               git_hash_ctx_cleanup(hash_ctx);
-               git__free(hash_ctx);
-               git__free(stream);
+               if (stream) {
+                       git_futils_mmap_free(&stream->map);
+                       git_zstream_free(&stream->zstream);
+                       git__free(stream);
+               }
+               if (hash_ctx) {
+                       git_hash_ctx_cleanup(hash_ctx);
+                       git__free(hash_ctx);
+               }
        }
 
-       git_buf_free(&object_path);
+       git_buf_dispose(&object_path);
        return error;
 }
 
-static int loose_backend__write(git_odb_backend *_backend, const git_oid *oid, const void *data, size_t len, git_otype type)
+static int loose_backend__write(git_odb_backend *_backend, const git_oid *oid, const void *data, size_t len, git_object_t type)
 {
        int error = 0;
        git_buf final_path = GIT_BUF_INIT;
@@ -1074,7 +1078,7 @@ static int loose_backend__write(git_odb_backend *_backend, const git_oid *oid, c
 cleanup:
        if (error < 0)
                git_filebuf_cleanup(&fbuf);
-       git_buf_free(&final_path);
+       git_buf_dispose(&final_path);
        return error;
 }
 
@@ -1090,7 +1094,7 @@ static int loose_backend__freshen(
                return -1;
 
        error = git_futils_touch(path.ptr, NULL);
-       git_buf_free(&path);
+       git_buf_dispose(&path);
 
        return error;
 }
@@ -1119,10 +1123,10 @@ int git_odb_backend_loose(
 
        objects_dirlen = strlen(objects_dir);
 
-       GITERR_CHECK_ALLOC_ADD(&alloclen, sizeof(loose_backend), objects_dirlen);
-       GITERR_CHECK_ALLOC_ADD(&alloclen, alloclen, 2);
+       GIT_ERROR_CHECK_ALLOC_ADD(&alloclen, sizeof(loose_backend), objects_dirlen);
+       GIT_ERROR_CHECK_ALLOC_ADD(&alloclen, alloclen, 2);
        backend = git__calloc(1, alloclen);
-       GITERR_CHECK_ALLOC(backend);
+       GIT_ERROR_CHECK_ALLOC(backend);
 
        backend->parent.version = GIT_ODB_BACKEND_VERSION;
        backend->objects_dirlen = objects_dirlen;
index e351d4df944ccbfa9d18c523594d1dd9bb4c3b0c..fb29dddd1c6d129fc873f1046582707e0a19e609 100644 (file)
@@ -23,7 +23,7 @@
 struct memobject {
        git_oid oid;
        size_t len;
-       git_otype type;
+       git_object_t type;
        char data[GIT_FLEX_ARRAY];
 };
 
@@ -33,11 +33,11 @@ struct memory_packer_db {
        git_array_t(struct memobject *) commits;
 };
 
-static int impl__write(git_odb_backend *_backend, const git_oid *oid, const void *data, size_t len, git_otype type)
+static int impl__write(git_odb_backend *_backend, const git_oid *oid, const void *data, size_t len, git_object_t type)
 {
        struct memory_packer_db *db = (struct memory_packer_db *)_backend;
-       struct memobject *obj = NULL; 
-       khiter_t pos;
+       struct memobject *obj = NULL;
+       size_t pos;
        size_t alloc_len;
        int rval;
 
@@ -48,9 +48,9 @@ static int impl__write(git_odb_backend *_backend, const git_oid *oid, const void
        if (rval == 0)
                return 0;
 
-       GITERR_CHECK_ALLOC_ADD(&alloc_len, sizeof(struct memobject), len);
+       GIT_ERROR_CHECK_ALLOC_ADD(&alloc_len, sizeof(struct memobject), len);
        obj = git__malloc(alloc_len);
-       GITERR_CHECK_ALLOC(obj);
+       GIT_ERROR_CHECK_ALLOC(obj);
 
        memcpy(obj->data, data, len);
        git_oid_cpy(&obj->oid, oid);
@@ -60,9 +60,9 @@ static int impl__write(git_odb_backend *_backend, const git_oid *oid, const void
        git_oidmap_set_key_at(db->objects, pos, &obj->oid);
        git_oidmap_set_value_at(db->objects, pos, obj);
 
-       if (type == GIT_OBJ_COMMIT) {
+       if (type == GIT_OBJECT_COMMIT) {
                struct memobject **store = git_array_alloc(db->commits);
-               GITERR_CHECK_ALLOC(store);
+               GIT_ERROR_CHECK_ALLOC(store);
                *store = obj;
        }
 
@@ -76,11 +76,11 @@ static int impl__exists(git_odb_backend *backend, const git_oid *oid)
        return git_oidmap_exists(db->objects, oid);
 }
 
-static int impl__read(void **buffer_p, size_t *len_p, git_otype *type_p, git_odb_backend *backend, const git_oid *oid)
+static int impl__read(void **buffer_p, size_t *len_p, git_object_t *type_p, git_odb_backend *backend, const git_oid *oid)
 {
        struct memory_packer_db *db = (struct memory_packer_db *)backend;
        struct memobject *obj = NULL;
-       khiter_t pos;
+       size_t pos;
 
        pos = git_oidmap_lookup_index(db->objects, oid);
        if (!git_oidmap_valid_index(db->objects, pos))
@@ -91,17 +91,17 @@ static int impl__read(void **buffer_p, size_t *len_p, git_otype *type_p, git_odb
        *len_p = obj->len;
        *type_p = obj->type;
        *buffer_p = git__malloc(obj->len);
-       GITERR_CHECK_ALLOC(*buffer_p);
+       GIT_ERROR_CHECK_ALLOC(*buffer_p);
 
        memcpy(*buffer_p, obj->data, obj->len);
        return 0;
 }
 
-static int impl__read_header(size_t *len_p, git_otype *type_p, git_odb_backend *backend, const git_oid *oid)
+static int impl__read_header(size_t *len_p, git_object_t *type_p, git_odb_backend *backend, const git_oid *oid)
 {
        struct memory_packer_db *db = (struct memory_packer_db *)backend;
        struct memobject *obj = NULL;
-       khiter_t pos;
+       size_t pos;
 
        pos = git_oidmap_lookup_index(db->objects, oid);
        if (!git_oidmap_valid_index(db->objects, pos))
@@ -169,7 +169,7 @@ int git_mempack_new(git_odb_backend **out)
        assert(out);
 
        db = git__calloc(1, sizeof(struct memory_packer_db));
-       GITERR_CHECK_ALLOC(db);
+       GIT_ERROR_CHECK_ALLOC(db);
 
        db->objects = git_oidmap_alloc();
 
index 7c977d5cd22922b9a1822e2949102ec75de4685f..beab37b7f7836c5e0e2cdfcd4cb5364ccc653072 100644 (file)
@@ -218,7 +218,7 @@ static int packfile_load__cb(void *data, git_buf *path)
 
        /* ignore missing .pack file as git does */
        if (error == GIT_ENOTFOUND) {
-               giterr_clear();
+               git_error_clear();
                return 0;
        }
 
@@ -346,14 +346,14 @@ static int pack_backend__refresh(git_odb_backend *backend_)
        /* reload all packs */
        error = git_path_direach(&path, 0, packfile_load__cb, backend);
 
-       git_buf_free(&path);
+       git_buf_dispose(&path);
        git_vector_sort(&backend->packs);
 
        return error;
 }
 
 static int pack_backend__read_header(
-       size_t *len_p, git_otype *type_p,
+       size_t *len_p, git_object_t *type_p,
        struct git_odb_backend *backend, const git_oid *oid)
 {
        struct git_pack_entry e;
@@ -390,7 +390,7 @@ static int pack_backend__freshen(
 }
 
 static int pack_backend__read(
-       void **buffer_p, size_t *len_p, git_otype *type_p,
+       void **buffer_p, size_t *len_p, git_object_t *type_p,
        git_odb_backend *backend, const git_oid *oid)
 {
        struct git_pack_entry e;
@@ -412,7 +412,7 @@ static int pack_backend__read_prefix(
        git_oid *out_oid,
        void **buffer_p,
        size_t *len_p,
-       git_otype *type_p,
+       git_object_t *type_p,
        git_odb_backend *backend,
        const git_oid *short_oid,
        size_t len)
@@ -478,7 +478,7 @@ static int pack_backend__foreach(git_odb_backend *_backend, git_odb_foreach_cb c
                return error;
 
        git_vector_foreach(&backend->packs, i, p) {
-               if ((error = git_pack_foreach_entry(p, cb, data)) < 0)
+               if ((error = git_pack_foreach_entry(p, cb, data)) != 0)
                        return error;
        }
 
@@ -519,6 +519,7 @@ static int pack_backend__writepack(struct git_odb_writepack **out,
        git_transfer_progress_cb progress_cb,
        void *progress_payload)
 {
+       git_indexer_options opts = GIT_INDEXER_OPTIONS_INIT;
        struct pack_backend *backend;
        struct pack_writepack *writepack;
 
@@ -526,13 +527,16 @@ static int pack_backend__writepack(struct git_odb_writepack **out,
 
        *out = NULL;
 
+       opts.progress_cb = progress_cb;
+       opts.progress_cb_payload = progress_payload;
+
        backend = (struct pack_backend *)_backend;
 
        writepack = git__calloc(1, sizeof(struct pack_writepack));
-       GITERR_CHECK_ALLOC(writepack);
+       GIT_ERROR_CHECK_ALLOC(writepack);
 
        if (git_indexer_new(&writepack->indexer,
-               backend->pack_folder, 0, odb, progress_cb, progress_payload) < 0) {
+               backend->pack_folder, 0, odb, &opts) < 0) {
                git__free(writepack);
                return -1;
        }
@@ -569,7 +573,7 @@ static void pack_backend__free(git_odb_backend *_backend)
 static int pack_backend__alloc(struct pack_backend **out, size_t initial_size)
 {
        struct pack_backend *backend = git__calloc(1, sizeof(struct pack_backend));
-       GITERR_CHECK_ALLOC(backend);
+       GIT_ERROR_CHECK_ALLOC(backend);
 
        if (git_vector_init(&backend->packs, initial_size, packfile_sort__cb) < 0) {
                git__free(backend);
@@ -635,7 +639,7 @@ int git_odb_backend_pack(git_odb_backend **backend_out, const char *objects_dir)
 
        *backend_out = (git_odb_backend *)backend;
 
-       git_buf_free(&path);
+       git_buf_dispose(&path);
 
        return error;
 }
index ab6649697261e83665027f9a467e8b7541b708bb..d0fa9f0312aacaf24534cc0a5967ec87c2fbcf38 100644 (file)
@@ -7,6 +7,15 @@
 
 #include "offmap.h"
 
+#define kmalloc git__malloc
+#define kcalloc git__calloc
+#define krealloc git__realloc
+#define kreallocarray git__reallocarray
+#define kfree git__free
+#include "khash.h"
+
+__KHASH_TYPE(off, git_off_t, void *)
+
 __KHASH_IMPL(off, static kh_inline, git_off_t, void *, 1, kh_int64_hash_func, kh_int64_hash_equal)
 
 git_offmap *git_offmap_alloc(void)
@@ -44,6 +53,16 @@ int git_offmap_exists(git_offmap *map, const git_off_t key)
        return kh_get(off, map, key) != kh_end(map);
 }
 
+int git_offmap_has_data(git_offmap *map, size_t idx)
+{
+       return kh_exist(map, idx);
+}
+
+git_off_t git_offmap_key_at(git_offmap *map, size_t idx)
+{
+       return kh_key(map, idx);
+}
+
 void *git_offmap_value_at(git_offmap *map, size_t idx)
 {
        return kh_val(map, idx);
@@ -81,3 +100,14 @@ void git_offmap_delete(git_offmap *map, const git_off_t key)
        if (git_offmap_valid_index(map, idx))
                git_offmap_delete_at(map, idx);
 }
+
+size_t git_offmap_begin(git_offmap *map)
+{
+       GIT_UNUSED(map);
+       return 0;
+}
+
+size_t git_offmap_end(git_offmap *map)
+{
+       return map->n_buckets;
+}
index 0b0896b8ffb44db8f14f06506e4e7fbac851e009..c688093894bbffd391f5c035315592c8045cc8ce 100644 (file)
 
 #include "git2/types.h"
 
-#define kmalloc git__malloc
-#define kcalloc git__calloc
-#define krealloc git__realloc
-#define kreallocarray git__reallocarray
-#define kfree git__free
-#include "khash.h"
-
-__KHASH_TYPE(off, git_off_t, void *)
-typedef khash_t(off) git_offmap;
+typedef struct kh_off_s git_offmap;
 
 git_offmap *git_offmap_alloc(void);
 void git_offmap_free(git_offmap *map);
@@ -31,7 +23,9 @@ size_t git_offmap_lookup_index(git_offmap *map, const git_off_t key);
 int git_offmap_valid_index(git_offmap *map, size_t idx);
 
 int git_offmap_exists(git_offmap *map, const git_off_t key);
+int git_offmap_has_data(git_offmap *map, size_t idx);
 
+git_off_t git_offmap_key_at(git_offmap *map, size_t idx);
 void *git_offmap_value_at(git_offmap *map, size_t idx);
 void git_offmap_set_value_at(git_offmap *map, size_t idx, void *value);
 void git_offmap_delete_at(git_offmap *map, size_t idx);
@@ -40,7 +34,22 @@ int git_offmap_put(git_offmap *map, const git_off_t key, int *err);
 void git_offmap_insert(git_offmap *map, const git_off_t key, void *value, int *rval);
 void git_offmap_delete(git_offmap *map, const git_off_t key);
 
-#define git_offmap_foreach             kh_foreach
-#define git_offmap_foreach_value       kh_foreach_value
+size_t git_offmap_begin(git_offmap *map);
+size_t git_offmap_end(git_offmap *map);
+
+#define git_offmap_foreach(h, kvar, vvar, code) { size_t __i;                  \
+       for (__i = git_offmap_begin(h); __i != git_offmap_end(h); ++__i) {      \
+               if (!git_offmap_has_data(h,__i)) continue;                      \
+               (kvar) = git_offmap_key_at(h,__i);                              \
+               (vvar) = git_offmap_value_at(h,__i);                            \
+               code;                                                           \
+       } }
+
+#define git_offmap_foreach_value(h, vvar, code) { size_t __i;                  \
+       for (__i = git_offmap_begin(h); __i != git_offmap_end(h); ++__i) {      \
+               if (!git_offmap_has_data(h,__i)) continue;                      \
+               (vvar) = git_offmap_value_at(h,__i);                            \
+               code;                                                           \
+       } }
 
 #endif
index 0c63abb2ee04427b0cdb970892be3076c4b4fdc2..8d45e4d7d52c236fc6be221e5a13444391b835f2 100644 (file)
--- a/src/oid.c
+++ b/src/oid.c
@@ -17,7 +17,7 @@ static char to_hex[] = "0123456789abcdef";
 
 static int oid_error_invalid(const char *msg)
 {
-       giterr_set(GITERR_INVALID, "unable to parse OID - %s", msg);
+       git_error_set(GIT_ERROR_INVALID, "unable to parse OID - %s", msg);
        return -1;
 }
 
@@ -263,7 +263,7 @@ struct git_oid_shorten {
 static int resize_trie(git_oid_shorten *self, size_t new_size)
 {
        self->nodes = git__reallocarray(self->nodes, new_size, sizeof(trie_node));
-       GITERR_CHECK_ALLOC(self->nodes);
+       GIT_ERROR_CHECK_ALLOC(self->nodes);
 
        if (new_size > self->size) {
                memset(&self->nodes[self->size], 0x0, (new_size - self->size) * sizeof(trie_node));
@@ -381,7 +381,7 @@ int git_oid_shorten_add(git_oid_shorten *os, const char *text_oid)
        node_index idx;
 
        if (os->full) {
-               giterr_set(GITERR_INVALID, "unable to shorten OID - OID set full");
+               git_error_set(GIT_ERROR_INVALID, "unable to shorten OID - OID set full");
                return -1;
        }
 
@@ -396,7 +396,7 @@ int git_oid_shorten_add(git_oid_shorten *os, const char *text_oid)
                trie_node *node;
 
                if (c == -1) {
-                       giterr_set(GITERR_INVALID, "unable to shorten OID - invalid hex value");
+                       git_error_set(GIT_ERROR_INVALID, "unable to shorten OID - invalid hex value");
                        return -1;
                }
 
@@ -411,7 +411,7 @@ int git_oid_shorten_add(git_oid_shorten *os, const char *text_oid)
                        node = push_leaf(os, idx, git__fromhex(tail[0]), &tail[1]);
                        if (node == NULL) {
                                if (os->full)
-                                       giterr_set(GITERR_INVALID, "unable to shorten OID - OID set full");
+                                       git_error_set(GIT_ERROR_INVALID, "unable to shorten OID - OID set full");
                                return -1;
                        }
                }
@@ -419,7 +419,7 @@ int git_oid_shorten_add(git_oid_shorten *os, const char *text_oid)
                if (node->children[c] == 0) {
                        if (push_leaf(os, idx, c, &text_oid[i + 1]) == NULL) {
                                if (os->full)
-                                       giterr_set(GITERR_INVALID, "unable to shorten OID - OID set full");
+                                       git_error_set(GIT_ERROR_INVALID, "unable to shorten OID - OID set full");
                                return -1;
                        }
                        break;
index 5f156a18ef326aae0672293cf5276188ebb970a4..c42e5c25af5e097048ba81a7b68176d3fcf41263 100644 (file)
@@ -7,6 +7,15 @@
 
 #include "oidmap.h"
 
+#define kmalloc git__malloc
+#define kcalloc git__calloc
+#define krealloc git__realloc
+#define kreallocarray git__reallocarray
+#define kfree git__free
+#include "khash.h"
+
+__KHASH_TYPE(oid, const git_oid *, void *)
+
 GIT_INLINE(khint_t) git_oidmap_hash(const git_oid *oid)
 {
        khint_t h;
@@ -103,3 +112,14 @@ void git_oidmap_delete(git_oidmap *map, const git_oid *key)
        if (git_oidmap_valid_index(map, idx))
                git_oidmap_delete_at(map, idx);
 }
+
+size_t git_oidmap_begin(git_oidmap *map)
+{
+       GIT_UNUSED(map);
+       return 0;
+}
+
+size_t git_oidmap_end(git_oidmap *map)
+{
+       return map->n_buckets;
+}
index 49f129e93208947e1196512d12b2b69af47b8071..a417907bdf8c04f0778e50466a849a03054073fd 100644 (file)
 
 #include "git2/oid.h"
 
-#define kmalloc git__malloc
-#define kcalloc git__calloc
-#define krealloc git__realloc
-#define kreallocarray git__reallocarray
-#define kfree git__free
-#include "khash.h"
-
-__KHASH_TYPE(oid, const git_oid *, void *)
-typedef khash_t(oid) git_oidmap;
+typedef struct kh_oid_s git_oidmap;
 
 git_oidmap *git_oidmap_alloc(void);
 void git_oidmap_free(git_oidmap *map);
@@ -43,9 +35,14 @@ int git_oidmap_put(git_oidmap *map, const git_oid *key, int *err);
 void git_oidmap_insert(git_oidmap *map, const git_oid *key, void *value, int *rval);
 void git_oidmap_delete(git_oidmap *map, const git_oid *key);
 
-#define git_oidmap_foreach_value kh_foreach_value
+size_t git_oidmap_begin(git_oidmap *map);
+size_t git_oidmap_end(git_oidmap *map);
 
-#define git_oidmap_begin       kh_begin
-#define git_oidmap_end         kh_end
+#define git_oidmap_foreach_value(h, vvar, code) { size_t __i;                  \
+       for (__i = git_oidmap_begin(h); __i != git_oidmap_end(h); ++__i) {      \
+               if (!git_oidmap_has_data(h,__i)) continue;                      \
+               (vvar) = git_oidmap_value_at(h,__i);                            \
+               code;                                                           \
+       } }
 
 #endif
index 355b9e1e0d5eeadca0c254422bcf0d151b059428..e1528646a680c57b0cafb35ed6073b4b0650b116 100644 (file)
@@ -41,6 +41,12 @@ struct pack_write_context {
        git_transfer_progress *stats;
 };
 
+struct walk_object {
+       git_oid id;
+       unsigned int uninteresting:1,
+               seen:1;
+};
+
 #ifdef GIT_THREADS
 
 #define GIT_PACKBUILDER__MUTEX_OP(pb, mtx, op) do { \
@@ -99,7 +105,7 @@ static int packbuilder_config(git_packbuilder *pb)
        ret = git_config_get_int64(&val, config, KEY); \
        if (!ret) { \
                if (!git__is_sizet(val)) { \
-                       giterr_set(GITERR_CONFIG, \
+                       git_error_set(GIT_ERROR_CONFIG, \
                                "configuration value '%s' is too large", KEY); \
                        ret = -1; \
                        goto out; \
@@ -133,7 +139,7 @@ int git_packbuilder_new(git_packbuilder **out, git_repository *repo)
        *out = NULL;
 
        pb = git__calloc(1, sizeof(*pb));
-       GITERR_CHECK_ALLOC(pb);
+       GIT_ERROR_CHECK_ALLOC(pb);
 
        pb->object_ix = git_oidmap_alloc();
        if (!pb->object_ix)
@@ -143,7 +149,7 @@ int git_packbuilder_new(git_packbuilder **out, git_repository *repo)
        if (!pb->walk_objects)
                goto on_error;
 
-       git_pool_init(&pb->object_pool, sizeof(git_walk_object));
+       git_pool_init(&pb->object_pool, sizeof(struct walk_object));
 
        pb->repo = repo;
        pb->nr_threads = 1; /* do not spawn any thread by default */
@@ -160,7 +166,7 @@ int git_packbuilder_new(git_packbuilder **out, git_repository *repo)
                git_mutex_init(&pb->progress_mutex) ||
                git_cond_init(&pb->progress_cond))
        {
-               giterr_set(GITERR_OS, "failed to initialize packbuilder mutex");
+               git_error_set(GIT_ERROR_OS, "failed to initialize packbuilder mutex");
                goto on_error;
        }
 
@@ -191,8 +197,7 @@ unsigned int git_packbuilder_set_threads(git_packbuilder *pb, unsigned int n)
 static void rehash(git_packbuilder *pb)
 {
        git_pobject *po;
-       khiter_t pos;
-       size_t i;
+       size_t pos, i;
        int ret;
 
        git_oidmap_clear(pb->object_ix);
@@ -206,8 +211,7 @@ int git_packbuilder_insert(git_packbuilder *pb, const git_oid *oid,
                           const char *name)
 {
        git_pobject *po;
-       khiter_t pos;
-       size_t newsize;
+       size_t newsize, pos;
        int ret;
 
        assert(pb && oid);
@@ -218,11 +222,11 @@ int git_packbuilder_insert(git_packbuilder *pb, const git_oid *oid,
                return 0;
 
        if (pb->nr_objects >= pb->nr_alloc) {
-               GITERR_CHECK_ALLOC_ADD(&newsize, pb->nr_alloc, 1024);
-               GITERR_CHECK_ALLOC_MULTIPLY(&newsize, newsize, 3 / 2);
+               GIT_ERROR_CHECK_ALLOC_ADD(&newsize, pb->nr_alloc, 1024);
+               GIT_ERROR_CHECK_ALLOC_MULTIPLY(&newsize, newsize, 3 / 2);
 
                if (!git__is_uint32(newsize)) {
-                       giterr_set(GITERR_NOMEMORY, "packfile too large to fit in memory.");
+                       git_error_set(GIT_ERROR_NOMEMORY, "packfile too large to fit in memory.");
                        return -1;
                }
 
@@ -230,7 +234,7 @@ int git_packbuilder_insert(git_packbuilder *pb, const git_oid *oid,
 
                pb->object_list = git__reallocarray(pb->object_list,
                        pb->nr_alloc, sizeof(*po));
-               GITERR_CHECK_ALLOC(pb->object_list);
+               GIT_ERROR_CHECK_ALLOC(pb->object_list);
                rehash(pb);
        }
 
@@ -246,7 +250,7 @@ int git_packbuilder_insert(git_packbuilder *pb, const git_oid *oid,
 
        pos = git_oidmap_put(pb->object_ix, &po->id, &ret);
        if (ret < 0) {
-               giterr_set_oom();
+               git_error_set_oom();
                return ret;
        }
        assert(ret != 0);
@@ -266,7 +270,7 @@ int git_packbuilder_insert(git_packbuilder *pb, const git_oid *oid,
                                pb->nr_objects, 0, pb->progress_cb_payload);
 
                        if (ret)
-                               return giterr_set_after_callback(ret);
+                               return git_error_set_after_callback(ret);
                }
        }
 
@@ -295,7 +299,7 @@ static int get_delta(void **out, git_odb *odb, git_pobject *po)
                goto on_error;
 
        if (error == GIT_EBUFS || delta_size != po->delta_size) {
-               giterr_set(GITERR_INVALID, "delta size changed");
+               git_error_set(GIT_ERROR_INVALID, "delta size changed");
                goto on_error;
        }
 
@@ -318,7 +322,7 @@ static int write_object(
        void *cb_data)
 {
        git_odb_object *obj = NULL;
-       git_otype type;
+       git_object_t type;
        unsigned char hdr[10], *zbuf = NULL;
        void *data = NULL;
        size_t hdr_len, zbuf_len = COMPRESS_BUFLEN, data_len;
@@ -336,7 +340,7 @@ static int write_object(
                                goto done;
 
                data_len = po->delta_size;
-               type = GIT_OBJ_REF_DELTA;
+               type = GIT_OBJECT_REF_DELTA;
        } else {
                if ((error = git_odb_read(&obj, pb->odb, &po->id)) < 0)
                        goto done;
@@ -353,7 +357,7 @@ static int write_object(
                (error = git_hash_update(&pb->ctx, hdr, hdr_len)) < 0)
                goto done;
 
-       if (type == GIT_OBJ_REF_DELTA) {
+       if (type == GIT_OBJECT_REF_DELTA) {
                if ((error = write_cb(po->delta->id.id, GIT_OID_RAWSZ, cb_data)) < 0 ||
                        (error = git_hash_update(&pb->ctx, po->delta->id.id, GIT_OID_RAWSZ)) < 0)
                        goto done;
@@ -368,7 +372,7 @@ static int write_object(
                        goto done;
        } else {
                zbuf = git__malloc(zbuf_len);
-               GITERR_CHECK_ALLOC(zbuf);
+               GIT_ERROR_CHECK_ALLOC(zbuf);
 
                git_zstream_reset(&pb->zstream);
                git_zstream_set_input(&pb->zstream, data, data_len);
@@ -510,7 +514,7 @@ static int cb_tag_foreach(const char *name, git_oid *oid, void *data)
 {
        git_packbuilder *pb = data;
        git_pobject *po;
-       khiter_t pos;
+       size_t pos;
 
        GIT_UNUSED(name);
 
@@ -590,8 +594,8 @@ static git_pobject **compute_write_order(git_packbuilder *pb)
         */
        for (i = last_untagged; i < pb->nr_objects; i++) {
                git_pobject *po = pb->object_list + i;
-               if (po->type != GIT_OBJ_COMMIT &&
-                   po->type != GIT_OBJ_TAG)
+               if (po->type != GIT_OBJECT_COMMIT &&
+                   po->type != GIT_OBJECT_TAG)
                        continue;
                add_to_write_order(wo, &wo_end, po);
        }
@@ -601,7 +605,7 @@ static git_pobject **compute_write_order(git_packbuilder *pb)
         */
        for (i = last_untagged; i < pb->nr_objects; i++) {
                git_pobject *po = pb->object_list + i;
-               if (po->type != GIT_OBJ_TREE)
+               if (po->type != GIT_OBJECT_TREE)
                        continue;
                add_to_write_order(wo, &wo_end, po);
        }
@@ -617,7 +621,7 @@ static git_pobject **compute_write_order(git_packbuilder *pb)
 
        if (wo_end != pb->nr_objects) {
                git__free(wo);
-               giterr_set(GITERR_INVALID, "invalid write order");
+               git_error_set(GIT_ERROR_INVALID, "invalid write order");
                return NULL;
        }
 
@@ -641,7 +645,7 @@ static int write_pack(git_packbuilder *pb,
                return -1;
 
        if (!git__is_uint32(pb->nr_objects)) {
-               giterr_set(GITERR_INVALID, "too many objects");
+               git_error_set(GIT_ERROR_INVALID, "too many objects");
                return -1;
        }
 
@@ -798,13 +802,13 @@ static int try_delta(git_packbuilder *pb, struct unpacked *trg,
 
                sz = git_odb_object_size(obj);
                trg->data = git__malloc(sz);
-               GITERR_CHECK_ALLOC(trg->data);
+               GIT_ERROR_CHECK_ALLOC(trg->data);
                memcpy(trg->data, git_odb_object_data(obj), sz);
 
                git_odb_object_free(obj);
 
                if (sz != trg_size) {
-                       giterr_set(GITERR_INVALID,
+                       git_error_set(GIT_ERROR_INVALID,
                                   "inconsistent target object length");
                        return -1;
                }
@@ -820,13 +824,13 @@ static int try_delta(git_packbuilder *pb, struct unpacked *trg,
 
                sz = obj_sz;
                src->data = git__malloc(sz);
-               GITERR_CHECK_ALLOC(src->data);
+               GIT_ERROR_CHECK_ALLOC(src->data);
                memcpy(src->data, git_odb_object_data(obj), sz);
 
                git_odb_object_free(obj);
 
                if (sz != src_size) {
-                       giterr_set(GITERR_INVALID,
+                       git_error_set(GIT_ERROR_INVALID,
                                   "inconsistent source object length");
                        return -1;
                }
@@ -872,7 +876,7 @@ static int try_delta(git_packbuilder *pb, struct unpacked *trg,
                }
 
                trg_object->delta_data = git__realloc(delta_buf, delta_size);
-               GITERR_CHECK_ALLOC(trg_object->delta_data);
+               GIT_ERROR_CHECK_ALLOC(trg_object->delta_data);
        } else {
                /* create delta when writing the pack */
                git_packbuilder__cache_unlock(pb);
@@ -938,7 +942,7 @@ static int report_delta_progress(
                                count, pb->nr_objects, pb->progress_cb_payload);
 
                        if (ret)
-                               return giterr_set_after_callback(ret);
+                               return git_error_set_after_callback(ret);
                }
        }
 
@@ -957,7 +961,7 @@ static int find_deltas(git_packbuilder *pb, git_pobject **list,
        int error = -1;
 
        array = git__calloc(window, sizeof(struct unpacked));
-       GITERR_CHECK_ALLOC(array);
+       GIT_ERROR_CHECK_ALLOC(array);
 
        for (;;) {
                struct unpacked *n = array + idx;
@@ -1043,7 +1047,7 @@ static int find_deltas(git_packbuilder *pb, git_pobject **list,
 
                        git__free(po->delta_data);
                        po->delta_data = git__malloc(zbuf.size);
-                       GITERR_CHECK_ALLOC(po->delta_data);
+                       GIT_ERROR_CHECK_ALLOC(po->delta_data);
 
                        memcpy(po->delta_data, zbuf.ptr, zbuf.size);
                        po->z_delta_size = zbuf.size;
@@ -1095,7 +1099,7 @@ on_error:
                git__free(array[i].data);
        }
        git__free(array);
-       git_buf_free(&zbuf);
+       git_buf_dispose(&zbuf);
 
        return error;
 }
@@ -1136,7 +1140,7 @@ static void *threaded_find_deltas(void *arg)
                git_packbuilder__progress_unlock(me->pb);
 
                if (git_mutex_lock(&me->mutex)) {
-                       giterr_set(GITERR_THREAD, "unable to lock packfile condition mutex");
+                       git_error_set(GIT_ERROR_THREAD, "unable to lock packfile condition mutex");
                        return NULL;
                }
 
@@ -1174,7 +1178,7 @@ static int ll_find_deltas(git_packbuilder *pb, git_pobject **list,
        }
 
        p = git__mallocarray(pb->nr_threads, sizeof(*p));
-       GITERR_CHECK_ALLOC(p);
+       GIT_ERROR_CHECK_ALLOC(p);
 
        /* Partition the work among the threads */
        for (i = 0; i < pb->nr_threads; ++i) {
@@ -1215,7 +1219,7 @@ static int ll_find_deltas(git_packbuilder *pb, git_pobject **list,
                ret = git_thread_create(&p[i].thread,
                                        threaded_find_deltas, &p[i]);
                if (ret) {
-                       giterr_set(GITERR_THREAD, "unable to create thread");
+                       git_error_set(GIT_ERROR_THREAD, "unable to create thread");
                        return -1;
                }
                active_threads++;
@@ -1284,7 +1288,7 @@ static int ll_find_deltas(git_packbuilder *pb, git_pobject **list,
                git_packbuilder__progress_unlock(pb);
 
                if (git_mutex_lock(&target->mutex)) {
-                       giterr_set(GITERR_THREAD, "unable to lock packfile condition mutex");
+                       git_error_set(GIT_ERROR_THREAD, "unable to lock packfile condition mutex");
                        git__free(p);
                        return -1;
                }
@@ -1325,7 +1329,7 @@ static int prepare_pack(git_packbuilder *pb)
                        pb->progress_cb(GIT_PACKBUILDER_DELTAFICATION, 0, pb->nr_objects, pb->progress_cb_payload);
 
        delta_list = git__mallocarray(pb->nr_objects, sizeof(*delta_list));
-       GITERR_CHECK_ALLOC(delta_list);
+       GIT_ERROR_CHECK_ALLOC(delta_list);
 
        for (i = 0; i < pb->nr_objects; ++i) {
                git_pobject *po = pb->object_list + i;
@@ -1382,6 +1386,7 @@ int git_packbuilder_write(
        git_transfer_progress_cb progress_cb,
        void *progress_cb_payload)
 {
+       git_indexer_options opts = GIT_INDEXER_OPTIONS_INIT;
        git_indexer *indexer;
        git_transfer_progress stats;
        struct pack_write_context ctx;
@@ -1389,8 +1394,11 @@ int git_packbuilder_write(
 
        PREPARE_PACK;
 
+       opts.progress_cb = progress_cb;
+       opts.progress_cb_payload = progress_cb_payload;
+
        if (git_indexer_new(
-               &indexer, path, mode, pb->odb, progress_cb, progress_cb_payload) < 0)
+               &indexer, path, mode, pb->odb, &opts) < 0)
                return -1;
 
        if (!git_repository__cvar(&t, pb->repo, GIT_CVAR_FSYNCOBJECTFILES) && t)
@@ -1426,7 +1434,7 @@ static int cb_tree_walk(
        struct tree_walk_context *ctx = payload;
 
        /* A commit inside a tree represents a submodule commit and should be skipped. */
-       if (git_tree_entry_type(entry) == GIT_OBJ_COMMIT)
+       if (git_tree_entry_type(entry) == GIT_OBJECT_COMMIT)
                return 0;
 
        if (!(error = git_buf_sets(&ctx->buf, root)) &&
@@ -1463,7 +1471,7 @@ int git_packbuilder_insert_tree(git_packbuilder *pb, const git_oid *oid)
                error = git_tree_walk(tree, GIT_TREEWALK_PRE, cb_tree_walk, &context);
 
        git_tree_free(tree);
-       git_buf_free(&context.buf);
+       git_buf_dispose(&context.buf);
        return error;
 }
 
@@ -1474,27 +1482,27 @@ int git_packbuilder_insert_recur(git_packbuilder *pb, const git_oid *id, const c
 
        assert(pb && id);
 
-       if ((error = git_object_lookup(&obj, pb->repo, id, GIT_OBJ_ANY)) < 0)
+       if ((error = git_object_lookup(&obj, pb->repo, id, GIT_OBJECT_ANY)) < 0)
                return error;
 
        switch (git_object_type(obj)) {
-       case GIT_OBJ_BLOB:
+       case GIT_OBJECT_BLOB:
                error = git_packbuilder_insert(pb, id, name);
                break;
-       case GIT_OBJ_TREE:
+       case GIT_OBJECT_TREE:
                error = git_packbuilder_insert_tree(pb, id);
                break;
-       case GIT_OBJ_COMMIT:
+       case GIT_OBJECT_COMMIT:
                error = git_packbuilder_insert_commit(pb, id);
                break;
-       case GIT_OBJ_TAG:
+       case GIT_OBJECT_TAG:
                if ((error = git_packbuilder_insert(pb, id, name)) < 0)
                        goto cleanup;
                error = git_packbuilder_insert_recur(pb, git_tag_target_id((git_tag *) obj), NULL);
                break;
 
        default:
-               giterr_set(GITERR_INVALID, "unknown object type");
+               git_error_set(GIT_ERROR_INVALID, "unknown object type");
                error = -1;
        }
 
@@ -1513,13 +1521,13 @@ size_t git_packbuilder_written(git_packbuilder *pb)
        return pb->nr_written;
 }
 
-int lookup_walk_object(git_walk_object **out, git_packbuilder *pb, const git_oid *id)
+static int lookup_walk_object(struct walk_object **out, git_packbuilder *pb, const git_oid *id)
 {
-       git_walk_object *obj;
+       struct walk_object *obj;
 
        obj = git_pool_mallocz(&pb->object_pool, 1);
        if (!obj) {
-               giterr_set_oom();
+               git_error_set_oom();
                return -1;
        }
 
@@ -1529,11 +1537,11 @@ int lookup_walk_object(git_walk_object **out, git_packbuilder *pb, const git_oid
        return 0;
 }
 
-static int retrieve_object(git_walk_object **out, git_packbuilder *pb, const git_oid *id)
+static int retrieve_object(struct walk_object **out, git_packbuilder *pb, const git_oid *id)
 {
        int error;
-       khiter_t pos;
-       git_walk_object *obj;
+       size_t pos;
+       struct walk_object *obj;
 
        pos = git_oidmap_lookup_index(pb->walk_objects, id);
        if (git_oidmap_valid_index(pb->walk_objects, pos)) {
@@ -1552,7 +1560,7 @@ static int retrieve_object(git_walk_object **out, git_packbuilder *pb, const git
 static int mark_blob_uninteresting(git_packbuilder *pb, const git_oid *id)
 {
        int error;
-       git_walk_object *obj;
+       struct walk_object *obj;
 
        if ((error = retrieve_object(&obj, pb, id)) < 0)
                return error;
@@ -1564,7 +1572,7 @@ static int mark_blob_uninteresting(git_packbuilder *pb, const git_oid *id)
 
 static int mark_tree_uninteresting(git_packbuilder *pb, const git_oid *id)
 {
-       git_walk_object *obj;
+       struct walk_object *obj;
        git_tree *tree;
        int error;
        size_t i;
@@ -1584,11 +1592,11 @@ static int mark_tree_uninteresting(git_packbuilder *pb, const git_oid *id)
                const git_tree_entry *entry = git_tree_entry_byindex(tree, i);
                const git_oid *entry_id = git_tree_entry_id(entry);
                switch (git_tree_entry_type(entry)) {
-               case GIT_OBJ_TREE:
+               case GIT_OBJECT_TREE:
                        if ((error = mark_tree_uninteresting(pb, entry_id)) < 0)
                                goto cleanup;
                        break;
-               case GIT_OBJ_BLOB:
+               case GIT_OBJECT_BLOB:
                        if ((error = mark_blob_uninteresting(pb, entry_id)) < 0)
                                goto cleanup;
                        break;
@@ -1636,7 +1644,7 @@ int insert_tree(git_packbuilder *pb, git_tree *tree)
        size_t i;
        int error;
        git_tree *subtree;
-       git_walk_object *obj;
+       struct walk_object *obj;
        const char *name;
 
        if ((error = retrieve_object(&obj, pb, git_tree_id(tree))) < 0)
@@ -1654,7 +1662,7 @@ int insert_tree(git_packbuilder *pb, git_tree *tree)
                const git_tree_entry *entry = git_tree_entry_byindex(tree, i);
                const git_oid *entry_id = git_tree_entry_id(entry);
                switch (git_tree_entry_type(entry)) {
-               case GIT_OBJ_TREE:
+               case GIT_OBJECT_TREE:
                        if ((error = git_tree_lookup(&subtree, pb->repo, entry_id)) < 0)
                                return error;
 
@@ -1665,7 +1673,7 @@ int insert_tree(git_packbuilder *pb, git_tree *tree)
                                return error;
 
                        break;
-               case GIT_OBJ_BLOB:
+               case GIT_OBJECT_BLOB:
                        if ((error = retrieve_object(&obj, pb, entry_id)) < 0)
                                return error;
                        if (obj->uninteresting)
@@ -1684,7 +1692,7 @@ int insert_tree(git_packbuilder *pb, git_tree *tree)
        return error;
 }
 
-int insert_commit(git_packbuilder *pb, git_walk_object *obj)
+int insert_commit(git_packbuilder *pb, struct walk_object *obj)
 {
        int error;
        git_commit *commit = NULL;
@@ -1714,7 +1722,7 @@ int git_packbuilder_insert_walk(git_packbuilder *pb, git_revwalk *walk)
 {
        int error;
        git_oid id;
-       git_walk_object *obj;
+       struct walk_object *obj;
 
        assert(pb && walk);
 
index c9cd5777afeadc3c171f0f7bdb52e36087bedfb4..53684a1baff473365d512bc25a7e4b4f6835127a 100644 (file)
@@ -29,7 +29,7 @@
 
 typedef struct git_pobject {
        git_oid id;
-       git_otype type;
+       git_object_t type;
        git_off_t offset;
 
        size_t size;
@@ -52,12 +52,6 @@ typedef struct git_pobject {
            filled:1;
 } git_pobject;
 
-typedef struct {
-       git_oid id;
-       unsigned int uninteresting:1,
-               seen:1;
-} git_walk_object;
-
 struct git_packbuilder {
        git_repository *repo; /* associated repository */
        git_odb *odb; /* associated object database */
index 9ed3ec1af5ace1b9433896332c32b00474b93869..ef360a90bb541ce250ab5f4dee16edd61a64f890 100644 (file)
@@ -24,7 +24,7 @@ static int packfile_unpack_compressed(
                git_mwindow **w_curs,
                git_off_t *curpos,
                size_t size,
-               git_otype type);
+               git_object_t type);
 
 /* Can find the offset of an object given
  * a prefix of an identifier.
@@ -42,7 +42,7 @@ static int pack_entry_find_offset(
 
 static int packfile_error(const char *message)
 {
-       giterr_set(GITERR_ODB, "invalid pack file - %s", message);
+       git_error_set(GIT_ERROR_ODB, "invalid pack file - %s", message);
        return -1;
 }
 
@@ -90,12 +90,12 @@ static void cache_free(git_pack_cache *cache)
 static int cache_init(git_pack_cache *cache)
 {
        cache->entries = git_offmap_alloc();
-       GITERR_CHECK_ALLOC(cache->entries);
+       GIT_ERROR_CHECK_ALLOC(cache->entries);
 
        cache->memory_limit = GIT_PACK_CACHE_MEMORY_LIMIT;
 
        if (git_mutex_init(&cache->lock)) {
-               giterr_set(GITERR_OS, "failed to initialize pack cache mutex");
+               git_error_set(GIT_ERROR_OS, "failed to initialize pack cache mutex");
 
                git__free(cache->entries);
                cache->entries = NULL;
@@ -108,8 +108,8 @@ static int cache_init(git_pack_cache *cache)
 
 static git_pack_cache_entry *cache_get(git_pack_cache *cache, git_off_t offset)
 {
-       khiter_t k;
        git_pack_cache_entry *entry = NULL;
+       size_t k;
 
        if (git_mutex_lock(&cache->lock) < 0)
                return NULL;
@@ -148,7 +148,7 @@ static int cache_add(
 {
        git_pack_cache_entry *entry;
        int error, exists = 0;
-       khiter_t k;
+       size_t k;
 
        if (base->len > GIT_PACK_CACHE_SIZE_LIMIT)
                return -1;
@@ -156,7 +156,7 @@ static int cache_add(
        entry = new_cache_object(base);
        if (entry) {
                if (git_mutex_lock(&cache->lock) < 0) {
-                       giterr_set(GITERR_OS, "failed to lock cache");
+                       git_error_set(GIT_ERROR_OS, "failed to lock cache");
                        git__free(entry);
                        return -1;
                }
@@ -217,7 +217,7 @@ static int pack_index_check(const char *path, struct git_pack_file *p)
 
        if (p_fstat(fd, &st) < 0) {
                p_close(fd);
-               giterr_set(GITERR_OS, "unable to stat pack index '%s'", path);
+               git_error_set(GIT_ERROR_OS, "unable to stat pack index '%s'", path);
                return -1;
        }
 
@@ -226,7 +226,7 @@ static int pack_index_check(const char *path, struct git_pack_file *p)
                (idx_size = (size_t)st.st_size) < 4 * 256 + 20 + 20)
        {
                p_close(fd);
-               giterr_set(GITERR_ODB, "invalid pack index '%s'", path);
+               git_error_set(GIT_ERROR_ODB, "invalid pack index '%s'", path);
                return -1;
        }
 
@@ -326,19 +326,19 @@ static int pack_index_open(struct git_pack_file *p)
        git_buf_put(&idx_name, p->pack_name, name_len - strlen(".pack"));
        git_buf_puts(&idx_name, ".idx");
        if (git_buf_oom(&idx_name)) {
-               git_buf_free(&idx_name);
+               git_buf_dispose(&idx_name);
                return -1;
        }
 
        if ((error = git_mutex_lock(&p->lock)) < 0) {
-               git_buf_free(&idx_name);
+               git_buf_dispose(&idx_name);
                return error;
        }
 
        if (p->index_version == -1)
                error = pack_index_check(idx_name.ptr, p);
 
-       git_buf_free(&idx_name);
+       git_buf_dispose(&idx_name);
 
        git_mutex_unlock(&p->lock);
 
@@ -378,12 +378,12 @@ static unsigned char *pack_window_open(
  *  - each byte afterwards: low seven bits are size continuation,
  *    with the high bit being "size continues"
  */
-size_t git_packfile__object_header(unsigned char *hdr, size_t size, git_otype type)
+size_t git_packfile__object_header(unsigned char *hdr, size_t size, git_object_t type)
 {
        unsigned char *hdr_base;
        unsigned char c;
 
-       assert(type >= GIT_OBJ_COMMIT && type <= GIT_OBJ_REF_DELTA);
+       assert(type >= GIT_OBJECT_COMMIT && type <= GIT_OBJECT_REF_DELTA);
 
        /* TODO: add support for chunked objects; see git.git 6c0d19b1 */
 
@@ -405,7 +405,7 @@ size_t git_packfile__object_header(unsigned char *hdr, size_t size, git_otype ty
 static int packfile_unpack_header1(
                unsigned long *usedp,
                size_t *sizep,
-               git_otype *type,
+               git_object_t *type,
                const unsigned char *buf,
                unsigned long len)
 {
@@ -419,13 +419,13 @@ static int packfile_unpack_header1(
        shift = 4;
        while (c & 0x80) {
                if (len <= used) {
-                       giterr_set(GITERR_ODB, "buffer too small");
+                       git_error_set(GIT_ERROR_ODB, "buffer too small");
                        return GIT_EBUFS;
                }
 
                if (bitsizeof(long) <= shift) {
                        *usedp = 0;
-                       giterr_set(GITERR_ODB, "packfile corrupted");
+                       git_error_set(GIT_ERROR_ODB, "packfile corrupted");
                        return -1;
                }
 
@@ -441,7 +441,7 @@ static int packfile_unpack_header1(
 
 int git_packfile_unpack_header(
                size_t *size_p,
-               git_otype *type_p,
+               git_object_t *type_p,
                git_mwindow_file *mwf,
                git_mwindow **w_curs,
                git_off_t *curpos)
@@ -475,14 +475,14 @@ int git_packfile_unpack_header(
 
 int git_packfile_resolve_header(
                size_t *size_p,
-               git_otype *type_p,
+               git_object_t *type_p,
                struct git_pack_file *p,
                git_off_t offset)
 {
        git_mwindow *w_curs = NULL;
        git_off_t curpos = offset;
        size_t size;
-       git_otype type;
+       git_object_t type;
        git_off_t base_offset;
        int error;
 
@@ -490,7 +490,7 @@ int git_packfile_resolve_header(
        if (error < 0)
                return error;
 
-       if (type == GIT_OBJ_OFS_DELTA || type == GIT_OBJ_REF_DELTA) {
+       if (type == GIT_OBJECT_OFS_DELTA || type == GIT_OBJECT_REF_DELTA) {
                size_t base_size;
                git_packfile_stream stream;
 
@@ -499,7 +499,7 @@ int git_packfile_resolve_header(
                if ((error = git_packfile_stream_open(&stream, p, curpos)) < 0)
                        return error;
                error = git_delta_read_header_fromstream(&base_size, size_p, &stream);
-               git_packfile_stream_free(&stream);
+               git_packfile_stream_dispose(&stream);
                if (error < 0)
                        return error;
        } else {
@@ -507,12 +507,12 @@ int git_packfile_resolve_header(
                base_offset = 0;
        }
 
-       while (type == GIT_OBJ_OFS_DELTA || type == GIT_OBJ_REF_DELTA) {
+       while (type == GIT_OBJECT_OFS_DELTA || type == GIT_OBJECT_REF_DELTA) {
                curpos = base_offset;
                error = git_packfile_unpack_header(&size, &type, &p->mwf, &w_curs, &curpos);
                if (error < 0)
                        return error;
-               if (type != GIT_OBJ_OFS_DELTA && type != GIT_OBJ_REF_DELTA)
+               if (type != GIT_OBJECT_OFS_DELTA && type != GIT_OBJECT_REF_DELTA)
                        break;
                base_offset = get_delta_base(p, &w_curs, &curpos, type, base_offset);
                git_mwindow_close(&w_curs);
@@ -540,7 +540,7 @@ static int pack_dependency_chain(git_dependency_chain *chain_out,
        git_off_t curpos = obj_offset, base_offset;
        int error = 0, use_heap = 0;
        size_t size, elem_pos;
-       git_otype type;
+       git_object_t type;
 
        elem_pos = 0;
        while (true) {
@@ -557,7 +557,7 @@ static int pack_dependency_chain(git_dependency_chain *chain_out,
                /* if we run out of space on the small stack, use the array */
                if (elem_pos == SMALL_STACK_SIZE) {
                        git_array_init_to_size(chain, elem_pos);
-                       GITERR_CHECK_ARRAY(chain);
+                       GIT_ERROR_CHECK_ARRAY(chain);
                        memcpy(chain.ptr, small_stack, elem_pos * sizeof(struct pack_chain_elem));
                        chain.size = elem_pos;
                        use_heap = 1;
@@ -586,7 +586,7 @@ static int pack_dependency_chain(git_dependency_chain *chain_out,
                elem->type = type;
                elem->base_key = obj_offset;
 
-               if (type != GIT_OBJ_OFS_DELTA && type != GIT_OBJ_REF_DELTA)
+               if (type != GIT_OBJECT_OFS_DELTA && type != GIT_OBJECT_REF_DELTA)
                        break;
 
                base_offset = get_delta_base(p, &w_curs, &curpos, type, obj_offset);
@@ -609,7 +609,7 @@ static int pack_dependency_chain(git_dependency_chain *chain_out,
                elem_pos++;
        }
 
-       
+
        *stack_sz = elem_pos + 1;
        *chain_out = chain;
        return error;
@@ -632,7 +632,7 @@ int git_packfile_unpack(
        git_pack_cache_entry *cached = NULL;
        struct pack_chain_elem small_stack[SMALL_STACK_SIZE];
        size_t stack_size = 0, elem_pos, alloclen;
-       git_otype base_type;
+       git_object_t base_type;
 
        /*
         * TODO: optionally check the CRC on the packfile
@@ -644,7 +644,7 @@ int git_packfile_unpack(
 
        obj->data = NULL;
        obj->len = 0;
-       obj->type = GIT_OBJ_BAD;
+       obj->type = GIT_OBJECT_INVALID;
 
        /* let's point to the right stack */
        stack = chain.ptr ? chain.ptr : small_stack;
@@ -660,10 +660,10 @@ int git_packfile_unpack(
        }
 
        switch (base_type) {
-       case GIT_OBJ_COMMIT:
-       case GIT_OBJ_TREE:
-       case GIT_OBJ_BLOB:
-       case GIT_OBJ_TAG:
+       case GIT_OBJECT_COMMIT:
+       case GIT_OBJECT_TREE:
+       case GIT_OBJECT_BLOB:
+       case GIT_OBJECT_TAG:
                if (!cached) {
                        curpos = elem->offset;
                        error = packfile_unpack_compressed(obj, p, &w_curs, &curpos, elem->size, elem->type);
@@ -673,8 +673,8 @@ int git_packfile_unpack(
                if (error < 0)
                        goto cleanup;
                break;
-       case GIT_OBJ_OFS_DELTA:
-       case GIT_OBJ_REF_DELTA:
+       case GIT_OBJECT_OFS_DELTA:
+       case GIT_OBJECT_REF_DELTA:
                error = packfile_error("dependency chain ends in a delta");
                goto cleanup;
        default:
@@ -691,9 +691,9 @@ int git_packfile_unpack(
        if (cached && stack_size == 1) {
                void *data = obj->data;
 
-               GITERR_CHECK_ALLOC_ADD(&alloclen, obj->len, 1);
+               GIT_ERROR_CHECK_ALLOC_ADD(&alloclen, obj->len, 1);
                obj->data = git__malloc(alloclen);
-               GITERR_CHECK_ALLOC(obj->data);
+               GIT_ERROR_CHECK_ALLOC(obj->data);
 
                memcpy(obj->data, data, obj->len + 1);
                git_atomic_dec(&cached->refcount);
@@ -726,7 +726,7 @@ int git_packfile_unpack(
                base = *obj;
                obj->data = NULL;
                obj->len = 0;
-               obj->type = GIT_OBJ_BAD;
+               obj->type = GIT_OBJECT_INVALID;
 
                error = git_delta_apply(&obj->data, &obj->len, base.data, base.len, delta.data, delta.len);
                obj->type = base_type;
@@ -793,7 +793,7 @@ int git_packfile_stream_open(git_packfile_stream *obj, struct git_pack_file *p,
        obj->zstream.next_out = Z_NULL;
        st = inflateInit(&obj->zstream);
        if (st != Z_OK) {
-               giterr_set(GITERR_ZLIB, "failed to init packfile stream");
+               git_error_set(GIT_ERROR_ZLIB, "failed to init packfile stream");
                return -1;
        }
 
@@ -824,7 +824,7 @@ ssize_t git_packfile_stream_read(git_packfile_stream *obj, void *buffer, size_t
        written = len - obj->zstream.avail_out;
 
        if (st != Z_OK && st != Z_STREAM_END) {
-               giterr_set(GITERR_ZLIB, "error reading from the zlib stream");
+               git_error_set(GIT_ERROR_ZLIB, "error reading from the zlib stream");
                return -1;
        }
 
@@ -840,7 +840,7 @@ ssize_t git_packfile_stream_read(git_packfile_stream *obj, void *buffer, size_t
 
 }
 
-void git_packfile_stream_free(git_packfile_stream *obj)
+void git_packfile_stream_dispose(git_packfile_stream *obj)
 {
        inflateEnd(&obj->zstream);
 }
@@ -851,16 +851,16 @@ static int packfile_unpack_compressed(
        git_mwindow **w_curs,
        git_off_t *curpos,
        size_t size,
-       git_otype type)
+       git_object_t type)
 {
        size_t buf_size;
        int st;
        z_stream stream;
        unsigned char *buffer, *in;
 
-       GITERR_CHECK_ALLOC_ADD(&buf_size, size, 1);
+       GIT_ERROR_CHECK_ALLOC_ADD(&buf_size, size, 1);
        buffer = git__calloc(1, buf_size);
-       GITERR_CHECK_ALLOC(buffer);
+       GIT_ERROR_CHECK_ALLOC(buffer);
 
        memset(&stream, 0, sizeof(stream));
        stream.next_out = buffer;
@@ -871,7 +871,7 @@ static int packfile_unpack_compressed(
        st = inflateInit(&stream);
        if (st != Z_OK) {
                git__free(buffer);
-               giterr_set(GITERR_ZLIB, "failed to init zlib stream on unpack");
+               git_error_set(GIT_ERROR_ZLIB, "failed to init zlib stream on unpack");
 
                return -1;
        }
@@ -898,7 +898,7 @@ static int packfile_unpack_compressed(
 
        if ((st != Z_STREAM_END) || stream.total_out != size) {
                git__free(buffer);
-               giterr_set(GITERR_ZLIB, "error inflating zlib stream");
+               git_error_set(GIT_ERROR_ZLIB, "error inflating zlib stream");
                return -1;
        }
 
@@ -916,7 +916,7 @@ git_off_t get_delta_base(
        struct git_pack_file *p,
        git_mwindow **w_curs,
        git_off_t *curpos,
-       git_otype type,
+       git_object_t type,
        git_off_t delta_obj_offset)
 {
        unsigned int left = 0;
@@ -934,7 +934,7 @@ git_off_t get_delta_base(
         * that is assured. An OFS_DELTA longer than the hash size
         * is stupid, as then a REF_DELTA would be smaller to store.
         */
-       if (type == GIT_OBJ_OFS_DELTA) {
+       if (type == GIT_OBJECT_OFS_DELTA) {
                unsigned used = 0;
                unsigned char c = base_info[used++];
                size_t unsigned_base_offset = c & 127;
@@ -951,11 +951,11 @@ git_off_t get_delta_base(
                        return 0; /* out of bound */
                base_offset = delta_obj_offset - unsigned_base_offset;
                *curpos += used;
-       } else if (type == GIT_OBJ_REF_DELTA) {
+       } else if (type == GIT_OBJECT_REF_DELTA) {
                /* If we have the cooperative cache, search in it first */
                if (p->has_cache) {
-                       khiter_t k;
                        git_oid oid;
+                       size_t k;
 
                        git_oid_fromraw(&oid, base_info);
                        k = git_oidmap_lookup_index(p->idx_cache, &oid);
@@ -1087,7 +1087,7 @@ static int packfile_open(struct git_pack_file *p)
        return 0;
 
 cleanup:
-       giterr_set(GITERR_OS, "invalid packfile '%s'", p->pack_name);
+       git_error_set(GIT_ERROR_OS, "invalid packfile '%s'", p->pack_name);
 
        if (p->mwf.fd >= 0)
                p_close(p->mwf.fd);
@@ -1126,11 +1126,11 @@ int git_packfile_alloc(struct git_pack_file **pack_out, const char *path)
        if (path_len < strlen(".idx"))
                return git_odb__error_notfound("invalid packfile path", NULL, 0);
 
-       GITERR_CHECK_ALLOC_ADD(&alloc_len, sizeof(*p), path_len);
-       GITERR_CHECK_ALLOC_ADD(&alloc_len, alloc_len, 2);
+       GIT_ERROR_CHECK_ALLOC_ADD(&alloc_len, sizeof(*p), path_len);
+       GIT_ERROR_CHECK_ALLOC_ADD(&alloc_len, alloc_len, 2);
 
        p = git__calloc(1, alloc_len);
-       GITERR_CHECK_ALLOC(p);
+       GIT_ERROR_CHECK_ALLOC(p);
 
        memcpy(p->pack_name, path, path_len + 1);
 
@@ -1163,7 +1163,7 @@ int git_packfile_alloc(struct git_pack_file **pack_out, const char *path)
        p->index_version = -1;
 
        if (git_mutex_init(&p->lock)) {
-               giterr_set(GITERR_OS, "failed to initialize packfile mutex");
+               git_error_set(GIT_ERROR_OS, "failed to initialize packfile mutex");
                git__free(p);
                return -1;
        }
@@ -1266,7 +1266,7 @@ int git_pack_foreach_entry(
 
        for (i = 0; i < p->num_objects; i++)
                if ((error = cb(p->oids[i], data)) != 0)
-                       return giterr_set_after_callback(error);
+                       return git_error_set_after_callback(error);
 
        return error;
 }
@@ -1352,7 +1352,7 @@ static int pack_entry_find_offset(
                return git_odb__error_ambiguous("found multiple offsets for pack entry");
 
        if ((offset = nth_packed_object_offset(p, pos)) < 0) {
-               giterr_set(GITERR_ODB, "packfile index is corrupt");
+               git_error_set(GIT_ERROR_ODB, "packfile index is corrupt");
                return -1;
        }
 
index c0ca74f1413d5aee5f230acdb51d6d67aa941ba0..f21ad9fa3664b710cc1af2b80ff57b248493b6ed 100644 (file)
@@ -66,7 +66,7 @@ struct pack_chain_elem {
        git_off_t base_key;
        git_off_t offset;
        size_t size;
-       git_otype type;
+       git_object_t type;
 };
 
 typedef git_array_t(struct pack_chain_elem) git_dependency_chain;
@@ -123,20 +123,20 @@ typedef struct git_packfile_stream {
        git_mwindow *mw;
 } git_packfile_stream;
 
-size_t git_packfile__object_header(unsigned char *hdr, size_t size, git_otype type);
+size_t git_packfile__object_header(unsigned char *hdr, size_t size, git_object_t type);
 
 int git_packfile__name(char **out, const char *path);
 
 int git_packfile_unpack_header(
                size_t *size_p,
-               git_otype *type_p,
+               git_object_t *type_p,
                git_mwindow_file *mwf,
                git_mwindow **w_curs,
                git_off_t *curpos);
 
 int git_packfile_resolve_header(
                size_t *size_p,
-               git_otype *type_p,
+               git_object_t *type_p,
                struct git_pack_file *p,
                git_off_t offset);
 
@@ -144,10 +144,10 @@ int git_packfile_unpack(git_rawobj *obj, struct git_pack_file *p, git_off_t *obj
 
 int git_packfile_stream_open(git_packfile_stream *obj, struct git_pack_file *p, git_off_t curpos);
 ssize_t git_packfile_stream_read(git_packfile_stream *obj, void *buffer, size_t len);
-void git_packfile_stream_free(git_packfile_stream *obj);
+void git_packfile_stream_dispose(git_packfile_stream *obj);
 
 git_off_t get_delta_base(struct git_pack_file *p, git_mwindow **w_curs,
-               git_off_t *curpos, git_otype type,
+               git_off_t *curpos, git_object_t type,
                git_off_t delta_obj_offset);
 
 void git_packfile_close(struct git_pack_file *p, bool unlink_packfile);
index 46897e306323d9e868a7279a4b80586b83df36c4..21dcf9bd106e7572b8afba79e13ad650b274fcee 100644 (file)
@@ -27,7 +27,7 @@ int git_parse_ctx_init(git_parse_ctx *ctx, const char *content, size_t content_l
 void git_parse_ctx_clear(git_parse_ctx *ctx);
 
 #define git_parse_err(...) \
-       ( giterr_set(GITERR_PATCH, __VA_ARGS__), -1 )
+       ( git_error_set(GIT_ERROR_PATCH, __VA_ARGS__), -1 )
 
 #define git_parse_ctx_contains_s(ctx, str) \
        git_parse_ctx_contains(ctx, str, sizeof(str) - 1)
index 5e329518d248496ea01e7cdc4e02a0568aeae27a..d19e6833e4ee8615ed9aab8e79fb6737aad43f1a 100644 (file)
@@ -80,11 +80,11 @@ size_t git_patch_size(
 
                if (git_diff_delta__format_file_header(
                        &file_header, patch->delta, NULL, NULL, 0) < 0)
-                       giterr_clear();
+                       git_error_clear();
                else
                        out += git_buf_len(&file_header);
 
-               git_buf_free(&file_header);
+               git_buf_dispose(&file_header);
        }
 
        return out;
@@ -141,7 +141,7 @@ size_t git_patch_num_hunks(const git_patch *patch)
 
 static int patch_error_outofrange(const char *thing)
 {
-       giterr_set(GITERR_INVALID, "patch %s index out of range", thing);
+       git_error_set(GIT_ERROR_INVALID, "patch %s index out of range", thing);
        return GIT_ENOTFOUND;
 }
 
index 29cda8b1c3f1eb11c5b1d34dd8ca9ff59fc9ff49..80033ee53cac2dd97e6bd89c25fcdd7466f28996 100644 (file)
@@ -84,7 +84,7 @@ static int patch_generated_normalize_options(
        const git_diff_options *opts)
 {
        if (opts) {
-               GITERR_CHECK_VERSION(opts, GIT_DIFF_OPTIONS_VERSION, "git_diff_options");
+               GIT_ERROR_CHECK_VERSION(opts, GIT_DIFF_OPTIONS_VERSION, "git_diff_options");
                memcpy(out, opts, sizeof(git_diff_options));
        } else {
                git_diff_options default_opts = GIT_DIFF_OPTIONS_INIT;
@@ -99,8 +99,8 @@ static int patch_generated_normalize_options(
                git__strdup(opts->new_prefix) :
                git__strdup(DIFF_NEW_PREFIX_DEFAULT);
 
-       GITERR_CHECK_ALLOC(out->old_prefix);
-       GITERR_CHECK_ALLOC(out->new_prefix);
+       GIT_ERROR_CHECK_ALLOC(out->old_prefix);
+       GIT_ERROR_CHECK_ALLOC(out->new_prefix);
 
        return 0;
 }
@@ -135,7 +135,7 @@ static int patch_generated_alloc_from_diff(
 {
        int error;
        git_patch_generated *patch = git__calloc(1, sizeof(git_patch_generated));
-       GITERR_CHECK_ALLOC(patch);
+       GIT_ERROR_CHECK_ALLOC(patch);
 
        if (!(error = patch_generated_init(patch, diff, delta_index))) {
                patch->flags |= GIT_PATCH_GENERATED_ALLOCATED;
@@ -248,7 +248,7 @@ static int patch_generated_invoke_file_callback(
        if (!output->file_cb)
                return 0;
 
-       return giterr_set_after_callback_function(
+       return git_error_set_after_callback_function(
                output->file_cb(patch->base.delta, progress, output->payload),
                "git_patch");
 }
@@ -314,8 +314,8 @@ static int create_binary(
        }
 
 done:
-       git_buf_free(&deflate);
-       git_buf_free(&delta);
+       git_buf_dispose(&deflate);
+       git_buf_dispose(&delta);
 
        return error;
 }
@@ -350,7 +350,7 @@ static int diff_binary(git_patch_generated_output *output, git_patch_generated *
                        return error;
        }
 
-       error = giterr_set_after_callback_function(
+       error = git_error_set_after_callback_function(
                output->binary_cb(patch->base.delta, &binary, output->payload),
                "git_patch");
 
@@ -397,7 +397,7 @@ static int diff_required(git_diff *diff, const char *action)
 {
        if (diff)
                return 0;
-       giterr_set(GITERR_INVALID, "must provide valid diff to %s", action);
+       git_error_set(GIT_ERROR_INVALID, "must provide valid diff to %s", action);
        return -1;
 }
 
@@ -501,12 +501,12 @@ static int patch_generated_with_delta_alloc(
        size_t new_len = *new_path ? strlen(*new_path) : 0;
        size_t alloc_len;
 
-       GITERR_CHECK_ALLOC_ADD(&alloc_len, sizeof(*pd), old_len);
-       GITERR_CHECK_ALLOC_ADD(&alloc_len, alloc_len, new_len);
-       GITERR_CHECK_ALLOC_ADD(&alloc_len, alloc_len, 2);
+       GIT_ERROR_CHECK_ALLOC_ADD(&alloc_len, sizeof(*pd), old_len);
+       GIT_ERROR_CHECK_ALLOC_ADD(&alloc_len, alloc_len, new_len);
+       GIT_ERROR_CHECK_ALLOC_ADD(&alloc_len, alloc_len, 2);
 
        *out = pd = git__calloc(1, alloc_len);
-       GITERR_CHECK_ALLOC(pd);
+       GIT_ERROR_CHECK_ALLOC(pd);
 
        pd->patch.flags = GIT_PATCH_GENERATED_ALLOCATED;
 
@@ -708,7 +708,7 @@ int git_patch_generated_from_diff(
 
        delta = git_vector_get(&diff->deltas, idx);
        if (!delta) {
-               giterr_set(GITERR_INVALID, "index out of range for delta in diff");
+               git_error_set(GIT_ERROR_INVALID, "index out of range for delta in diff");
                return GIT_ENOTFOUND;
        }
 
@@ -788,7 +788,7 @@ static int patch_generated_binary_cb(
 
        if (binary->old_file.data) {
                patch->binary.old_file.data = git__malloc(binary->old_file.datalen);
-               GITERR_CHECK_ALLOC(patch->binary.old_file.data);
+               GIT_ERROR_CHECK_ALLOC(patch->binary.old_file.data);
 
                memcpy((char *)patch->binary.old_file.data,
                        binary->old_file.data, binary->old_file.datalen);
@@ -796,7 +796,7 @@ static int patch_generated_binary_cb(
 
        if (binary->new_file.data) {
                patch->binary.new_file.data = git__malloc(binary->new_file.datalen);
-               GITERR_CHECK_ALLOC(patch->binary.new_file.data);
+               GIT_ERROR_CHECK_ALLOC(patch->binary.new_file.data);
 
                memcpy((char *)patch->binary.new_file.data,
                        binary->new_file.data, binary->new_file.datalen);
@@ -816,7 +816,7 @@ static int git_patch_hunk_cb(
        GIT_UNUSED(delta);
 
        hunk = git_array_alloc(patch->base.hunks);
-       GITERR_CHECK_ALLOC(hunk);
+       GIT_ERROR_CHECK_ALLOC(hunk);
 
        memcpy(&hunk->hunk, hunk_, sizeof(hunk->hunk));
 
@@ -845,7 +845,7 @@ static int patch_generated_line_cb(
        assert(hunk); /* programmer error if no hunk is available */
 
        line = git_array_alloc(patch->base.lines);
-       GITERR_CHECK_ALLOC(line);
+       GIT_ERROR_CHECK_ALLOC(line);
 
        memcpy(line, line_, sizeof(*line));
 
index e02c87cf377f2d9fba803324a03eba61bde137e0..647929fd5fb36822198d84b196db71c14ccbc64d 100644 (file)
@@ -98,7 +98,7 @@ static int parse_header_git_oldpath(
        patch->old_path = git_buf_detach(&old_path);
 
 out:
-       git_buf_free(&old_path);
+       git_buf_dispose(&old_path);
        return error;
 }
 
@@ -114,7 +114,7 @@ static int parse_header_git_newpath(
        patch->new_path = git_buf_detach(&new_path);
 
 out:
-       git_buf_free(&new_path);
+       git_buf_dispose(&new_path);
        return error;
 }
 
@@ -282,7 +282,7 @@ static int parse_header_percent(uint16_t *out, git_patch_parse_ctx *ctx)
        if (val < 0 || val > 100)
                return -1;
 
-       *out = val;
+       *out = (uint16_t)val;
        return 0;
 }
 
@@ -458,26 +458,6 @@ done:
        return error;
 }
 
-static int parse_number(git_off_t *out, git_patch_parse_ctx *ctx)
-{
-       const char *end;
-       int64_t num;
-
-       if (!git__isdigit(ctx->parse_ctx.line[0]))
-               return -1;
-
-       if (git__strntol64(&num, ctx->parse_ctx.line, ctx->parse_ctx.line_len, &end, 10) < 0)
-               return -1;
-
-       if (num < 0)
-               return -1;
-
-       *out = num;
-       git_parse_advance_chars(&ctx->parse_ctx, (end - ctx->parse_ctx.line));
-
-       return 0;
-}
-
 static int parse_int(int *out, git_patch_parse_ctx *ctx)
 {
        git_off_t num;
@@ -538,7 +518,7 @@ static int parse_hunk_header(
        return 0;
 
 fail:
-       giterr_set(GITERR_PATCH, "invalid patch hunk header at line %"PRIuZ,
+       git_error_set(GIT_ERROR_PATCH, "invalid patch hunk header at line %"PRIuZ,
                ctx->parse_ctx.line_num);
        return -1;
 }
@@ -603,7 +583,7 @@ static int parse_hunk_body(
                }
 
                line = git_array_alloc(patch->base.lines);
-               GITERR_CHECK_ALLOC(line);
+               GIT_ERROR_CHECK_ALLOC(line);
 
                memset(line, 0x0, sizeof(git_diff_line));
 
@@ -670,7 +650,7 @@ static int parse_patch_header(
                        * noise, continue.
                        */
                        if (parse_hunk_header(&hunk, ctx) < 0) {
-                               giterr_clear();
+                               git_error_clear();
                                continue;
                        }
 
@@ -693,7 +673,7 @@ static int parse_patch_header(
                continue;
        }
 
-       giterr_set(GITERR_PATCH, "no patch found");
+       git_error_set(GIT_ERROR_PATCH, "no patch found");
        error = GIT_ENOTFOUND;
 
 done:
@@ -777,8 +757,8 @@ static int parse_patch_binary_side(
        binary->data = git_buf_detach(&decoded);
 
 done:
-       git_buf_free(&base85);
-       git_buf_free(&decoded);
+       git_buf_dispose(&base85);
+       git_buf_dispose(&decoded);
        return error;
 }
 
@@ -841,7 +821,7 @@ static int parse_patch_hunks(
 
        while (git_parse_ctx_contains_s(&ctx->parse_ctx, "@@ -")) {
                hunk = git_array_alloc(patch->base.hunks);
-               GITERR_CHECK_ALLOC(hunk);
+               GIT_ERROR_CHECK_ALLOC(hunk);
 
                memset(hunk, 0, sizeof(git_patch_hunk));
 
@@ -1099,7 +1079,7 @@ int git_patch_parse(
        *out = NULL;
 
        patch = git__calloc(1, sizeof(git_patch_parsed));
-       GITERR_CHECK_ALLOC(patch);
+       GIT_ERROR_CHECK_ALLOC(patch);
 
        patch->ctx = ctx;
        GIT_REFCOUNT_INC(patch->ctx);
@@ -1107,7 +1087,7 @@ int git_patch_parse(
        patch->base.free_fn = patch_parsed__free;
 
        patch->base.delta = git__calloc(1, sizeof(git_diff_delta));
-       GITERR_CHECK_ALLOC(patch->base.delta);
+       GIT_ERROR_CHECK_ALLOC(patch->base.delta);
 
        patch->base.delta->status = GIT_DELTA_MODIFIED;
        patch->base.delta->nfiles = 2;
@@ -1146,7 +1126,7 @@ int git_patch_from_buffer(
        int error;
 
        ctx = git_patch_parse_ctx_init(content, content_len, opts);
-       GITERR_CHECK_ALLOC(ctx);
+       GIT_ERROR_CHECK_ALLOC(ctx);
 
        error = git_patch_parse(out, ctx);
 
index 58a5aaf4a4aca2e53a5d4b974bba55d57fa5bf25..197efb75acdae98408165d152645123c501f2f9d 100644 (file)
@@ -207,7 +207,7 @@ char *git_path_dirname(const char *path)
 
        git_path_dirname_r(&buf, path);
        dirname = git_buf_detach(&buf);
-       git_buf_free(&buf); /* avoid memleak if error occurs */
+       git_buf_dispose(&buf); /* avoid memleak if error occurs */
 
        return dirname;
 }
@@ -219,7 +219,7 @@ char *git_path_basename(const char *path)
 
        git_path_basename_r(&buf, path);
        basename = git_buf_detach(&buf);
-       git_buf_free(&buf); /* avoid memleak if error occurs */
+       git_buf_dispose(&buf); /* avoid memleak if error occurs */
 
        return basename;
 }
@@ -361,9 +361,9 @@ int git_path_prettify(git_buf *path_out, const char *path, const char *base)
        }
 
        if (p_realpath(path, buf) == NULL) {
-               /* giterr_set resets the errno when dealing with a GITERR_OS kind of error */
+               /* git_error_set resets the errno when dealing with a GIT_ERROR_OS kind of error */
                int error = (errno == ENOENT || errno == ENOTDIR) ? GIT_ENOTFOUND : -1;
-               giterr_set(GITERR_OS, "failed to resolve path '%s'", path);
+               git_error_set(GIT_ERROR_OS, "failed to resolve path '%s'", path);
 
                git_buf_clear(path_out);
 
@@ -436,7 +436,7 @@ append:
 
 static int error_invalid_local_file_uri(const char *uri)
 {
-       giterr_set(GITERR_CONFIG, "'%s' is not a valid local file URI", uri);
+       git_error_set(GIT_ERROR_CONFIG, "'%s' is not a valid local file URI", uri);
        return -1;
 }
 
@@ -502,7 +502,7 @@ int git_path_walk_up(
        if (!scan) {
                error = cb(data, "");
                if (error)
-                       giterr_set_after_callback(error);
+                       git_error_set_after_callback(error);
                return error;
        }
 
@@ -515,7 +515,7 @@ int git_path_walk_up(
                iter.ptr[scan] = oldc;
 
                if (error) {
-                       giterr_set_after_callback(error);
+                       git_error_set_after_callback(error);
                        break;
                }
 
@@ -535,7 +535,7 @@ int git_path_walk_up(
        if (!error && stop == 0 && iter.ptr[0] != '/') {
                error = cb(data, "");
                if (error)
-                       giterr_set_after_callback(error);
+                       git_error_set_after_callback(error);
        }
 
        return error;
@@ -638,11 +638,11 @@ bool git_path_is_empty_dir(const char *path)
                return false;
 
        if ((error = git_buf_sets(&dir, path)) != 0)
-               giterr_clear();
+               git_error_clear();
        else
                error = git_path_direach(&dir, 0, path_found_entry, NULL);
 
-       git_buf_free(&dir);
+       git_buf_dispose(&dir);
 
        return !error;
 }
@@ -654,24 +654,24 @@ int git_path_set_error(int errno_value, const char *path, const char *action)
        switch (errno_value) {
        case ENOENT:
        case ENOTDIR:
-               giterr_set(GITERR_OS, "could not find '%s' to %s", path, action);
+               git_error_set(GIT_ERROR_OS, "could not find '%s' to %s", path, action);
                return GIT_ENOTFOUND;
 
        case EINVAL:
        case ENAMETOOLONG:
-               giterr_set(GITERR_OS, "invalid path for filesystem '%s'", path);
+               git_error_set(GIT_ERROR_OS, "invalid path for filesystem '%s'", path);
                return GIT_EINVALIDSPEC;
 
        case EEXIST:
-               giterr_set(GITERR_OS, "failed %s - '%s' already exists", action, path);
+               git_error_set(GIT_ERROR_OS, "failed %s - '%s' already exists", action, path);
                return GIT_EEXISTS;
 
        case EACCES:
-               giterr_set(GITERR_OS, "failed %s - '%s' is locked", action, path);
+               git_error_set(GIT_ERROR_OS, "failed %s - '%s' is locked", action, path);
                return GIT_ELOCKED;
 
        default:
-               giterr_set(GITERR_OS, "could not %s '%s'", action, path);
+               git_error_set(GIT_ERROR_OS, "could not %s '%s'", action, path);
                return -1;
        }
 }
@@ -751,7 +751,7 @@ int git_path_resolve_relative(git_buf *path, size_t ceiling)
        char *base, *to, *from, *next;
        size_t len;
 
-       GITERR_CHECK_ALLOC_BUF(path);
+       GIT_ERROR_CHECK_ALLOC_BUF(path);
 
        if (ceiling > path->size)
                ceiling = path->size;
@@ -780,7 +780,7 @@ int git_path_resolve_relative(git_buf *path, size_t ceiling)
                else if (len == 2 && from[0] == '.' && from[1] == '.') {
                        /* error out if trying to up one from a hard base */
                        if (to == base && ceiling != 0) {
-                               giterr_set(GITERR_INVALID,
+                               git_error_set(GIT_ERROR_INVALID,
                                        "cannot strip root component off url");
                                return -1;
                        }
@@ -887,7 +887,7 @@ int git_path_make_relative(git_buf *path, const char *parent)
        /* need at least 1 common path segment */
        if ((p_dirsep == path->ptr || q_dirsep == parent) &&
                (*p_dirsep != '/' || *q_dirsep != '/')) {
-               giterr_set(GITERR_INVALID,
+               git_error_set(GIT_ERROR_INVALID,
                        "%s is not a parent of %s", parent, path->ptr);
                return GIT_ENOTFOUND;
        }
@@ -911,10 +911,10 @@ int git_path_make_relative(git_buf *path, const char *parent)
        for (; (q = strchr(q, '/')) && *(q + 1); q++)
                depth++;
 
-       GITERR_CHECK_ALLOC_MULTIPLY(&newlen, depth, 3);
-       GITERR_CHECK_ALLOC_ADD(&newlen, newlen, plen);
+       GIT_ERROR_CHECK_ALLOC_MULTIPLY(&newlen, depth, 3);
+       GIT_ERROR_CHECK_ALLOC_ADD(&newlen, newlen, plen);
 
-       GITERR_CHECK_ALLOC_ADD(&alloclen, newlen, 1);
+       GIT_ERROR_CHECK_ALLOC_ADD(&alloclen, newlen, 1);
 
        /* save the offset as we might realllocate the pointer */
        offset = p - path->ptr;
@@ -956,7 +956,7 @@ void git_path_iconv_clear(git_path_iconv_t *ic)
        if (ic) {
                if (ic->map != (iconv_t)-1)
                        iconv_close(ic->map);
-               git_buf_free(&ic->buf);
+               git_buf_dispose(&ic->buf);
        }
 }
 
@@ -973,7 +973,7 @@ int git_path_iconv(git_path_iconv_t *ic, const char **in, size_t *inlen)
        git_buf_clear(&ic->buf);
 
        while (1) {
-               GITERR_CHECK_ALLOC_ADD(&alloclen, wantlen, 1);
+               GIT_ERROR_CHECK_ALLOC_ADD(&alloclen, wantlen, 1);
                if (git_buf_grow(&ic->buf, alloclen) < 0)
                        return -1;
 
@@ -1010,7 +1010,7 @@ int git_path_iconv(git_path_iconv_t *ic, const char **in, size_t *inlen)
        return 0;
 
 fail:
-       giterr_set(GITERR_OS, "unable to convert unicode path data");
+       git_error_set(GIT_ERROR_OS, "unable to convert unicode path data");
        return -1;
 }
 
@@ -1060,7 +1060,7 @@ bool git_path_does_fs_decompose_unicode(const char *root)
        (void)p_unlink(path.ptr);
 
 done:
-       git_buf_free(&path);
+       git_buf_dispose(&path);
        return found_decomposed;
 }
 
@@ -1103,7 +1103,7 @@ int git_path_direach(
        wd_len = git_buf_len(path);
 
        if ((dir = opendir(path->ptr)) == NULL) {
-               giterr_set(GITERR_OS, "failed to open directory '%s'", path->ptr);
+               git_error_set(GIT_ERROR_OS, "failed to open directory '%s'", path->ptr);
                if (errno == ENOENT)
                        return GIT_ENOTFOUND;
 
@@ -1130,15 +1130,15 @@ int git_path_direach(
                if ((error = git_buf_put(path, de_path, de_len)) < 0)
                        break;
 
-               giterr_clear();
+               git_error_clear();
                error = fn(arg, path);
 
                git_buf_truncate(path, wd_len); /* restore path */
 
                /* Only set our own error if the callback did not set one already */
                if (error != 0) {
-                       if (!giterr_last())
-                               giterr_set_after_callback(error);
+                       if (!git_error_last())
+                               git_error_set_after_callback(error);
 
                        break;
                }
@@ -1184,13 +1184,13 @@ int git_path_diriter_init(
        git_path_trim_slashes(&diriter->path_utf8);
 
        if (diriter->path_utf8.size == 0) {
-               giterr_set(GITERR_FILESYSTEM, "could not open directory '%s'", path);
+               git_error_set(GIT_ERROR_FILESYSTEM, "could not open directory '%s'", path);
                return -1;
        }
 
        if ((diriter->parent_len = git_win32_path_from_utf8(diriter->path, diriter->path_utf8.ptr)) < 0 ||
                        !git_win32__findfirstfile_filter(path_filter, diriter->path_utf8.ptr)) {
-               giterr_set(GITERR_OS, "could not parse the directory path '%s'", path);
+               git_error_set(GIT_ERROR_OS, "could not parse the directory path '%s'", path);
                return -1;
        }
 
@@ -1203,7 +1203,7 @@ int git_path_diriter_init(
                is_win7_or_later ? FIND_FIRST_EX_LARGE_FETCH : 0);
 
        if (diriter->handle == INVALID_HANDLE_VALUE) {
-               giterr_set(GITERR_OS, "could not open directory '%s'", path);
+               git_error_set(GIT_ERROR_OS, "could not open directory '%s'", path);
                return -1;
        }
 
@@ -1223,7 +1223,7 @@ static int diriter_update_paths(git_path_diriter *diriter)
                return -1;
 
        if (path_len > GIT_WIN_PATH_UTF16) {
-               giterr_set(GITERR_FILESYSTEM,
+               git_error_set(GIT_ERROR_FILESYSTEM,
                        "invalid path '%.*ls\\%ls' (path too long)",
                        diriter->parent_len, diriter->path, diriter->current.cFileName);
                return -1;
@@ -1308,7 +1308,7 @@ void git_path_diriter_free(git_path_diriter *diriter)
        if (diriter == NULL)
                return;
 
-       git_buf_free(&diriter->path_utf8);
+       git_buf_dispose(&diriter->path_utf8);
 
        if (diriter->handle != INVALID_HANDLE_VALUE) {
                FindClose(diriter->handle);
@@ -1333,14 +1333,14 @@ int git_path_diriter_init(
        git_path_trim_slashes(&diriter->path);
 
        if (diriter->path.size == 0) {
-               giterr_set(GITERR_FILESYSTEM, "could not open directory '%s'", path);
+               git_error_set(GIT_ERROR_FILESYSTEM, "could not open directory '%s'", path);
                return -1;
        }
 
        if ((diriter->dir = opendir(diriter->path.ptr)) == NULL) {
-               git_buf_free(&diriter->path);
+               git_buf_dispose(&diriter->path);
 
-               giterr_set(GITERR_OS, "failed to open directory '%s'", path);
+               git_error_set(GIT_ERROR_OS, "failed to open directory '%s'", path);
                return -1;
        }
 
@@ -1372,7 +1372,7 @@ int git_path_diriter_next(git_path_diriter *diriter)
                        if (!errno)
                                return GIT_ITEROVER;
 
-                       giterr_set(GITERR_OS,
+                       git_error_set(GIT_ERROR_OS,
                                "could not read directory '%s'", diriter->path.ptr);
                        return -1;
                }
@@ -1448,7 +1448,7 @@ void git_path_diriter_free(git_path_diriter *diriter)
        git_path_iconv_clear(&diriter->ic);
 #endif
 
-       git_buf_free(&diriter->path);
+       git_buf_dispose(&diriter->path);
 }
 
 #endif
@@ -1477,7 +1477,7 @@ int git_path_dirload(
                assert(name_len > prefix_len);
 
                dup = git__strndup(name + prefix_len, name_len - prefix_len);
-               GITERR_CHECK_ALLOC(dup);
+               GIT_ERROR_CHECK_ALLOC(dup);
 
                if ((error = git_vector_insert(contents, dup)) < 0)
                        break;
@@ -1662,7 +1662,7 @@ GIT_INLINE(bool) verify_dotgit_ntfs_generic(const char *name, size_t len, const
                        saw_tilde = 1;
                } else if (i >= 6) {
                        return true;
-               } else if (name[i] < 0) {
+               } else if ((unsigned char)name[i] > 127) {
                        return true;
                } else if (git__tolower(name[i]) != shortname_pfix[i]) {
                        return true;
@@ -1766,14 +1766,14 @@ static bool verify_component(
        if (flags & GIT_PATH_REJECT_DOT_GIT_HFS) {
                if (!verify_dotgit_hfs(component, len))
                        return false;
-               if (S_ISLNK(mode) && git_path_is_hfs_dotgit_modules(component, len))
+               if (S_ISLNK(mode) && git_path_is_gitfile(component, len, GIT_PATH_GITFILE_GITMODULES, GIT_PATH_FS_HFS))
                        return false;
        }
 
        if (flags & GIT_PATH_REJECT_DOT_GIT_NTFS) {
                if (!verify_dotgit_ntfs(repo, component, len))
                        return false;
-               if (S_ISLNK(mode) && git_path_is_ntfs_dotgit_modules(component, len))
+               if (S_ISLNK(mode) && git_path_is_gitfile(component, len, GIT_PATH_GITFILE_GITMODULES, GIT_PATH_FS_NTFS))
                        return false;
        }
 
@@ -1872,64 +1872,40 @@ int git_path_normalize_slashes(git_buf *out, const char *path)
        return 0;
 }
 
-static int verify_dotgit_generic(const char *name, size_t len, const char *dotgit_name, size_t dotgit_len, const char *shortname_pfix)
-{
-       if (!verify_dotgit_ntfs_generic(name, len, dotgit_name, dotgit_len, shortname_pfix))
-               return false;
-
-       return verify_dotgit_hfs_generic(name, len, dotgit_name, dotgit_len);
-}
-
-int git_path_is_ntfs_dotgit_modules(const char *name, size_t len)
-{
-       return !verify_dotgit_ntfs_generic(name, len, "gitmodules", CONST_STRLEN("gitmodules"), "gi7eba");
-}
-
-int git_path_is_hfs_dotgit_modules(const char *name, size_t len)
-{
-       return !verify_dotgit_hfs_generic(name, len, "gitmodules", CONST_STRLEN("gitmodules"));
-}
-
-int git_path_is_dotgit_modules(const char *name, size_t len)
-{
-       if (git_path_is_hfs_dotgit_modules(name, len))
-               return 1;
-
-       return git_path_is_ntfs_dotgit_modules(name, len);
-}
-
-int git_path_is_ntfs_dotgit_ignore(const char *name, size_t len)
-{
-       return !verify_dotgit_ntfs_generic(name, len, "gitignore", CONST_STRLEN("gitignore"), "gi250a");
-}
+static const struct {
+       const char *file;
+       const char *hash;
+       size_t filelen;
+} gitfiles[] = {
+       { "gitignore", "gi250a", CONST_STRLEN("gitignore") },
+       { "gitmodules", "gi7eba", CONST_STRLEN("gitmodules") },
+       { "gitattributes", "gi7d29", CONST_STRLEN("gitattributes") }
+};
 
-int git_path_is_hfs_dotgit_ignore(const char *name, size_t len)
+extern int git_path_is_gitfile(const char *path, size_t pathlen, git_path_gitfile gitfile, git_path_fs fs)
 {
-       return !verify_dotgit_hfs_generic(name, len, "gitignore", CONST_STRLEN("gitignore"));
-}
-
-int git_path_is_dotgit_ignore(const char *name, size_t len)
-{
-       if (git_path_is_hfs_dotgit_ignore(name, len))
-               return 1;
-
-       return git_path_is_ntfs_dotgit_ignore(name, len);
-}
+       const char *file, *hash;
+       size_t filelen;
 
-int git_path_is_hfs_dotgit_attributes(const char *name, size_t len)
-{
-       return !verify_dotgit_hfs_generic(name, len, "gitattributes", CONST_STRLEN("gitattributes"));
-}
-
-int git_path_is_ntfs_dotgit_attributes(const char *name, size_t len)
-{
-       return !verify_dotgit_ntfs_generic(name, len, "gitattributes", CONST_STRLEN("gitattributes"), "gi7d29");
-}
-
-int git_path_is_dotgit_attributes(const char *name, size_t len)
-{
-       if (git_path_is_hfs_dotgit_attributes(name, len))
-               return 1;
+       if (!(gitfile >= GIT_PATH_GITFILE_GITIGNORE && gitfile < ARRAY_SIZE(gitfiles))) {
+               git_error_set(GIT_ERROR_OS, "invalid gitfile for path validation");
+               return -1;
+       }
 
-       return git_path_is_ntfs_dotgit_attributes(name, len);
+       file = gitfiles[gitfile].file;
+       filelen = gitfiles[gitfile].filelen;
+       hash = gitfiles[gitfile].hash;
+
+       switch (fs) {
+       case GIT_PATH_FS_GENERIC:
+               return !verify_dotgit_ntfs_generic(path, pathlen, file, filelen, hash) ||
+                      !verify_dotgit_hfs_generic(path, pathlen, file, filelen);
+       case GIT_PATH_FS_NTFS:
+               return !verify_dotgit_ntfs_generic(path, pathlen, file, filelen, hash);
+       case GIT_PATH_FS_HFS:
+               return !verify_dotgit_hfs_generic(path, pathlen, file, filelen);
+       default:
+               git_error_set(GIT_ERROR_OS, "invalid filesystem for path validation");
+               return -1;
+       }
 }
index fd515c8a260aefe96d7953dfcd79fc76eab00727..e29a7f6b3677c619c5f8d1b51d7d928ca0f193bd 100644 (file)
@@ -13,6 +13,8 @@
 #include "buffer.h"
 #include "vector.h"
 
+#include "git2/sys/path.h"
+
 /**
  * Path manipulation utils
  *
@@ -645,76 +647,4 @@ extern bool git_path_isvalid(
  */
 int git_path_normalize_slashes(git_buf *out, const char *path);
 
-/**
- * Check whether a path component corresponds to a .gitmodules file
- *
- * @param name the path component to check
- * @param len the length of `name`
- */
-extern int git_path_is_dotgit_modules(const char *name, size_t len);
-
-/**
- * Check whether a path component corresponds to a .gitmodules file in NTFS
- *
- * @param name the path component to check
- * @param len the length of `name`
- */
-extern int git_path_is_ntfs_dotgit_modules(const char *name, size_t len);
-
-/**
- * Check whether a path component corresponds to a .gitmodules file in HFS+
- *
- * @param name the path component to check
- * @param len the length of `name`
- */
-extern int git_path_is_hfs_dotgit_modules(const char *name, size_t len);
-
-/**
- * Check whether a path component corresponds to a .gitignore file
- *
- * @param name the path component to check
- * @param len the length of `name`
- */
-extern int git_path_is_dotgit_ignore(const char *name, size_t len);
-
-/**
- * Check whether a path component corresponds to a .gitignore file in NTFS
- *
- * @param name the path component to check
- * @param len the length of `name`
- */
-extern int git_path_is_ntfs_dotgit_ignore(const char *name, size_t len);
-
-/**
- * Check whether a path component corresponds to a .gitignore file in HFS+
- *
- * @param name the path component to check
- * @param len the length of `name`
- */
-extern int git_path_is_hfs_dotgit_ignore(const char *name, size_t len);
-
-/**
- * Check whether a path component corresponds to a .gitignore file
- *
- * @param name the path component to check
- * @param len the length of `name`
- */
-extern int git_path_is_dotgit_attributes(const char *name, size_t len);
-
-/**
- * Check whether a path component corresponds to a .gitattributes file in NTFS
- *
- * @param name the path component to check
- * @param len the length of `name`
- */
-extern int git_path_is_ntfs_dotgit_attributes(const char *name, size_t len);
-
-/**
- * Check whether a path component corresponds to a .gitattributes file in HFS+
- *
- * @param name the path component to check
- * @param len the length of `name`
- */
-extern int git_path_is_hfs_dotgit_attributes(const char *name, size_t len);
-
 #endif
index 998b6fb36d23b814d10f8ec12697870804d34a9c..07795f256d6e1116c7272ae109faeca90afe3adb 100644 (file)
@@ -36,7 +36,7 @@ char *git_pathspec_prefix(const git_strarray *pathspec)
        git_buf_truncate(&prefix, scan - prefix.ptr);
 
        if (prefix.size <= 0) {
-               git_buf_free(&prefix);
+               git_buf_dispose(&prefix);
                return NULL;
        }
 
@@ -258,7 +258,7 @@ int git_pathspec_new(git_pathspec **out, const git_strarray *pathspec)
 {
        int error = 0;
        git_pathspec *ps = git__malloc(sizeof(git_pathspec));
-       GITERR_CHECK_ALLOC(ps);
+       GIT_ERROR_CHECK_ALLOC(ps);
 
        if ((error = git_pathspec__init(ps, pathspec)) < 0) {
                git__free(ps);
@@ -416,7 +416,7 @@ static int pathspec_match_from_iterator(
 
        if (out) {
                *out = m = pathspec_match_alloc(ps, PATHSPEC_DATATYPE_STRINGS);
-               GITERR_CHECK_ALLOC(m);
+               GIT_ERROR_CHECK_ALLOC(m);
        }
 
        if ((error = git_iterator_reset_range(iter, ps->prefix, ps->prefix)) < 0)
@@ -488,7 +488,7 @@ static int pathspec_match_from_iterator(
 
        /* if every pattern failed to match, then we have failed */
        if ((flags & GIT_PATHSPEC_NO_MATCH_ERROR) != 0 && !found_files) {
-               giterr_set(GITERR_INVALID, "no matching files were found");
+               git_error_set(GIT_ERROR_INVALID, "no matching files were found");
                error = GIT_ENOTFOUND;
        }
 
@@ -604,7 +604,7 @@ int git_pathspec_match_diff(
 
        if (out) {
                *out = m = pathspec_match_alloc(ps, PATHSPEC_DATATYPE_DIFF);
-               GITERR_CHECK_ALLOC(m);
+               GIT_ERROR_CHECK_ALLOC(m);
        }
 
        pathspec_match_context_init(
@@ -659,7 +659,7 @@ int git_pathspec_match_diff(
 
        /* if every pattern failed to match, then we have failed */
        if ((flags & GIT_PATHSPEC_NO_MATCH_ERROR) != 0 && !found_deltas) {
-               giterr_set(GITERR_INVALID, "no matching deltas were found");
+               git_error_set(GIT_ERROR_INVALID, "no matching deltas were found");
                error = GIT_ENOTFOUND;
        }
 
index 6e7985eceb32d9b54a11a57bbf3d9d924b377cb9..bffe02e059c8d89bc3da0c0f311f42b102a1a60a 100644 (file)
@@ -243,17 +243,17 @@ int p_mmap(git_map *out, size_t len, int prot, int flags, int fd, git_off_t offs
        out->len = 0;
 
        if ((prot & GIT_PROT_WRITE) && ((flags & GIT_MAP_TYPE) == GIT_MAP_SHARED)) {
-               giterr_set(GITERR_OS, "trying to map shared-writeable");
+               git_error_set(GIT_ERROR_OS, "trying to map shared-writeable");
                return -1;
        }
 
        out->data = malloc(len);
-       GITERR_CHECK_ALLOC(out->data);
+       GIT_ERROR_CHECK_ALLOC(out->data);
 
        if (!git__is_ssizet(len) ||
                (p_lseek(fd, offset, SEEK_SET) < 0) ||
                (p_read(fd, out->data, len) != (ssize_t)len)) {
-               giterr_set(GITERR_OS, "mmap emulation failed");
+               git_error_set(GIT_ERROR_OS, "mmap emulation failed");
                return -1;
        }
 
index 9bc2c7fb1232fa453bf120e289e7fa94292907ab..d025586237d34bb85d941c651375f218356a99ac 100644 (file)
@@ -26,7 +26,7 @@ int git_proxy_options_dup(git_proxy_options *tgt, const git_proxy_options *src)
        memcpy(tgt, src, sizeof(git_proxy_options));
        if (src->url) {
                tgt->url = git__strdup(src->url);
-               GITERR_CHECK_ALLOC(tgt->url);
+               GIT_ERROR_CHECK_ALLOC(tgt->url);
        }
 
        return 0;
index 85b683e620cccab9178aebbcee066aedf74b052c..9d09e18bb3f518710462bf014fbd23b660161ee2 100644 (file)
@@ -36,7 +36,7 @@ int git_push_new(git_push **out, git_remote *remote)
        *out = NULL;
 
        p = git__calloc(1, sizeof(*p));
-       GITERR_CHECK_ALLOC(p);
+       GIT_ERROR_CHECK_ALLOC(p);
 
        p->repo = remote->repo;
        p->remote = remote;
@@ -70,10 +70,11 @@ int git_push_set_options(git_push *push, const git_push_options *opts)
        if (!push || !opts)
                return -1;
 
-       GITERR_CHECK_VERSION(opts, GIT_PUSH_OPTIONS_VERSION, "git_push_options");
+       GIT_ERROR_CHECK_VERSION(opts, GIT_PUSH_OPTIONS_VERSION, "git_push_options");
 
        push->pb_parallelism = opts->pb_parallelism;
-       push->custom_headers = &opts->custom_headers;
+       push->connection.custom_headers = &opts->custom_headers;
+       push->connection.proxy = &opts->proxy_opts;
 
        return 0;
 }
@@ -83,14 +84,14 @@ static void free_refspec(push_spec *spec)
        if (spec == NULL)
                return;
 
-       git_refspec__free(&spec->refspec);
+       git_refspec__dispose(&spec->refspec);
        git__free(spec);
 }
 
 static int check_rref(char *ref)
 {
        if (git__prefixcmp(ref, "refs/")) {
-               giterr_set(GITERR_INVALID, "not a valid reference '%s'", ref);
+               git_error_set(GIT_ERROR_INVALID, "not a valid reference '%s'", ref);
                return -1;
        }
 
@@ -108,10 +109,10 @@ static int check_lref(git_push *push, char *ref)
                return 0;
 
        if (error == GIT_ENOTFOUND)
-               giterr_set(GITERR_REFERENCE,
+               git_error_set(GIT_ERROR_REFERENCE,
                        "src refspec '%s' does not match any existing object", ref);
        else
-               giterr_set(GITERR_INVALID, "not a valid reference '%s'", ref);
+               git_error_set(GIT_ERROR_INVALID, "not a valid reference '%s'", ref);
        return -1;
 }
 
@@ -122,10 +123,10 @@ static int parse_refspec(git_push *push, push_spec **spec, const char *str)
        *spec = NULL;
 
        s = git__calloc(1, sizeof(*s));
-       GITERR_CHECK_ALLOC(s);
+       GIT_ERROR_CHECK_ALLOC(s);
 
        if (git_refspec__parse(&s->refspec, str, false) < 0) {
-               giterr_set(GITERR_INVALID, "invalid refspec %s", str);
+               git_error_set(GIT_ERROR_INVALID, "invalid refspec %s", str);
                goto on_error;
        }
 
@@ -212,7 +213,7 @@ int git_push_update_tips(git_push *push, const git_remote_callbacks *callbacks)
                        if (error != GIT_ENOTFOUND)
                                goto on_error;
 
-                       giterr_clear();
+                       git_error_clear();
                        fire_callback = 0;
                }
 
@@ -228,7 +229,7 @@ int git_push_update_tips(git_push *push, const git_remote_callbacks *callbacks)
        error = 0;
 
 on_error:
-       git_buf_free(&remote_ref_name);
+       git_buf_dispose(&remote_ref_name);
        return error;
 }
 
@@ -241,10 +242,10 @@ static int enqueue_tag(git_object **out, git_push *push, git_oid *id)
        git_object *obj = NULL, *target = NULL;
        int error;
 
-       if ((error = git_object_lookup(&obj, push->repo, id, GIT_OBJ_TAG)) < 0)
+       if ((error = git_object_lookup(&obj, push->repo, id, GIT_OBJECT_TAG)) < 0)
                return error;
 
-       while (git_object_type(obj) == GIT_OBJ_TAG) {
+       while (git_object_type(obj) == GIT_OBJECT_TAG) {
                if ((error = git_packbuilder_insert(push->pb, git_object_id(obj), NULL)) < 0)
                        break;
 
@@ -277,7 +278,7 @@ static int queue_objects(git_push *push)
        git_revwalk_sorting(rw, GIT_SORT_TIME);
 
        git_vector_foreach(&push->specs, i, spec) {
-               git_otype type;
+               git_object_t type;
                size_t size;
 
                if (git_oid_iszero(&spec->loid))
@@ -293,13 +294,13 @@ static int queue_objects(git_push *push)
                if (git_odb_read_header(&size, &type, push->repo->_odb, &spec->loid) < 0)
                        goto on_error;
 
-               if (type == GIT_OBJ_TAG) {
+               if (type == GIT_OBJECT_TAG) {
                        git_object *target;
 
                        if ((error = enqueue_tag(&target, push, &spec->loid)) < 0)
                                goto on_error;
 
-                       if (git_object_type(target) == GIT_OBJ_COMMIT) {
+                       if (git_object_type(target) == GIT_OBJECT_COMMIT) {
                                if (git_revwalk_push(rw, git_object_id(target)) < 0) {
                                        git_object_free(target);
                                        goto on_error;
@@ -322,7 +323,7 @@ static int queue_objects(git_push *push)
                                continue;
 
                        if (!git_odb_exists(push->repo->_odb, &spec->roid)) {
-                               giterr_set(GITERR_REFERENCE, 
+                               git_error_set(GIT_ERROR_REFERENCE,
                                        "cannot push because a reference that you are trying to update on the remote contains commits that are not present locally.");
                                error = GIT_ENONFASTFORWARD;
                                goto on_error;
@@ -333,7 +334,7 @@ static int queue_objects(git_push *push)
 
                        if (error == GIT_ENOTFOUND ||
                                (!error && !git_oid_equal(&base, &spec->roid))) {
-                               giterr_set(GITERR_REFERENCE,
+                               git_error_set(GIT_ERROR_REFERENCE,
                                        "cannot push non-fastforwardable reference");
                                error = GIT_ENONFASTFORWARD;
                                goto on_error;
@@ -362,13 +363,13 @@ on_error:
 static int add_update(git_push *push, push_spec *spec)
 {
        git_push_update *u = git__calloc(1, sizeof(git_push_update));
-       GITERR_CHECK_ALLOC(u);
+       GIT_ERROR_CHECK_ALLOC(u);
 
        u->src_refname = git__strdup(spec->refspec.src);
-       GITERR_CHECK_ALLOC(u->src_refname);
+       GIT_ERROR_CHECK_ALLOC(u->src_refname);
 
        u->dst_refname = git__strdup(spec->refspec.dst);
-       GITERR_CHECK_ALLOC(u->dst_refname);
+       GIT_ERROR_CHECK_ALLOC(u->dst_refname);
 
        git_oid_cpy(&u->src, &spec->roid);
        git_oid_cpy(&u->dst, &spec->loid);
@@ -389,7 +390,7 @@ static int calculate_work(git_push *push)
                        /* This is a create or update.  Local ref must exist. */
                        if (git_reference_name_to_id(
                                        &spec->loid, push->repo, spec->refspec.src) < 0) {
-                               giterr_set(GITERR_REFERENCE, "no such reference '%s'", spec->refspec.src);
+                               git_error_set(GIT_ERROR_REFERENCE, "no such reference '%s'", spec->refspec.src);
                                return -1;
                        }
                }
@@ -415,7 +416,7 @@ static int do_push(git_push *push, const git_remote_callbacks *callbacks)
        git_transport *transport = push->remote->transport;
 
        if (!transport->push) {
-               giterr_set(GITERR_NET, "remote transport doesn't support push");
+               git_error_set(GIT_ERROR_NET, "remote transport doesn't support push");
                error = -1;
                goto on_error;
        }
@@ -475,7 +476,7 @@ int git_push_finish(git_push *push, const git_remote_callbacks *callbacks)
        int error;
 
        if (!git_remote_connected(push->remote) &&
-           (error = git_remote_connect(push->remote, GIT_DIRECTION_PUSH, callbacks, NULL, push->custom_headers)) < 0)
+           (error = git_remote__connect(push->remote, GIT_DIRECTION_PUSH, callbacks, &push->connection)) < 0)
                return error;
 
        if ((error = filter_refs(push->remote)) < 0 ||
@@ -484,7 +485,7 @@ int git_push_finish(git_push *push, const git_remote_callbacks *callbacks)
 
        if (!push->unpack_ok) {
                error = -1;
-               giterr_set(GITERR_NET, "unpacking the sent packfile failed on the remote");
+               git_error_set(GIT_ERROR_NET, "unpacking the sent packfile failed on the remote");
        }
 
        return error;
@@ -500,7 +501,7 @@ int git_push_status_foreach(git_push *push,
        git_vector_foreach(&push->status, i, status) {
                int error = cb(status->ref, status->msg, data);
                if (error)
-                       return giterr_set_after_callback(error);
+                       return git_error_set_after_callback(error);
        }
 
        return 0;
index 31ac436090c8f2fb552e39f718b428f7fa695650..86756394055788cb0349a2509cf3661358f9e687 100644 (file)
@@ -11,6 +11,7 @@
 
 #include "git2.h"
 #include "refspec.h"
+#include "remote.h"
 
 typedef struct push_spec {
        struct git_refspec refspec;
@@ -40,7 +41,7 @@ struct git_push {
 
        /* options */
        unsigned pb_parallelism;
-       const git_strarray *custom_headers;
+       git_remote_connection_opts connection;
 };
 
 /**
diff --git a/src/reader.c b/src/reader.c
new file mode 100644 (file)
index 0000000..1a48446
--- /dev/null
@@ -0,0 +1,265 @@
+/*
+ * Copyright (C) the libgit2 contributors. All rights reserved.
+ *
+ * This file is part of libgit2, distributed under the GNU GPL v2 with
+ * a Linking Exception. For full terms see the included COPYING file.
+ */
+
+#include "reader.h"
+
+#include "fileops.h"
+#include "blob.h"
+
+#include "git2/tree.h"
+#include "git2/blob.h"
+#include "git2/index.h"
+#include "git2/repository.h"
+
+/* tree reader */
+
+typedef struct {
+       git_reader reader;
+       git_tree *tree;
+} tree_reader;
+
+static int tree_reader_read(
+       git_buf *out,
+       git_oid *out_id,
+       git_filemode_t *out_filemode,
+       git_reader *_reader,
+       const char *filename)
+{
+       tree_reader *reader = (tree_reader *)_reader;
+       git_tree_entry *tree_entry = NULL;
+       git_blob *blob = NULL;
+       git_off_t blobsize;
+       int error;
+
+       if ((error = git_tree_entry_bypath(&tree_entry, reader->tree, filename)) < 0 ||
+           (error = git_blob_lookup(&blob, git_tree_owner(reader->tree), git_tree_entry_id(tree_entry))) < 0)
+               goto done;
+
+       blobsize = git_blob_rawsize(blob);
+       GIT_ERROR_CHECK_BLOBSIZE(blobsize);
+
+       if ((error = git_buf_set(out, git_blob_rawcontent(blob), (size_t)blobsize)) < 0)
+               goto done;
+
+       if (out_id)
+               git_oid_cpy(out_id, git_tree_entry_id(tree_entry));
+
+       if (out_filemode)
+               *out_filemode = git_tree_entry_filemode(tree_entry);
+
+done:
+       git_blob_free(blob);
+       git_tree_entry_free(tree_entry);
+       return error;
+}
+
+int git_reader_for_tree(git_reader **out, git_tree *tree)
+{
+       tree_reader *reader;
+
+       assert(out && tree);
+
+       reader = git__calloc(1, sizeof(tree_reader));
+       GIT_ERROR_CHECK_ALLOC(reader);
+
+       reader->reader.read = tree_reader_read;
+       reader->tree = tree;
+
+       *out = (git_reader *)reader;
+       return 0;
+}
+
+/* workdir reader */
+
+typedef struct {
+       git_reader reader;
+       git_repository *repo;
+       git_index *index;
+} workdir_reader;
+
+static int workdir_reader_read(
+       git_buf *out,
+       git_oid *out_id,
+       git_filemode_t *out_filemode,
+       git_reader *_reader,
+       const char *filename)
+{
+       workdir_reader *reader = (workdir_reader *)_reader;
+       git_buf path = GIT_BUF_INIT;
+       struct stat st;
+       git_filemode_t filemode;
+       git_filter_list *filters = NULL;
+       const git_index_entry *idx_entry;
+       git_oid id;
+       int error;
+
+       if ((error = git_buf_joinpath(&path,
+               git_repository_workdir(reader->repo), filename)) < 0)
+               goto done;
+
+       if ((error = p_lstat(path.ptr, &st)) < 0) {
+               if (error == -1 && errno == ENOENT)
+                       error = GIT_ENOTFOUND;
+
+               git_error_set(GIT_ERROR_OS, "could not stat '%s'", path.ptr);
+               goto done;
+       }
+
+       filemode = git_futils_canonical_mode(st.st_mode);
+
+       /*
+        * Patch application - for example - uses the filtered version of
+        * the working directory data to match git.  So we will run the
+        * workdir -> ODB filter on the contents in this workdir reader.
+        */
+       if ((error = git_filter_list_load(&filters, reader->repo, NULL, filename,
+               GIT_FILTER_TO_ODB, GIT_FILTER_DEFAULT)) < 0)
+               goto done;
+
+       if ((error = git_filter_list_apply_to_file(out,
+           filters, reader->repo, path.ptr)) < 0)
+               goto done;
+
+       if (out_id || reader->index) {
+               if ((error = git_odb_hash(&id, out->ptr, out->size, GIT_OBJECT_BLOB)) < 0)
+                       goto done;
+       }
+
+       if (reader->index) {
+               if (!(idx_entry = git_index_get_bypath(reader->index, filename, 0)) ||
+                   filemode != idx_entry->mode ||
+                   !git_oid_equal(&id, &idx_entry->id)) {
+                       error = GIT_READER_MISMATCH;
+                       goto done;
+               }
+       }
+
+       if (out_id)
+               git_oid_cpy(out_id, &id);
+
+       if (out_filemode)
+               *out_filemode = filemode;
+
+done:
+       git_filter_list_free(filters);
+       git_buf_dispose(&path);
+       return error;
+}
+
+int git_reader_for_workdir(
+       git_reader **out,
+       git_repository *repo,
+       bool validate_index)
+{
+       workdir_reader *reader;
+       int error;
+
+       assert(out && repo);
+
+       reader = git__calloc(1, sizeof(workdir_reader));
+       GIT_ERROR_CHECK_ALLOC(reader);
+
+       reader->reader.read = workdir_reader_read;
+       reader->repo = repo;
+
+       if (validate_index &&
+           (error = git_repository_index__weakptr(&reader->index, repo)) < 0) {
+               git__free(reader);
+               return error;
+       }
+
+       *out = (git_reader *)reader;
+       return 0;
+}
+
+/* index reader */
+
+typedef struct {
+       git_reader reader;
+       git_repository *repo;
+       git_index *index;
+} index_reader;
+
+static int index_reader_read(
+       git_buf *out,
+       git_oid *out_id,
+       git_filemode_t *out_filemode,
+       git_reader *_reader,
+       const char *filename)
+{
+       index_reader *reader = (index_reader *)_reader;
+       const git_index_entry *entry;
+       git_blob *blob;
+       int error;
+
+       if ((entry = git_index_get_bypath(reader->index, filename, 0)) == NULL)
+               return GIT_ENOTFOUND;
+
+       if ((error = git_blob_lookup(&blob, reader->repo, &entry->id)) < 0)
+               goto done;
+
+       if (out_id)
+               git_oid_cpy(out_id, &entry->id);
+
+       if (out_filemode)
+               *out_filemode = entry->mode;
+
+       error = git_blob__getbuf(out, blob);
+
+done:
+       git_blob_free(blob);
+       return error;
+}
+
+int git_reader_for_index(
+       git_reader **out,
+       git_repository *repo,
+       git_index *index)
+{
+       index_reader *reader;
+       int error;
+
+       assert(out && repo);
+
+       reader = git__calloc(1, sizeof(index_reader));
+       GIT_ERROR_CHECK_ALLOC(reader);
+
+       reader->reader.read = index_reader_read;
+       reader->repo = repo;
+
+       if (index) {
+               reader->index = index;
+       } else if ((error = git_repository_index__weakptr(&reader->index, repo)) < 0) {
+               git__free(reader);
+               return error;
+       }
+
+       *out = (git_reader *)reader;
+       return 0;
+}
+
+/* generic */
+
+int git_reader_read(
+       git_buf *out,
+       git_oid *out_id,
+       git_filemode_t *out_filemode,
+       git_reader *reader,
+       const char *filename)
+{
+       assert(out && reader && filename);
+
+       return reader->read(out, out_id, out_filemode, reader, filename);
+}
+
+void git_reader_free(git_reader *reader)
+{
+       if (!reader)
+               return;
+
+       git__free(reader);
+}
diff --git a/src/reader.h b/src/reader.h
new file mode 100644 (file)
index 0000000..18a6a11
--- /dev/null
@@ -0,0 +1,107 @@
+/*
+ * Copyright (C) the libgit2 contributors. All rights reserved.
+ *
+ * This file is part of libgit2, distributed under the GNU GPL v2 with
+ * a Linking Exception. For full terms see the included COPYING file.
+ */
+#ifndef INCLUDE_reader_h__
+#define INCLUDE_reader_h__
+
+#include "common.h"
+
+/* Returned when the workdir does not match the index */
+#define GIT_READER_MISMATCH    1
+
+typedef struct git_reader git_reader;
+
+/*
+ * The `git_reader` structure is a generic interface for reading the
+ * contents of a file by its name, and implementations are provided
+ * for reading out of a tree, the index, and the working directory.
+ *
+ * Note that the reader implementation is meant to have a short
+ * lifecycle and does not increase the refcount of the object that
+ * it's reading.  Callers should ensure that they do not use a
+ * reader after disposing the underlying object that it reads.
+ */
+struct git_reader {
+       int (*read)(git_buf *out, git_oid *out_oid, git_filemode_t *mode, git_reader *reader, const char *filename);
+};
+
+/**
+ * Create a `git_reader` that will allow random access to the given
+ * tree.  Paths requested via `git_reader_read` will be rooted at this
+ * tree, callers are not expected to recurse through tree lookups.  Thus,
+ * you can request to read `/src/foo.c` and the tree provided to this
+ * function will be searched to find another tree named `src`, which
+ * will then be opened to find `foo.c`.
+ *
+ * @param out The reader for the given tree
+ * @param tree The tree object to read
+ * @return 0 on success, or an error code < 0
+ */
+extern int git_reader_for_tree(
+       git_reader **out,
+       git_tree *tree);
+
+/**
+ * Create a `git_reader` that will allow random access to the given
+ * index, or the repository's index.
+ *
+ * @param out The reader for the given index
+ * @param repo The repository containing the index
+ * @param index The index to read, or NULL to use the repository's index
+ * @return 0 on success, or an error code < 0
+ */
+extern int git_reader_for_index(
+       git_reader **out,
+       git_repository *repo,
+       git_index *index);
+
+/**
+ * Create a `git_reader` that will allow random access to the given
+ * repository's working directory.  Note that the contents are read
+ * in repository format, meaning any workdir -> odb filters are
+ * applied.
+ *
+ * If `validate_index` is set to true, reads of files will hash the
+ * on-disk contents and ensure that the resulting object ID matches
+ * the repository's index.  This ensures that the working directory
+ * is unmodified from the index contents.
+ *
+ * @param out The reader for the given working directory
+ * @param repo The repository containing the working directory
+ * @param validate_index If true, the working directory contents will
+ *        be compared to the index contents during read to ensure that
+ *        the working directory is unmodified.
+ * @return 0 on success, or an error code < 0
+ */
+extern int git_reader_for_workdir(
+       git_reader **out,
+       git_repository *repo,
+       bool validate_index);
+
+/**
+ * Read the given filename from the reader and populate the given buffer
+ * with the contents and the given oid with the object ID.
+ *
+ * @param out The buffer to populate with the file contents
+ * @param out_id The oid to populate with the object ID
+ * @param reader The reader to read
+ * @param filename The filename to read from the reader
+ */
+extern int git_reader_read(
+       git_buf *out,
+       git_oid *out_id,
+       git_filemode_t *out_filemode,
+       git_reader *reader,
+       const char *filename);
+
+/**
+ * Free the given reader and any associated objects.
+ *
+ * @param reader The reader to free
+ */
+extern void git_reader_free(git_reader *reader);
+
+#endif
index 52211ad110f228a11b4df57d8a2472d3a60c1ffe..45460367ed3763d7e8d16ce664f3633f32854993 100644 (file)
@@ -116,7 +116,7 @@ done:
        if (type != GIT_REBASE_TYPE_NONE && path_out)
                *path_out = git_buf_detach(&path);
 
-       git_buf_free(&path);
+       git_buf_dispose(&path);
 
        return 0;
 }
@@ -153,7 +153,7 @@ GIT_INLINE(int) rebase_readint(
                return error;
 
        if (git__strntol32(&num, asc_out->ptr, asc_out->size, &eol, 10) < 0 || num < 0 || *eol) {
-               giterr_set(GITERR_REBASE, "the file '%s' contains an invalid numeric value", filename);
+               git_error_set(GIT_ERROR_REBASE, "the file '%s' contains an invalid numeric value", filename);
                return -1;
        }
 
@@ -171,7 +171,7 @@ GIT_INLINE(int) rebase_readoid(
                return error;
 
        if (str_out->size != GIT_OID_HEXSZ || git_oid_fromstr(out, str_out->ptr) < 0) {
-               giterr_set(GITERR_REBASE, "the file '%s' contains an invalid object ID", filename);
+               git_error_set(GIT_ERROR_REBASE, "the file '%s' contains an invalid object ID", filename);
                return -1;
        }
 
@@ -231,7 +231,7 @@ static int rebase_open_merge(git_rebase *rebase)
 
        /* Read cmt.* */
        git_array_init_to_size(rebase->operations, end);
-       GITERR_CHECK_ARRAY(rebase->operations);
+       GIT_ERROR_CHECK_ARRAY(rebase->operations);
 
        for (i = 0; i < end; i++) {
                git_buf_clear(&cmt);
@@ -241,7 +241,7 @@ static int rebase_open_merge(git_rebase *rebase)
                        goto done;
 
                operation = rebase_operation_alloc(rebase, GIT_REBASE_OPERATION_PICK, &id, NULL);
-               GITERR_CHECK_ALLOC(operation);
+               GIT_ERROR_CHECK_ALLOC(operation);
        }
 
        /* Read 'onto_name' */
@@ -251,9 +251,9 @@ static int rebase_open_merge(git_rebase *rebase)
        rebase->onto_name = git_buf_detach(&buf);
 
 done:
-       git_buf_free(&cmt);
-       git_buf_free(&state_path);
-       git_buf_free(&buf);
+       git_buf_dispose(&cmt);
+       git_buf_dispose(&state_path);
+       git_buf_dispose(&buf);
 
        return error;
 }
@@ -261,7 +261,7 @@ done:
 static int rebase_alloc(git_rebase **out, const git_rebase_options *rebase_opts)
 {
        git_rebase *rebase = git__calloc(1, sizeof(git_rebase));
-       GITERR_CHECK_ALLOC(rebase);
+       GIT_ERROR_CHECK_ALLOC(rebase);
 
        *out = NULL;
 
@@ -272,12 +272,9 @@ static int rebase_alloc(git_rebase **out, const git_rebase_options *rebase_opts)
 
        if (rebase_opts && rebase_opts->rewrite_notes_ref) {
                rebase->options.rewrite_notes_ref = git__strdup(rebase_opts->rewrite_notes_ref);
-               GITERR_CHECK_ALLOC(rebase->options.rewrite_notes_ref);
+               GIT_ERROR_CHECK_ALLOC(rebase->options.rewrite_notes_ref);
        }
 
-       if ((rebase->options.checkout_options.checkout_strategy & (GIT_CHECKOUT_SAFE | GIT_CHECKOUT_FORCE)) == 0)
-               rebase->options.checkout_options.checkout_strategy = GIT_CHECKOUT_SAFE;
-
        *out = rebase;
 
        return 0;
@@ -285,10 +282,10 @@ static int rebase_alloc(git_rebase **out, const git_rebase_options *rebase_opts)
 
 static int rebase_check_versions(const git_rebase_options *given_opts)
 {
-       GITERR_CHECK_VERSION(given_opts, GIT_REBASE_OPTIONS_VERSION, "git_rebase_options");
+       GIT_ERROR_CHECK_VERSION(given_opts, GIT_REBASE_OPTIONS_VERSION, "git_rebase_options");
 
        if (given_opts)
-               GITERR_CHECK_VERSION(&given_opts->checkout_options, GIT_CHECKOUT_OPTIONS_VERSION, "git_checkout_options");
+               GIT_ERROR_CHECK_VERSION(&given_opts->checkout_options, GIT_CHECKOUT_OPTIONS_VERSION, "git_checkout_options");
 
        return 0;
 }
@@ -317,7 +314,7 @@ int git_rebase_open(
                goto done;
 
        if (rebase->type == GIT_REBASE_TYPE_NONE) {
-               giterr_set(GITERR_REBASE, "there is no rebase in progress");
+               git_error_set(GIT_ERROR_REBASE, "there is no rebase in progress");
                error = GIT_ENOTFOUND;
                goto done;
        }
@@ -373,14 +370,14 @@ int git_rebase_open(
 
        switch (rebase->type) {
        case GIT_REBASE_TYPE_INTERACTIVE:
-               giterr_set(GITERR_REBASE, "interactive rebase is not supported");
+               git_error_set(GIT_ERROR_REBASE, "interactive rebase is not supported");
                error = -1;
                break;
        case GIT_REBASE_TYPE_MERGE:
                error = rebase_open_merge(rebase);
                break;
        case GIT_REBASE_TYPE_APPLY:
-               giterr_set(GITERR_REBASE, "patch application rebase is not supported");
+               git_error_set(GIT_ERROR_REBASE, "patch application rebase is not supported");
                error = -1;
                break;
        default:
@@ -393,10 +390,10 @@ done:
        else
                git_rebase_free(rebase);
 
-       git_buf_free(&path);
-       git_buf_free(&orig_head_name);
-       git_buf_free(&orig_head_id);
-       git_buf_free(&onto_id);
+       git_buf_dispose(&path);
+       git_buf_dispose(&orig_head_name);
+       git_buf_dispose(&orig_head_id);
+       git_buf_dispose(&onto_id);
        return error;
 }
 
@@ -424,8 +421,8 @@ static int rebase_setupfile(git_rebase *rebase, const char *filename, int flags,
        if ((error = git_buf_joinpath(&path, rebase->state_path, filename)) == 0)
                error = git_futils_writebuffer(&contents, path.ptr, flags, REBASE_FILE_MODE);
 
-       git_buf_free(&path);
-       git_buf_free(&contents);
+       git_buf_dispose(&path);
+       git_buf_dispose(&contents);
 
        return error;
 }
@@ -466,7 +463,7 @@ static int rebase_setupfiles_merge(git_rebase *rebase)
        }
 
 done:
-       git_buf_free(&commit_filename);
+       git_buf_dispose(&commit_filename);
        return error;
 }
 
@@ -479,7 +476,7 @@ static int rebase_setupfiles(git_rebase *rebase)
        git_oid_fmt(orig_head, &rebase->orig_head_id);
 
        if (p_mkdir(rebase->state_path, REBASE_DIR_MODE) < 0) {
-               giterr_set(GITERR_OS, "failed to create rebase directory '%s'", rebase->state_path);
+               git_error_set(GIT_ERROR_OS, "failed to create rebase directory '%s'", rebase->state_path);
                return -1;
        }
 
@@ -512,7 +509,7 @@ static int rebase_ensure_not_in_progress(git_repository *repo)
                return error;
 
        if (type != GIT_REBASE_TYPE_NONE) {
-               giterr_set(GITERR_REBASE, "there is an existing rebase in progress");
+               git_error_set(GIT_ERROR_REBASE, "there is an existing rebase in progress");
                return -1;
        }
 
@@ -537,7 +534,7 @@ static int rebase_ensure_not_dirty(
                        goto done;
 
                if (git_diff_num_deltas(diff) > 0) {
-                       giterr_set(GITERR_REBASE, "uncommitted changes exist in index");
+                       git_error_set(GIT_ERROR_REBASE, "uncommitted changes exist in index");
                        error = fail_with;
                        goto done;
                }
@@ -553,7 +550,7 @@ static int rebase_ensure_not_dirty(
                        goto done;
 
                if (git_diff_num_deltas(diff) > 0) {
-                       giterr_set(GITERR_REBASE, "unstaged changes exist in workdir");
+                       git_error_set(GIT_ERROR_REBASE, "unstaged changes exist in workdir");
                        error = fail_with;
                        goto done;
                }
@@ -602,7 +599,7 @@ static int rebase_init_operations(
                        continue;
 
                operation = rebase_operation_alloc(rebase, GIT_REBASE_OPERATION_PICK, &id, NULL);
-               GITERR_CHECK_ALLOC(operation);
+               GIT_ERROR_CHECK_ALLOC(operation);
        }
 
        error = 0;
@@ -631,17 +628,17 @@ static int rebase_init_merge(
                goto done;
 
        rebase->state_path = git_buf_detach(&state_path);
-       GITERR_CHECK_ALLOC(rebase->state_path);
+       GIT_ERROR_CHECK_ALLOC(rebase->state_path);
 
        if (branch->ref_name && strcmp(branch->ref_name, "HEAD")) {
                rebase->orig_head_name = git__strdup(branch->ref_name);
-               GITERR_CHECK_ALLOC(rebase->orig_head_name);
+               GIT_ERROR_CHECK_ALLOC(rebase->orig_head_name);
        } else {
                rebase->head_detached = 1;
        }
 
        rebase->onto_name = git__strdup(rebase_onto_name(onto));
-       GITERR_CHECK_ALLOC(rebase->onto_name);
+       GIT_ERROR_CHECK_ALLOC(rebase->onto_name);
 
        rebase->quiet = rebase->options.quiet;
 
@@ -662,8 +659,8 @@ static int rebase_init_merge(
 done:
        git_reference_free(head_ref);
        git_commit_free(onto_commit);
-       git_buf_free(&reflog);
-       git_buf_free(&state_path);
+       git_buf_dispose(&reflog);
+       git_buf_dispose(&state_path);
 
        return error;
 }
@@ -810,7 +807,7 @@ static int rebase_next_merge(
                goto done;
 
        if ((parent_count = git_commit_parentcount(current_commit)) > 1) {
-               giterr_set(GITERR_REBASE, "cannot rebase a merge commit");
+               git_error_set(GIT_ERROR_REBASE, "cannot rebase a merge commit");
                error = -1;
                goto done;
        } else if (parent_count) {
@@ -842,7 +839,7 @@ done:
        git_tree_free(parent_tree);
        git_commit_free(parent_commit);
        git_commit_free(current_commit);
-       git_buf_free(&path);
+       git_buf_dispose(&path);
 
        return error;
 }
@@ -867,7 +864,7 @@ static int rebase_next_inmemory(
                goto done;
 
        if ((parent_count = git_commit_parentcount(current_commit)) > 1) {
-               giterr_set(GITERR_REBASE, "cannot rebase a merge commit");
+               git_error_set(GIT_ERROR_REBASE, "cannot rebase a merge commit");
                error = -1;
                goto done;
        } else if (parent_count) {
@@ -953,7 +950,7 @@ static int rebase_commit__create(
        operation = git_array_get(rebase->operations, rebase->current);
 
        if (git_index_has_conflicts(index)) {
-               giterr_set(GITERR_REBASE, "conflicts have not been resolved");
+               git_error_set(GIT_ERROR_REBASE, "conflicts have not been resolved");
                error = GIT_EUNMERGED;
                goto done;
        }
@@ -965,7 +962,7 @@ static int rebase_commit__create(
                goto done;
 
        if (git_oid_equal(&tree_id, git_tree_id(parent_tree))) {
-               giterr_set(GITERR_REBASE, "this patch has already been applied");
+               git_error_set(GIT_ERROR_REBASE, "this patch has already been applied");
                error = GIT_EAPPLIED;
                goto done;
        }
@@ -1017,7 +1014,7 @@ static int rebase_commit_merge(
 
        if ((error = rebase_ensure_not_dirty(rebase->repo, false, true, GIT_EUNMERGED)) < 0 ||
                (error = git_repository_head(&head, rebase->repo)) < 0 ||
-               (error = git_reference_peel((git_object **)&head_commit, head, GIT_OBJ_COMMIT)) < 0 ||
+               (error = git_reference_peel((git_object **)&head_commit, head, GIT_OBJECT_COMMIT)) < 0 ||
                (error = git_repository_index(&index, rebase->repo)) < 0 ||
                (error = rebase_commit__create(&commit, rebase, index, head_commit,
                        author, committer, message_encoding, message)) < 0 ||
@@ -1151,7 +1148,7 @@ static int notes_ref_lookup(git_buf *out, git_rebase *rebase)
                if (error != GIT_ENOTFOUND)
                        goto done;
 
-               giterr_clear();
+               git_error_clear();
                do_rewrite = 1;
        }
 
@@ -1178,7 +1175,7 @@ static int rebase_copy_note(
 
        if ((error = git_note_read(&note, rebase->repo, notes_ref, from)) < 0) {
                if (error == GIT_ENOTFOUND) {
-                       giterr_clear();
+                       git_error_clear();
                        error = 0;
                }
 
@@ -1191,7 +1188,7 @@ static int rebase_copy_note(
                                (error = git_signature_now(&who, "unknown", "unknown")) < 0)
                                goto done;
 
-                       giterr_clear();
+                       git_error_clear();
                }
 
                committer = who;
@@ -1219,7 +1216,7 @@ static int rebase_copy_notes(
 
        if ((error = notes_ref_lookup(&notes_ref, rebase)) < 0) {
                if (error == GIT_ENOTFOUND) {
-                       giterr_clear();
+                       git_error_clear();
                        error = 0;
                }
 
@@ -1262,13 +1259,13 @@ static int rebase_copy_notes(
        goto done;
 
 on_error:
-       giterr_set(GITERR_REBASE, "invalid rewritten file at line %d", linenum);
+       git_error_set(GIT_ERROR_REBASE, "invalid rewritten file at line %d", linenum);
        error = -1;
 
 done:
-       git_buf_free(&rewritten);
-       git_buf_free(&path);
-       git_buf_free(&notes_ref);
+       git_buf_dispose(&rewritten);
+       git_buf_dispose(&path);
+       git_buf_dispose(&notes_ref);
 
        return error;
 }
@@ -1291,7 +1288,7 @@ static int return_to_orig_head(git_rebase *rebase)
                        rebase->orig_head_name)) == 0 &&
                (error = git_repository_head(&terminal_ref, rebase->repo)) == 0 &&
                (error = git_reference_peel((git_object **)&terminal_commit,
-                       terminal_ref, GIT_OBJ_COMMIT)) == 0 &&
+                       terminal_ref, GIT_OBJECT_COMMIT)) == 0 &&
                (error = git_reference_create_matching(&branch_ref,
                        rebase->repo, rebase->orig_head_name,
                        git_commit_id(terminal_commit), 1,
@@ -1300,8 +1297,8 @@ static int return_to_orig_head(git_rebase *rebase)
                        rebase->repo, GIT_HEAD_FILE, rebase->orig_head_name, 1,
                        head_msg.ptr);
 
-       git_buf_free(&head_msg);
-       git_buf_free(&branch_msg);
+       git_buf_dispose(&head_msg);
+       git_buf_dispose(&branch_msg);
        git_commit_free(terminal_commit);
        git_reference_free(head_ref);
        git_reference_free(branch_ref);
index c162a153f3b0940b2ca967b4c8b3beb3933f8ec4..b466153a751a108698020f880935f03fb3ed668b 100644 (file)
@@ -24,7 +24,7 @@ int git_refdb_new(git_refdb **out, git_repository *repo)
        assert(out && repo);
 
        db = git__calloc(1, sizeof(*db));
-       GITERR_CHECK_ALLOC(db);
+       GIT_ERROR_CHECK_ALLOC(db);
 
        db->repo = repo;
 
@@ -127,7 +127,7 @@ int git_refdb_iterator(git_reference_iterator **out, git_refdb *db, const char *
        int error;
 
        if (!db->backend || !db->backend->iterator) {
-               giterr_set(GITERR_REFERENCE, "this backend doesn't support iterators");
+               git_error_set(GIT_ERROR_REFERENCE, "this backend doesn't support iterators");
                return -1;
        }
 
@@ -245,7 +245,7 @@ int git_refdb_lock(void **payload, git_refdb *db, const char *refname)
        assert(payload && db && refname);
 
        if (!db->backend->lock) {
-               giterr_set(GITERR_REFERENCE, "backend does not support locking");
+               git_error_set(GIT_ERROR_REFERENCE, "backend does not support locking");
                return -1;
        }
 
index 83174e8cde9e273d562969b0c2be0c5d53dfeda1..d582cb8a24c9a6b4711a0d330f4150ee35b4fada 100644 (file)
@@ -94,7 +94,7 @@ static int packed_reload(refdb_fs_backend *backend)
        if (error <= 0) {
                if (error == GIT_ENOTFOUND) {
                        git_sortedcache_clear(backend->refcache, true);
-                       giterr_clear();
+                       git_error_clear();
                        error = 0;
                }
                return error;
@@ -183,16 +183,16 @@ static int packed_reload(refdb_fs_backend *backend)
        }
 
        git_sortedcache_wunlock(backend->refcache);
-       git_buf_free(&packedrefs);
+       git_buf_dispose(&packedrefs);
 
        return 0;
 
 parse_failed:
-       giterr_set(GITERR_REFERENCE, "corrupted packed references file");
+       git_error_set(GIT_ERROR_REFERENCE, "corrupted packed references file");
 
        git_sortedcache_clear(backend->refcache, false);
        git_sortedcache_wunlock(backend->refcache);
-       git_buf_free(&packedrefs);
+       git_buf_dispose(&packedrefs);
 
        return -1;
 }
@@ -215,7 +215,7 @@ static int loose_parse_oid(
                return 0;
 
 corrupted:
-       giterr_set(GITERR_REFERENCE, "corrupted loose reference file: %s", filename);
+       git_error_set(GIT_ERROR_REFERENCE, "corrupted loose reference file: %s", filename);
        return -1;
 }
 
@@ -226,7 +226,7 @@ static int loose_readbuffer(git_buf *buf, const char *base, const char *path)
        /* build full path to file */
        if ((error = git_buf_joinpath(buf, base, path)) < 0 ||
                (error = git_futils_readbuffer(buf, buf->ptr)) < 0)
-               git_buf_free(buf);
+               git_buf_dispose(buf);
 
        return error;
 }
@@ -242,7 +242,7 @@ static int loose_lookup_to_packfile(refdb_fs_backend *backend, const char *name)
         * the filesystem under us and skip it...
         */
        if (loose_readbuffer(&ref_file, backend->gitpath, name) < 0) {
-               giterr_clear();
+               git_error_clear();
                goto done;
        }
 
@@ -266,7 +266,7 @@ static int loose_lookup_to_packfile(refdb_fs_backend *backend, const char *name)
        git_sortedcache_wunlock(backend->refcache);
 
 done:
-       git_buf_free(&ref_file);
+       git_buf_dispose(&ref_file);
        return error;
 }
 
@@ -283,7 +283,7 @@ static int _dirent_loose_load(void *payload, git_buf *full_path)
                        full_path, backend->direach_flags, _dirent_loose_load, backend);
                /* Race with the filesystem, ignore it */
                if (error == GIT_ENOTFOUND) {
-                       giterr_clear();
+                       git_error_clear();
                        return 0;
                }
 
@@ -317,7 +317,7 @@ static int packed_loadloose(refdb_fs_backend *backend)
        error = git_path_direach(
                &refs_path, backend->direach_flags, _dirent_loose_load, backend);
 
-       git_buf_free(&refs_path);
+       git_buf_dispose(&refs_path);
 
        return error;
 }
@@ -340,7 +340,7 @@ static int refdb_fs_backend__exists(
        *exists = git_path_isfile(ref_path.ptr) ||
                (git_sortedcache_lookup(backend->refcache, ref_name) != NULL);
 
-       git_buf_free(&ref_path);
+       git_buf_dispose(&ref_path);
        return 0;
 }
 
@@ -352,7 +352,7 @@ static const char *loose_parse_symbolic(git_buf *file_content)
        refname_start = (const char *)file_content->ptr;
 
        if (git_buf_len(file_content) < header_len + 1) {
-               giterr_set(GITERR_REFERENCE, "corrupted loose reference file");
+               git_error_set(GIT_ERROR_REFERENCE, "corrupted loose reference file");
                return NULL;
        }
 
@@ -414,13 +414,13 @@ static int loose_lookup(
                        *out = git_reference__alloc(ref_name, &oid, NULL);
        }
 
-       git_buf_free(&ref_file);
+       git_buf_dispose(&ref_file);
        return error;
 }
 
 static int ref_error_notfound(const char *name)
 {
-       giterr_set(GITERR_REFERENCE, "reference '%s' not found", name);
+       git_error_set(GIT_ERROR_REFERENCE, "reference '%s' not found", name);
        return GIT_ENOTFOUND;
 }
 
@@ -468,7 +468,7 @@ static int refdb_fs_backend__lookup(
        /* only try to lookup this reference on the packfile if it
         * wasn't found on the loose refs; not if there was a critical error */
        if (error == GIT_ENOTFOUND) {
-               giterr_clear();
+               git_error_clear();
                error = packed_lookup(out, backend, ref_name);
        }
 
@@ -505,26 +505,57 @@ static int iter_load_loose_paths(refdb_fs_backend *backend, refdb_fs_iter *iter)
        git_iterator *fsit = NULL;
        git_iterator_options fsit_opts = GIT_ITERATOR_OPTIONS_INIT;
        const git_index_entry *entry = NULL;
+       const char *ref_prefix = GIT_REFS_DIR;
+       size_t ref_prefix_len = strlen(ref_prefix);
 
        if (!backend->commonpath) /* do nothing if no commonpath for loose refs */
                return 0;
 
        fsit_opts.flags = backend->iterator_flags;
 
-       if ((error = git_buf_printf(&path, "%s/refs", backend->commonpath)) < 0 ||
-               (error = git_iterator_for_filesystem(&fsit, path.ptr, &fsit_opts)) < 0) {
-               git_buf_free(&path);
+       if (iter->glob) {
+               const char *last_sep = NULL;
+               const char *pos;
+               for (pos = iter->glob; *pos; ++pos) {
+                       switch (*pos) {
+                       case '?':
+                       case '*':
+                       case '[':
+                       case '\\':
+                               break;
+                       case '/':
+                               last_sep = pos;
+                               /* FALLTHROUGH */
+                       default:
+                               continue;
+                       }
+                       break;
+               }
+               if (last_sep) {
+                       ref_prefix = iter->glob;
+                       ref_prefix_len = (last_sep - ref_prefix) + 1;
+               }
+       }
+
+       if ((error = git_buf_printf(&path, "%s/", backend->commonpath)) < 0 ||
+               (error = git_buf_put(&path, ref_prefix, ref_prefix_len)) < 0) {
+               git_buf_dispose(&path);
                return error;
        }
 
-       error = git_buf_sets(&path, GIT_REFS_DIR);
+       if ((error = git_iterator_for_filesystem(&fsit, path.ptr, &fsit_opts)) < 0) {
+               git_buf_dispose(&path);
+               return (iter->glob && error == GIT_ENOTFOUND)? 0 : error;
+       }
+
+       error = git_buf_sets(&path, ref_prefix);
 
        while (!error && !git_iterator_advance(&entry, fsit)) {
                const char *ref_name;
                struct packref *ref;
                char *ref_dup;
 
-               git_buf_truncate(&path, strlen(GIT_REFS_DIR));
+               git_buf_truncate(&path, ref_prefix_len);
                git_buf_puts(&path, entry->path);
                ref_name = git_buf_cstr(&path);
 
@@ -546,7 +577,7 @@ static int iter_load_loose_paths(refdb_fs_backend *backend, refdb_fs_iter *iter)
        }
 
        git_iterator_free(fsit);
-       git_buf_free(&path);
+       git_buf_dispose(&path);
 
        return error;
 }
@@ -565,7 +596,7 @@ static int refdb_fs_backend__iterator_next(
                if (loose_lookup(out, backend, path) == 0)
                        return 0;
 
-               giterr_clear();
+               git_error_clear();
        }
 
        if (!iter->cache) {
@@ -608,7 +639,7 @@ static int refdb_fs_backend__iterator_next_name(
                        return 0;
                }
 
-               giterr_clear();
+               git_error_clear();
        }
 
        if (!iter->cache) {
@@ -648,7 +679,7 @@ static int refdb_fs_backend__iterator(
                return error;
 
        iter = git__calloc(1, sizeof(refdb_fs_iter));
-       GITERR_CHECK_ALLOC(iter);
+       GIT_ERROR_CHECK_ALLOC(iter);
 
        git_pool_init(&iter->pool, 1);
 
@@ -712,7 +743,7 @@ static int reference_path_available(
                }
 
                if (exists) {
-                       giterr_set(GITERR_REFERENCE,
+                       git_error_set(GIT_ERROR_REFERENCE,
                                "failed to write reference '%s': a reference with "
                                "that name already exists.", new_ref);
                        return GIT_EEXISTS;
@@ -726,7 +757,7 @@ static int reference_path_available(
 
                if (ref && !ref_is_available(old_ref, new_ref, ref->name)) {
                        git_sortedcache_runlock(backend->refcache);
-                       giterr_set(GITERR_REFERENCE,
+                       git_error_set(GIT_ERROR_REFERENCE,
                                "path to reference '%s' collides with existing one", new_ref);
                        return -1;
                }
@@ -745,7 +776,7 @@ static int loose_lock(git_filebuf *file, refdb_fs_backend *backend, const char *
        assert(file && backend && name);
 
        if (!git_path_isvalid(backend->repo, name, 0, GIT_PATH_REJECT_FILESYSTEM_DEFAULTS)) {
-               giterr_set(GITERR_INVALID, "invalid reference name '%s'", name);
+               git_error_set(GIT_ERROR_INVALID, "invalid reference name '%s'", name);
                return GIT_EINVALIDSPEC;
        }
 
@@ -770,9 +801,9 @@ static int loose_lock(git_filebuf *file, refdb_fs_backend *backend, const char *
        error = git_filebuf_open(file, ref_path.ptr, filebuf_flags, GIT_REFS_FILE_MODE);
 
        if (error == GIT_EDIRECTORY)
-               giterr_set(GITERR_REFERENCE, "cannot lock ref '%s', there are refs beneath that folder", name);
+               git_error_set(GIT_ERROR_REFERENCE, "cannot lock ref '%s', there are refs beneath that folder", name);
 
-       git_buf_free(&ref_path);
+       git_buf_dispose(&ref_path);
        return error;
 }
 
@@ -780,12 +811,12 @@ static int loose_commit(git_filebuf *file, const git_reference *ref)
 {
        assert(file && ref);
 
-       if (ref->type == GIT_REF_OID) {
+       if (ref->type == GIT_REFERENCE_DIRECT) {
                char oid[GIT_OID_HEXSZ + 1];
                git_oid_nfmt(oid, sizeof(oid), &ref->target.oid);
 
                git_filebuf_printf(file, "%s\n", oid);
-       } else if (ref->type == GIT_REF_SYMBOLIC) {
+       } else if (ref->type == GIT_REFERENCE_SYMBOLIC) {
                git_filebuf_printf(file, GIT_SYMREF "%s\n", ref->target.symbolic);
        } else {
                assert(0); /* don't let this happen */
@@ -801,7 +832,7 @@ static int refdb_fs_backend__lock(void **out, git_refdb_backend *_backend, const
        refdb_fs_backend *backend = (refdb_fs_backend *) _backend;
 
        lock = git__calloc(1, sizeof(git_filebuf));
-       GITERR_CHECK_ALLOC(lock);
+       GIT_ERROR_CHECK_ALLOC(lock);
 
        if ((error = loose_lock(lock, backend, refname)) < 0) {
                git__free(lock);
@@ -863,7 +894,7 @@ static int packed_find_peel(refdb_fs_backend *backend, struct packref *ref)
        /*
         * Find the tagged object in the repository
         */
-       if (git_object_lookup(&object, backend->repo, &ref->oid, GIT_OBJ_ANY) < 0)
+       if (git_object_lookup(&object, backend->repo, &ref->oid, GIT_OBJECT_ANY) < 0)
                return -1;
 
        /*
@@ -871,7 +902,7 @@ static int packed_find_peel(refdb_fs_backend *backend, struct packref *ref)
         * if the ref is actually a 'weak' ref, we don't need to resolve
         * anything.
         */
-       if (git_object_type(object) == GIT_OBJ_TAG) {
+       if (git_object_type(object) == GIT_OBJECT_TAG) {
                git_tag *tag = (git_tag *)object;
 
                /*
@@ -959,8 +990,8 @@ static int packed_remove_loose(refdb_fs_backend *backend)
                        continue;
 
                if (error < 0) {
-                       git_buf_free(&ref_content);
-                       giterr_set(GITERR_REFERENCE, "failed to lock loose reference '%s'", ref->name);
+                       git_buf_dispose(&ref_content);
+                       git_error_set(GIT_ERROR_REFERENCE, "failed to lock loose reference '%s'", ref->name);
                        return error;
                }
 
@@ -990,7 +1021,7 @@ static int packed_remove_loose(refdb_fs_backend *backend)
                p_unlink(lock.path_original);
        }
 
-       git_buf_free(&ref_content);
+       git_buf_dispose(&ref_content);
        git_filebuf_cleanup(&lock);
        return 0;
 }
@@ -1059,7 +1090,6 @@ fail:
 static int reflog_append(refdb_fs_backend *backend, const git_reference *ref, const git_oid *old, const git_oid *new, const git_signature *author, const char *message);
 static int has_reflog(git_repository *repo, const char *name);
 
-/* We only write if it's under heads/, remotes/ or notes/ or if it already has a log */
 static int should_write_reflog(int *write, git_repository *repo, const char *name)
 {
        int error, logall;
@@ -1072,17 +1102,26 @@ static int should_write_reflog(int *write, git_repository *repo, const char *nam
        if (logall == GIT_LOGALLREFUPDATES_UNSET)
                logall = !git_repository_is_bare(repo);
 
-       if (!logall) {
+       *write = 0;
+       switch (logall) {
+       case GIT_LOGALLREFUPDATES_FALSE:
                *write = 0;
-       } else if (has_reflog(repo, name)) {
-               *write = 1;
-       } else if (!git__prefixcmp(name, GIT_REFS_HEADS_DIR) ||
-                  !git__strcmp(name, GIT_HEAD_FILE) ||
-                  !git__prefixcmp(name, GIT_REFS_REMOTES_DIR) ||
-                  !git__prefixcmp(name, GIT_REFS_NOTES_DIR)) {
+               break;
+
+       case GIT_LOGALLREFUPDATES_TRUE:
+               /* Only write if it already has a log,
+                * or if it's under heads/, remotes/ or notes/
+                */
+               *write = has_reflog(repo, name) ||
+                       !git__prefixcmp(name, GIT_REFS_HEADS_DIR) ||
+                       !git__strcmp(name, GIT_HEAD_FILE) ||
+                       !git__prefixcmp(name, GIT_REFS_REMOTES_DIR) ||
+                       !git__prefixcmp(name, GIT_REFS_NOTES_DIR);
+               break;
+
+       case GIT_LOGALLREFUPDATES_ALWAYS:
                *write = 1;
-       } else {
-               *write = 0;
+               break;
        }
 
        return 0;
@@ -1103,19 +1142,19 @@ static int cmp_old_ref(int *cmp, git_refdb_backend *backend, const char *name,
                goto out;
 
        /* If the types don't match, there's no way the values do */
-       if (old_id && old_ref->type != GIT_REF_OID) {
+       if (old_id && old_ref->type != GIT_REFERENCE_DIRECT) {
                *cmp = -1;
                goto out;
        }
-       if (old_target && old_ref->type != GIT_REF_SYMBOLIC) {
+       if (old_target && old_ref->type != GIT_REFERENCE_SYMBOLIC) {
                *cmp = 1;
                goto out;
        }
 
-       if (old_id && old_ref->type == GIT_REF_OID)
+       if (old_id && old_ref->type == GIT_REFERENCE_DIRECT)
                *cmp = git_oid_cmp(old_id, &old_ref->target.oid);
 
-       if (old_target && old_ref->type == GIT_REF_SYMBOLIC)
+       if (old_target && old_ref->type == GIT_REFERENCE_SYMBOLIC)
                *cmp = git__strcmp(old_target, old_ref->target.symbolic);
 
 out:
@@ -1145,7 +1184,7 @@ static int maybe_append_head(refdb_fs_backend *backend, const git_reference *ref
        git_reference *tmp = NULL, *head = NULL, *peeled = NULL;
        const char *name;
 
-       if (ref->type == GIT_REF_SYMBOLIC)
+       if (ref->type == GIT_REFERENCE_SYMBOLIC)
                return 0;
 
        /* if we can't resolve, we use {0}*40 as old id */
@@ -1155,14 +1194,14 @@ static int maybe_append_head(refdb_fs_backend *backend, const git_reference *ref
        if ((error = git_reference_lookup(&head, backend->repo, GIT_HEAD_FILE)) < 0)
                return error;
 
-       if (git_reference_type(head) == GIT_REF_OID)
+       if (git_reference_type(head) == GIT_REFERENCE_DIRECT)
                goto cleanup;
 
        if ((error = git_reference_lookup(&tmp, backend->repo, GIT_HEAD_FILE)) < 0)
                goto cleanup;
 
        /* Go down the symref chain until we find the branch */
-       while (git_reference_type(tmp) == GIT_REF_SYMBOLIC) {
+       while (git_reference_type(tmp) == GIT_REFERENCE_SYMBOLIC) {
                error = git_reference_lookup(&peeled, backend->repo, git_reference_symbolic_target(tmp));
                if (error < 0)
                        break;
@@ -1235,12 +1274,12 @@ static int refdb_fs_backend__write_tail(
                goto on_error;
 
        if (cmp) {
-               giterr_set(GITERR_REFERENCE, "old reference value does not match");
+               git_error_set(GIT_ERROR_REFERENCE, "old reference value does not match");
                error = GIT_EMODIFIED;
                goto on_error;
        }
 
-       if (ref->type == GIT_REF_SYMBOLIC)
+       if (ref->type == GIT_REFERENCE_SYMBOLIC)
                new_target = ref->target.symbolic;
        else
                new_id = &ref->target.oid;
@@ -1274,6 +1313,43 @@ on_error:
         return error;
 }
 
+static void refdb_fs_backend__try_delete_empty_ref_hierarchie(
+       refdb_fs_backend *backend,
+       const char *ref_name,
+       bool reflog)
+{
+       git_buf relative_path = GIT_BUF_INIT;
+       git_buf base_path = GIT_BUF_INIT;
+       size_t commonlen;
+
+       assert(backend && ref_name);
+
+       if (git_buf_sets(&relative_path, ref_name) < 0)
+               goto cleanup;
+
+       git_path_squash_slashes(&relative_path);
+       if ((commonlen = git_path_common_dirlen("refs/heads/", git_buf_cstr(&relative_path))) == strlen("refs/heads/") ||
+               (commonlen = git_path_common_dirlen("refs/tags/", git_buf_cstr(&relative_path))) == strlen("refs/tags/") ||
+               (commonlen = git_path_common_dirlen("refs/remotes/", git_buf_cstr(&relative_path))) == strlen("refs/remotes/")) {
+
+               git_buf_truncate(&relative_path, commonlen);
+
+               if (reflog) {
+                       if (git_buf_join3(&base_path, '/', backend->commonpath, GIT_REFLOG_DIR, git_buf_cstr(&relative_path)) < 0)
+                               goto cleanup;
+               } else {
+                       if (git_buf_joinpath(&base_path, backend->commonpath, git_buf_cstr(&relative_path)) < 0)
+                               goto cleanup;
+               }
+
+               git_futils_rmdir_r(ref_name + commonlen, git_buf_cstr(&base_path), GIT_RMDIR_EMPTY_PARENTS | GIT_RMDIR_SKIP_ROOT);
+       }
+
+cleanup:
+       git_buf_dispose(&relative_path);
+       git_buf_dispose(&base_path);
+}
+
 static int refdb_fs_backend__delete(
        git_refdb_backend *_backend,
        const char *ref_name,
@@ -1313,13 +1389,13 @@ static int refdb_fs_backend__delete_tail(
                goto cleanup;
 
        if (cmp) {
-               giterr_set(GITERR_REFERENCE, "old reference value does not match");
+               git_error_set(GIT_ERROR_REFERENCE, "old reference value does not match");
                error = GIT_EMODIFIED;
                goto cleanup;
        }
 
        /* If a loose reference exists, remove it from the filesystem */
-       if (git_buf_joinpath(&loose_path, backend->gitpath, ref_name) < 0)
+       if (git_buf_joinpath(&loose_path, backend->commonpath, ref_name) < 0)
                return -1;
 
 
@@ -1352,9 +1428,10 @@ static int refdb_fs_backend__delete_tail(
        error = packed_write(backend);
 
 cleanup:
-       git_buf_free(&loose_path);
+       git_buf_dispose(&loose_path);
        git_filebuf_cleanup(file);
-
+       if (loose_deleted)
+               refdb_fs_backend__try_delete_empty_ref_hierarchie(backend, ref_name, false);
        return error;
 }
 
@@ -1491,7 +1568,7 @@ static char *setup_namespace(git_repository *repo, const char *in)
        out = git_buf_detach(&path);
 
 done:
-       git_buf_free(&path);
+       git_buf_dispose(&path);
        return out;
 }
 
@@ -1502,10 +1579,10 @@ static int reflog_alloc(git_reflog **reflog, const char *name)
        *reflog = NULL;
 
        log = git__calloc(1, sizeof(git_reflog));
-       GITERR_CHECK_ALLOC(log);
+       GIT_ERROR_CHECK_ALLOC(log);
 
        log->ref_name = git__strdup(name);
-       GITERR_CHECK_ALLOC(log->ref_name);
+       GIT_ERROR_CHECK_ALLOC(log->ref_name);
 
        if (git_vector_init(&log->entries, 0, NULL) < 0) {
                git__free(log->ref_name);
@@ -1525,7 +1602,7 @@ static int reflog_parse(git_reflog *log, const char *buf, size_t buf_size)
 
 #define seek_forward(_increase) do { \
        if (_increase >= buf_size) { \
-               giterr_set(GITERR_INVALID, "ran out of data while parsing reflog"); \
+               git_error_set(GIT_ERROR_INVALID, "ran out of data while parsing reflog"); \
                goto fail; \
        } \
        buf += _increase; \
@@ -1534,10 +1611,10 @@ static int reflog_parse(git_reflog *log, const char *buf, size_t buf_size)
 
        while (buf_size > GIT_REFLOG_SIZE_MIN) {
                entry = git__calloc(1, sizeof(git_reflog_entry));
-               GITERR_CHECK_ALLOC(entry);
+               GIT_ERROR_CHECK_ALLOC(entry);
 
                entry->committer = git__calloc(1, sizeof(git_signature));
-               GITERR_CHECK_ALLOC(entry->committer);
+               GIT_ERROR_CHECK_ALLOC(entry->committer);
 
                if (git_oid_fromstrn(&entry->oid_old, buf, GIT_OID_HEXSZ) < 0)
                        goto fail;
@@ -1565,7 +1642,7 @@ static int reflog_parse(git_reflog *log, const char *buf, size_t buf_size)
                                seek_forward(1);
 
                        entry->msg = git__strndup(ptr, buf - ptr);
-                       GITERR_CHECK_ALLOC(entry->msg);
+                       GIT_ERROR_CHECK_ALLOC(entry->msg);
                } else
                        entry->msg = NULL;
 
@@ -1624,7 +1701,7 @@ static int refdb_reflog_fs__ensure_log(git_refdb_backend *_backend, const char *
                return error;
 
        error = create_new_reflog_file(git_buf_cstr(&path));
-       git_buf_free(&path);
+       git_buf_dispose(&path);
 
        return error;
 }
@@ -1640,7 +1717,7 @@ static int has_reflog(git_repository *repo, const char *name)
        ret = git_path_isfile(git_buf_cstr(&path));
 
 cleanup:
-       git_buf_free(&path);
+       git_buf_dispose(&path);
        return ret;
 }
 
@@ -1682,7 +1759,7 @@ static int refdb_reflog_fs__read(git_reflog **out, git_refdb_backend *_backend,
        if ((error == GIT_ENOTFOUND) &&
                ((error = create_new_reflog_file(git_buf_cstr(&log_path))) < 0))
                goto cleanup;
+
        if ((error = reflog_parse(log,
                git_buf_cstr(&log_file), git_buf_len(&log_file))) < 0)
                goto cleanup;
@@ -1694,8 +1771,8 @@ cleanup:
        git_reflog_free(log);
 
 success:
-       git_buf_free(&log_file);
-       git_buf_free(&log_path);
+       git_buf_dispose(&log_file);
+       git_buf_dispose(&log_path);
 
        return error;
 }
@@ -1743,7 +1820,7 @@ static int lock_reflog(git_filebuf *file, refdb_fs_backend *backend, const char
        repo = backend->repo;
 
        if (!git_path_isvalid(backend->repo, refname, 0, GIT_PATH_REJECT_FILESYSTEM_DEFAULTS)) {
-               giterr_set(GITERR_INVALID, "invalid reference name '%s'", refname);
+               git_error_set(GIT_ERROR_INVALID, "invalid reference name '%s'", refname);
                return GIT_EINVALIDSPEC;
        }
 
@@ -1751,7 +1828,7 @@ static int lock_reflog(git_filebuf *file, refdb_fs_backend *backend, const char
                return -1;
 
        if (!git_path_isfile(git_buf_cstr(&log_path))) {
-               giterr_set(GITERR_INVALID,
+               git_error_set(GIT_ERROR_INVALID,
                        "log file for reference '%s' doesn't exist", refname);
                error = -1;
                goto cleanup;
@@ -1760,7 +1837,7 @@ static int lock_reflog(git_filebuf *file, refdb_fs_backend *backend, const char
        error = git_filebuf_open(file, git_buf_cstr(&log_path), 0, GIT_REFLOG_FILE_MODE);
 
 cleanup:
-       git_buf_free(&log_path);
+       git_buf_dispose(&log_path);
 
        return error;
 }
@@ -1796,7 +1873,7 @@ cleanup:
        git_filebuf_cleanup(&fbuf);
 
 success:
-       git_buf_free(&log);
+       git_buf_dispose(&log);
 
        return error;
 }
@@ -1809,7 +1886,7 @@ static int reflog_append(refdb_fs_backend *backend, const git_reference *ref, co
        git_buf buf = GIT_BUF_INIT, path = GIT_BUF_INIT;
        git_repository *repo = backend->repo;
 
-       is_symbolic = ref->type == GIT_REF_SYMBOLIC;
+       is_symbolic = ref->type == GIT_REFERENCE_SYMBOLIC;
 
        /* "normal" symbolic updates do not write */
        if (is_symbolic &&
@@ -1840,7 +1917,7 @@ static int reflog_append(refdb_fs_backend *backend, const git_reference *ref, co
                        if (error == GIT_ENOTFOUND)
                                return 0;
 
-                       giterr_clear();
+                       git_error_clear();
                }
        }
 
@@ -1863,7 +1940,7 @@ static int reflog_append(refdb_fs_backend *backend, const git_reference *ref, co
                        if (error == GIT_ENOTFOUND)
                                error = 0;
                } else if (git_path_isdir(git_buf_cstr(&path))) {
-                       giterr_set(GITERR_REFERENCE, "cannot create reflog at '%s', there are reflogs beneath that folder",
+                       git_error_set(GIT_ERROR_REFERENCE, "cannot create reflog at '%s', there are reflogs beneath that folder",
                                ref->name);
                        error = GIT_EDIRECTORY;
                }
@@ -1880,8 +1957,8 @@ static int reflog_append(refdb_fs_backend *backend, const git_reference *ref, co
        error = git_futils_writebuffer(&buf, git_buf_cstr(&path), open_flags, GIT_REFLOG_FILE_MODE);
 
 cleanup:
-       git_buf_free(&buf);
-       git_buf_free(&path);
+       git_buf_dispose(&buf);
+       git_buf_dispose(&path);
 
        return error;
 }
@@ -1902,7 +1979,7 @@ static int refdb_reflog_fs__rename(git_refdb_backend *_backend, const char *old_
        repo = backend->repo;
 
        if ((error = git_reference__normalize_name(
-               &normalized, new_name, GIT_REF_FORMAT_ALLOW_ONELEVEL)) < 0)
+               &normalized, new_name, GIT_REFERENCE_FORMAT_ALLOW_ONELEVEL)) < 0)
                        return error;
 
        if (git_buf_joinpath(&temp_path, repo->gitdir, GIT_REFLOG_DIR) < 0)
@@ -1937,12 +2014,12 @@ static int refdb_reflog_fs__rename(git_refdb_backend *_backend, const char *old_
        p_close(fd);
 
        if (p_rename(git_buf_cstr(&old_path), git_buf_cstr(&temp_path)) < 0) {
-               giterr_set(GITERR_OS, "failed to rename reflog for %s", new_name);
+               git_error_set(GIT_ERROR_OS, "failed to rename reflog for %s", new_name);
                error = -1;
                goto cleanup;
        }
 
-       if (git_path_isdir(git_buf_cstr(&new_path)) && 
+       if (git_path_isdir(git_buf_cstr(&new_path)) &&
                (git_futils_rmdir_r(git_buf_cstr(&new_path), NULL, GIT_RMDIR_SKIP_NONEMPTY) < 0)) {
                error = -1;
                goto cleanup;
@@ -1954,41 +2031,42 @@ static int refdb_reflog_fs__rename(git_refdb_backend *_backend, const char *old_
        }
 
        if (p_rename(git_buf_cstr(&temp_path), git_buf_cstr(&new_path)) < 0) {
-               giterr_set(GITERR_OS, "failed to rename reflog for %s", new_name);
+               git_error_set(GIT_ERROR_OS, "failed to rename reflog for %s", new_name);
                error = -1;
        }
 
 cleanup:
-       git_buf_free(&temp_path);
-       git_buf_free(&old_path);
-       git_buf_free(&new_path);
-       git_buf_free(&normalized);
+       git_buf_dispose(&temp_path);
+       git_buf_dispose(&old_path);
+       git_buf_dispose(&new_path);
+       git_buf_dispose(&normalized);
 
        return error;
 }
 
 static int refdb_reflog_fs__delete(git_refdb_backend *_backend, const char *name)
 {
-       int error;
+       refdb_fs_backend *backend = (refdb_fs_backend *) _backend;
        git_buf path = GIT_BUF_INIT;
-
-       git_repository *repo;
-       refdb_fs_backend *backend;
+       int error;
 
        assert(_backend && name);
 
-       backend = (refdb_fs_backend *) _backend;
-       repo = backend->repo;
+       if ((error = retrieve_reflog_path(&path, backend->repo, name)) < 0)
+               goto out;
+
+       if (!git_path_exists(path.ptr))
+               goto out;
 
-       error = retrieve_reflog_path(&path, repo, name);
+       if ((error = p_unlink(path.ptr)) < 0)
+               goto out;
 
-       if (!error && git_path_exists(path.ptr))
-               error = p_unlink(path.ptr);
+       refdb_fs_backend__try_delete_empty_ref_hierarchie(backend, name, true);
 
-       git_buf_free(&path);
+out:
+       git_buf_dispose(&path);
 
        return error;
-
 }
 
 int git_refdb_backend_fs(
@@ -2000,7 +2078,7 @@ int git_refdb_backend_fs(
        refdb_fs_backend *backend;
 
        backend = git__calloc(1, sizeof(refdb_fs_backend));
-       GITERR_CHECK_ALLOC(backend);
+       GIT_ERROR_CHECK_ALLOC(backend);
 
        backend->repo = repository;
 
@@ -2024,7 +2102,7 @@ int git_refdb_backend_fs(
                        NULL, NULL, packref_cmp, git_buf_cstr(&gitpath)) < 0)
                goto fail;
 
-       git_buf_free(&gitpath);
+       git_buf_dispose(&gitpath);
 
        if (!git_repository__cvar(&t, backend->repo, GIT_CVAR_IGNORECASE) && t) {
                backend->iterator_flags |= GIT_ITERATOR_IGNORE_CASE;
@@ -2060,7 +2138,7 @@ int git_refdb_backend_fs(
        return 0;
 
 fail:
-       git_buf_free(&gitpath);
+       git_buf_dispose(&gitpath);
        git__free(backend->gitpath);
        git__free(backend->commonpath);
        git__free(backend);
index 938999218ddd96bea7c24fdc65b9cc5bee381e22..1834a27362080052078b6fe86acfd9c052c42fc1 100644 (file)
@@ -81,7 +81,7 @@ int git_reflog_append(git_reflog *reflog, const git_oid *new_oid, const git_sign
        assert(reflog && new_oid && committer);
 
        entry = git__calloc(1, sizeof(git_reflog_entry));
-       GITERR_CHECK_ALLOC(entry);
+       GIT_ERROR_CHECK_ALLOC(entry);
 
        if ((git_signature_dup(&entry->committer, committer)) < 0)
                goto cleanup;
@@ -94,7 +94,7 @@ int git_reflog_append(git_reflog *reflog, const git_oid *new_oid, const git_sign
 
                if (newline) {
                        if (newline[1] != '\0') {
-                               giterr_set(GITERR_INVALID, "reflog message cannot contain newline");
+                               git_error_set(GIT_ERROR_INVALID, "reflog message cannot contain newline");
                                goto cleanup;
                        }
 
@@ -194,7 +194,7 @@ int git_reflog_drop(git_reflog *reflog, size_t idx, int rewrite_previous_entry)
        entry = (git_reflog_entry *)git_reflog_entry_byindex(reflog, idx);
 
        if (entry == NULL) {
-               giterr_set(GITERR_REFERENCE, "no reflog entry at index %"PRIuZ, idx);
+               git_error_set(GIT_ERROR_REFERENCE, "no reflog entry at index %"PRIuZ, idx);
                return GIT_ENOTFOUND;
        }
 
index c42968359b56ad21ecd23a346a69d3bcee3bfc71..644bc2e6826807d60734ad00615bae9239a59d4d 100644 (file)
@@ -59,7 +59,7 @@ git_reference *git_reference__alloc_symbolic(
        if (!ref)
                return NULL;
 
-       ref->type = GIT_REF_SYMBOLIC;
+       ref->type = GIT_REFERENCE_SYMBOLIC;
 
        if ((ref->target.symbolic = git__strdup(target)) == NULL) {
                git__free(ref);
@@ -82,7 +82,7 @@ git_reference *git_reference__alloc(
        if (!ref)
                return NULL;
 
-       ref->type = GIT_REF_OID;
+       ref->type = GIT_REFERENCE_DIRECT;
        git_oid_cpy(&ref->target.oid, oid);
 
        if (peel != NULL)
@@ -108,12 +108,12 @@ git_reference *git_reference__set_name(
 
 int git_reference_dup(git_reference **dest, git_reference *source)
 {
-       if (source->type == GIT_REF_SYMBOLIC)
+       if (source->type == GIT_REFERENCE_SYMBOLIC)
                *dest = git_reference__alloc_symbolic(source->name, source->target.symbolic);
        else
                *dest = git_reference__alloc(source->name, &source->target.oid, &source->peel);
 
-       GITERR_CHECK_ALLOC(*dest);
+       GIT_ERROR_CHECK_ALLOC(*dest);
 
        (*dest)->db = source->db;
        GIT_REFCOUNT_INC((*dest)->db);
@@ -126,7 +126,7 @@ void git_reference_free(git_reference *reference)
        if (reference == NULL)
                return;
 
-       if (reference->type == GIT_REF_SYMBOLIC)
+       if (reference->type == GIT_REFERENCE_SYMBOLIC)
                git__free(reference->target.symbolic);
 
        if (reference->db)
@@ -140,7 +140,7 @@ int git_reference_delete(git_reference *ref)
        const git_oid *old_id = NULL;
        const char *old_target = NULL;
 
-       if (ref->type == GIT_REF_OID)
+       if (ref->type == GIT_REFERENCE_DIRECT)
                old_id = &ref->target.oid;
        else
                old_target = ref->target.symbolic;
@@ -186,14 +186,14 @@ static int reference_normalize_for_repo(
        bool validate)
 {
        int precompose;
-       unsigned int flags = GIT_REF_FORMAT_ALLOW_ONELEVEL;
+       unsigned int flags = GIT_REFERENCE_FORMAT_ALLOW_ONELEVEL;
 
        if (!git_repository__cvar(&precompose, repo, GIT_CVAR_PRECOMPOSE) &&
                precompose)
-               flags |= GIT_REF_FORMAT__PRECOMPOSE_UNICODE;
+               flags |= GIT_REFERENCE_FORMAT__PRECOMPOSE_UNICODE;
 
        if (!validate)
-               flags |= GIT_REF_FORMAT__VALIDATION_DISABLE;
+               flags |= GIT_REFERENCE_FORMAT__VALIDATION_DISABLE;
 
        return git_reference_normalize_name(out, GIT_REFNAME_MAX, name, flags);
 }
@@ -205,7 +205,7 @@ int git_reference_lookup_resolved(
        int max_nesting)
 {
        git_refname_t scan_name;
-       git_ref_t scan_type;
+       git_reference_t scan_type;
        int error = 0, nesting;
        git_reference *ref = NULL;
        git_refdb *refdb;
@@ -219,7 +219,7 @@ int git_reference_lookup_resolved(
        else if (max_nesting < 0)
                max_nesting = DEFAULT_NESTING_LEVEL;
 
-       scan_type = GIT_REF_SYMBOLIC;
+       scan_type = GIT_REFERENCE_SYMBOLIC;
 
        if ((error = reference_normalize_for_repo(scan_name, repo, name, true)) < 0)
                return error;
@@ -228,7 +228,7 @@ int git_reference_lookup_resolved(
                return error;
 
        for (nesting = max_nesting;
-                nesting >= 0 && scan_type == GIT_REF_SYMBOLIC;
+                nesting >= 0 && scan_type == GIT_REFERENCE_SYMBOLIC;
                 nesting--)
        {
                if (nesting != max_nesting) {
@@ -242,8 +242,8 @@ int git_reference_lookup_resolved(
                scan_type = ref->type;
        }
 
-       if (scan_type != GIT_REF_OID && max_nesting != 0) {
-               giterr_set(GITERR_REFERENCE,
+       if (scan_type != GIT_REFERENCE_DIRECT && max_nesting != 0) {
+               git_error_set(GIT_ERROR_REFERENCE,
                        "cannot resolve reference (>%u levels deep)", max_nesting);
                git_reference_free(ref);
                return -1;
@@ -282,7 +282,7 @@ int git_reference__read_head(
 
 out:
        git__free(name);
-       git_buf_free(&reference);
+       git_buf_dispose(&reference);
 
        return error;
 }
@@ -339,22 +339,22 @@ int git_reference_dwim(git_reference **out, git_repository *repo, const char *re
 cleanup:
        if (error && !foundvalid) {
                /* never found a valid reference name */
-               giterr_set(GITERR_REFERENCE,
+               git_error_set(GIT_ERROR_REFERENCE,
                        "could not use '%s' as valid reference name", git_buf_cstr(&name));
        }
 
        if (error == GIT_ENOTFOUND)
-               giterr_set(GITERR_REFERENCE, "no reference found for shorthand '%s'", refname);
+               git_error_set(GIT_ERROR_REFERENCE, "no reference found for shorthand '%s'", refname);
 
-       git_buf_free(&name);
-       git_buf_free(&refnamebuf);
+       git_buf_dispose(&name);
+       git_buf_dispose(&refnamebuf);
        return error;
 }
 
 /**
  * Getters
  */
-git_ref_t git_reference_type(const git_reference *ref)
+git_reference_t git_reference_type(const git_reference *ref)
 {
        assert(ref);
        return ref->type;
@@ -376,7 +376,7 @@ const git_oid *git_reference_target(const git_reference *ref)
 {
        assert(ref);
 
-       if (ref->type != GIT_REF_OID)
+       if (ref->type != GIT_REFERENCE_DIRECT)
                return NULL;
 
        return &ref->target.oid;
@@ -386,7 +386,7 @@ const git_oid *git_reference_target_peel(const git_reference *ref)
 {
        assert(ref);
 
-       if (ref->type != GIT_REF_OID || git_oid_iszero(&ref->peel))
+       if (ref->type != GIT_REFERENCE_DIRECT || git_oid_iszero(&ref->peel))
                return NULL;
 
        return &ref->peel;
@@ -396,7 +396,7 @@ const char *git_reference_symbolic_target(const git_reference *ref)
 {
        assert(ref);
 
-       if (ref->type != GIT_REF_SYMBOLIC)
+       if (ref->type != GIT_REFERENCE_SYMBOLIC)
                return NULL;
 
        return ref->target.symbolic;
@@ -436,8 +436,8 @@ static int reference__create(
        if (oid != NULL) {
                assert(symbolic == NULL);
 
-               if (!git_object__is_valid(repo, oid, GIT_OBJ_ANY)) {
-                       giterr_set(GITERR_REFERENCE,
+               if (!git_object__is_valid(repo, oid, GIT_OBJECT_ANY)) {
+                       git_error_set(GIT_ERROR_REFERENCE,
                                "target OID for the reference doesn't exist on the repository");
                        return -1;
                }
@@ -455,7 +455,7 @@ static int reference__create(
                ref = git_reference__alloc_symbolic(normalized, normalized_target);
        }
 
-       GITERR_CHECK_ALLOC(ref);
+       GIT_ERROR_CHECK_ALLOC(ref);
 
        if ((error = git_refdb_write(refdb, ref, force, signature, log_message, old_id, old_target)) < 0) {
                git_reference_free(ref);
@@ -566,10 +566,10 @@ int git_reference_symbolic_create(
 
 static int ensure_is_an_updatable_direct_reference(git_reference *ref)
 {
-       if (ref->type == GIT_REF_OID)
+       if (ref->type == GIT_REFERENCE_DIRECT)
                return 0;
 
-       giterr_set(GITERR_REFERENCE, "cannot set OID on symbolic reference");
+       git_error_set(GIT_ERROR_REFERENCE, "cannot set OID on symbolic reference");
        return -1;
 }
 
@@ -594,10 +594,10 @@ int git_reference_set_target(
 
 static int ensure_is_an_updatable_symbolic_reference(git_reference *ref)
 {
-       if (ref->type == GIT_REF_SYMBOLIC)
+       if (ref->type == GIT_REFERENCE_SYMBOLIC)
                return 0;
 
-       giterr_set(GITERR_REFERENCE, "cannot set symbolic target on a direct reference");
+       git_error_set(GIT_ERROR_REFERENCE, "cannot set symbolic target on a direct reference");
        return -1;
 }
 
@@ -631,7 +631,7 @@ static int update_wt_heads(git_repository *repo, const char *path, void *payload
        int error;
 
        if ((error = git_reference__read_head(&head, repo, path)) < 0) {
-               giterr_set(GITERR_REFERENCE, "could not read HEAD when renaming references");
+               git_error_set(GIT_ERROR_REFERENCE, "could not read HEAD when renaming references");
                goto out;
        }
 
@@ -640,7 +640,7 @@ static int update_wt_heads(git_repository *repo, const char *path, void *payload
                goto out;
        }
 
-       if (git_reference_type(head) != GIT_REF_SYMBOLIC ||
+       if (git_reference_type(head) != GIT_REFERENCE_SYMBOLIC ||
            git__strcmp(head->target.symbolic, data->old_name) != 0) {
                error = 0;
                goto out;
@@ -648,7 +648,7 @@ static int update_wt_heads(git_repository *repo, const char *path, void *payload
 
        /* Update HEAD it was pointing to the reference being renamed */
        if ((error = git_repository_create_head(gitdir, data->new_name)) < 0) {
-               giterr_set(GITERR_REFERENCE, "failed to update HEAD after renaming reference");
+               git_error_set(GIT_ERROR_REFERENCE, "failed to update HEAD after renaming reference");
                goto out;
        }
 
@@ -709,6 +709,8 @@ int git_reference_rename(
        git_signature *who;
        int error;
 
+       assert(out && ref);
+
        if ((error = git_reference__log_signature(&who, ref->db->repo)) < 0)
                return error;
 
@@ -721,14 +723,14 @@ int git_reference_rename(
 int git_reference_resolve(git_reference **ref_out, const git_reference *ref)
 {
        switch (git_reference_type(ref)) {
-       case GIT_REF_OID:
+       case GIT_REFERENCE_DIRECT:
                return git_reference_lookup(ref_out, ref->db->repo, ref->name);
 
-       case GIT_REF_SYMBOLIC:
+       case GIT_REFERENCE_SYMBOLIC:
                return git_reference_lookup_resolved(ref_out, ref->db->repo, ref->target.symbolic, -1);
 
        default:
-               giterr_set(GITERR_REFERENCE, "invalid reference");
+               git_error_set(GIT_ERROR_REFERENCE, "invalid reference");
                return -1;
        }
 }
@@ -747,7 +749,7 @@ int git_reference_foreach(
 
        while (!(error = git_reference_next(&ref, iter))) {
                if ((error = callback(ref, payload)) != 0) {
-                       giterr_set_after_callback(error);
+                       git_error_set_after_callback(error);
                        break;
                }
        }
@@ -773,7 +775,7 @@ int git_reference_foreach_name(
 
        while (!(error = git_reference_next_name(&refname, iter))) {
                if ((error = callback(refname, payload)) != 0) {
-                       giterr_set_after_callback(error);
+                       git_error_set_after_callback(error);
                        break;
                }
        }
@@ -800,7 +802,7 @@ int git_reference_foreach_glob(
 
        while (!(error = git_reference_next_name(&refname, iter))) {
                if ((error = callback(refname, payload)) != 0) {
-                       giterr_set_after_callback(error);
+                       git_error_set_after_callback(error);
                        break;
                }
        }
@@ -854,7 +856,7 @@ void git_reference_iterator_free(git_reference_iterator *iter)
 static int cb__reflist_add(const char *ref, void *data)
 {
        char *name = git__strdup(ref);
-       GITERR_CHECK_ALLOC(name);
+       GIT_ERROR_CHECK_ALLOC(name);
        return git_vector_insert((git_vector *)data, name);
 }
 
@@ -968,7 +970,7 @@ int git_reference__normalize_name(
        int segment_len, segments_count = 0, error = GIT_EINVALIDSPEC;
        unsigned int process_flags;
        bool normalize = (buf != NULL);
-       bool validate = (flags & GIT_REF_FORMAT__VALIDATION_DISABLE) == 0;
+       bool validate = (flags & GIT_REFERENCE_FORMAT__VALIDATION_DISABLE) == 0;
 
 #ifdef GIT_USE_ICONV
        git_path_iconv_t ic = GIT_PATH_ICONV_INIT;
@@ -986,7 +988,7 @@ int git_reference__normalize_name(
                git_buf_clear(buf);
 
 #ifdef GIT_USE_ICONV
-       if ((flags & GIT_REF_FORMAT__PRECOMPOSE_UNICODE) != 0) {
+       if ((flags & GIT_REFERENCE_FORMAT__PRECOMPOSE_UNICODE) != 0) {
                size_t namelen = strlen(current);
                if ((error = git_path_iconv_init_precompose(&ic)) < 0 ||
                        (error = git_path_iconv(&ic, &current, &namelen)) < 0)
@@ -1005,11 +1007,11 @@ int git_reference__normalize_name(
        while (true) {
                segment_len = ensure_segment_validity(current);
                if (segment_len < 0) {
-                       if ((process_flags & GIT_REF_FORMAT_REFSPEC_PATTERN) &&
+                       if ((process_flags & GIT_REFERENCE_FORMAT_REFSPEC_PATTERN) &&
                                        current[0] == '*' &&
                                        (current[1] == '\0' || current[1] == '/')) {
                                /* Accept one wildcard as a full refname component. */
-                               process_flags &= ~GIT_REF_FORMAT_REFSPEC_PATTERN;
+                               process_flags &= ~GIT_REFERENCE_FORMAT_REFSPEC_PATTERN;
                                segment_len = 1;
                        } else
                                goto cleanup;
@@ -1054,13 +1056,13 @@ int git_reference__normalize_name(
        if (current[segment_len - 1] == '/')
                goto cleanup;
 
-       if ((segments_count == 1 ) && !(flags & GIT_REF_FORMAT_ALLOW_ONELEVEL))
+       if ((segments_count == 1 ) && !(flags & GIT_REFERENCE_FORMAT_ALLOW_ONELEVEL))
                goto cleanup;
 
        if ((segments_count == 1 ) &&
-           !(flags & GIT_REF_FORMAT_REFSPEC_SHORTHAND) &&
+           !(flags & GIT_REFERENCE_FORMAT_REFSPEC_SHORTHAND) &&
                !(is_all_caps_and_underscore(name, (size_t)segment_len) ||
-                       ((flags & GIT_REF_FORMAT_REFSPEC_PATTERN) && !strcmp("*", name))))
+                       ((flags & GIT_REFERENCE_FORMAT_REFSPEC_PATTERN) && !strcmp("*", name))))
                        goto cleanup;
 
        if ((segments_count > 1)
@@ -1071,12 +1073,12 @@ int git_reference__normalize_name(
 
 cleanup:
        if (error == GIT_EINVALIDSPEC)
-               giterr_set(
-                       GITERR_REFERENCE,
+               git_error_set(
+                       GIT_ERROR_REFERENCE,
                        "the given reference name '%s' is not valid", name);
 
        if (error && normalize)
-               git_buf_free(buf);
+               git_buf_dispose(buf);
 
 #ifdef GIT_USE_ICONV
        git_path_iconv_clear(&ic);
@@ -1098,8 +1100,8 @@ int git_reference_normalize_name(
                goto cleanup;
 
        if (git_buf_len(&buf) > buffer_size - 1) {
-               giterr_set(
-               GITERR_REFERENCE,
+               git_error_set(
+               GIT_ERROR_REFERENCE,
                "the provided buffer is too short to hold the normalization of '%s'", name);
                error = GIT_EBUFS;
                goto cleanup;
@@ -1110,17 +1112,17 @@ int git_reference_normalize_name(
        error = 0;
 
 cleanup:
-       git_buf_free(&buf);
+       git_buf_dispose(&buf);
        return error;
 }
 
-#define GIT_REF_TYPEMASK (GIT_REF_OID | GIT_REF_SYMBOLIC)
+#define GIT_REFERENCE_TYPEMASK (GIT_REFERENCE_DIRECT | GIT_REFERENCE_SYMBOLIC)
 
 int git_reference_cmp(
        const git_reference *ref1,
        const git_reference *ref2)
 {
-       git_ref_t type1, type2;
+       git_reference_t type1, type2;
        assert(ref1 && ref2);
 
        type1 = git_reference_type(ref1);
@@ -1128,9 +1130,9 @@ int git_reference_cmp(
 
        /* let's put symbolic refs before OIDs */
        if (type1 != type2)
-               return (type1 == GIT_REF_SYMBOLIC) ? -1 : 1;
+               return (type1 == GIT_REFERENCE_SYMBOLIC) ? -1 : 1;
 
-       if (type1 == GIT_REF_SYMBOLIC)
+       if (type1 == GIT_REFERENCE_SYMBOLIC)
                return strcmp(ref1->target.symbolic, ref2->target.symbolic);
 
        return git_oid__cmp(&ref1->target.oid, &ref2->target.oid);
@@ -1146,7 +1148,7 @@ static int get_terminal(git_reference **out, git_repository *repo, const char *r
        int error = 0;
 
        if (nesting > MAX_NESTING_LEVEL) {
-               giterr_set(GITERR_REFERENCE, "reference chain too deep (%d)", nesting);
+               git_error_set(GIT_ERROR_REFERENCE, "reference chain too deep (%d)", nesting);
                return GIT_ENOTFOUND;
        }
 
@@ -1156,7 +1158,7 @@ static int get_terminal(git_reference **out, git_repository *repo, const char *r
                return error;
        }
 
-       if (git_reference_type(ref) == GIT_REF_OID) {
+       if (git_reference_type(ref) == GIT_REFERENCE_DIRECT) {
                *out = ref;
                error = 0;
        } else {
@@ -1195,16 +1197,16 @@ int git_reference__update_terminal(
 
        /* found a dangling symref */
        if (error == GIT_ENOTFOUND && ref) {
-               assert(git_reference_type(ref) == GIT_REF_SYMBOLIC);
-               giterr_clear();
+               assert(git_reference_type(ref) == GIT_REFERENCE_SYMBOLIC);
+               git_error_clear();
                error = reference__create(&ref2, repo, ref->target.symbolic, oid, NULL, 0, to_use,
                                          log_message, NULL, NULL);
        } else if (error == GIT_ENOTFOUND) {
-               giterr_clear();
+               git_error_clear();
                error = reference__create(&ref2, repo, ref_name, oid, NULL, 0, to_use,
                                          log_message, NULL, NULL);
        }  else if (error == 0) {
-               assert(git_reference_type(ref) == GIT_REF_OID);
+               assert(git_reference_type(ref) == GIT_REFERENCE_DIRECT);
                error = reference__create(&ref2, repo, ref->name, oid, NULL, 1, to_use,
                                          log_message, &ref->target.oid, NULL);
        }
@@ -1262,7 +1264,7 @@ int git_reference__update_for_commit(
 
 done:
        git_reference_free(ref_new);
-       git_buf_free(&reflog_msg);
+       git_buf_dispose(&reflog_msg);
        git_commit_free(commit);
        return error;
 }
@@ -1337,30 +1339,33 @@ int git_reference_is_note(const git_reference *ref)
        return git_reference__is_note(ref->name);
 }
 
-static int peel_error(int error, git_reference *ref, const char* msg)
+static int peel_error(int error, const git_reference *ref, const char* msg)
 {
-       giterr_set(
-               GITERR_INVALID,
+       git_error_set(
+               GIT_ERROR_INVALID,
                "the reference '%s' cannot be peeled - %s", git_reference_name(ref), msg);
        return error;
 }
 
 int git_reference_peel(
        git_object **peeled,
-       git_reference *ref,
-       git_otype target_type)
+       const git_reference *ref,
+       git_object_t target_type)
 {
-       git_reference *resolved = NULL;
+       const git_reference *resolved = NULL;
+       git_reference *allocated = NULL;
        git_object *target = NULL;
        int error;
 
        assert(ref);
 
-       if (ref->type == GIT_REF_OID) {
+       if (ref->type == GIT_REFERENCE_DIRECT) {
                resolved = ref;
        } else {
-               if ((error = git_reference_resolve(&resolved, ref)) < 0)
+               if ((error = git_reference_resolve(&allocated, ref)) < 0)
                        return peel_error(error, ref, "Cannot resolve reference");
+
+               resolved = allocated;
        }
 
        /*
@@ -1369,12 +1374,12 @@ int git_reference_peel(
         * to a commit. So we only want to use the peeled value
         * if it is not zero and the target is not a tag.
         */
-       if (target_type != GIT_OBJ_TAG && !git_oid_iszero(&resolved->peel)) {
+       if (target_type != GIT_OBJECT_TAG && !git_oid_iszero(&resolved->peel)) {
                error = git_object_lookup(&target,
-                       git_reference_owner(ref), &resolved->peel, GIT_OBJ_ANY);
+                       git_reference_owner(ref), &resolved->peel, GIT_OBJECT_ANY);
        } else {
                error = git_object_lookup(&target,
-                       git_reference_owner(ref), &resolved->target.oid, GIT_OBJ_ANY);
+                       git_reference_owner(ref), &resolved->target.oid, GIT_OBJECT_ANY);
        }
 
        if (error < 0) {
@@ -1382,16 +1387,14 @@ int git_reference_peel(
                goto cleanup;
        }
 
-       if (target_type == GIT_OBJ_ANY && git_object_type(target) != GIT_OBJ_TAG)
+       if (target_type == GIT_OBJECT_ANY && git_object_type(target) != GIT_OBJECT_TAG)
                error = git_object_dup(peeled, target);
        else
                error = git_object_peel(peeled, target, target_type);
 
 cleanup:
        git_object_free(target);
-
-       if (resolved != ref)
-               git_reference_free(resolved);
+       git_reference_free(allocated);
 
        return error;
 }
@@ -1399,7 +1402,7 @@ cleanup:
 int git_reference__is_valid_name(const char *refname, unsigned int flags)
 {
        if (git_reference__normalize_name(NULL, refname, flags) < 0) {
-               giterr_clear();
+               git_error_clear();
                return false;
        }
 
@@ -1408,7 +1411,7 @@ int git_reference__is_valid_name(const char *refname, unsigned int flags)
 
 int git_reference_is_valid_name(const char *refname)
 {
-       return git_reference__is_valid_name(refname, GIT_REF_FORMAT_ALLOW_ONELEVEL);
+       return git_reference__is_valid_name(refname, GIT_REFERENCE_FORMAT_ALLOW_ONELEVEL);
 }
 
 const char *git_reference__shorthand(const char *name)
@@ -1430,3 +1433,27 @@ const char *git_reference_shorthand(const git_reference *ref)
 {
        return git_reference__shorthand(ref->name);
 }
+
+int git_reference__is_unborn_head(bool *unborn, const git_reference *ref, git_repository *repo)
+{
+       int error;
+       git_reference *tmp_ref;
+       assert(unborn && ref && repo);
+
+       if (ref->type == GIT_REFERENCE_DIRECT) {
+               *unborn = 0;
+               return 0;
+       }
+
+       error = git_reference_lookup_resolved(&tmp_ref, repo, ref->name, -1);
+       git_reference_free(tmp_ref);
+
+       if (error != 0 && error != GIT_ENOTFOUND)
+               return error;
+       else if (error == GIT_ENOTFOUND && git__strcmp(ref->name, GIT_HEAD_FILE) == 0)
+               *unborn = true;
+       else
+               *unborn = false;
+
+       return 0;
+}
index 84daf8b53bd4540a307fd991c2dc3c6e6a414974..46df95eba549eba9610f92f1e37c57f59fb13254 100644 (file)
@@ -55,8 +55,8 @@ extern bool git_reference__enable_symbolic_ref_target_validation;
 #define GIT_STASH_FILE "stash"
 #define GIT_REFS_STASH_FILE GIT_REFS_DIR GIT_STASH_FILE
 
-#define GIT_REF_FORMAT__PRECOMPOSE_UNICODE     (1u << 16)
-#define GIT_REF_FORMAT__VALIDATION_DISABLE     (1u << 15)
+#define GIT_REFERENCE_FORMAT__PRECOMPOSE_UNICODE       (1u << 16)
+#define GIT_REFERENCE_FORMAT__VALIDATION_DISABLE       (1u << 15)
 
 #define GIT_REFNAME_MAX 1024
 
@@ -64,7 +64,7 @@ typedef char git_refname_t[GIT_REFNAME_MAX];
 
 struct git_reference {
        git_refdb *db;
-       git_ref_t type;
+       git_reference_t type;
 
        union {
                git_oid oid;
@@ -136,4 +136,6 @@ int git_reference__update_for_commit(
        const git_oid *id,
        const char *operation);
 
+int git_reference__is_unborn_head(bool *unborn, const git_reference *ref, git_repository *repo);
+
 #endif
index 943a9c76adfd061fb3fff4369956f098d2ff0c9c..eaf0c2c833c732d60b2738baed6a69ae8ed072a9 100644 (file)
@@ -16,7 +16,7 @@
 
 int git_refspec__parse(git_refspec *refspec, const char *input, bool is_fetch)
 {
-       // Ported from https://github.com/git/git/blob/f06d47e7e0d9db709ee204ed13a8a7486149f494/remote.c#L518-636
+       /* Ported from https://github.com/git/git/blob/f06d47e7e0d9db709ee204ed13a8a7486149f494/remote.c#L518-636 */
 
        size_t llen;
        int is_glob = 0;
@@ -43,11 +43,11 @@ int git_refspec__parse(git_refspec *refspec, const char *input, bool is_fetch)
        if (!is_fetch && rhs == lhs && rhs[1] == '\0') {
                refspec->matching = 1;
                refspec->string = git__strdup(input);
-               GITERR_CHECK_ALLOC(refspec->string);
+               GIT_ERROR_CHECK_ALLOC(refspec->string);
                refspec->src = git__strdup("");
-               GITERR_CHECK_ALLOC(refspec->src);
+               GIT_ERROR_CHECK_ALLOC(refspec->src);
                refspec->dst = git__strdup("");
-               GITERR_CHECK_ALLOC(refspec->dst);
+               GIT_ERROR_CHECK_ALLOC(refspec->dst);
                return 0;
        }
 
@@ -69,8 +69,9 @@ int git_refspec__parse(git_refspec *refspec, const char *input, bool is_fetch)
 
        refspec->pattern = is_glob;
        refspec->src = git__strndup(lhs, llen);
-       flags = GIT_REF_FORMAT_ALLOW_ONELEVEL | GIT_REF_FORMAT_REFSPEC_SHORTHAND
-               | (is_glob ? GIT_REF_FORMAT_REFSPEC_PATTERN : 0);
+       flags = GIT_REFERENCE_FORMAT_ALLOW_ONELEVEL |
+               GIT_REFERENCE_FORMAT_REFSPEC_SHORTHAND |
+               (is_glob ? GIT_REFERENCE_FORMAT_REFSPEC_PATTERN : 0);
 
        if (is_fetch) {
                /*
@@ -131,24 +132,24 @@ int git_refspec__parse(git_refspec *refspec, const char *input, bool is_fetch)
                /* if the RHS is empty, then it's a copy of the LHS */
                if (!refspec->dst) {
                        refspec->dst = git__strdup(refspec->src);
-                       GITERR_CHECK_ALLOC(refspec->dst);
+                       GIT_ERROR_CHECK_ALLOC(refspec->dst);
                }
        }
 
        refspec->string = git__strdup(input);
-       GITERR_CHECK_ALLOC(refspec->string);
+       GIT_ERROR_CHECK_ALLOC(refspec->string);
 
        return 0;
 
  invalid:
-        giterr_set(
-                GITERR_INVALID,
+        git_error_set(
+                GIT_ERROR_INVALID,
                 "'%s' is not a valid refspec.", input);
-        git_refspec__free(refspec);
+        git_refspec__dispose(refspec);
        return -1;
 }
 
-void git_refspec__free(git_refspec *refspec)
+void git_refspec__dispose(git_refspec *refspec)
 {
        if (refspec == NULL)
                return;
@@ -160,6 +161,31 @@ void git_refspec__free(git_refspec *refspec)
        memset(refspec, 0x0, sizeof(git_refspec));
 }
 
+int git_refspec_parse(git_refspec **out_refspec, const char *input, int is_fetch)
+{
+       git_refspec *refspec;
+       assert(out_refspec && input);
+
+       *out_refspec = NULL;
+
+       refspec = git__malloc(sizeof(git_refspec));
+       GIT_ERROR_CHECK_ALLOC(refspec);
+
+       if (git_refspec__parse(refspec, input, !!is_fetch) != 0) {
+               git__free(refspec);
+               return -1;
+       }
+
+       *out_refspec = refspec;
+       return 0;
+}
+
+void git_refspec_free(git_refspec *refspec)
+{
+       git_refspec__dispose(refspec);
+       git__free(refspec);
+}
+
 const char *git_refspec_src(const git_refspec *refspec)
 {
        return refspec == NULL ? NULL : refspec->src;
@@ -247,12 +273,12 @@ int git_refspec_transform(git_buf *out, const git_refspec *spec, const char *nam
        git_buf_sanitize(out);
 
        if (!git_refspec_src_matches(spec, name)) {
-               giterr_set(GITERR_INVALID, "ref '%s' doesn't match the source", name);
+               git_error_set(GIT_ERROR_INVALID, "ref '%s' doesn't match the source", name);
                return -1;
        }
 
        if (!spec->pattern)
-               return git_buf_puts(out, spec->dst);
+               return git_buf_puts(out, spec->dst ? spec->dst : "");
 
        return refspec_transform(out, spec->src, spec->dst, name);
 }
@@ -263,7 +289,7 @@ int git_refspec_rtransform(git_buf *out, const git_refspec *spec, const char *na
        git_buf_sanitize(out);
 
        if (!git_refspec_dst_matches(spec, name)) {
-               giterr_set(GITERR_INVALID, "ref '%s' doesn't match the destination", name);
+               git_error_set(GIT_ERROR_INVALID, "ref '%s' doesn't match the destination", name);
                return -1;
        }
 
@@ -316,7 +342,7 @@ int git_refspec__dwim_one(git_vector *out, git_refspec *spec, git_vector *refs)
        assert(out && spec && refs);
 
        cur = git__calloc(1, sizeof(git_refspec));
-       GITERR_CHECK_ALLOC(cur);
+       GIT_ERROR_CHECK_ALLOC(cur);
 
        cur->force = spec->force;
        cur->push = spec->push;
@@ -329,7 +355,7 @@ int git_refspec__dwim_one(git_vector *out, git_refspec *spec, git_vector *refs)
                for (j = 0; formatters[j]; j++) {
                        git_buf_clear(&buf);
                        git_buf_printf(&buf, formatters[j], spec->src);
-                       GITERR_CHECK_ALLOC_BUF(&buf);
+                       GIT_ERROR_CHECK_ALLOC_BUF(&buf);
 
                        key.name = (char *) git_buf_cstr(&buf);
                        if (!git_vector_search(&pos, refs, &key)) {
@@ -342,7 +368,7 @@ int git_refspec__dwim_one(git_vector *out, git_refspec *spec, git_vector *refs)
        /* No shorthands found, copy over the name */
        if (cur->src == NULL && spec->src != NULL) {
                cur->src = git__strdup(spec->src);
-               GITERR_CHECK_ALLOC(cur->src);
+               GIT_ERROR_CHECK_ALLOC(cur->src);
        }
 
        if (spec->dst && git__prefixcmp(spec->dst, GIT_REFS_DIR)) {
@@ -354,16 +380,16 @@ int git_refspec__dwim_one(git_vector *out, git_refspec *spec, git_vector *refs)
                }
 
                git_buf_puts(&buf, spec->dst);
-               GITERR_CHECK_ALLOC_BUF(&buf);
+               GIT_ERROR_CHECK_ALLOC_BUF(&buf);
 
                cur->dst = git_buf_detach(&buf);
        }
 
-       git_buf_free(&buf);
+       git_buf_dispose(&buf);
 
        if (cur->dst == NULL && spec->dst != NULL) {
                cur->dst = git__strdup(spec->dst);
-               GITERR_CHECK_ALLOC(cur->dst);
+               GIT_ERROR_CHECK_ALLOC(cur->dst);
        }
 
        return git_vector_insert(out, cur);
index fd2d8b312204cf992ee22473bffc1cce40e97dbe..2b4111f0419f7736b2d20fba63c27d5b4e7542c2 100644 (file)
@@ -30,7 +30,7 @@ int git_refspec__parse(
        const char *str,
        bool is_fetch);
 
-void git_refspec__free(git_refspec *refspec);
+void git_refspec__dispose(git_refspec *refspec);
 
 int git_refspec__serialize(git_buf *out, const git_refspec *refspec);
 
index 2078dd3e7faaee430232488bb01e4848d15fc8dd..2f0b8c5eeb14865e7489d1618c39b7f163960f80 100644 (file)
@@ -35,7 +35,7 @@ static int add_refspec_to(git_vector *vector, const char *string, bool is_fetch)
        git_refspec *spec;
 
        spec = git__calloc(1, sizeof(git_refspec));
-       GITERR_CHECK_ALLOC(spec);
+       GIT_ERROR_CHECK_ALLOC(spec);
 
        if (git_refspec__parse(spec, string, is_fetch) < 0) {
                git__free(spec);
@@ -44,7 +44,7 @@ static int add_refspec_to(git_vector *vector, const char *string, bool is_fetch)
 
        spec->push = !is_fetch;
        if (git_vector_insert(vector, spec) < 0) {
-               git_refspec__free(spec);
+               git_refspec__dispose(spec);
                git__free(spec);
                return -1;
        }
@@ -67,7 +67,7 @@ static int download_tags_value(git_remote *remote, git_config *cfg)
                return -1;
 
        error = git_config__lookup_entry(&ce, cfg, git_buf_cstr(&buf), false);
-       git_buf_free(&buf);
+       git_buf_dispose(&buf);
 
        if (!error && ce && ce->value) {
                if (!strcmp(ce->value, "--no-tags"))
@@ -85,8 +85,8 @@ static int ensure_remote_name_is_valid(const char *name)
        int error = 0;
 
        if (!git_remote_is_valid_name(name)) {
-               giterr_set(
-                       GITERR_CONFIG,
+               git_error_set(
+                       GIT_ERROR_CONFIG,
                        "'%s' is not a valid remote name.", name ? name : "(null)");
                error = GIT_EINVALIDSPEC;
        }
@@ -111,13 +111,13 @@ static int write_add_refspec(git_repository *repo, const char *name, const char
                return error;
 
        if ((error = git_refspec__parse(&spec, refspec, fetch)) < 0) {
-               if (giterr_last()->klass != GITERR_NOMEMORY)
+               if (git_error_last()->klass != GIT_ERROR_NOMEMORY)
                        error = GIT_EINVALIDSPEC;
 
                return error;
        }
 
-       git_refspec__free(&spec);
+       git_refspec__dispose(&spec);
 
        if ((error = git_buf_printf(&var, fmt, name)) < 0)
                return error;
@@ -132,7 +132,7 @@ static int write_add_refspec(git_repository *repo, const char *name, const char
        }
 
 cleanup:
-       git_buf_free(&var);
+       git_buf_dispose(&var);
        return 0;
 }
 
@@ -168,7 +168,7 @@ static int get_check_cert(int *out, git_repository *repo)
 static int canonicalize_url(git_buf *out, const char *in)
 {
        if (in == NULL || strlen(in) == 0) {
-               giterr_set(GITERR_INVALID, "cannot set empty URL");
+               git_error_set(GIT_ERROR_INVALID, "cannot set empty URL");
                return GIT_EINVALIDSPEC;
        }
 
@@ -189,58 +189,119 @@ static int canonicalize_url(git_buf *out, const char *in)
        return git_buf_puts(out, in);
 }
 
-static int create_internal(git_remote **out, git_repository *repo, const char *name, const char *url, const char *fetch)
+static int default_fetchspec_for_name(git_buf *buf, const char *name)
 {
+       if (git_buf_printf(buf, "+refs/heads/*:refs/remotes/%s/*", name) < 0)
+               return -1;
+
+       return 0;
+}
+
+static int ensure_remote_doesnot_exist(git_repository *repo, const char *name)
+{
+       int error;
        git_remote *remote;
+
+       error = git_remote_lookup(&remote, repo, name);
+
+       if (error == GIT_ENOTFOUND)
+               return 0;
+
+       if (error < 0)
+               return error;
+
+       git_remote_free(remote);
+
+       git_error_set(GIT_ERROR_CONFIG, "remote '%s' already exists", name);
+
+       return GIT_EEXISTS;
+}
+
+int git_remote_create_init_options(git_remote_create_options *opts, unsigned int version)
+{
+       GIT_INIT_STRUCTURE_FROM_TEMPLATE(
+               opts, version, git_remote_create_options, GIT_REMOTE_CREATE_OPTIONS_INIT);
+       return 0;
+}
+
+int git_remote_create_with_opts(git_remote **out, const char *url, const git_remote_create_options *opts)
+{
+       git_remote *remote = NULL;
        git_config *config_ro = NULL, *config_rw;
        git_buf canonical_url = GIT_BUF_INIT;
        git_buf var = GIT_BUF_INIT;
+       git_buf specbuf = GIT_BUF_INIT;
+       const git_remote_create_options dummy_opts = GIT_REMOTE_CREATE_OPTIONS_INIT;
        int error = -1;
 
-       /* repo, name, and fetch are optional */
        assert(out && url);
 
-       if (repo && (error = git_repository_config_snapshot(&config_ro, repo)) < 0)
-               return error;
+       if (!opts) {
+               opts = &dummy_opts;
+       }
+
+       GIT_ERROR_CHECK_VERSION(opts, GIT_REMOTE_CREATE_OPTIONS_VERSION, "git_remote_create_options");
+
+       if (opts->name != NULL) {
+               if ((error = ensure_remote_name_is_valid(opts->name)) < 0)
+                       return error;
+
+               if (opts->repository &&
+                   (error = ensure_remote_doesnot_exist(opts->repository, opts->name)) < 0)
+                       return error;
+       }
+
+       if (opts->repository) {
+               if ((error = git_repository_config_snapshot(&config_ro, opts->repository)) < 0)
+                       goto on_error;
+       }
 
        remote = git__calloc(1, sizeof(git_remote));
-       GITERR_CHECK_ALLOC(remote);
+       GIT_ERROR_CHECK_ALLOC(remote);
 
-       remote->repo = repo;
+       remote->repo = opts->repository;
 
-       if ((error = git_vector_init(&remote->refs, 32, NULL)) < 0 ||
+       if ((error = git_vector_init(&remote->refs, 8, NULL)) < 0 ||
                (error = canonicalize_url(&canonical_url, url)) < 0)
                goto on_error;
 
-       if (repo) {
+       if (opts->repository && !(opts->flags & GIT_REMOTE_CREATE_SKIP_INSTEADOF)) {
                remote->url = apply_insteadof(config_ro, canonical_url.ptr, GIT_DIRECTION_FETCH);
        } else {
                remote->url = git__strdup(canonical_url.ptr);
        }
-       GITERR_CHECK_ALLOC(remote->url);
-
-       if (name != NULL) {
-               remote->name = git__strdup(name);
-               GITERR_CHECK_ALLOC(remote->name);
+       GIT_ERROR_CHECK_ALLOC(remote->url);
 
-               if ((error = git_buf_printf(&var, CONFIG_URL_FMT, name)) < 0)
-                       goto on_error;
+       if (opts->name != NULL) {
+               remote->name = git__strdup(opts->name);
+               GIT_ERROR_CHECK_ALLOC(remote->name);
 
-               if (repo &&
-                       ((error = git_repository_config__weakptr(&config_rw, repo)) < 0 ||
-                       (error = git_config_set_string(config_rw, var.ptr, canonical_url.ptr)) < 0))
+               if (opts->repository &&
+                   ((error = git_buf_printf(&var, CONFIG_URL_FMT, opts->name)) < 0 ||
+                   (error = git_repository_config__weakptr(&config_rw, opts->repository)) < 0 ||
+                   (error = git_config_set_string(config_rw, var.ptr, canonical_url.ptr)) < 0))
                        goto on_error;
        }
 
-       if (fetch != NULL) {
-               if ((error = add_refspec(remote, fetch, true)) < 0)
-                       goto on_error;
+       if (opts->fetchspec != NULL ||
+           (opts->name && !(opts->flags & GIT_REMOTE_CREATE_SKIP_DEFAULT_FETCHSPEC))) {
+               const char *fetch = NULL;
+               if (opts->fetchspec) {
+                       fetch = opts->fetchspec;
+               } else {
+                       if ((error = default_fetchspec_for_name(&specbuf, opts->name)) < 0)
+                               goto on_error;
 
-               /* only write for non-anonymous remotes */
-               if (repo && name && (error = write_add_refspec(repo, name, fetch, true)) < 0)
+                       fetch = git_buf_cstr(&specbuf);
+               }
+
+               if ((error = add_refspec(remote, fetch, true)) < 0)
                        goto on_error;
 
-               if (repo && (error = lookup_remote_prune_config(remote, config_ro, name)) < 0)
+               /* only write for named remotes with a repository */
+               if (opts->repository && opts->name &&
+                   ((error = write_add_refspec(opts->repository, opts->name, fetch, true)) < 0 ||
+                   (error = lookup_remote_prune_config(remote, config_ro, opts->name)) < 0))
                        goto on_error;
 
                /* Move the data over to where the matching functions can find them */
@@ -249,13 +310,13 @@ static int create_internal(git_remote **out, git_repository *repo, const char *n
        }
 
        /* A remote without a name doesn't download tags */
-       if (!name)
+       if (!opts->name)
                remote->download_tags = GIT_REMOTE_DOWNLOAD_TAGS_NONE;
        else
                remote->download_tags = GIT_REMOTE_DOWNLOAD_TAGS_AUTO;
 
 
-       git_buf_free(&var);
+       git_buf_dispose(&var);
 
        *out = remote;
        error = 0;
@@ -265,79 +326,65 @@ on_error:
                git_remote_free(remote);
 
        git_config_free(config_ro);
-       git_buf_free(&canonical_url);
-       git_buf_free(&var);
+       git_buf_dispose(&specbuf);
+       git_buf_dispose(&canonical_url);
+       git_buf_dispose(&var);
        return error;
 }
 
-static int ensure_remote_doesnot_exist(git_repository *repo, const char *name)
+int git_remote_create(git_remote **out, git_repository *repo, const char *name, const char *url)
 {
+       git_buf buf = GIT_BUF_INIT;
        int error;
-       git_remote *remote;
+       git_remote_create_options opts = GIT_REMOTE_CREATE_OPTIONS_INIT;
 
-       error = git_remote_lookup(&remote, repo, name);
-
-       if (error == GIT_ENOTFOUND)
-               return 0;
-
-       if (error < 0)
+       /* Those 2 tests are duplicated here because of backward-compatibility */
+       if ((error = ensure_remote_name_is_valid(name)) < 0)
                return error;
 
-       git_remote_free(remote);
-
-       giterr_set(
-               GITERR_CONFIG,
-               "remote '%s' already exists", name);
-
-       return GIT_EEXISTS;
-}
+       if (canonicalize_url(&buf, url) < 0)
+               return GIT_ERROR;
 
+       git_buf_clear(&buf);
 
-int git_remote_create(git_remote **out, git_repository *repo, const char *name, const char *url)
-{
-       git_buf buf = GIT_BUF_INIT;
-       int error;
+       opts.repository = repo;
+       opts.name = name;
 
-       if (git_buf_printf(&buf, "+refs/heads/*:refs/remotes/%s/*", name) < 0)
-               return -1;
+       error = git_remote_create_with_opts(out, url, &opts);
 
-       error = git_remote_create_with_fetchspec(out, repo, name, url, git_buf_cstr(&buf));
-       git_buf_free(&buf);
+       git_buf_dispose(&buf);
 
        return error;
 }
 
 int git_remote_create_with_fetchspec(git_remote **out, git_repository *repo, const char *name, const char *url, const char *fetch)
 {
-       git_remote *remote = NULL;
        int error;
+       git_remote_create_options opts = GIT_REMOTE_CREATE_OPTIONS_INIT;
 
        if ((error = ensure_remote_name_is_valid(name)) < 0)
                return error;
 
-       if ((error = ensure_remote_doesnot_exist(repo, name)) < 0)
-               return error;
-
-       if (create_internal(&remote, repo, name, url, fetch) < 0)
-               goto on_error;
-
-       *out = remote;
+       opts.repository = repo;
+       opts.name = name;
+       opts.fetchspec = fetch;
+       opts.flags = GIT_REMOTE_CREATE_SKIP_DEFAULT_FETCHSPEC;
 
-       return 0;
-
-on_error:
-       git_remote_free(remote);
-       return -1;
+       return git_remote_create_with_opts(out, url, &opts);
 }
 
 int git_remote_create_anonymous(git_remote **out, git_repository *repo, const char *url)
 {
-       return create_internal(out, repo, NULL, url, NULL);
+       git_remote_create_options opts = GIT_REMOTE_CREATE_OPTIONS_INIT;
+
+       opts.repository = repo;
+
+       return git_remote_create_with_opts(out, url, &opts);
 }
 
 int git_remote_create_detached(git_remote **out, const char *url)
 {
-       return create_internal(out, NULL, NULL, url, NULL);
+       return git_remote_create_with_opts(out, url, NULL);
 }
 
 int git_remote_dup(git_remote **dest, git_remote *source)
@@ -346,21 +393,21 @@ int git_remote_dup(git_remote **dest, git_remote *source)
        int error = 0;
        git_refspec *spec;
        git_remote *remote = git__calloc(1, sizeof(git_remote));
-       GITERR_CHECK_ALLOC(remote);
+       GIT_ERROR_CHECK_ALLOC(remote);
 
        if (source->name != NULL) {
                remote->name = git__strdup(source->name);
-               GITERR_CHECK_ALLOC(remote->name);
+               GIT_ERROR_CHECK_ALLOC(remote->name);
        }
 
        if (source->url != NULL) {
                remote->url = git__strdup(source->url);
-               GITERR_CHECK_ALLOC(remote->url);
+               GIT_ERROR_CHECK_ALLOC(remote->url);
        }
 
        if (source->pushurl != NULL) {
                remote->pushurl = git__strdup(source->pushurl);
-               GITERR_CHECK_ALLOC(remote->pushurl);
+               GIT_ERROR_CHECK_ALLOC(remote->pushurl);
        }
 
        remote->repo = source->repo;
@@ -419,7 +466,7 @@ static int get_optional_config(
                *found = !error;
 
        if (error == GIT_ENOTFOUND) {
-               giterr_clear();
+               git_error_clear();
                error = 0;
        }
 
@@ -445,10 +492,10 @@ int git_remote_lookup(git_remote **out, git_repository *repo, const char *name)
                return error;
 
        remote = git__calloc(1, sizeof(git_remote));
-       GITERR_CHECK_ALLOC(remote);
+       GIT_ERROR_CHECK_ALLOC(remote);
 
        remote->name = git__strdup(name);
-       GITERR_CHECK_ALLOC(remote->name);
+       GIT_ERROR_CHECK_ALLOC(remote->name);
 
        if (git_vector_init(&remote->refs, 32, NULL) < 0 ||
            git_vector_init(&remote->refspecs, 2, NULL) < 0 ||
@@ -471,7 +518,7 @@ int git_remote_lookup(git_remote **out, git_repository *repo, const char *name)
 
        if (found && strlen(val) > 0) {
                remote->url = apply_insteadof(config, val, GIT_DIRECTION_FETCH);
-               GITERR_CHECK_ALLOC(remote->url);
+               GIT_ERROR_CHECK_ALLOC(remote->url);
        }
 
        val = NULL;
@@ -485,13 +532,13 @@ int git_remote_lookup(git_remote **out, git_repository *repo, const char *name)
 
        if (!optional_setting_found) {
                error = GIT_ENOTFOUND;
-               giterr_set(GITERR_CONFIG, "remote '%s' does not exist", name);
+               git_error_set(GIT_ERROR_CONFIG, "remote '%s' does not exist", name);
                goto cleanup;
        }
 
        if (found && strlen(val) > 0) {
                remote->pushurl = apply_insteadof(config, val, GIT_DIRECTION_PUSH);
-               GITERR_CHECK_ALLOC(remote->pushurl);
+               GIT_ERROR_CHECK_ALLOC(remote->pushurl);
        }
 
        data.remote = remote;
@@ -524,7 +571,7 @@ int git_remote_lookup(git_remote **out, git_repository *repo, const char *name)
 
 cleanup:
        git_config_free(config);
-       git_buf_free(&buf);
+       git_buf_dispose(&buf);
 
        if (error < 0)
                git_remote_free(remote);
@@ -541,18 +588,18 @@ static int lookup_remote_prune_config(git_remote *remote, git_config *config, co
 
        if ((error = git_config_get_bool(&remote->prune_refs, config, git_buf_cstr(&buf))) < 0) {
                if (error == GIT_ENOTFOUND) {
-                       giterr_clear();
+                       git_error_clear();
 
                        if ((error = git_config_get_bool(&remote->prune_refs, config, "fetch.prune")) < 0) {
                                if (error == GIT_ENOTFOUND) {
-                                       giterr_clear();
+                                       git_error_clear();
                                        error = 0;
                                }
                        }
                }
        }
 
-       git_buf_free(&buf);
+       git_buf_dispose(&buf);
        return error;
 }
 
@@ -601,8 +648,8 @@ static int set_url(git_repository *repo, const char *remote, const char *pattern
        }
 
 cleanup:
-       git_buf_free(&canonical_url);
-       git_buf_free(&buf);
+       git_buf_dispose(&canonical_url);
+       git_buf_dispose(&buf);
 
        return error;
 }
@@ -657,7 +704,7 @@ static int set_transport_custom_headers(git_transport *t, const git_strarray *cu
        return t->set_custom_headers(t, custom_headers);
 }
 
-int git_remote_connect(git_remote *remote, git_direction direction, const git_remote_callbacks *callbacks, const git_proxy_options *proxy, const git_strarray *custom_headers)
+int git_remote__connect(git_remote *remote, git_direction direction, const git_remote_callbacks *callbacks, const git_remote_connection_opts *conn)
 {
        git_transport *t;
        const char *url;
@@ -670,20 +717,20 @@ int git_remote_connect(git_remote *remote, git_direction direction, const git_re
        assert(remote);
 
        if (callbacks) {
-               GITERR_CHECK_VERSION(callbacks, GIT_REMOTE_CALLBACKS_VERSION, "git_remote_callbacks");
+               GIT_ERROR_CHECK_VERSION(callbacks, GIT_REMOTE_CALLBACKS_VERSION, "git_remote_callbacks");
                credentials = callbacks->credentials;
                transport   = callbacks->transport;
                payload     = callbacks->payload;
        }
 
-       if (proxy)
-               GITERR_CHECK_VERSION(proxy, GIT_PROXY_OPTIONS_VERSION, "git_proxy_options");
+       if (conn->proxy)
+               GIT_ERROR_CHECK_VERSION(conn->proxy, GIT_PROXY_OPTIONS_VERSION, "git_proxy_options");
 
        t = remote->transport;
 
        url = git_remote__urlfordirection(remote, direction);
        if (url == NULL) {
-               giterr_set(GITERR_INVALID,
+               git_error_set(GIT_ERROR_INVALID,
                        "Malformed remote '%s' - missing %s URL",
                        remote->name ? remote->name : "(anonymous)",
                        direction == GIT_DIRECTION_FETCH ? "fetch" : "push");
@@ -701,11 +748,11 @@ int git_remote_connect(git_remote *remote, git_direction direction, const git_re
        if (!t && (error = git_transport_new(&t, remote, url)) < 0)
                return error;
 
-       if ((error = set_transport_custom_headers(t, custom_headers)) != 0)
+       if ((error = set_transport_custom_headers(t, conn->custom_headers)) != 0)
                goto on_error;
 
        if ((error = set_transport_callbacks(t, callbacks)) < 0 ||
-           (error = t->connect(t, url, credentials, payload, proxy, direction, flags)) != 0)
+           (error = t->connect(t, url, credentials, payload, conn->proxy, direction, flags)) != 0)
                goto on_error;
 
        remote->transport = t;
@@ -721,12 +768,22 @@ on_error:
        return error;
 }
 
+int git_remote_connect(git_remote *remote, git_direction direction, const git_remote_callbacks *callbacks, const git_proxy_options *proxy, const git_strarray *custom_headers)
+{
+       git_remote_connection_opts conn;
+
+       conn.proxy = proxy;
+       conn.custom_headers = custom_headers;
+
+       return git_remote__connect(remote, direction, callbacks, &conn);
+}
+
 int git_remote_ls(const git_remote_head ***out, size_t *size, git_remote *remote)
 {
        assert(remote);
 
        if (!remote->transport) {
-               giterr_set(GITERR_NET, "this remote has never connected");
+               git_error_set(GIT_ERROR_NET, "this remote has never connected");
                return -1;
        }
 
@@ -761,7 +818,7 @@ int git_remote__get_http_proxy(git_remote *remote, bool use_ssl, char **proxy_ur
                        return error;
 
                error = git_config__lookup_entry(&ce, cfg, git_buf_cstr(&buf), false);
-               git_buf_free(&buf);
+               git_buf_dispose(&buf);
 
                if (error < 0)
                        return error;
@@ -790,7 +847,7 @@ int git_remote__get_http_proxy(git_remote *remote, bool use_ssl, char **proxy_ur
 
        if (error < 0) {
                if (error == GIT_ENOTFOUND) {
-                       giterr_clear();
+                       git_error_clear();
                        error = 0;
                }
 
@@ -800,7 +857,7 @@ int git_remote__get_http_proxy(git_remote *remote, bool use_ssl, char **proxy_ur
        *proxy_url = git_buf_detach(&val);
 
 found:
-       GITERR_CHECK_ALLOC(*proxy_url);
+       GIT_ERROR_CHECK_ALLOC(*proxy_url);
        git_config_entry_free(ce);
 
        return 0;
@@ -826,7 +883,7 @@ static void free_refspecs(git_vector *vec)
        git_refspec *spec;
 
        git_vector_foreach(vec, i, spec) {
-               git_refspec__free(spec);
+               git_refspec__dispose(spec);
                git__free(spec);
        }
 
@@ -872,15 +929,15 @@ int git_remote_download(git_remote *remote, const git_strarray *refspecs, const
        assert(remote);
 
        if (!remote->repo) {
-               giterr_set(GITERR_INVALID, "cannot download detached remote");
+               git_error_set(GIT_ERROR_INVALID, "cannot download detached remote");
                return -1;
        }
 
        if (opts) {
-               GITERR_CHECK_VERSION(&opts->callbacks, GIT_REMOTE_CALLBACKS_VERSION, "git_remote_callbacks");
+               GIT_ERROR_CHECK_VERSION(&opts->callbacks, GIT_REMOTE_CALLBACKS_VERSION, "git_remote_callbacks");
                cbs = &opts->callbacks;
                custom_headers = &opts->custom_headers;
-               GITERR_CHECK_VERSION(&opts->proxy_opts, GIT_PROXY_OPTIONS_VERSION, "git_proxy_options");
+               GIT_ERROR_CHECK_VERSION(&opts->proxy_opts, GIT_PROXY_OPTIONS_VERSION, "git_proxy_options");
                proxy = &opts->proxy_opts;
        }
 
@@ -949,21 +1006,20 @@ int git_remote_fetch(
        bool prune = false;
        git_buf reflog_msg_buf = GIT_BUF_INIT;
        const git_remote_callbacks *cbs = NULL;
-       const git_strarray *custom_headers = NULL;
-       const git_proxy_options *proxy = NULL;
+       git_remote_connection_opts conn = GIT_REMOTE_CONNECTION_OPTIONS_INIT;
 
        if (opts) {
-               GITERR_CHECK_VERSION(&opts->callbacks, GIT_REMOTE_CALLBACKS_VERSION, "git_remote_callbacks");
+               GIT_ERROR_CHECK_VERSION(&opts->callbacks, GIT_REMOTE_CALLBACKS_VERSION, "git_remote_callbacks");
                cbs = &opts->callbacks;
-               custom_headers = &opts->custom_headers;
+               conn.custom_headers = &opts->custom_headers;
                update_fetchhead = opts->update_fetchhead;
                tagopt = opts->download_tags;
-               GITERR_CHECK_VERSION(&opts->proxy_opts, GIT_PROXY_OPTIONS_VERSION, "git_proxy_options");
-               proxy = &opts->proxy_opts;
+               GIT_ERROR_CHECK_VERSION(&opts->proxy_opts, GIT_PROXY_OPTIONS_VERSION, "git_proxy_options");
+               conn.proxy = &opts->proxy_opts;
        }
 
        /* Connect and download everything */
-       if ((error = git_remote_connect(remote, GIT_DIRECTION_FETCH, cbs, proxy, custom_headers)) != 0)
+       if ((error = git_remote__connect(remote, GIT_DIRECTION_FETCH, cbs, &conn)) != 0)
                return error;
 
        error = git_remote_download(remote, refspecs, opts);
@@ -985,7 +1041,7 @@ int git_remote_fetch(
 
        /* Create "remote/foo" branches for all remote branches */
        error = git_remote_update_tips(remote, cbs, update_fetchhead, tagopt, git_buf_cstr(&reflog_msg_buf));
-       git_buf_free(&reflog_msg_buf);
+       git_buf_dispose(&reflog_msg_buf);
        if (error < 0)
                return error;
 
@@ -1041,7 +1097,7 @@ static int ref_to_update(int *update, git_buf *remote_name, git_remote *remote,
            (error = git_refspec_rtransform(remote_name, spec, upstream_name.ptr)) < 0) {
                /* Not an error if there is no upstream */
                if (error == GIT_ENOTFOUND) {
-                       giterr_clear();
+                       git_error_clear();
                        error = 0;
                }
 
@@ -1050,8 +1106,8 @@ static int ref_to_update(int *update, git_buf *remote_name, git_remote *remote,
                *update = 1;
        }
 
-       git_buf_free(&upstream_remote);
-       git_buf_free(&upstream_name);
+       git_buf_dispose(&upstream_remote);
+       git_buf_dispose(&upstream_name);
        return error;
 }
 
@@ -1070,7 +1126,7 @@ static int remote_head_for_ref(git_remote_head **out, git_remote *remote, git_re
        error = git_reference_resolve(&resolved_ref, ref);
 
        /* If we're in an unborn branch, let's pretend nothing happened */
-       if (error == GIT_ENOTFOUND && git_reference_type(ref) == GIT_REF_SYMBOLIC) {
+       if (error == GIT_ENOTFOUND && git_reference_type(ref) == GIT_REFERENCE_SYMBOLIC) {
                ref_name = git_reference_symbolic_target(ref);
                error = 0;
        } else {
@@ -1084,7 +1140,7 @@ static int remote_head_for_ref(git_remote_head **out, git_remote *remote, git_re
                error = remote_head_for_fetchspec_src(out, update_heads, git_buf_cstr(&remote_name));
 
 cleanup:
-       git_buf_free(&remote_name);
+       git_buf_dispose(&remote_name);
        git_reference_free(resolved_ref);
        git_config_free(config);
        return error;
@@ -1176,7 +1232,7 @@ static int prune_candidates(git_vector *candidates, git_remote *remote)
                        continue;
 
                refname_dup = git__strdup(refname);
-               GITERR_CHECK_ALLOC(refname_dup);
+               GIT_ERROR_CHECK_ALLOC(refname_dup);
 
                if ((error = git_vector_insert(candidates, refname_dup)) < 0)
                        goto out;
@@ -1206,7 +1262,7 @@ int git_remote_prune(git_remote *remote, const git_remote_callbacks *callbacks)
        git_oid zero_id = {{ 0 }};
 
        if (callbacks)
-               GITERR_CHECK_VERSION(callbacks, GIT_REMOTE_CALLBACKS_VERSION, "git_remote_callbacks");
+               GIT_ERROR_CHECK_VERSION(callbacks, GIT_REMOTE_CALLBACKS_VERSION, "git_remote_callbacks");
 
        if ((error = ls_to_vector(&remote_refs, remote)) < 0)
                goto cleanup;
@@ -1235,7 +1291,7 @@ int git_remote_prune(git_remote *remote, const git_remote_callbacks *callbacks)
 
                        key.name = (char *) git_buf_cstr(&buf);
                        error = git_vector_bsearch(&pos, &remote_refs, &key);
-                       git_buf_free(&buf);
+                       git_buf_dispose(&buf);
 
                        if (error < 0 && error != GIT_ENOTFOUND)
                                goto cleanup;
@@ -1273,7 +1329,7 @@ int git_remote_prune(git_remote *remote, const git_remote_callbacks *callbacks)
                if (error < 0)
                        goto cleanup;
 
-               if (git_reference_type(ref) == GIT_REF_SYMBOLIC) {
+               if (git_reference_type(ref) == GIT_REFERENCE_SYMBOLIC) {
                        git_reference_free(ref);
                        continue;
                }
@@ -1394,7 +1450,7 @@ static int update_tips_for_spec(
                        continue;
 
                /* In autotag mode, don't overwrite any locally-existing tags */
-               error = git_reference_create(&ref, remote->repo, refname.ptr, &head->oid, !autotag, 
+               error = git_reference_create(&ref, remote->repo, refname.ptr, &head->oid, !autotag,
                                log_message);
 
                if (error == GIT_EEXISTS)
@@ -1416,14 +1472,14 @@ static int update_tips_for_spec(
                goto on_error;
 
        git_vector_free(&update_heads);
-       git_refspec__free(&tagspec);
-       git_buf_free(&refname);
+       git_refspec__dispose(&tagspec);
+       git_buf_dispose(&refname);
        return 0;
 
 on_error:
        git_vector_free(&update_heads);
-       git_refspec__free(&tagspec);
-       git_buf_free(&refname);
+       git_refspec__dispose(&tagspec);
+       git_buf_dispose(&refname);
        return -1;
 
 }
@@ -1537,7 +1593,7 @@ static int opportunistic_updates(const git_remote *remote, const git_remote_call
                error = 0;
 
 cleanup:
-       git_buf_free(&refname);
+       git_buf_dispose(&refname);
        return error;
 }
 
@@ -1550,7 +1606,7 @@ static int truncate_fetch_head(const char *gitdir)
                return error;
 
        error = git_futils_truncate(path.ptr, GIT_REFS_FILE_MODE);
-       git_buf_free(&path);
+       git_buf_dispose(&path);
 
        return error;
 }
@@ -1607,7 +1663,7 @@ int git_remote_update_tips(
 
 out:
        git_vector_free(&refs);
-       git_refspec__free(&tagspec);
+       git_refspec__dispose(&tagspec);
        return error;
 }
 
@@ -1681,7 +1737,7 @@ static int remote_list_cb(const git_config_entry *entry, void *payload)
                remote_name = git__strndup(name, namelen - 4); /* strip ".url" */
        else
                remote_name = git__strndup(name, namelen - 8); /* strip ".pushurl" */
-       GITERR_CHECK_ALLOC(remote_name);
+       GIT_ERROR_CHECK_ALLOC(remote_name);
 
        return git_vector_insert(list, remote_name);
 }
@@ -1755,11 +1811,11 @@ int git_remote_set_autotag(git_repository *repo, const char *remote, git_remote_
                        error = 0;
                break;
        default:
-               giterr_set(GITERR_INVALID, "invalid value for the tagopt setting");
+               git_error_set(GIT_ERROR_INVALID, "invalid value for the tagopt setting");
                error = -1;
        }
 
-       git_buf_free(&var);
+       git_buf_dispose(&var);
        return error;
 }
 
@@ -1790,8 +1846,8 @@ static int rename_remote_config_section(
                new_name ? git_buf_cstr(&new_section_name) : NULL);
 
 cleanup:
-       git_buf_free(&old_section_name);
-       git_buf_free(&new_section_name);
+       git_buf_dispose(&old_section_name);
+       git_buf_dispose(&new_section_name);
 
        return error;
 }
@@ -1863,7 +1919,7 @@ static int rename_one_remote_reference(
                                          git_buf_cstr(&log_message))) < 0)
                goto cleanup;
 
-       if (git_reference_type(ref) != GIT_REF_SYMBOLIC)
+       if (git_reference_type(ref) != GIT_REFERENCE_SYMBOLIC)
                goto cleanup;
 
        /* Handle refs like origin/HEAD -> origin/master */
@@ -1887,10 +1943,10 @@ static int rename_one_remote_reference(
 cleanup:
        git_reference_free(reference_in);
        git_reference_free(ref);
-       git_buf_free(&namespace);
-       git_buf_free(&old_namespace);
-       git_buf_free(&new_name);
-       git_buf_free(&log_message);
+       git_buf_dispose(&namespace);
+       git_buf_dispose(&old_namespace);
+       git_buf_dispose(&new_name);
+       git_buf_dispose(&log_message);
        return error;
 }
 
@@ -1908,7 +1964,7 @@ static int rename_remote_references(
                return error;
 
        error = git_reference_iterator_glob_new(&iter, repo, git_buf_cstr(&buf));
-       git_buf_free(&buf);
+       git_buf_dispose(&buf);
 
        if (error < 0)
                return error;
@@ -1937,8 +1993,7 @@ static int rename_fetch_refspecs(git_vector *problems, git_remote *remote, const
        if ((error = git_vector_init(problems, 1, NULL)) < 0)
                return error;
 
-       if ((error = git_buf_printf(
-                       &base, "+refs/heads/*:refs/remotes/%s/*", remote->name)) < 0)
+       if ((error = default_fetchspec_for_name(&base, remote->name)) < 0)
                return error;
 
        git_vector_foreach(&remote->refspecs, i, spec) {
@@ -1950,7 +2005,7 @@ static int rename_fetch_refspecs(git_vector *problems, git_remote *remote, const
                        char *dup;
 
                        dup = git__strdup(spec->string);
-                       GITERR_CHECK_ALLOC(dup);
+                       GIT_ERROR_CHECK_ALLOC(dup);
 
                        if ((error = git_vector_insert(problems, dup)) < 0)
                                break;
@@ -1963,8 +2018,7 @@ static int rename_fetch_refspecs(git_vector *problems, git_remote *remote, const
                git_buf_clear(&val);
                git_buf_clear(&var);
 
-               if (git_buf_printf(
-                               &val, "+refs/heads/*:refs/remotes/%s/*", new_name) < 0 ||
+               if (default_fetchspec_for_name(&val, new_name) < 0 ||
                        git_buf_printf(&var, "remote.%s.fetch", new_name) < 0)
                {
                        error = -1;
@@ -1976,9 +2030,9 @@ static int rename_fetch_refspecs(git_vector *problems, git_remote *remote, const
                        break;
        }
 
-       git_buf_free(&base);
-       git_buf_free(&var);
-       git_buf_free(&val);
+       git_buf_dispose(&base);
+       git_buf_dispose(&var);
+       git_buf_dispose(&val);
 
        if (error < 0) {
                char *str;
@@ -2044,10 +2098,10 @@ int git_remote_is_valid_name(
        git_buf_printf(&buf, "refs/heads/test:refs/remotes/%s/test", remote_name);
        error = git_refspec__parse(&refspec, git_buf_cstr(&buf), true);
 
-       git_buf_free(&buf);
-       git_refspec__free(&refspec);
+       git_buf_dispose(&buf);
+       git_refspec__dispose(&refspec);
 
-       giterr_clear();
+       git_error_clear();
        return error == 0;
 }
 
@@ -2202,7 +2256,7 @@ static int remove_branch_config_related_entries(
                if ((error = git_config_delete_entry(config, git_buf_cstr(&buf))) < 0) {
                        if (error != GIT_ENOTFOUND)
                                break;
-                       giterr_clear();
+                       git_error_clear();
                }
 
                git_buf_clear(&buf);
@@ -2212,14 +2266,14 @@ static int remove_branch_config_related_entries(
                if ((error = git_config_delete_entry(config, git_buf_cstr(&buf))) < 0) {
                        if (error != GIT_ENOTFOUND)
                                break;
-                       giterr_clear();
+                       git_error_clear();
                }
        }
 
        if (error == GIT_ITEROVER)
                error = 0;
 
-       git_buf_free(&buf);
+       git_buf_dispose(&buf);
        git_config_iterator_free(iter);
        return error;
 }
@@ -2373,24 +2427,23 @@ int git_remote_upload(git_remote *remote, const git_strarray *refspecs, const gi
        git_push *push;
        git_refspec *spec;
        const git_remote_callbacks *cbs = NULL;
-       const git_strarray *custom_headers = NULL;
-       const git_proxy_options *proxy = NULL;
+       git_remote_connection_opts conn = GIT_REMOTE_CONNECTION_OPTIONS_INIT;
 
        assert(remote);
 
        if (!remote->repo) {
-               giterr_set(GITERR_INVALID, "cannot download detached remote");
+               git_error_set(GIT_ERROR_INVALID, "cannot download detached remote");
                return -1;
        }
 
        if (opts) {
                cbs = &opts->callbacks;
-               custom_headers = &opts->custom_headers;
-               proxy = &opts->proxy_opts;
+               conn.custom_headers = &opts->custom_headers;
+               conn.proxy = &opts->proxy_opts;
        }
 
        if (!git_remote_connected(remote) &&
-           (error = git_remote_connect(remote, GIT_DIRECTION_PUSH, cbs, proxy, custom_headers)) < 0)
+           (error = git_remote__connect(remote, GIT_DIRECTION_PUSH, cbs, &conn)) < 0)
                goto cleanup;
 
        free_refspecs(&remote->active_refspecs);
@@ -2445,15 +2498,15 @@ int git_remote_push(git_remote *remote, const git_strarray *refspecs, const git_
        assert(remote);
 
        if (!remote->repo) {
-               giterr_set(GITERR_INVALID, "cannot download detached remote");
+               git_error_set(GIT_ERROR_INVALID, "cannot download detached remote");
                return -1;
        }
 
        if (opts) {
-               GITERR_CHECK_VERSION(&opts->callbacks, GIT_REMOTE_CALLBACKS_VERSION, "git_remote_callbacks");
+               GIT_ERROR_CHECK_VERSION(&opts->callbacks, GIT_REMOTE_CALLBACKS_VERSION, "git_remote_callbacks");
                cbs = &opts->callbacks;
                custom_headers = &opts->custom_headers;
-               GITERR_CHECK_VERSION(&opts->proxy_opts, GIT_PROXY_OPTIONS_VERSION, "git_proxy_options");
+               GIT_ERROR_CHECK_VERSION(&opts->proxy_opts, GIT_PROXY_OPTIONS_VERSION, "git_proxy_options");
                proxy = &opts->proxy_opts;
        }
 
index a94481f2559af54385a1b824c8967e04eb759438..62bd1d2ae9fbd857d3eabb4f16b6c5fd5a03f062 100644 (file)
@@ -36,6 +36,15 @@ struct git_remote {
        int passed_refspecs;
 };
 
+typedef struct git_remote_connection_opts {
+       const git_strarray *custom_headers;
+       const git_proxy_options *proxy;
+} git_remote_connection_opts;
+
+#define GIT_REMOTE_CONNECTION_OPTIONS_INIT { NULL, NULL }
+
+int git_remote__connect(git_remote *remote, git_direction direction, const git_remote_callbacks *callbacks, const git_remote_connection_opts *conn);
+
 const char* git_remote__urlfordirection(struct git_remote *remote, int direction);
 int git_remote__get_http_proxy(git_remote *remote, bool use_ssl, char **proxy_url);
 
index 3c898799062d023b7bb0f701b43cfd89197fc35a..26936a82fab8f08963970f5f9dbdb8b7250e5258 100644 (file)
@@ -166,7 +166,7 @@ void git_repository_free(git_repository *repo)
        repo->diff_drivers = NULL;
 
        for (i = 0; i < repo->reserved_names.size; i++)
-               git_buf_free(git_array_get(repo->reserved_names, i));
+               git_buf_dispose(git_array_get(repo->reserved_names, i));
        git_array_clear(repo->reserved_names);
 
        git__free(repo->gitlink);
@@ -203,7 +203,7 @@ static bool valid_repository_path(git_buf *repository_path, git_buf *common_path
                        git_buf_swap(common_path, &common_link);
                }
 
-               git_buf_free(&common_link);
+               git_buf_dispose(&common_link);
        }
        else {
                git_buf_set(common_path, repository_path->ptr, repository_path->size);
@@ -256,7 +256,7 @@ int git_repository_new(git_repository **out)
        git_repository *repo;
 
        *out = repo = repository_alloc();
-       GITERR_CHECK_ALLOC(repo);
+       GIT_ERROR_CHECK_ALLOC(repo);
 
        repo->is_bare = 1;
        repo->is_worktree = 0;
@@ -331,9 +331,9 @@ static int load_workdir(git_repository *repo, git_config *config, git_buf *paren
                repo->workdir = git_buf_detach(&worktree);
        }
 
-       GITERR_CHECK_ALLOC(repo->workdir);
+       GIT_ERROR_CHECK_ALLOC(repo->workdir);
 cleanup:
-       git_buf_free(&path);
+       git_buf_dispose(&path);
        git_config_entry_free(ce);
        return error;
 }
@@ -413,7 +413,7 @@ static int read_gitfile(git_buf *path_out, const char *file_path)
        if (git_buf_len(&file) <= prefix_len ||
                memcmp(git_buf_cstr(&file), GIT_FILE_CONTENT_PREFIX, prefix_len) != 0)
        {
-               giterr_set(GITERR_REPOSITORY,
+               git_error_set(GIT_ERROR_REPOSITORY,
                        "the `.git` file at '%s' is malformed", file_path);
                error = -1;
        }
@@ -425,7 +425,7 @@ static int read_gitfile(git_buf *path_out, const char *file_path)
                        path_out, gitlink, git_buf_cstr(path_out));
        }
 
-       git_buf_free(&file);
+       git_buf_dispose(&file);
        return error;
 }
 
@@ -551,14 +551,14 @@ static int find_repo(
        /* If we didn't find the repository, and we don't have any other error
         * to report, report that. */
        if (!git_buf_len(gitdir_path) && !error) {
-               giterr_set(GITERR_REPOSITORY,
+               git_error_set(GIT_ERROR_REPOSITORY,
                        "could not find repository from '%s'", start_path);
                error = GIT_ENOTFOUND;
        }
 
-       git_buf_free(&path);
-       git_buf_free(&repo_link);
-       git_buf_free(&common_link);
+       git_buf_dispose(&path);
+       git_buf_dispose(&repo_link);
+       git_buf_dispose(&common_link);
        return error;
 }
 
@@ -574,19 +574,19 @@ int git_repository_open_bare(
                return error;
 
        if (!valid_repository_path(&path, &common_path)) {
-               git_buf_free(&path);
-               git_buf_free(&common_path);
-               giterr_set(GITERR_REPOSITORY, "path is not a repository: %s", bare_path);
+               git_buf_dispose(&path);
+               git_buf_dispose(&common_path);
+               git_error_set(GIT_ERROR_REPOSITORY, "path is not a repository: %s", bare_path);
                return GIT_ENOTFOUND;
        }
 
        repo = repository_alloc();
-       GITERR_CHECK_ALLOC(repo);
+       GIT_ERROR_CHECK_ALLOC(repo);
 
        repo->gitdir = git_buf_detach(&path);
-       GITERR_CHECK_ALLOC(repo->gitdir);
+       GIT_ERROR_CHECK_ALLOC(repo->gitdir);
        repo->commondir = git_buf_detach(&common_path);
-       GITERR_CHECK_ALLOC(repo->commondir);
+       GIT_ERROR_CHECK_ALLOC(repo->commondir);
 
        /* of course we're bare! */
        repo->is_bare = 1;
@@ -620,7 +620,7 @@ static int _git_repository_open_ext_from_env(
        if (!start_path) {
                error = git__getenv(&dir_buf, "GIT_DIR");
                if (error == GIT_ENOTFOUND) {
-                       giterr_clear();
+                       git_error_clear();
                        start_path = ".";
                } else if (error < 0)
                        goto error;
@@ -633,7 +633,7 @@ static int _git_repository_open_ext_from_env(
 
        error = git__getenv(&ceiling_dirs_buf, "GIT_CEILING_DIRECTORIES");
        if (error == GIT_ENOTFOUND)
-               giterr_clear();
+               git_error_clear();
        else if (error < 0)
                goto error;
        else
@@ -641,7 +641,7 @@ static int _git_repository_open_ext_from_env(
 
        error = git__getenv(&across_fs_buf, "GIT_DISCOVERY_ACROSS_FILESYSTEM");
        if (error == GIT_ENOTFOUND)
-               giterr_clear();
+               git_error_clear();
        else if (error < 0)
                goto error;
        else {
@@ -655,7 +655,7 @@ static int _git_repository_open_ext_from_env(
 
        error = git__getenv(&index_file_buf, "GIT_INDEX_FILE");
        if (error == GIT_ENOTFOUND)
-               giterr_clear();
+               git_error_clear();
        else if (error < 0)
                goto error;
        else {
@@ -666,13 +666,13 @@ static int _git_repository_open_ext_from_env(
 
        error = git__getenv(&namespace_buf, "GIT_NAMESPACE");
        if (error == GIT_ENOTFOUND)
-               giterr_clear();
+               git_error_clear();
        else if (error < 0)
                goto error;
 
        error = git__getenv(&object_dir_buf, "GIT_OBJECT_DIRECTORY");
        if (error == GIT_ENOTFOUND)
-               giterr_clear();
+               git_error_clear();
        else if (error < 0)
                goto error;
        else {
@@ -683,22 +683,22 @@ static int _git_repository_open_ext_from_env(
 
        error = git__getenv(&work_tree_buf, "GIT_WORK_TREE");
        if (error == GIT_ENOTFOUND)
-               giterr_clear();
+               git_error_clear();
        else if (error < 0)
                goto error;
        else {
-               giterr_set(GITERR_INVALID, "GIT_WORK_TREE unimplemented");
+               git_error_set(GIT_ERROR_INVALID, "GIT_WORK_TREE unimplemented");
                error = GIT_ERROR;
                goto error;
        }
 
        error = git__getenv(&work_tree_buf, "GIT_COMMON_DIR");
        if (error == GIT_ENOTFOUND)
-               giterr_clear();
+               git_error_clear();
        else if (error < 0)
                goto error;
        else {
-               giterr_set(GITERR_INVALID, "GIT_COMMON_DIR unimplemented");
+               git_error_set(GIT_ERROR_INVALID, "GIT_COMMON_DIR unimplemented");
                error = GIT_ERROR;
                goto error;
        }
@@ -712,7 +712,7 @@ static int _git_repository_open_ext_from_env(
 
        error = git__getenv(&alts_buf, "GIT_ALTERNATE_OBJECT_DIRECTORIES");
        if (error == GIT_ENOTFOUND) {
-               giterr_clear();
+               git_error_clear();
                error = 0;
        } else if (error < 0)
                goto error;
@@ -754,15 +754,15 @@ error:
 success:
        git_odb_free(odb);
        git_index_free(index);
-       git_buf_free(&common_dir_buf);
-       git_buf_free(&work_tree_buf);
-       git_buf_free(&alts_buf);
-       git_buf_free(&object_dir_buf);
-       git_buf_free(&namespace_buf);
-       git_buf_free(&index_file_buf);
-       git_buf_free(&across_fs_buf);
-       git_buf_free(&ceiling_dirs_buf);
-       git_buf_free(&dir_buf);
+       git_buf_dispose(&common_dir_buf);
+       git_buf_dispose(&work_tree_buf);
+       git_buf_dispose(&alts_buf);
+       git_buf_dispose(&object_dir_buf);
+       git_buf_dispose(&namespace_buf);
+       git_buf_dispose(&index_file_buf);
+       git_buf_dispose(&across_fs_buf);
+       git_buf_dispose(&ceiling_dirs_buf);
+       git_buf_dispose(&dir_buf);
        return error;
 }
 
@@ -785,7 +785,7 @@ static int repo_is_worktree(unsigned *out, const git_repository *repo)
         * only used when the repository is a working tree. */
        *out = !!git_path_exists(gitdir_link.ptr);
 
-       git_buf_free(&gitdir_link);
+       git_buf_dispose(&gitdir_link);
        return error;
 }
 
@@ -815,18 +815,18 @@ int git_repository_open_ext(
                return error;
 
        repo = repository_alloc();
-       GITERR_CHECK_ALLOC(repo);
+       GIT_ERROR_CHECK_ALLOC(repo);
 
        repo->gitdir = git_buf_detach(&gitdir);
-       GITERR_CHECK_ALLOC(repo->gitdir);
+       GIT_ERROR_CHECK_ALLOC(repo->gitdir);
 
        if (gitlink.size) {
                repo->gitlink = git_buf_detach(&gitlink);
-               GITERR_CHECK_ALLOC(repo->gitlink);
+               GIT_ERROR_CHECK_ALLOC(repo->gitlink);
        }
        if (commondir.size) {
                repo->commondir = git_buf_detach(&commondir);
-               GITERR_CHECK_ALLOC(repo->commondir);
+               GIT_ERROR_CHECK_ALLOC(repo->commondir);
        }
 
        if ((error = repo_is_worktree(&is_worktree, repo)) < 0)
@@ -856,8 +856,8 @@ int git_repository_open_ext(
        }
 
 cleanup:
-       git_buf_free(&gitdir);
-       git_buf_free(&workdir);
+       git_buf_dispose(&gitdir);
+       git_buf_dispose(&workdir);
        git_config_free(config);
 
        if (error < 0)
@@ -899,7 +899,7 @@ int git_repository_open_from_worktree(git_repository **repo_out, git_worktree *w
        *repo_out = repo;
 
 out:
-       git_buf_free(&path);
+       git_buf_dispose(&path);
 
        return err;
 }
@@ -909,7 +909,7 @@ int git_repository_wrap_odb(git_repository **repo_out, git_odb *odb)
        git_repository *repo;
 
        repo = repository_alloc();
-       GITERR_CHECK_ALLOC(repo);
+       GIT_ERROR_CHECK_ALLOC(repo);
 
        git_repository_set_odb(repo, odb);
        *repo_out = repo;
@@ -944,18 +944,20 @@ static int load_config(
        git_buf config_path = GIT_BUF_INIT;
        git_config *cfg = NULL;
 
-       assert(repo && out);
+       assert(out);
 
        if ((error = git_config_new(&cfg)) < 0)
                return error;
 
-       if ((error = git_repository_item_path(&config_path, repo, GIT_REPOSITORY_ITEM_CONFIG)) == 0)
-               error = git_config_add_file_ondisk(cfg, config_path.ptr, GIT_CONFIG_LEVEL_LOCAL, repo, 0);
+       if (repo) {
+               if ((error = git_repository_item_path(&config_path, repo, GIT_REPOSITORY_ITEM_CONFIG)) == 0)
+                       error = git_config_add_file_ondisk(cfg, config_path.ptr, GIT_CONFIG_LEVEL_LOCAL, repo, 0);
 
-       if (error && error != GIT_ENOTFOUND)
-               goto on_error;
+               if (error && error != GIT_ENOTFOUND)
+                       goto on_error;
 
-       git_buf_free(&config_path);
+               git_buf_dispose(&config_path);
+       }
 
        if (global_config_path != NULL &&
                (error = git_config_add_file_ondisk(
@@ -981,13 +983,13 @@ static int load_config(
                error != GIT_ENOTFOUND)
                goto on_error;
 
-       giterr_clear(); /* clear any lingering ENOTFOUND errors */
+       git_error_clear(); /* clear any lingering ENOTFOUND errors */
 
        *out = cfg;
        return 0;
 
 on_error:
-       git_buf_free(&config_path);
+       git_buf_dispose(&config_path);
        git_config_free(cfg);
        *out = NULL;
        return error;
@@ -1034,10 +1036,10 @@ int git_repository_config__weakptr(git_config **out, git_repository *repo)
                        }
                }
 
-               git_buf_free(&global_buf);
-               git_buf_free(&xdg_buf);
-               git_buf_free(&system_buf);
-               git_buf_free(&programdata_buf);
+               git_buf_dispose(&global_buf);
+               git_buf_dispose(&xdg_buf);
+               git_buf_dispose(&system_buf);
+               git_buf_dispose(&programdata_buf);
        }
 
        *out = repo->_config;
@@ -1099,7 +1101,7 @@ int git_repository_odb__weakptr(git_odb **out, git_repository *repo)
                        git_odb_free(odb);
                }
 
-               git_buf_free(&odb_path);
+               git_buf_dispose(&odb_path);
        }
 
        *out = repo->_odb;
@@ -1184,10 +1186,11 @@ int git_repository_index__weakptr(git_index **out, git_repository *repo)
                                git_index_free(index);
                        }
 
-                       error = git_index_set_caps(repo->_index, GIT_INDEXCAP_FROM_OWNER);
+                       error = git_index_set_caps(repo->_index,
+                                                  GIT_INDEX_CAPABILITY_FROM_OWNER);
                }
 
-               git_buf_free(&index_path);
+               git_buf_dispose(&index_path);
        }
 
        *out = repo->_index;
@@ -1341,7 +1344,7 @@ static int check_repositoryformatversion(git_config *config)
                return -1;
 
        if (GIT_REPO_VERSION < version) {
-               giterr_set(GITERR_REPOSITORY,
+               git_error_set(GIT_ERROR_REPOSITORY,
                        "unsupported repository version %d. Only versions up to %d are supported.",
                        version, GIT_REPO_VERSION);
                return -1;
@@ -1372,11 +1375,11 @@ int git_repository_create_head(const char *git_dir, const char *ref_name)
                git_filebuf_commit(&ref) < 0)
                goto fail;
 
-       git_buf_free(&ref_path);
+       git_buf_dispose(&ref_path);
        return 0;
 
 fail:
-       git_buf_free(&ref_path);
+       git_buf_dispose(&ref_path);
        git_filebuf_cleanup(&ref);
        return -1;
 }
@@ -1405,30 +1408,65 @@ static bool is_filesystem_case_insensitive(const char *gitdir_path)
        if (!git_buf_joinpath(&path, gitdir_path, "CoNfIg"))
                is_insensitive = git_path_exists(git_buf_cstr(&path));
 
-       git_buf_free(&path);
+       git_buf_dispose(&path);
        return is_insensitive;
 }
 
 static bool are_symlinks_supported(const char *wd_path)
 {
+       git_config *config = NULL;
+       git_buf global_buf = GIT_BUF_INIT;
+       git_buf xdg_buf = GIT_BUF_INIT;
+       git_buf system_buf = GIT_BUF_INIT;
+       git_buf programdata_buf = GIT_BUF_INIT;
        git_buf path = GIT_BUF_INIT;
        int fd;
        struct stat st;
-       int symlinks_supported = -1;
+       int symlinks = 0;
+
+       /*
+        * To emulate Git for Windows, symlinks on Windows must be explicitly
+        * opted-in.  We examine the system configuration for a core.symlinks
+        * set to true.  If found, we then examine the filesystem to see if
+        * symlinks are _actually_ supported by the current user.  If that is
+        * _not_ set, then we do not test or enable symlink support.
+        */
+#ifdef GIT_WIN32
+       git_config_find_global(&global_buf);
+       git_config_find_xdg(&xdg_buf);
+       git_config_find_system(&system_buf);
+       git_config_find_programdata(&programdata_buf);
+
+       if (load_config(&config, NULL,
+           path_unless_empty(&global_buf),
+           path_unless_empty(&xdg_buf),
+           path_unless_empty(&system_buf),
+           path_unless_empty(&programdata_buf)) < 0)
+               goto done;
+
+       if (git_config_get_bool(&symlinks, config, "core.symlinks") < 0 || !symlinks)
+               goto done;
+#endif
 
        if ((fd = git_futils_mktmp(&path, wd_path, 0666)) < 0 ||
-               p_close(fd) < 0 ||
-               p_unlink(path.ptr) < 0 ||
-               p_symlink("testing", path.ptr) < 0 ||
-               p_lstat(path.ptr, &st) < 0)
-               symlinks_supported = false;
-       else
-               symlinks_supported = (S_ISLNK(st.st_mode) != 0);
+           p_close(fd) < 0 ||
+           p_unlink(path.ptr) < 0 ||
+           p_symlink("testing", path.ptr) < 0 ||
+           p_lstat(path.ptr, &st) < 0)
+               goto done;
+
+       symlinks = (S_ISLNK(st.st_mode) != 0);
 
        (void)p_unlink(path.ptr);
-       git_buf_free(&path);
 
-       return symlinks_supported;
+done:
+       git_buf_dispose(&global_buf);
+       git_buf_dispose(&xdg_buf);
+       git_buf_dispose(&system_buf);
+       git_buf_dispose(&programdata_buf);
+       git_buf_dispose(&path);
+       git_config_free(config);
+       return symlinks != 0;
 }
 
 static int create_empty_file(const char *path, mode_t mode)
@@ -1436,12 +1474,12 @@ static int create_empty_file(const char *path, mode_t mode)
        int fd;
 
        if ((fd = p_creat(path, mode)) < 0) {
-               giterr_set(GITERR_OS, "error while creating '%s'", path);
+               git_error_set(GIT_ERROR_OS, "error while creating '%s'", path);
                return -1;
        }
 
        if (p_close(fd) < 0) {
-               giterr_set(GITERR_OS, "error while closing '%s'", path);
+               git_error_set(GIT_ERROR_OS, "error while closing '%s'", path);
                return -1;
        }
 
@@ -1476,7 +1514,7 @@ static int repo_local_config(
                return error;
 
        if (git_config_open_level(out, parent, GIT_CONFIG_LEVEL_LOCAL) < 0) {
-               giterr_clear();
+               git_error_clear();
 
                if (!(error = git_config_add_file_ondisk(
                                parent, cfg_path, GIT_CONFIG_LEVEL_LOCAL, repo, false)))
@@ -1508,14 +1546,14 @@ static int repo_init_fs_configs(
                if ((error = git_config_set_bool(cfg, "core.symlinks", false)) < 0)
                        return error;
        } else if (git_config_delete_entry(cfg, "core.symlinks") < 0)
-               giterr_clear();
+               git_error_clear();
 
        if (update_ignorecase) {
                if (is_filesystem_case_insensitive(repo_dir)) {
                        if ((error = git_config_set_bool(cfg, "core.ignorecase", true)) < 0)
                                return error;
                } else if (git_config_delete_entry(cfg, "core.ignorecase") < 0)
-                       giterr_clear();
+                       git_error_clear();
        }
 
 #ifdef GIT_USE_ICONV
@@ -1572,7 +1610,7 @@ static int repo_init_config(
                        SET_REPO_CONFIG(string, "core.worktree", worktree_path.ptr);
                } else if (is_reinit) {
                        if (git_config_delete_entry(config, "core.worktree") < 0)
-                               giterr_clear();
+                               git_error_clear();
                }
        }
 
@@ -1586,8 +1624,8 @@ static int repo_init_config(
        }
 
 cleanup:
-       git_buf_free(&cfg_path);
-       git_buf_free(&worktree_path);
+       git_buf_dispose(&cfg_path);
+       git_buf_dispose(&worktree_path);
        git_config_free(config);
 
        return error;
@@ -1600,7 +1638,7 @@ static int repo_reinit_submodule_fs(git_submodule *sm, const char *n, void *p)
 
        if (git_submodule_open(&smrepo, sm) < 0 ||
                git_repository_reinit_filesystem(smrepo, true) < 0)
-               giterr_clear();
+               git_error_clear();
        git_repository_free(smrepo);
 
        return 0;
@@ -1618,7 +1656,7 @@ int git_repository_reinit_filesystem(git_repository *repo, int recurse)
                        config, path.ptr, repo_dir, git_repository_workdir(repo), true);
 
        git_config_free(config);
-       git_buf_free(&path);
+       git_buf_dispose(&path);
 
        git_repository__cvar_cache_clear(repo);
 
@@ -1666,10 +1704,10 @@ static int repo_write_template(
        GIT_UNUSED(hidden);
 #endif
 
-       git_buf_free(&path);
+       git_buf_dispose(&path);
 
        if (error)
-               giterr_set(GITERR_OS,
+               git_error_set(GIT_ERROR_OS,
                        "failed to initialize repository with template '%s'", file);
 
        return error;
@@ -1700,7 +1738,7 @@ static int repo_write_gitlink(
                goto cleanup;
 
        if (!p_stat(buf.ptr, &st) && !S_ISREG(st.st_mode)) {
-               giterr_set(GITERR_REPOSITORY,
+               git_error_set(GIT_ERROR_REPOSITORY,
                        "cannot overwrite gitlink file into path '%s'", in_dir);
                error = GIT_EEXISTS;
                goto cleanup;
@@ -1720,8 +1758,8 @@ static int repo_write_gitlink(
                error = repo_write_template(in_dir, true, DOT_GIT, 0666, true, buf.ptr);
 
 cleanup:
-       git_buf_free(&buf);
-       git_buf_free(&path_to_repo);
+       git_buf_dispose(&buf);
+       git_buf_dispose(&path_to_repo);
        return error;
 }
 
@@ -1754,7 +1792,7 @@ static int repo_init_structure(
 #ifdef GIT_WIN32
        if ((opts->flags & GIT_REPOSITORY_INIT__HAS_DOTGIT) != 0) {
                if (git_win32__set_hidden(repo_dir, true) < 0) {
-                       giterr_set(GITERR_OS,
+                       git_error_set(GIT_ERROR_OS,
                                "failed to mark Git repository folder as hidden");
                        return -1;
                }
@@ -1781,7 +1819,7 @@ static int repo_init_structure(
                else if ((error = git_config_open_default(&cfg)) >= 0) {
                        if (!git_config_get_path(&template_buf, cfg, "init.templatedir"))
                                tdir = template_buf.ptr;
-                       giterr_clear();
+                       git_error_clear();
                }
 
                if (!tdir) {
@@ -1805,7 +1843,7 @@ static int repo_init_structure(
                        error = git_futils_cp_r(tdir, repo_dir, cpflags, dmode);
                }
 
-               git_buf_free(&template_buf);
+               git_buf_dispose(&template_buf);
                git_config_free(cfg);
 
                if (error < 0) {
@@ -1813,7 +1851,7 @@ static int repo_init_structure(
                                return error;
 
                        /* if template was default, ignore error and use internal */
-                       giterr_clear();
+                       git_error_clear();
                        external_tpl = false;
                        error = 0;
                }
@@ -1915,7 +1953,7 @@ static int repo_init_directories(
                        if (git_path_dirname_r(wd_path, repo_path->ptr) < 0)
                                return -1;
                } else {
-                       giterr_set(GITERR_REPOSITORY, "cannot pick working directory"
+                       git_error_set(GIT_ERROR_REPOSITORY, "cannot pick working directory"
                                " for non-bare repository that isn't a '.git' directory");
                        return -1;
                }
@@ -2025,7 +2063,7 @@ int git_repository_init_ext(
 
        assert(out && given_repo && opts);
 
-       GITERR_CHECK_VERSION(opts, GIT_REPOSITORY_INIT_OPTIONS_VERSION, "git_repository_init_options");
+       GIT_ERROR_CHECK_VERSION(opts, GIT_REPOSITORY_INIT_OPTIONS_VERSION, "git_repository_init_options");
 
        error = repo_init_directories(&repo_path, &wd_path, given_repo, opts);
        if (error < 0)
@@ -2035,7 +2073,7 @@ int git_repository_init_ext(
        if (valid_repository_path(&repo_path, &common_path)) {
 
                if ((opts->flags & GIT_REPOSITORY_INIT_NO_REINIT) != 0) {
-                       giterr_set(GITERR_REPOSITORY,
+                       git_error_set(GIT_ERROR_REPOSITORY,
                                "attempt to reinitialize '%s'", given_repo);
                        error = GIT_EEXISTS;
                        goto cleanup;
@@ -2065,9 +2103,9 @@ int git_repository_init_ext(
                error = repo_init_create_origin(*out, opts->origin_url);
 
 cleanup:
-       git_buf_free(&common_path);
-       git_buf_free(&repo_path);
-       git_buf_free(&wd_path);
+       git_buf_dispose(&common_path);
+       git_buf_dispose(&repo_path);
+       git_buf_dispose(&wd_path);
 
        return error;
 }
@@ -2084,7 +2122,7 @@ int git_repository_head_detached(git_repository *repo)
        if (git_reference_lookup(&ref, repo, GIT_HEAD_FILE) < 0)
                return -1;
 
-       if (git_reference_type(ref) == GIT_REF_SYMBOLIC) {
+       if (git_reference_type(ref) == GIT_REFERENCE_SYMBOLIC) {
                git_reference_free(ref);
                return 0;
        }
@@ -2111,7 +2149,7 @@ int git_repository_head_detached_for_worktree(git_repository *repo, const char *
        if ((error = git_repository_head_for_worktree(&ref, repo, name)) < 0)
                goto out;
 
-       error = (git_reference_type(ref) != GIT_REF_SYMBOLIC);
+       error = (git_reference_type(ref) != GIT_REFERENCE_SYMBOLIC);
 out:
        git_reference_free(ref);
 
@@ -2123,10 +2161,12 @@ int git_repository_head(git_reference **head_out, git_repository *repo)
        git_reference *head;
        int error;
 
+       assert(head_out);
+
        if ((error = git_reference_lookup(&head, repo, GIT_HEAD_FILE)) < 0)
                return error;
 
-       if (git_reference_type(head) == GIT_REF_OID) {
+       if (git_reference_type(head) == GIT_REFERENCE_DIRECT) {
                *head_out = head;
                return 0;
        }
@@ -2151,7 +2191,7 @@ int git_repository_head_for_worktree(git_reference **out, git_repository *repo,
            (error = git_reference__read_head(&head, repo, path.ptr)) < 0)
                goto out;
 
-       if (git_reference_type(head) != GIT_REF_OID) {
+       if (git_reference_type(head) != GIT_REFERENCE_DIRECT) {
                git_reference *resolved;
 
                error = git_reference_lookup_resolved(&resolved, repo, git_reference_symbolic_target(head), -1);
@@ -2165,7 +2205,7 @@ out:
        if (error)
                git_reference_free(head);
 
-       git_buf_free(&path);
+       git_buf_dispose(&path);
 
        return error;
 }
@@ -2197,7 +2237,7 @@ int git_repository_foreach_head(git_repository *repo, git_repository_foreach_hea
        }
 
 out:
-       git_buf_free(&path);
+       git_buf_dispose(&path);
        git_strarray_free(&worktrees);
        return error;
 }
@@ -2211,7 +2251,7 @@ int git_repository_head_unborn(git_repository *repo)
        git_reference_free(ref);
 
        if (error == GIT_EUNBORNBRANCH) {
-               giterr_clear();
+               git_error_clear();
                return 1;
        }
 
@@ -2249,7 +2289,7 @@ int git_repository_is_empty(git_repository *repo)
        if (git_reference_lookup(&head, repo, GIT_HEAD_FILE) < 0)
                return -1;
 
-       if (git_reference_type(head) == GIT_REF_SYMBOLIC)
+       if (git_reference_type(head) == GIT_REFERENCE_SYMBOLIC)
                is_empty =
                        (strcmp(git_reference_symbolic_target(head),
                                        GIT_REFS_HEADS_DIR "master") == 0) &&
@@ -2275,12 +2315,12 @@ int git_repository_item_path(git_buf *out, const git_repository *repo, git_repos
                        parent = git_repository_commondir(repo);
                        break;
                default:
-                       giterr_set(GITERR_INVALID, "invalid item directory");
+                       git_error_set(GIT_ERROR_INVALID, "invalid item directory");
                        return -1;
        }
 
        if (parent == NULL) {
-               giterr_set(GITERR_INVALID, "path cannot exist in repository");
+               git_error_set(GIT_ERROR_INVALID, "path cannot exist in repository");
                return GIT_ENOTFOUND;
        }
 
@@ -2413,7 +2453,7 @@ int git_repository_head_tree(git_tree **tree, git_repository *repo)
        if ((error = git_repository_head(&head, repo)) < 0)
                return error;
 
-       if ((error = git_reference_peel(&obj, head, GIT_OBJ_TREE)) < 0)
+       if ((error = git_reference_peel(&obj, head, GIT_OBJECT_TREE)) < 0)
                goto cleanup;
 
        *tree = (git_tree *)obj;
@@ -2440,7 +2480,7 @@ int git_repository__set_orig_head(git_repository *repo, const git_oid *orig_head
        if (error < 0)
                git_filebuf_cleanup(&file);
 
-       git_buf_free(&file_path);
+       git_buf_dispose(&file_path);
 
        return error;
 }
@@ -2459,12 +2499,12 @@ int git_repository_message(git_buf *out, git_repository *repo)
        if ((error = p_stat(git_buf_cstr(&path), &st)) < 0) {
                if (errno == ENOENT)
                        error = GIT_ENOTFOUND;
-               giterr_set(GITERR_OS, "could not access message file");
+               git_error_set(GIT_ERROR_OS, "could not access message file");
        } else {
                error = git_futils_readbuffer(out, git_buf_cstr(&path));
        }
 
-       git_buf_free(&path);
+       git_buf_dispose(&path);
 
        return error;
 }
@@ -2478,7 +2518,7 @@ int git_repository_message_remove(git_repository *repo)
                return -1;
 
        error = p_unlink(git_buf_cstr(&path));
-       git_buf_free(&path);
+       git_buf_dispose(&path);
 
        return error;
 }
@@ -2487,7 +2527,7 @@ int git_repository_hashfile(
        git_oid *out,
        git_repository *repo,
        const char *path,
-       git_otype type,
+       git_object_t type,
        const char *as_path)
 {
        int error;
@@ -2537,7 +2577,7 @@ int git_repository_hashfile(
        }
 
        if (!git__is_sizet(len)) {
-               giterr_set(GITERR_OS, "file size overflow for 32-bit systems");
+               git_error_set(GIT_ERROR_OS, "file size overflow for 32-bit systems");
                error = -1;
                goto cleanup;
        }
@@ -2548,7 +2588,7 @@ cleanup:
        if (fd >= 0)
                p_close(fd);
        git_filter_list_free(fl);
-       git_buf_free(&full_path);
+       git_buf_dispose(&full_path);
 
        return error;
 }
@@ -2557,7 +2597,7 @@ static int checkout_message(git_buf *out, git_reference *old, const char *new)
 {
        git_buf_puts(out, "checkout: moving from ");
 
-       if (git_reference_type(old) == GIT_REF_SYMBOLIC)
+       if (git_reference_type(old) == GIT_REFERENCE_SYMBOLIC)
                git_buf_puts(out, git_reference__shorthand(git_reference_symbolic_target(old)));
        else
                git_buf_puts(out, git_oid_tostr_s(git_reference_target(old)));
@@ -2589,10 +2629,10 @@ static int detach(git_repository *repo, const git_oid *id, const char *new)
        if ((error = git_reference_lookup(&current, repo, GIT_HEAD_FILE)) < 0)
                return error;
 
-       if ((error = git_object_lookup(&object, repo, id, GIT_OBJ_ANY)) < 0)
+       if ((error = git_object_lookup(&object, repo, id, GIT_OBJECT_ANY)) < 0)
                goto cleanup;
 
-       if ((error = git_object_peel(&peeled, object, GIT_OBJ_COMMIT)) < 0)
+       if ((error = git_object_peel(&peeled, object, GIT_OBJECT_COMMIT)) < 0)
                goto cleanup;
 
        if (new == NULL)
@@ -2604,7 +2644,7 @@ static int detach(git_repository *repo, const git_oid *id, const char *new)
        error = git_reference_create(&new_head, repo, GIT_HEAD_FILE, git_object_id(peeled), true, git_buf_cstr(&log_message));
 
 cleanup:
-       git_buf_free(&log_message);
+       git_buf_dispose(&log_message);
        git_object_free(object);
        git_object_free(peeled);
        git_reference_free(current);
@@ -2632,9 +2672,9 @@ int git_repository_set_head(
        if (error < 0 && error != GIT_ENOTFOUND)
                goto cleanup;
 
-       if (ref && current->type == GIT_REF_SYMBOLIC && git__strcmp(current->target.symbolic, ref->name) &&
+       if (ref && current->type == GIT_REFERENCE_SYMBOLIC && git__strcmp(current->target.symbolic, ref->name) &&
            git_reference_is_branch(ref) && git_branch_is_checked_out(ref)) {
-               giterr_set(GITERR_REPOSITORY, "cannot set HEAD to reference '%s' as it is the current HEAD "
+               git_error_set(GIT_ERROR_REPOSITORY, "cannot set HEAD to reference '%s' as it is the current HEAD "
                        "of a linked repository.", git_reference_name(ref));
                error = -1;
                goto cleanup;
@@ -2654,7 +2694,7 @@ int git_repository_set_head(
        }
 
 cleanup:
-       git_buf_free(&log_message);
+       git_buf_dispose(&log_message);
        git_reference_free(current);
        git_reference_free(ref);
        git_reference_free(new_head);
@@ -2692,7 +2732,7 @@ int git_repository_detach_head(git_repository* repo)
        if ((error = git_repository_head(&old_head, repo)) < 0)
                goto cleanup;
 
-       if ((error = git_object_lookup(&object, repo, git_reference_target(old_head), GIT_OBJ_COMMIT)) < 0)
+       if ((error = git_object_lookup(&object, repo, git_reference_target(old_head), GIT_OBJECT_COMMIT)) < 0)
                goto cleanup;
 
        if ((error = checkout_message(&log_message, current, git_oid_tostr_s(git_object_id(object)))) < 0)
@@ -2702,7 +2742,7 @@ int git_repository_detach_head(git_repository* repo)
                        1, git_buf_cstr(&log_message));
 
 cleanup:
-       git_buf_free(&log_message);
+       git_buf_dispose(&log_message);
        git_object_free(object);
        git_reference_free(old_head);
        git_reference_free(new_head);
@@ -2749,7 +2789,7 @@ int git_repository_state(git_repository *repo)
        } else if (git_path_contains_file(&repo_path, GIT_BISECT_LOG_FILE))
                state = GIT_REPOSITORY_STATE_BISECT;
 
-       git_buf_free(&repo_path);
+       git_buf_dispose(&repo_path);
        return state;
 }
 
@@ -2778,7 +2818,7 @@ int git_repository__cleanup_files(
                git_buf_clear(&buf);
        }
 
-       git_buf_free(&buf);
+       git_buf_dispose(&buf);
        return error;
 }
 
@@ -2811,10 +2851,10 @@ int git_repository_is_shallow(git_repository *repo)
                return error;
 
        error = git_path_lstat(path.ptr, &st);
-       git_buf_free(&path);
+       git_buf_dispose(&path);
 
        if (error == GIT_ENOTFOUND) {
-               giterr_clear();
+               git_error_clear();
                return 0;
        }
 
@@ -2846,12 +2886,12 @@ int git_repository_set_ident(git_repository *repo, const char *name, const char
 
        if (name) {
                tmp_name = git__strdup(name);
-               GITERR_CHECK_ALLOC(tmp_name);
+               GIT_ERROR_CHECK_ALLOC(tmp_name);
        }
 
        if (email) {
                tmp_email = git__strdup(email);
-               GITERR_CHECK_ALLOC(tmp_email);
+               GIT_ERROR_CHECK_ALLOC(tmp_email);
        }
 
        tmp_name = git__swap(repo->ident_name, tmp_name);
index fd6400cc10e7ab770a1aed052bde8a29eee9feac..1edcc842b38869a0a84e43f376e61c421458b7b5 100644 (file)
@@ -105,7 +105,10 @@ typedef enum {
        /* core.safecrlf */
        GIT_SAFE_CRLF_DEFAULT = GIT_CVAR_FALSE,
        /* core.logallrefupdates */
+       GIT_LOGALLREFUPDATES_FALSE = GIT_CVAR_FALSE,
+       GIT_LOGALLREFUPDATES_TRUE = GIT_CVAR_TRUE,
        GIT_LOGALLREFUPDATES_UNSET = 2,
+       GIT_LOGALLREFUPDATES_ALWAYS = 3,
        GIT_LOGALLREFUPDATES_DEFAULT = GIT_LOGALLREFUPDATES_UNSET,
        /* core.protectHFS */
        GIT_PROTECTHFS_DEFAULT = GIT_CVAR_FALSE,
@@ -211,8 +214,8 @@ GIT_INLINE(int) git_repository__ensure_not_bare(
        if (!git_repository_is_bare(repo))
                return 0;
 
-       giterr_set(
-               GITERR_REPOSITORY,
+       git_error_set(
+               GIT_ERROR_REPOSITORY,
                "cannot %s. This operation is not allowed against bare repositories.",
                operation_name);
 
index 21596812fd6e408c4189d02af596a20284e5ed57..ca6a5bd73cf173ff15970342153a77c6424bb13d 100644 (file)
@@ -42,12 +42,12 @@ int git_reset_default(
 
        if (target) {
                if (git_object_owner(target) != repo) {
-                       giterr_set(GITERR_OBJECT,
+                       git_error_set(GIT_ERROR_OBJECT,
                                "%s_default - The given target does not belong to this repository.", ERROR_MSG);
                        return -1;
                }
 
-               if ((error = git_object_peel(&commit, target, GIT_OBJ_COMMIT)) < 0 ||
+               if ((error = git_object_peel(&commit, target, GIT_OBJECT_COMMIT)) < 0 ||
                        (error = git_commit_tree(&tree, (git_commit *)commit)) < 0)
                        goto cleanup;
        }
@@ -70,7 +70,7 @@ int git_reset_default(
                error = git_index_conflict_remove(index, delta->old_file.path);
                if (error < 0) {
                        if (delta->status == GIT_DELTA_ADDED && error == GIT_ENOTFOUND)
-                               giterr_clear();
+                               git_error_clear();
                        else
                                goto cleanup;
                }
@@ -119,7 +119,7 @@ static int reset(
                opts = *checkout_opts;
 
        if (git_object_owner(target) != repo) {
-               giterr_set(GITERR_OBJECT,
+               git_error_set(GIT_ERROR_OBJECT,
                        "%s - The given target does not belong to this repository.", ERROR_MSG);
                return -1;
        }
@@ -129,7 +129,7 @@ static int reset(
                        reset_type == GIT_RESET_MIXED ? "reset mixed" : "reset hard")) < 0)
                return error;
 
-       if ((error = git_object_peel(&commit, target, GIT_OBJ_COMMIT)) < 0 ||
+       if ((error = git_object_peel(&commit, target, GIT_OBJECT_COMMIT)) < 0 ||
                (error = git_repository_index(&index, repo)) < 0 ||
                (error = git_commit_tree(&tree, (git_commit *)commit)) < 0)
                goto cleanup;
@@ -138,7 +138,7 @@ static int reset(
                (git_repository_state(repo) == GIT_REPOSITORY_STATE_MERGE ||
                 git_index_has_conflicts(index)))
        {
-               giterr_set(GITERR_OBJECT, "%s (soft) in the middle of a merge", ERROR_MSG);
+               git_error_set(GIT_ERROR_OBJECT, "%s (soft) in the middle of a merge", ERROR_MSG);
                error = GIT_EUNMERGED;
                goto cleanup;
        }
@@ -167,7 +167,7 @@ static int reset(
                        goto cleanup;
 
                if ((error = git_repository_state_cleanup(repo)) < 0) {
-                       giterr_set(GITERR_INDEX, "%s - failed to clean up merge data", ERROR_MSG);
+                       git_error_set(GIT_ERROR_INDEX, "%s - failed to clean up merge data", ERROR_MSG);
                        goto cleanup;
                }
        }
@@ -176,7 +176,7 @@ cleanup:
        git_object_free(commit);
        git_index_free(index);
        git_tree_free(tree);
-       git_buf_free(&log_message);
+       git_buf_dispose(&log_message);
 
        return error;
 }
index 54f6d48e4fd450c9d3e630c7d4f28e9cd3d44c97..eb71a68db28ceedec712991e260930d35309e4f6 100644 (file)
@@ -36,7 +36,7 @@ static int write_revert_head(
        if (error < 0)
                git_filebuf_cleanup(&file);
 
-       git_buf_free(&file_path);
+       git_buf_dispose(&file_path);
 
        return error;
 }
@@ -62,7 +62,7 @@ cleanup:
        if (error < 0)
                git_filebuf_cleanup(&file);
 
-       git_buf_free(&file_path);
+       git_buf_dispose(&file_path);
 
        return error;
 }
@@ -112,7 +112,7 @@ static int revert_seterr(git_commit *commit, const char *fmt)
        git_oid_fmt(commit_oidstr, git_commit_id(commit));
        commit_oidstr[GIT_OID_HEXSZ] = '\0';
 
-       giterr_set(GITERR_REVERT, fmt, commit_oidstr);
+       git_error_set(GIT_ERROR_REVERT, fmt, commit_oidstr);
 
        return -1;
 }
@@ -182,7 +182,7 @@ int git_revert(
 
        assert(repo && commit);
 
-       GITERR_CHECK_VERSION(given_opts, GIT_REVERT_OPTIONS_VERSION, "git_revert_options");
+       GIT_ERROR_CHECK_VERSION(given_opts, GIT_REVERT_OPTIONS_VERSION, "git_revert_options");
 
        if ((error = git_repository__ensure_not_bare(repo, "revert")) < 0)
                return error;
@@ -201,7 +201,7 @@ int git_revert(
                (error = write_revert_head(repo, commit_oidstr)) < 0 ||
                (error = write_merge_msg(repo, commit_oidstr, commit_msg)) < 0 ||
                (error = git_repository_head(&our_ref, repo)) < 0 ||
-               (error = git_reference_peel((git_object **)&our_commit, our_ref, GIT_OBJ_COMMIT)) < 0 ||
+               (error = git_reference_peel((git_object **)&our_commit, our_ref, GIT_OBJECT_COMMIT)) < 0 ||
                (error = git_revert_commit(&index, repo, commit, our_commit, opts.mainline, &opts.merge_opts)) < 0 ||
                (error = git_merge__check_result(repo, index)) < 0 ||
                (error = git_merge__append_conflicts_to_merge_msg(repo, index)) < 0 ||
@@ -219,7 +219,7 @@ done:
        git_index_free(index);
        git_commit_free(our_commit);
        git_reference_free(our_ref);
-       git_buf_free(&their_label);
+       git_buf_dispose(&their_label);
 
        return error;
 }
index f96f9badac2b78573e62bb1150ebaabf9c05528c..50ee31ca0322eb0483ac69b959f79f57456ca5a5 100644 (file)
@@ -22,7 +22,7 @@ static int maybe_sha_or_abbrev(git_object** out, git_repository *repo, const cha
        if (git_oid_fromstrn(&oid, spec, speclen) < 0)
                return GIT_ENOTFOUND;
 
-       return git_object_lookup_prefix(out, repo, &oid, speclen, GIT_OBJ_ANY);
+       return git_object_lookup_prefix(out, repo, &oid, speclen, GIT_OBJECT_ANY);
 }
 
 static int maybe_sha(git_object** out, git_repository *repo, const char *spec)
@@ -47,7 +47,7 @@ static int build_regex(regex_t *regex, const char *pattern)
        int error;
 
        if (*pattern == '\0') {
-               giterr_set(GITERR_REGEX, "empty pattern");
+               git_error_set(GIT_ERROR_REGEX, "empty pattern");
                return GIT_EINVALIDSPEC;
        }
 
@@ -55,7 +55,7 @@ static int build_regex(regex_t *regex, const char *pattern)
        if (!error)
                return 0;
 
-       error = giterr_set_regex(regex, error);
+       error = git_error_set_regex(regex, error);
 
        regfree(regex);
 
@@ -101,7 +101,7 @@ static int revparse_lookup_object(
        if (!error) {
 
                error = git_object_lookup(
-                       object_out, repo, git_reference_target(ref), GIT_OBJ_ANY);
+                       object_out, repo, git_reference_target(ref), GIT_OBJECT_ANY);
 
                if (!error)
                        *reference_out = ref;
@@ -119,7 +119,7 @@ static int revparse_lookup_object(
        if ((error = maybe_describe(object_out, repo, spec)) != GIT_ENOTFOUND)
                return error;
 
-       giterr_set(GITERR_REFERENCE, "revspec '%s' not found", spec);
+       git_error_set(GIT_ERROR_REFERENCE, "revspec '%s' not found", spec);
        return GIT_ENOTFOUND;
 }
 
@@ -198,7 +198,7 @@ static int retrieve_previously_checked_out_branch_or_revision(git_object **out,
 
 cleanup:
        git_reference_free(ref);
-       git_buf_free(&buf);
+       git_buf_dispose(&buf);
        regfree(&preg);
        git_reflog_free(reflog);
        return error;
@@ -245,8 +245,8 @@ static int retrieve_oid_from_reflog(git_oid *oid, git_reference *ref, size_t ide
        return 0;
 
 notfound:
-       giterr_set(
-               GITERR_REFERENCE,
+       git_error_set(
+               GIT_ERROR_REFERENCE,
                "reflog for '%s' has only %"PRIuZ" entries, asked for %"PRIuZ,
                git_reference_name(ref), numentries, identifier);
 
@@ -269,14 +269,14 @@ static int retrieve_revobject_from_reflog(git_object **out, git_reference **base
        }
 
        if (position == 0) {
-               error = git_object_lookup(out, repo, git_reference_target(ref), GIT_OBJ_ANY);
+               error = git_object_lookup(out, repo, git_reference_target(ref), GIT_OBJECT_ANY);
                goto cleanup;
        }
 
        if ((error = retrieve_oid_from_reflog(&oid, ref, position)) < 0)
                goto cleanup;
 
-       error = git_object_lookup(out, repo, &oid, GIT_OBJ_ANY);
+       error = git_object_lookup(out, repo, &oid, GIT_OBJECT_ANY);
 
 cleanup:
        git_reference_free(ref);
@@ -351,30 +351,30 @@ static int handle_at_syntax(git_object **out, git_reference **ref, const char *s
        error = retrieve_revobject_from_reflog(out, ref, repo, git_buf_cstr(&identifier), (size_t)timestamp);
 
 cleanup:
-       git_buf_free(&identifier);
+       git_buf_dispose(&identifier);
        return error;
 }
 
-static git_otype parse_obj_type(const char *str)
+static git_object_t parse_obj_type(const char *str)
 {
        if (!strcmp(str, "commit"))
-               return GIT_OBJ_COMMIT;
+               return GIT_OBJECT_COMMIT;
 
        if (!strcmp(str, "tree"))
-               return GIT_OBJ_TREE;
+               return GIT_OBJECT_TREE;
 
        if (!strcmp(str, "blob"))
-               return GIT_OBJ_BLOB;
+               return GIT_OBJECT_BLOB;
 
        if (!strcmp(str, "tag"))
-               return GIT_OBJ_TAG;
+               return GIT_OBJECT_TAG;
 
-       return GIT_OBJ_BAD;
+       return GIT_OBJECT_INVALID;
 }
 
 static int dereference_to_non_tag(git_object **out, git_object *obj)
 {
-       if (git_object_type(obj) == GIT_OBJ_TAG)
+       if (git_object_type(obj) == GIT_OBJECT_TAG)
                return git_tag_peel(out, (git_tag *)obj);
 
        return git_object_dup(out, obj);
@@ -385,7 +385,7 @@ static int handle_caret_parent_syntax(git_object **out, git_object *obj, int n)
        git_object *temp_commit = NULL;
        int error;
 
-       if ((error = git_object_peel(&temp_commit, obj, GIT_OBJ_COMMIT)) < 0)
+       if ((error = git_object_peel(&temp_commit, obj, GIT_OBJECT_COMMIT)) < 0)
                return (error == GIT_EAMBIGUOUS || error == GIT_ENOTFOUND) ?
                        GIT_EINVALIDSPEC : error;
 
@@ -405,7 +405,7 @@ static int handle_linear_syntax(git_object **out, git_object *obj, int n)
        git_object *temp_commit = NULL;
        int error;
 
-       if ((error = git_object_peel(&temp_commit, obj, GIT_OBJ_COMMIT)) < 0)
+       if ((error = git_object_peel(&temp_commit, obj, GIT_OBJECT_COMMIT)) < 0)
                return (error == GIT_EAMBIGUOUS || error == GIT_ENOTFOUND) ?
                        GIT_EINVALIDSPEC : error;
 
@@ -424,7 +424,7 @@ static int handle_colon_syntax(
        int error = -1;
        git_tree_entry *entry = NULL;
 
-       if ((error = git_object_peel(&tree, obj, GIT_OBJ_TREE)) < 0)
+       if ((error = git_object_peel(&tree, obj, GIT_OBJECT_TREE)) < 0)
                return error == GIT_ENOTFOUND ? GIT_EINVALIDSPEC : error;
 
        if (*path == '\0') {
@@ -456,7 +456,7 @@ static int walk_and_search(git_object **out, git_revwalk *walk, regex_t *regex)
 
        while (!(error = git_revwalk_next(&oid, walk))) {
 
-               error = git_object_lookup(&obj, git_revwalk_repository(walk), &oid, GIT_OBJ_COMMIT);
+               error = git_object_lookup(&obj, git_revwalk_repository(walk), &oid, GIT_OBJECT_COMMIT);
                if ((error < 0) && (error != GIT_ENOTFOUND))
                        return -1;
 
@@ -505,7 +505,7 @@ cleanup:
 
 static int handle_caret_curly_syntax(git_object **out, git_object *obj, const char *curly_braces_content)
 {
-       git_otype expected_type;
+       git_object_t expected_type;
 
        if (*curly_braces_content == '\0')
                return dereference_to_non_tag(out, obj);
@@ -515,7 +515,7 @@ static int handle_caret_curly_syntax(git_object **out, git_object *obj, const ch
 
        expected_type = parse_obj_type(curly_braces_content);
 
-       if (expected_type == GIT_OBJ_BAD)
+       if (expected_type == GIT_OBJECT_INVALID)
                return GIT_EINVALIDSPEC;
 
        return git_object_peel(out, obj, expected_type);
@@ -601,7 +601,7 @@ static int object_from_reference(git_object **object, git_reference *reference)
        if (git_reference_resolve(&resolved, reference) < 0)
                return -1;
 
-       error = git_object_lookup(object, reference->db->repo, git_reference_target(resolved), GIT_OBJ_ANY);
+       error = git_object_lookup(object, reference->db->repo, git_reference_target(resolved), GIT_OBJECT_ANY);
        git_reference_free(resolved);
 
        return error;
@@ -625,7 +625,7 @@ static int ensure_base_rev_loaded(git_object **object, git_reference **reference
                return -1;
 
        error = revparse_lookup_object(object, reference, repo, git_buf_cstr(&identifier));
-       git_buf_free(&identifier);
+       git_buf_dispose(&identifier);
 
        return error;
 }
@@ -759,7 +759,7 @@ int revparse__ext(
                                         * TODO: support merge-stage path lookup (":2:Makefile")
                                         * and plain index blob lookup (:i-am/a/blob)
                                         */
-                                       giterr_set(GITERR_INVALID, "unimplemented");
+                                       git_error_set(GIT_ERROR_INVALID, "unimplemented");
                                        error = GIT_ERROR;
                                        goto cleanup;
                                }
@@ -814,14 +814,14 @@ int revparse__ext(
 cleanup:
        if (error) {
                if (error == GIT_EINVALIDSPEC)
-                       giterr_set(GITERR_INVALID,
+                       git_error_set(GIT_ERROR_INVALID,
                                "failed to parse revision specifier - Invalid pattern '%s'", spec);
 
                git_object_free(base_rev);
                git_reference_free(reference);
        }
 
-       git_buf_free(&buf);
+       git_buf_dispose(&buf);
        return error;
 }
 
@@ -898,7 +898,7 @@ int git_revparse(
                 * allowed.
                 */
                if (!git__strcmp(spec, "..")) {
-                       giterr_set(GITERR_INVALID, "Invalid pattern '..'");
+                       git_error_set(GIT_ERROR_INVALID, "Invalid pattern '..'");
                        return GIT_EINVALIDSPEC;
                }
 
index f11dc0630eaae143d3a609347b2ad1f7fca2f1d0..1e3a5f2ff1062efa67f76c7872318269943699a1 100644 (file)
 #include "merge.h"
 #include "vector.h"
 
+static int get_revision(git_commit_list_node **out, git_revwalk *walk, git_commit_list **list);
+
 git_commit_list_node *git_revwalk__commit_lookup(
        git_revwalk *walk, const git_oid *oid)
 {
        git_commit_list_node *commit;
-       khiter_t pos;
+       size_t pos;
        int ret;
 
        /* lookup and reserve space if not already present */
@@ -48,10 +50,10 @@ static int push_commit(git_revwalk *walk, const git_oid *oid, int uninteresting,
        git_commit_list_node *commit;
        git_commit_list *list;
 
-       if ((error = git_object_lookup(&oobj, walk->repo, oid, GIT_OBJ_ANY)) < 0)
+       if ((error = git_object_lookup(&oobj, walk->repo, oid, GIT_OBJECT_ANY)) < 0)
                return error;
 
-       error = git_object_peel(&obj, oobj, GIT_OBJ_COMMIT);
+       error = git_object_peel(&obj, oobj, GIT_OBJECT_COMMIT);
        git_object_free(oobj);
 
        if (error == GIT_ENOTFOUND || error == GIT_EINVALIDSPEC || error == GIT_EPEEL) {
@@ -59,7 +61,7 @@ static int push_commit(git_revwalk *walk, const git_oid *oid, int uninteresting,
                if (from_glob)
                        return 0;
 
-               giterr_set(GITERR_INVALID, "object is not a committish");
+               git_error_set(GIT_ERROR_INVALID, "object is not a committish");
                return -1;
        }
        if (error < 0)
@@ -76,15 +78,17 @@ static int push_commit(git_revwalk *walk, const git_oid *oid, int uninteresting,
        if (commit->uninteresting)
                return 0;
 
-       if (uninteresting)
+       if (uninteresting) {
+               walk->limited = 1;
                walk->did_hide = 1;
-       else
+       } else {
                walk->did_push = 1;
+       }
 
        commit->uninteresting = uninteresting;
        list = walk->user_input;
        if (git_commit_list_insert(commit, &list) == NULL) {
-               giterr_set_oom();
+               git_error_set_oom();
                return -1;
        }
 
@@ -131,7 +135,7 @@ static int push_glob(git_revwalk *walk, const char *glob, int hide)
                git_buf_joinpath(&buf, GIT_REFS_DIR, glob);
        else
                git_buf_puts(&buf, glob);
-       GITERR_CHECK_ALLOC_BUF(&buf);
+       GIT_ERROR_CHECK_ALLOC_BUF(&buf);
 
        /* If no '?', '*' or '[' exist, we append '/ *' to the glob */
        wildcard = strcspn(glob, "?*[");
@@ -152,7 +156,7 @@ static int push_glob(git_revwalk *walk, const char *glob, int hide)
        if (error == GIT_ITEROVER)
                error = 0;
 out:
-       git_buf_free(&buf);
+       git_buf_dispose(&buf);
        return error;
 }
 
@@ -196,7 +200,7 @@ int git_revwalk_push_range(git_revwalk *walk, const char *range)
 
        if (revspec.flags & GIT_REVPARSE_MERGE_BASE) {
                /* TODO: support "<commit>...<commit>" */
-               giterr_set(GITERR_INVALID, "symmetric differences not implemented in revwalk");
+               git_error_set(GIT_ERROR_INVALID, "symmetric differences not implemented in revwalk");
                return GIT_EINVALIDSPEC;
        }
 
@@ -239,15 +243,16 @@ static int revwalk_next_timesort(git_commit_list_node **object_out, git_revwalk
                }
        }
 
-       giterr_clear();
+       git_error_clear();
        return GIT_ITEROVER;
 }
 
 static int revwalk_next_unsorted(git_commit_list_node **object_out, git_revwalk *walk)
 {
+       int error;
        git_commit_list_node *next;
 
-       while ((next = git_commit_list_pop(&walk->iterator_rand)) != NULL) {
+       while (!(error = get_revision(&next, walk, &walk->iterator_rand))) {
                /* Some commits might become uninteresting after being added to the list */
                if (!next->uninteresting) {
                        *object_out = next;
@@ -255,15 +260,15 @@ static int revwalk_next_unsorted(git_commit_list_node **object_out, git_revwalk
                }
        }
 
-       giterr_clear();
-       return GIT_ITEROVER;
+       return error;
 }
 
 static int revwalk_next_toposort(git_commit_list_node **object_out, git_revwalk *walk)
 {
+       int error;
        git_commit_list_node *next;
 
-       while ((next = git_commit_list_pop(&walk->iterator_topo)) != NULL) {
+       while (!(error = get_revision(&next, walk, &walk->iterator_topo))) {
                /* Some commits might become uninteresting after being added to the list */
                if (!next->uninteresting) {
                        *object_out = next;
@@ -271,8 +276,7 @@ static int revwalk_next_toposort(git_commit_list_node **object_out, git_revwalk
                }
        }
 
-       giterr_clear();
-       return GIT_ITEROVER;
+       return error;
 }
 
 static int revwalk_next_reverse(git_commit_list_node **object_out, git_revwalk *walk)
@@ -428,8 +432,8 @@ static int limit_list(git_commit_list **out, git_revwalk *walk, git_commit_list
                        break;
                }
 
-               if (!commit->uninteresting && walk->hide_cb && walk->hide_cb(&commit->oid, walk->hide_cb_payload))
-                               continue;
+               if (walk->hide_cb && walk->hide_cb(&commit->oid, walk->hide_cb_payload))
+                       continue;
 
                time = commit->time;
                p = &git_commit_list_insert(commit, p)->next;
@@ -440,6 +444,30 @@ static int limit_list(git_commit_list **out, git_revwalk *walk, git_commit_list
        return 0;
 }
 
+static int get_revision(git_commit_list_node **out, git_revwalk *walk, git_commit_list **list)
+{
+       int error;
+       git_commit_list_node *commit;
+
+       commit = git_commit_list_pop(list);
+       if (!commit) {
+               git_error_clear();
+               return GIT_ITEROVER;
+       }
+
+       /*
+        * If we did not run limit_list and we must add parents to the
+        * list ourselves.
+        */
+       if (!walk->limited) {
+               if ((error = add_parents_to_list(walk, commit, list)) < 0)
+                       return error;
+       }
+
+       *out = commit;
+       return 0;
+}
+
 static int sort_in_topological_order(git_commit_list **out, git_revwalk *walk, git_commit_list *list)
 {
        git_commit_list *ll = NULL, *newlist, **pptr;
@@ -534,7 +562,7 @@ static int prepare_walk(git_revwalk *walk)
 
        /* If there were no pushes, we know that the walk is already over */
        if (!walk->did_push) {
-               giterr_clear();
+               git_error_clear();
                return GIT_ITEROVER;
        }
 
@@ -552,7 +580,7 @@ static int prepare_walk(git_revwalk *walk)
                }
        }
 
-       if ((error = limit_list(&commits, walk, commits)) < 0)
+       if (walk->limited && (error = limit_list(&commits, walk, commits)) < 0)
                return error;
 
        if (walk->sorting & GIT_SORT_TOPOLOGICAL) {
@@ -596,10 +624,10 @@ static int prepare_walk(git_revwalk *walk)
 int git_revwalk_new(git_revwalk **revwalk_out, git_repository *repo)
 {
        git_revwalk *walk = git__calloc(1, sizeof(git_revwalk));
-       GITERR_CHECK_ALLOC(walk);
+       GIT_ERROR_CHECK_ALLOC(walk);
 
        walk->commits = git_oidmap_alloc();
-       GITERR_CHECK_ALLOC(walk->commits);
+       GIT_ERROR_CHECK_ALLOC(walk->commits);
 
        if (git_pqueue_init(&walk->iterator_time, 0, 8, git_commit_list_time_cmp) < 0)
                return -1;
@@ -655,6 +683,9 @@ void git_revwalk_sorting(git_revwalk *walk, unsigned int sort_mode)
                walk->get_next = &revwalk_next_unsorted;
                walk->enqueue = &revwalk_enqueue_unsorted;
        }
+
+       if (walk->sorting != GIT_SORT_NONE)
+               walk->limited = 1;
 }
 
 void git_revwalk_simplify_first_parent(git_revwalk *walk)
@@ -678,7 +709,7 @@ int git_revwalk_next(git_oid *oid, git_revwalk *walk)
 
        if (error == GIT_ITEROVER) {
                git_revwalk_reset(walk);
-               giterr_clear();
+               git_error_clear();
                return GIT_ITEROVER;
        }
 
@@ -710,7 +741,9 @@ void git_revwalk_reset(git_revwalk *walk)
        git_commit_list_free(&walk->user_input);
        walk->first_parent = 0;
        walk->walking = 0;
+       walk->limited = 0;
        walk->did_push = walk->did_hide = 0;
+       walk->sorting = GIT_SORT_NONE;
 }
 
 int git_revwalk_add_hide_cb(
@@ -723,15 +756,12 @@ int git_revwalk_add_hide_cb(
        if (walk->walking)
                git_revwalk_reset(walk);
 
-       if (walk->hide_cb) {
-               /* There is already a callback added */
-               giterr_set(GITERR_INVALID, "there is already a callback added to hide commits in revwalk");
-               return -1;
-       }
-
        walk->hide_cb = hide_cb;
        walk->hide_cb_payload = payload;
 
+       if (hide_cb)
+               walk->limited = 1;
+
        return 0;
 }
 
index 578328b72a3e2b7aca463e86221ea035288a4163..923a2bc801414b94d49ec061e8af1e4f3cf01fda 100644 (file)
@@ -36,7 +36,8 @@ struct git_revwalk {
        unsigned walking:1,
                first_parent: 1,
                did_hide: 1,
-               did_push: 1;
+               did_push: 1,
+               limited: 1;
        unsigned int sorting;
 
        /* the pushes and hides */
index 2a52ffbf633cdea2c9ae9fbb81f8b7aef948da13..95cbd89e49ea26e08563c55c89193a3b188cef90 100644 (file)
 # include <openssl/err.h>
 #endif
 
+#ifdef GIT_MBEDTLS
+# include <mbedtls/error.h>
+#endif
+
 #include <git2.h>
+#include "alloc.h"
 #include "sysdir.h"
 #include "cache.h"
 #include "global.h"
 #include "object.h"
 #include "odb.h"
 #include "refs.h"
+#include "index.h"
 #include "transports/smart.h"
 #include "streams/openssl.h"
+#include "streams/mbedtls.h"
 
 void git_libgit2_version(int *major, int *minor, int *rev)
 {
@@ -49,6 +56,7 @@ int git_libgit2_features(void)
 /* Declarations for tuneable settings */
 extern size_t git_mwindow__window_size;
 extern size_t git_mwindow__mapped_limit;
+extern size_t git_indexer__max_objects;
 
 static int config_level_to_sysdir(int config_level)
 {
@@ -68,8 +76,8 @@ static int config_level_to_sysdir(int config_level)
                val = GIT_SYSDIR_PROGRAMDATA;
                break;
        default:
-               giterr_set(
-                       GITERR_INVALID, "invalid config path selector %d", config_level);
+               git_error_set(
+                       GIT_ERROR_INVALID, "invalid config path selector %d", config_level);
        }
 
        return val;
@@ -132,7 +140,7 @@ int git_libgit2_opts(int key, ...)
 
        case GIT_OPT_SET_CACHE_OBJECT_LIMIT:
                {
-                       git_otype type = (git_otype)va_arg(ap, int);
+                       git_object_t type = (git_object_t)va_arg(ap, int);
                        size_t size = va_arg(ap, size_t);
                        error = git_cache_set_max_object_size(type, size);
                        break;
@@ -175,8 +183,17 @@ int git_libgit2_opts(int key, ...)
                        const char *path = va_arg(ap, const char *);
                        error = git_openssl__set_cert_location(file, path);
                }
+#elif defined(GIT_MBEDTLS)
+               {
+                       const char *file = va_arg(ap, const char *);
+                       const char *path = va_arg(ap, const char *);
+                       if (file)
+                               error = git_mbedtls__set_cert_location(file, 0);
+                       if (error && path)
+                               error = git_mbedtls__set_cert_location(path, 1);
+               }
 #else
-               giterr_set(GITERR_SSL, "TLS backend doesn't support certificate locations");
+               git_error_set(GIT_ERROR_SSL, "TLS backend doesn't support certificate locations");
                error = -1;
 #endif
                break;
@@ -184,7 +201,7 @@ int git_libgit2_opts(int key, ...)
                git__free(git__user_agent);
                git__user_agent = git__strdup(va_arg(ap, const char *));
                if (!git__user_agent) {
-                       giterr_set_oom();
+                       git_error_set_oom();
                        error = -1;
                }
 
@@ -199,17 +216,17 @@ int git_libgit2_opts(int key, ...)
                break;
 
        case GIT_OPT_SET_SSL_CIPHERS:
-#ifdef GIT_OPENSSL
+#if (GIT_OPENSSL || GIT_MBEDTLS)
                {
                        git__free(git__ssl_ciphers);
                        git__ssl_ciphers = git__strdup(va_arg(ap, const char *));
                        if (!git__ssl_ciphers) {
-                               giterr_set_oom();
+                               git_error_set_oom();
                                error = -1;
                        }
                }
 #else
-               giterr_set(GITERR_SSL, "TLS backend doesn't support custom ciphers");
+               git_error_set(GIT_ERROR_SSL, "TLS backend doesn't support custom ciphers");
                error = -1;
 #endif
                break;
@@ -246,8 +263,24 @@ int git_libgit2_opts(int key, ...)
                git_odb__strict_hash_verification = (va_arg(ap, int) != 0);
                break;
 
+       case GIT_OPT_SET_ALLOCATOR:
+               error = git_allocator_setup(va_arg(ap, git_allocator *));
+               break;
+
+       case GIT_OPT_ENABLE_UNSAVED_INDEX_SAFETY:
+               git_index__enforce_unsaved_safety = (va_arg(ap, int) != 0);
+               break;
+
+       case GIT_OPT_SET_PACK_MAX_OBJECTS:
+               git_indexer__max_objects = va_arg(ap, size_t);
+               break;
+
+       case GIT_OPT_GET_PACK_MAX_OBJECTS:
+               *(va_arg(ap, size_t *)) = git_indexer__max_objects;
+               break;
+
        default:
-               giterr_set(GITERR_INVALID, "invalid option key");
+               git_error_set(GIT_ERROR_INVALID, "invalid option key");
                error = -1;
        }
 
@@ -255,4 +288,3 @@ int git_libgit2_opts(int key, ...)
 
        return error;
 }
-
index 91864bb88dcb9326671eb255f6d74b115fdee3d3..f4c8a104aba08680b92c2794a8e006324930c9cf 100644 (file)
@@ -25,7 +25,7 @@ void git_signature_free(git_signature *sig)
 
 static int signature_error(const char *msg)
 {
-       giterr_set(GITERR_INVALID, "failed to parse signature - %s", msg);
+       git_error_set(GIT_ERROR_INVALID, "failed to parse signature - %s", msg);
        return -1;
 }
 
@@ -76,12 +76,12 @@ int git_signature_new(git_signature **sig_out, const char *name, const char *ema
        }
 
        p = git__calloc(1, sizeof(git_signature));
-       GITERR_CHECK_ALLOC(p);
+       GIT_ERROR_CHECK_ALLOC(p);
 
        p->name = extract_trimmed(name, strlen(name));
-       GITERR_CHECK_ALLOC(p->name);
+       GIT_ERROR_CHECK_ALLOC(p->name);
        p->email = extract_trimmed(email, strlen(email));
-       GITERR_CHECK_ALLOC(p->email);
+       GIT_ERROR_CHECK_ALLOC(p->email);
 
        if (p->name[0] == '\0' || p->email[0] == '\0') {
                git_signature_free(p);
@@ -104,13 +104,13 @@ int git_signature_dup(git_signature **dest, const git_signature *source)
                return 0;
 
        signature = git__calloc(1, sizeof(git_signature));
-       GITERR_CHECK_ALLOC(signature);
+       GIT_ERROR_CHECK_ALLOC(signature);
 
        signature->name = git__strdup(source->name);
-       GITERR_CHECK_ALLOC(signature->name);
+       GIT_ERROR_CHECK_ALLOC(signature->name);
 
        signature->email = git__strdup(source->email);
-       GITERR_CHECK_ALLOC(signature->email);
+       GIT_ERROR_CHECK_ALLOC(signature->email);
 
        signature->when.time = source->when.time;
        signature->when.offset = source->when.offset;
@@ -129,13 +129,13 @@ int git_signature__pdup(git_signature **dest, const git_signature *source, git_p
                return 0;
 
        signature = git_pool_mallocz(pool, sizeof(git_signature));
-       GITERR_CHECK_ALLOC(signature);
+       GIT_ERROR_CHECK_ALLOC(signature);
 
        signature->name = git_pool_strdup(pool, source->name);
-       GITERR_CHECK_ALLOC(signature->name);
+       GIT_ERROR_CHECK_ALLOC(signature->name);
 
        signature->email = git_pool_strdup(pool, source->email);
-       GITERR_CHECK_ALLOC(signature->email);
+       GIT_ERROR_CHECK_ALLOC(signature->email);
 
        signature->when.time = source->when.time;
        signature->when.offset = source->when.offset;
@@ -248,7 +248,7 @@ int git_signature__parse(git_signature *sig, const char **buffer_out,
 
                        if ((tz_start[0] != '-' && tz_start[0] != '+') ||
                            git__strntol32(&offset, tz_start + 1,
-                                          buffer_end - tz_start + 1, &tz_end, 10) < 0) {
+                                          buffer_end - tz_start - 1, &tz_end, 10) < 0) {
                                /* malformed timezone, just assume it's zero */
                                offset = 0;
                        }
@@ -284,7 +284,7 @@ int git_signature_from_buffer(git_signature **out, const char *buf)
        *out = NULL;
 
        sig = git__calloc(1, sizeof(git_signature));
-       GITERR_CHECK_ALLOC(sig);
+       GIT_ERROR_CHECK_ALLOC(sig);
 
        buf_end = buf + strlen(buf);
        error = git_signature__parse(sig, &buf, buf_end, NULL, '\0');
index 76672d9f702079ecb007f6016edd3392db44d9b1..02a685e10db839d4bef71dc8b14f0ecad04c924c 100644 (file)
@@ -20,10 +20,10 @@ int git_sortedcache_new(
 
        pathlen = path ? strlen(path) : 0;
 
-       GITERR_CHECK_ALLOC_ADD(&alloclen, sizeof(git_sortedcache), pathlen);
-       GITERR_CHECK_ALLOC_ADD(&alloclen, alloclen, 1);
+       GIT_ERROR_CHECK_ALLOC_ADD(&alloclen, sizeof(git_sortedcache), pathlen);
+       GIT_ERROR_CHECK_ALLOC_ADD(&alloclen, alloclen, 1);
        sc = git__calloc(1, alloclen);
-       GITERR_CHECK_ALLOC(sc);
+       GIT_ERROR_CHECK_ALLOC(sc);
 
        git_pool_init(&sc->pool, 1);
 
@@ -32,7 +32,7 @@ int git_sortedcache_new(
                goto fail;
 
        if (git_rwlock_init(&sc->lock)) {
-               giterr_set(GITERR_OS, "failed to initialize lock");
+               git_error_set(GIT_ERROR_OS, "failed to initialize lock");
                goto fail;
        }
 
@@ -167,7 +167,7 @@ int git_sortedcache_wlock(git_sortedcache *sc)
        GIT_UNUSED(sc); /* prevent warning when compiled w/o threads */
 
        if (git_rwlock_wrlock(&sc->lock) < 0) {
-               giterr_set(GITERR_OS, "unable to acquire write lock on cache");
+               git_error_set(GIT_ERROR_OS, "unable to acquire write lock on cache");
                return -1;
        }
        return 0;
@@ -186,7 +186,7 @@ int git_sortedcache_rlock(git_sortedcache *sc)
        GIT_UNUSED(sc); /* prevent warning when compiled w/o threads */
 
        if (git_rwlock_rdlock(&sc->lock) < 0) {
-               giterr_set(GITERR_OS, "unable to acquire read lock on cache");
+               git_error_set(GIT_ERROR_OS, "unable to acquire read lock on cache");
                return -1;
        }
        return 0;
@@ -219,14 +219,14 @@ int git_sortedcache_lockandload(git_sortedcache *sc, git_buf *buf)
        }
 
        if (p_fstat(fd, &st) < 0) {
-               giterr_set(GITERR_OS, "failed to stat file");
+               git_error_set(GIT_ERROR_OS, "failed to stat file");
                error = -1;
                (void)p_close(fd);
                goto unlock;
        }
 
        if (!git__is_sizet(st.st_size)) {
-               giterr_set(GITERR_INVALID, "unable to load file larger than size_t");
+               git_error_set(GIT_ERROR_INVALID, "unable to load file larger than size_t");
                error = -1;
                (void)p_close(fd);
                goto unlock;
@@ -270,8 +270,8 @@ int git_sortedcache_clear(git_sortedcache *sc, bool wlock)
 /* find and/or insert item, returning pointer to item data */
 int git_sortedcache_upsert(void **out, git_sortedcache *sc, const char *key)
 {
+       size_t pos;
        int error = 0;
-       khiter_t pos;
        void *item;
        size_t keylen, itemlen;
        char *item_key;
@@ -287,7 +287,7 @@ int git_sortedcache_upsert(void **out, git_sortedcache *sc, const char *key)
        itemlen = (itemlen + 7) & ~7;
 
        if ((item = git_pool_mallocz(&sc->pool, (uint32_t)itemlen)) == NULL) {
-               /* don't use GITERR_CHECK_ALLOC b/c of lock */
+               /* don't use GIT_ERROR_CHECK_ALLOC b/c of lock */
                error = -1;
                goto done;
        }
@@ -320,7 +320,7 @@ done:
 /* lookup item by key */
 void *git_sortedcache_lookup(const git_sortedcache *sc, const char *key)
 {
-       khiter_t pos = git_strmap_lookup_index(sc->map, key);
+       size_t pos = git_strmap_lookup_index(sc->map, key);
        if (git_strmap_valid_index(sc->map, pos))
                return git_strmap_value_at(sc->map, pos);
        return NULL;
@@ -371,14 +371,14 @@ int git_sortedcache_lookup_index(
 int git_sortedcache_remove(git_sortedcache *sc, size_t pos)
 {
        char *item;
-       khiter_t mappos;
+       size_t mappos;
 
        /* because of pool allocation, this can't actually remove the item,
         * but we can remove it from the items vector and the hash table.
         */
 
        if ((item = git_vector_get(&sc->items, pos)) == NULL) {
-               giterr_set(GITERR_INVALID, "removing item out of range");
+               git_error_set(GIT_ERROR_INVALID, "removing item out of range");
                return GIT_ENOTFOUND;
        }
 
index 8a8c57a83c0f186ec82e96312206b16950c71e55..c332d93bb7aced7e15bfad93d2d91bbe52297cfc 100644 (file)
@@ -12,6 +12,7 @@
 #include "message.h"
 #include "tree.h"
 #include "reflog.h"
+#include "blob.h"
 #include "git2/diff.h"
 #include "git2/stash.h"
 #include "git2/status.h"
@@ -28,7 +29,7 @@
 
 static int create_error(int error, const char *msg)
 {
-       giterr_set(GITERR_STASH, "cannot stash changes - %s", msg);
+       git_error_set(GIT_ERROR_STASH, "cannot stash changes - %s", msg);
        return error;
 }
 
@@ -47,7 +48,7 @@ static int append_abbreviated_oid(git_buf *out, const git_oid *b_commit)
        char *formatted_oid;
 
        formatted_oid = git_oid_allocfmt(b_commit);
-       GITERR_CHECK_ALLOC(formatted_oid);
+       GIT_ERROR_CHECK_ALLOC(formatted_oid);
 
        git_buf_put(out, formatted_oid, 7);
        git__free(formatted_oid);
@@ -58,7 +59,7 @@ static int append_abbreviated_oid(git_buf *out, const git_oid *b_commit)
 static int append_commit_description(git_buf *out, git_commit* commit)
 {
        const char *summary = git_commit_summary(commit);
-       GITERR_CHECK_ALLOC(summary);
+       GIT_ERROR_CHECK_ALLOC(summary);
 
        if (append_abbreviated_oid(out, git_commit_id(commit)) < 0)
                return -1;
@@ -103,19 +104,23 @@ cleanup:
        return error;
 }
 
-static int build_tree_from_index(git_tree **out, git_index *index)
+static int build_tree_from_index(
+       git_tree **out,
+       git_repository *repo,
+       git_index *index)
 {
        int error;
        git_oid i_tree_oid;
 
-       if ((error = git_index_write_tree(&i_tree_oid, index)) < 0)
+       if ((error = git_index_write_tree_to(&i_tree_oid, index, repo)) < 0)
                return error;
 
-       return git_tree_lookup(out, git_index_owner(index), &i_tree_oid);
+       return git_tree_lookup(out, repo, &i_tree_oid);
 }
 
 static int commit_index(
        git_commit **i_commit,
+       git_repository *repo,
        git_index *index,
        const git_signature *stasher,
        const char *message,
@@ -126,7 +131,7 @@ static int commit_index(
        git_buf msg = GIT_BUF_INIT;
        int error;
 
-       if ((error = build_tree_from_index(&i_tree, index)) < 0)
+       if ((error = build_tree_from_index(&i_tree, repo, index)) < 0)
                goto cleanup;
 
        if ((error = git_buf_printf(&msg, "index on %s\n", message)) < 0)
@@ -149,7 +154,7 @@ static int commit_index(
 
 cleanup:
        git_tree_free(i_tree);
-       git_buf_free(&msg);
+       git_buf_dispose(&msg);
        return error;
 }
 
@@ -159,7 +164,38 @@ struct stash_update_rules {
        bool include_ignored;
 };
 
+/*
+ * Similar to git_index_add_bypath but able to operate on any
+ * index without making assumptions about the repository's index
+ */
+static int stash_to_index(
+       git_repository *repo,
+       git_index *index,
+       const char *path)
+{
+       git_index *repo_index;
+       git_index_entry entry = {{0}};
+       struct stat st;
+       int error;
+
+       if (!git_repository_is_bare(repo) &&
+           (error = git_repository_index__weakptr(&repo_index, repo)) < 0)
+               return error;
+
+       if ((error = git_blob__create_from_paths(
+           &entry.id, &st, repo, NULL, path, 0, true)) < 0)
+               return error;
+
+       git_index_entry__init_from_stat(&entry, &st,
+               (repo_index != NULL || !repo_index->distrust_filemode));
+
+       entry.path = path;
+
+       return git_index_add(index, &entry);
+}
+
 static int stash_update_index_from_diff(
+       git_repository *repo,
        git_index *index,
        const git_diff *diff,
        struct stash_update_rules *data)
@@ -197,15 +233,15 @@ static int stash_update_index_from_diff(
 
                default:
                        /* Unimplemented */
-                       giterr_set(
-                               GITERR_INVALID,
+                       git_error_set(
+                               GIT_ERROR_INVALID,
                                "cannot update index. Unimplemented status (%d)",
                                delta->status);
                        return -1;
                }
 
                if (add_path != NULL)
-                       error = git_index_add_bypath(index, add_path);
+                       error = stash_to_index(repo, index, add_path);
        }
 
        return error;
@@ -213,17 +249,19 @@ static int stash_update_index_from_diff(
 
 static int build_untracked_tree(
        git_tree **tree_out,
-       git_index *index,
+       git_repository *repo,
        git_commit *i_commit,
        uint32_t flags)
 {
+       git_index *i_index = NULL;
        git_tree *i_tree = NULL;
        git_diff *diff = NULL;
        git_diff_options opts = GIT_DIFF_OPTIONS_INIT;
        struct stash_update_rules data = {0};
        int error;
 
-       git_index_clear(index);
+       if ((error = git_index_new(&i_index)) < 0)
+               goto cleanup;
 
        if (flags & GIT_STASH_INCLUDE_UNTRACKED) {
                opts.flags |= GIT_DIFF_INCLUDE_UNTRACKED |
@@ -240,24 +278,24 @@ static int build_untracked_tree(
        if ((error = git_commit_tree(&i_tree, i_commit)) < 0)
                goto cleanup;
 
-       if ((error = git_diff_tree_to_workdir(
-                       &diff, git_index_owner(index), i_tree, &opts)) < 0)
+       if ((error = git_diff_tree_to_workdir(&diff, repo, i_tree, &opts)) < 0)
                goto cleanup;
 
-       if ((error = stash_update_index_from_diff(index, diff, &data)) < 0)
+       if ((error = stash_update_index_from_diff(repo, i_index, diff, &data)) < 0)
                goto cleanup;
 
-       error = build_tree_from_index(tree_out, index);
+       error = build_tree_from_index(tree_out, repo, i_index);
 
 cleanup:
        git_diff_free(diff);
        git_tree_free(i_tree);
+       git_index_free(i_index);
        return error;
 }
 
 static int commit_untracked(
        git_commit **u_commit,
-       git_index *index,
+       git_repository *repo,
        const git_signature *stasher,
        const char *message,
        git_commit *i_commit,
@@ -268,7 +306,7 @@ static int commit_untracked(
        git_buf msg = GIT_BUF_INIT;
        int error;
 
-       if ((error = build_untracked_tree(&u_tree, index, i_commit, flags)) < 0)
+       if ((error = build_untracked_tree(&u_tree, repo, i_commit, flags)) < 0)
                goto cleanup;
 
        if ((error = git_buf_printf(&msg, "untracked files on %s\n", message)) < 0)
@@ -276,7 +314,7 @@ static int commit_untracked(
 
        if ((error = git_commit_create(
                &u_commit_oid,
-               git_index_owner(index),
+               repo,
                NULL,
                stasher,
                stasher,
@@ -287,11 +325,11 @@ static int commit_untracked(
                NULL)) < 0)
                goto cleanup;
 
-       error = git_commit_lookup(u_commit, git_index_owner(index), &u_commit_oid);
+       error = git_commit_lookup(u_commit, repo, &u_commit_oid);
 
 cleanup:
        git_tree_free(u_tree);
-       git_buf_free(&msg);
+       git_buf_dispose(&msg);
        return error;
 }
 
@@ -316,10 +354,10 @@ static git_diff_delta *stash_delta_merge(
 
 static int build_workdir_tree(
        git_tree **tree_out,
-       git_index *index,
+       git_repository *repo,
+       git_index *i_index,
        git_commit *b_commit)
 {
-       git_repository *repo = git_index_owner(index);
        git_tree *b_tree = NULL;
        git_diff *diff = NULL, *idx_to_wd = NULL;
        git_diff_options opts = GIT_DIFF_OPTIONS_INIT;
@@ -331,17 +369,17 @@ static int build_workdir_tree(
        if ((error = git_commit_tree(&b_tree, b_commit)) < 0)
                goto cleanup;
 
-       if ((error = git_diff_tree_to_index(&diff, repo, b_tree, index, &opts)) < 0 ||
-               (error = git_diff_index_to_workdir(&idx_to_wd, repo, index, &opts)) < 0 ||
+       if ((error = git_diff_tree_to_index(&diff, repo, b_tree, i_index, &opts)) < 0 ||
+               (error = git_diff_index_to_workdir(&idx_to_wd, repo, i_index, &opts)) < 0 ||
                (error = git_diff__merge(diff, idx_to_wd, stash_delta_merge)) < 0)
                goto cleanup;
 
        data.include_changed = true;
 
-       if ((error = stash_update_index_from_diff(index, diff, &data)) < 0)
+       if ((error = stash_update_index_from_diff(repo, i_index, diff, &data)) < 0)
                goto cleanup;
 
-       error = build_tree_from_index(tree_out, index);
+       error = build_tree_from_index(tree_out, repo, i_index);
 
 cleanup:
        git_diff_free(idx_to_wd);
@@ -353,7 +391,7 @@ cleanup:
 
 static int commit_worktree(
        git_oid *w_commit_oid,
-       git_index *index,
+       git_repository *repo,
        const git_signature *stasher,
        const char *message,
        git_commit *i_commit,
@@ -362,7 +400,9 @@ static int commit_worktree(
 {
        int error = 0;
        git_tree *w_tree = NULL, *i_tree = NULL;
+       git_index *i_index = NULL;
        const git_commit *parents[] = { NULL, NULL,     NULL };
+       int ignorecase;
 
        parents[0] = b_commit;
        parents[1] = i_commit;
@@ -371,15 +411,21 @@ static int commit_worktree(
        if ((error = git_commit_tree(&i_tree, i_commit)) < 0)
                goto cleanup;
 
-       if ((error = git_index_read_tree(index, i_tree)) < 0)
+       if ((error = git_index_new(&i_index)) < 0 ||
+               (error = git_repository__cvar(&ignorecase, repo, GIT_CVAR_IGNORECASE)) < 0)
+               goto cleanup;
+
+       git_index__set_ignore_case(i_index, ignorecase);
+
+       if ((error = git_index_read_tree(i_index, i_tree)) < 0)
                goto cleanup;
 
-       if ((error = build_workdir_tree(&w_tree, index, b_commit)) < 0)
+       if ((error = build_workdir_tree(&w_tree, repo, i_index, b_commit)) < 0)
                goto cleanup;
 
        error = git_commit_create(
                w_commit_oid,
-               git_index_owner(index),
+               repo,
                NULL,
                stasher,
                stasher,
@@ -392,6 +438,7 @@ static int commit_worktree(
 cleanup:
        git_tree_free(i_tree);
        git_tree_free(w_tree);
+       git_index_free(i_index);
        return error;
 }
 
@@ -423,7 +470,7 @@ static int prepare_worktree_commit_message(
        error = (git_buf_oom(msg) || git_buf_oom(&buf)) ? -1 : 0;
 
 cleanup:
-       git_buf_free(&buf);
+       git_buf_dispose(&buf);
 
        return error;
 }
@@ -534,12 +581,12 @@ int git_stash_save(
                goto cleanup;
 
        if ((error = commit_index(
-                       &i_commit, index, stasher, git_buf_cstr(&msg), b_commit)) < 0)
+                       &i_commit, repo, index, stasher, git_buf_cstr(&msg), b_commit)) < 0)
                goto cleanup;
 
        if ((flags & (GIT_STASH_INCLUDE_UNTRACKED | GIT_STASH_INCLUDE_IGNORED)) &&
                (error = commit_untracked(
-                       &u_commit, index, stasher, git_buf_cstr(&msg),
+                       &u_commit, repo, stasher, git_buf_cstr(&msg),
                        i_commit, flags)) < 0)
                goto cleanup;
 
@@ -547,7 +594,7 @@ int git_stash_save(
                goto cleanup;
 
        if ((error = commit_worktree(
-                       out, index, stasher, git_buf_cstr(&msg),
+                       out, repo, stasher, git_buf_cstr(&msg),
                        i_commit, b_commit, u_commit)) < 0)
                goto cleanup;
 
@@ -565,7 +612,7 @@ int git_stash_save(
 
 cleanup:
 
-       git_buf_free(&msg);
+       git_buf_dispose(&msg);
        git_commit_free(i_commit);
        git_commit_free(b_commit);
        git_commit_free(u_commit);
@@ -594,7 +641,7 @@ static int retrieve_stash_commit(
        max = git_reflog_entrycount(reflog);
        if (!max || index > max - 1) {
                error = GIT_ENOTFOUND;
-               giterr_set(GITERR_STASH, "no stashed state at position %" PRIuZ, index);
+               git_error_set(GIT_ERROR_STASH, "no stashed state at position %" PRIuZ, index);
                goto cleanup;
        }
 
@@ -738,8 +785,7 @@ static void normalize_apply_options(
                memcpy(opts, &default_apply_opts, sizeof(git_stash_apply_options));
        }
 
-       if ((opts->checkout_options.checkout_strategy & (GIT_CHECKOUT_SAFE | GIT_CHECKOUT_FORCE)) == 0)
-               opts->checkout_options.checkout_strategy = GIT_CHECKOUT_SAFE;
+       opts->checkout_options.checkout_strategy |= GIT_CHECKOUT_NO_REFRESH;
 
        if (!opts->checkout_options.our_label)
                opts->checkout_options.our_label = "Updated upstream";
@@ -776,7 +822,7 @@ static int ensure_clean_index(git_repository *repo, git_index *index)
                goto done;
 
        if (git_diff_num_deltas(index_diff) > 0) {
-               giterr_set(GITERR_STASH, "%" PRIuZ " uncommitted changes exist in the index",
+               git_error_set(GIT_ERROR_STASH, "%" PRIuZ " uncommitted changes exist in the index",
                        git_diff_num_deltas(index_diff));
                error = GIT_EUNCOMMITTED;
        }
@@ -848,7 +894,7 @@ int git_stash_apply(
        git_index *untracked_index = NULL;
        int error;
 
-       GITERR_CHECK_VERSION(given_opts, GIT_STASH_APPLY_OPTIONS_VERSION, "git_stash_apply_options");
+       GIT_ERROR_CHECK_VERSION(given_opts, GIT_STASH_APPLY_OPTIONS_VERSION, "git_stash_apply_options");
 
        normalize_apply_options(&opts, given_opts);
        checkout_strategy = opts.checkout_options.checkout_strategy;
@@ -981,7 +1027,7 @@ int git_stash_foreach(
 
        error = git_reference_lookup(&stash, repo, GIT_REFS_STASH_FILE);
        if (error == GIT_ENOTFOUND) {
-               giterr_clear();
+               git_error_clear();
                return 0;
        }
        if (error < 0)
@@ -1000,7 +1046,7 @@ int git_stash_foreach(
                        payload);
 
                if (error) {
-                       giterr_set_after_callback(error);
+                       git_error_set_after_callback(error);
                        break;
                }
        }
@@ -1037,7 +1083,7 @@ int git_stash_drop(
 
        if (!max || index > max - 1) {
                error = GIT_ENOTFOUND;
-               giterr_set(GITERR_STASH, "no stashed state at position %" PRIuZ, index);
+               git_error_set(GIT_ERROR_STASH, "no stashed state at position %" PRIuZ, index);
                goto cleanup;
        }
 
index f547bd46683c5b1c6ecd0a0296bd221b65e74039..ef32a0a8ea1202fd79d6a8a91837e9588914280b 100644 (file)
@@ -174,7 +174,7 @@ static int status_collect(
                return 0;
 
        status_entry = git__malloc(sizeof(git_status_entry));
-       GITERR_CHECK_ALLOC(status_entry);
+       GIT_ERROR_CHECK_ALLOC(status_entry);
 
        status_entry->status = status_compute(status, head2idx, idx2wd);
        status_entry->head_to_index = head2idx;
@@ -240,16 +240,16 @@ static int status_validate_options(const git_status_options *opts)
        if (!opts)
                return 0;
 
-       GITERR_CHECK_VERSION(opts, GIT_STATUS_OPTIONS_VERSION, "git_status_options");
+       GIT_ERROR_CHECK_VERSION(opts, GIT_STATUS_OPTIONS_VERSION, "git_status_options");
 
        if (opts->show > GIT_STATUS_SHOW_WORKDIR_ONLY) {
-               giterr_set(GITERR_INVALID, "unknown status 'show' option");
+               git_error_set(GIT_ERROR_INVALID, "unknown status 'show' option");
                return -1;
        }
 
        if ((opts->flags & GIT_STATUS_OPT_NO_REFRESH) != 0 &&
                (opts->flags & GIT_STATUS_OPT_UPDATE_INDEX) != 0) {
-               giterr_set(GITERR_INVALID, "updating index from status "
+               git_error_set(GIT_ERROR_INVALID, "updating index from status "
                        "is not allowed when index refresh is disabled");
                return -1;
        }
@@ -288,17 +288,17 @@ int git_status_list_new(
                if ((error = git_repository_head_tree(&head, repo)) < 0) {
                        if (error != GIT_ENOTFOUND && error != GIT_EUNBORNBRANCH)
                                goto done;
-                       giterr_clear();
+                       git_error_clear();
                }
        }
 
        /* refresh index from disk unless prevented */
        if ((flags & GIT_STATUS_OPT_NO_REFRESH) == 0 &&
-               git_index_read(index, false) < 0)
-               giterr_clear();
+               git_index_read_safely(index) < 0)
+               git_error_clear();
 
        status = git_status_list_alloc(index);
-       GITERR_CHECK_ALLOC(status);
+       GIT_ERROR_CHECK_ALLOC(status);
 
        if (opts) {
                memcpy(&status->opts, opts, sizeof(git_status_options));
@@ -437,7 +437,7 @@ int git_status_foreach_ext(
                        status_entry->index_to_workdir->old_file.path;
 
                if ((error = cb(path, status_entry->status, payload)) != 0) {
-                       giterr_set_after_callback(error);
+                       git_error_set_after_callback(error);
                        break;
                }
        }
@@ -475,7 +475,7 @@ static int get_one_status(const char *path, unsigned int status, void *data)
                 p_fnmatch(sfi->expected, path, sfi->fnm_flags) != 0))
        {
                sfi->ambiguous = true;
-               return GIT_EAMBIGUOUS; /* giterr_set will be done by caller */
+               return GIT_EAMBIGUOUS; /* git_error_set will be done by caller */
        }
 
        return 0;
@@ -514,13 +514,13 @@ int git_status_file(
        error = git_status_foreach_ext(repo, &opts, get_one_status, &sfi);
 
        if (error < 0 && sfi.ambiguous) {
-               giterr_set(GITERR_INVALID,
+               git_error_set(GIT_ERROR_INVALID,
                        "ambiguous path '%s' given to git_status_file", sfi.expected);
                error = GIT_EAMBIGUOUS;
        }
 
        if (!error && !sfi.count) {
-               giterr_set(GITERR_INVALID,
+               git_error_set(GIT_ERROR_INVALID,
                        "attempt to get status of nonexistent file '%s'", path);
                error = GIT_ENOTFOUND;
        }
@@ -551,7 +551,7 @@ int git_status_list_get_perfdata(
        git_diff_perfdata *out, const git_status_list *status)
 {
        assert(out);
-       GITERR_CHECK_VERSION(out, GIT_DIFF_PERFDATA_VERSION, "git_diff_perfdata");
+       GIT_ERROR_CHECK_VERSION(out, GIT_DIFF_PERFDATA_VERSION, "git_diff_perfdata");
 
        out->stat_calls = 0;
        out->oid_calculations = 0;
diff --git a/src/stdalloc.c b/src/stdalloc.c
new file mode 100644 (file)
index 0000000..c6d4ec8
--- /dev/null
@@ -0,0 +1,120 @@
+/*
+ * Copyright (C) the libgit2 contributors. All rights reserved.
+ *
+ * This file is part of libgit2, distributed under the GNU GPL v2 with
+ * a Linking Exception. For full terms see the included COPYING file.
+ */
+
+#include "stdalloc.h"
+
+static void *stdalloc__malloc(size_t len, const char *file, int line)
+{
+       void *ptr = malloc(len);
+
+       GIT_UNUSED(file);
+       GIT_UNUSED(line);
+
+       if (!ptr) git_error_set_oom();
+       return ptr;
+}
+
+static void *stdalloc__calloc(size_t nelem, size_t elsize, const char *file, int line)
+{
+       void *ptr = calloc(nelem, elsize);
+
+       GIT_UNUSED(file);
+       GIT_UNUSED(line);
+
+       if (!ptr) git_error_set_oom();
+       return ptr;
+}
+
+static char *stdalloc__strdup(const char *str, const char *file, int line)
+{
+       char *ptr = strdup(str);
+
+       GIT_UNUSED(file);
+       GIT_UNUSED(line);
+
+       if (!ptr) git_error_set_oom();
+       return ptr;
+}
+
+static char *stdalloc__strndup(const char *str, size_t n, const char *file, int line)
+{
+       size_t length = 0, alloclength;
+       char *ptr;
+
+       length = p_strnlen(str, n);
+
+       if (GIT_ADD_SIZET_OVERFLOW(&alloclength, length, 1) ||
+               !(ptr = stdalloc__malloc(alloclength, file, line)))
+               return NULL;
+
+       if (length)
+               memcpy(ptr, str, length);
+
+       ptr[length] = '\0';
+
+       return ptr;
+}
+
+static char *stdalloc__substrdup(const char *start, size_t n, const char *file, int line)
+{
+       char *ptr;
+       size_t alloclen;
+
+       if (GIT_ADD_SIZET_OVERFLOW(&alloclen, n, 1) ||
+               !(ptr = stdalloc__malloc(alloclen, file, line)))
+               return NULL;
+
+       memcpy(ptr, start, n);
+       ptr[n] = '\0';
+       return ptr;
+}
+
+static void *stdalloc__realloc(void *ptr, size_t size, const char *file, int line)
+{
+       void *new_ptr = realloc(ptr, size);
+
+       GIT_UNUSED(file);
+       GIT_UNUSED(line);
+
+       if (!new_ptr) git_error_set_oom();
+       return new_ptr;
+}
+
+static void *stdalloc__reallocarray(void *ptr, size_t nelem, size_t elsize, const char *file, int line)
+{
+       size_t newsize;
+
+       GIT_UNUSED(file);
+       GIT_UNUSED(line);
+
+       return GIT_MULTIPLY_SIZET_OVERFLOW(&newsize, nelem, elsize) ?
+               NULL : realloc(ptr, newsize);
+}
+
+static void *stdalloc__mallocarray(size_t nelem, size_t elsize, const char *file, int line)
+{
+       return stdalloc__reallocarray(NULL, nelem, elsize, file, line);
+}
+
+static void stdalloc__free(void *ptr)
+{
+       free(ptr);
+}
+
+int git_stdalloc_init_allocator(git_allocator *allocator)
+{
+       allocator->gmalloc = stdalloc__malloc;
+       allocator->gcalloc = stdalloc__calloc;
+       allocator->gstrdup = stdalloc__strdup;
+       allocator->gstrndup = stdalloc__strndup;
+       allocator->gsubstrdup = stdalloc__substrdup;
+       allocator->grealloc = stdalloc__realloc;
+       allocator->greallocarray = stdalloc__reallocarray;
+       allocator->gmallocarray = stdalloc__mallocarray;
+       allocator->gfree = stdalloc__free;
+       return 0;
+}
diff --git a/src/stdalloc.h b/src/stdalloc.h
new file mode 100644 (file)
index 0000000..a8927a5
--- /dev/null
@@ -0,0 +1,17 @@
+/*
+ * Copyright (C) the libgit2 contributors. All rights reserved.
+ *
+ * This file is part of libgit2, distributed under the GNU GPL v2 with
+ * a Linking Exception. For full terms see the included COPYING file.
+ */
+
+#ifndef INCLUDE_stdalloc_h__
+#define INCLUDE_stdalloc_h__
+
+#include "alloc.h"
+
+#include "common.h"
+
+int git_stdalloc_init_allocator(git_allocator *allocator);
+
+#endif
index d354775910b33d3f0c094a69c83c90e591204bf1..f16b026fbe83e641c60befd6481f0b53dafbed85 100644 (file)
@@ -23,7 +23,7 @@ GIT_INLINE(int) git_stream_is_encrypted(git_stream *st)
 GIT_INLINE(int) git_stream_certificate(git_cert **out, git_stream *st)
 {
        if (!st->encrypted) {
-               giterr_set(GITERR_INVALID, "an unencrypted stream does not have a certificate");
+               git_error_set(GIT_ERROR_INVALID, "an unencrypted stream does not have a certificate");
                return -1;
        }
 
@@ -38,7 +38,7 @@ GIT_INLINE(int) git_stream_supports_proxy(git_stream *st)
 GIT_INLINE(int) git_stream_set_proxy(git_stream *st, const git_proxy_options *proxy_opts)
 {
        if (!st->proxy_support) {
-               giterr_set(GITERR_INVALID, "proxy not supported on this stream");
+               git_error_set(GIT_ERROR_INVALID, "proxy not supported on this stream");
                return -1;
        }
 
@@ -55,6 +55,21 @@ GIT_INLINE(ssize_t) git_stream_write(git_stream *st, const char *data, size_t le
        return st->write(st, data, len, flags);
 }
 
+GIT_INLINE(int) git_stream__write_full(git_stream *st, const char *data, size_t len, int flags)
+{
+       size_t total_written = 0;
+
+       while (total_written < len) {
+               ssize_t written = git_stream_write(st, data + total_written, len - total_written, flags);
+               if (written <= 0)
+                       return -1;
+
+               total_written += written;
+       }
+
+       return 0;
+}
+
 GIT_INLINE(int) git_stream_close(git_stream *st)
 {
        return st->close(st);
diff --git a/src/streams/curl.c b/src/streams/curl.c
deleted file mode 100644 (file)
index 3c0af3b..0000000
+++ /dev/null
@@ -1,385 +0,0 @@
-/*
- * Copyright (C) the libgit2 contributors. All rights reserved.
- *
- * This file is part of libgit2, distributed under the GNU GPL v2 with
- * a Linking Exception. For full terms see the included COPYING file.
- */
-
-#include "streams/curl.h"
-
-#ifdef GIT_CURL
-
-#include <curl/curl.h>
-
-#include "stream.h"
-#include "git2/transport.h"
-#include "buffer.h"
-#include "global.h"
-#include "vector.h"
-#include "proxy.h"
-
-/* This is for backwards compatibility with curl<7.45.0. */
-#ifndef CURLINFO_ACTIVESOCKET
-# define CURLINFO_ACTIVESOCKET CURLINFO_LASTSOCKET
-# define GIT_CURL_BADSOCKET -1
-# define git_activesocket_t long
-#else
-# define GIT_CURL_BADSOCKET CURL_SOCKET_BAD
-# define git_activesocket_t curl_socket_t
-#endif
-
-typedef struct {
-       git_stream parent;
-       CURL *handle;
-       curl_socket_t socket;
-       char curl_error[CURL_ERROR_SIZE + 1];
-       git_cert_x509 cert_info;
-       git_strarray cert_info_strings;
-       git_proxy_options proxy;
-       git_cred *proxy_cred;
-} curl_stream;
-
-int git_curl_stream_global_init(void)
-{
-       if (curl_global_init(CURL_GLOBAL_ALL) != 0) {
-               giterr_set(GITERR_NET, "could not initialize curl");
-               return -1;
-       }
-
-       /* `curl_global_cleanup` is provided by libcurl */
-       git__on_shutdown(curl_global_cleanup);
-       return 0;
-}
-
-static int seterr_curl(curl_stream *s)
-{
-       giterr_set(GITERR_NET, "curl error: %s\n", s->curl_error);
-       return -1;
-}
-
-GIT_INLINE(int) error_no_credentials(void)
-{
-       giterr_set(GITERR_NET, "proxy authentication required, but no callback provided");
-       return GIT_EAUTH;
-}
-
-static int apply_proxy_creds(curl_stream *s)
-{
-       CURLcode res;
-       git_cred_userpass_plaintext *userpass;
-
-       if (!s->proxy_cred)
-               return GIT_ENOTFOUND;
-
-       userpass = (git_cred_userpass_plaintext *) s->proxy_cred;
-       if ((res = curl_easy_setopt(s->handle, CURLOPT_PROXYUSERNAME, userpass->username)) != CURLE_OK)
-               return seterr_curl(s);
-       if ((res = curl_easy_setopt(s->handle, CURLOPT_PROXYPASSWORD, userpass->password)) != CURLE_OK)
-               return seterr_curl(s);
-
-       return 0;
-}
-
-static int ask_and_apply_proxy_creds(curl_stream *s)
-{
-       int error;
-       git_proxy_options *opts = &s->proxy;
-
-       if (!opts->credentials)
-               return error_no_credentials();
-
-       /* TODO: see if PROXYAUTH_AVAIL helps us here */
-       git_cred_free(s->proxy_cred);
-       s->proxy_cred = NULL;
-       giterr_clear();
-       error = opts->credentials(&s->proxy_cred, opts->url, NULL, GIT_CREDTYPE_USERPASS_PLAINTEXT, opts->payload);
-       if (error == GIT_PASSTHROUGH)
-               return error_no_credentials();
-       if (error < 0) {
-               if (!giterr_last())
-                       giterr_set(GITERR_NET, "proxy authentication was aborted by the user");
-               return error;
-       }
-
-       if (s->proxy_cred->credtype != GIT_CREDTYPE_USERPASS_PLAINTEXT) {
-               giterr_set(GITERR_NET, "credentials callback returned invalid credential type");
-               return -1;
-       }
-
-       return apply_proxy_creds(s);
-}
-
-static int curls_connect(git_stream *stream)
-{
-       curl_stream *s = (curl_stream *) stream;
-       git_activesocket_t sockextr;
-       long connect_last = 0;
-       int failed_cert = 0, error;
-       bool retry_connect;
-       CURLcode res;
-
-       /* Apply any credentials we've already established */
-       error = apply_proxy_creds(s);
-       if (error < 0 && error != GIT_ENOTFOUND)
-               return seterr_curl(s);
-
-       do {
-               retry_connect = 0;
-               res = curl_easy_perform(s->handle);
-
-               curl_easy_getinfo(s->handle, CURLINFO_HTTP_CONNECTCODE, &connect_last);
-
-               /* HTTP 407 Proxy Authentication Required */
-               if (connect_last == 407) {
-                       if ((error = ask_and_apply_proxy_creds(s)) < 0)
-                               return error;
-
-                       retry_connect = true;
-               }
-       } while (retry_connect);
-
-       if (res != CURLE_OK && res != CURLE_PEER_FAILED_VERIFICATION)
-               return seterr_curl(s);
-       if (res == CURLE_PEER_FAILED_VERIFICATION)
-               failed_cert = 1;
-
-       if ((res = curl_easy_getinfo(s->handle, CURLINFO_ACTIVESOCKET, &sockextr)) != CURLE_OK) {
-               return seterr_curl(s);
-       }
-
-       if (sockextr == GIT_CURL_BADSOCKET) {
-               giterr_set(GITERR_NET, "curl socket is no longer valid");
-               return -1;
-       }
-
-       s->socket = sockextr;
-
-       if (s->parent.encrypted && failed_cert)
-               return GIT_ECERTIFICATE;
-
-       return 0;
-}
-
-static int curls_certificate(git_cert **out, git_stream *stream)
-{
-       int error;
-       CURLcode res;
-       struct curl_slist *slist;
-       struct curl_certinfo *certinfo;
-       git_vector strings = GIT_VECTOR_INIT;
-       curl_stream *s = (curl_stream *) stream;
-
-       if ((res = curl_easy_getinfo(s->handle, CURLINFO_CERTINFO, &certinfo)) != CURLE_OK)
-               return seterr_curl(s);
-
-       /* No information is available, can happen with SecureTransport */
-       if (certinfo->num_of_certs == 0) {
-               s->cert_info.parent.cert_type = GIT_CERT_NONE;
-               s->cert_info.data             = NULL;
-               s->cert_info.len              = 0;
-               return 0;
-       }
-
-       if ((error = git_vector_init(&strings, 8, NULL)) < 0)
-               return error;
-
-       for (slist = certinfo->certinfo[0]; slist; slist = slist->next) {
-               char *str = git__strdup(slist->data);
-               GITERR_CHECK_ALLOC(str);
-               git_vector_insert(&strings, str);
-       }
-
-       /* Copy the contents of the vector into a strarray so we can expose them */
-       s->cert_info_strings.strings = (char **) strings.contents;
-       s->cert_info_strings.count   = strings.length;
-
-       s->cert_info.parent.cert_type = GIT_CERT_STRARRAY;
-       s->cert_info.data             = &s->cert_info_strings;
-       s->cert_info.len              = strings.length;
-
-       *out = &s->cert_info.parent;
-
-       return 0;
-}
-
-static int curls_set_proxy(git_stream *stream, const git_proxy_options *proxy_opts)
-{
-       int error;
-       CURLcode res;
-       curl_stream *s = (curl_stream *) stream;
-
-       git_proxy_options_clear(&s->proxy);
-       if ((error = git_proxy_options_dup(&s->proxy, proxy_opts)) < 0)
-               return error;
-
-       if ((res = curl_easy_setopt(s->handle, CURLOPT_PROXY, s->proxy.url)) != CURLE_OK)
-               return seterr_curl(s);
-
-       if ((res = curl_easy_setopt(s->handle, CURLOPT_PROXYAUTH, CURLAUTH_ANY)) != CURLE_OK)
-               return seterr_curl(s);
-
-       return 0;
-}
-
-static int wait_for(curl_socket_t fd, bool reading)
-{
-       int ret;
-       fd_set infd, outfd, errfd;
-
-       FD_ZERO(&infd);
-       FD_ZERO(&outfd);
-       FD_ZERO(&errfd);
-
-       assert(fd >= 0);
-       FD_SET(fd, &errfd);
-       if (reading)
-               FD_SET(fd, &infd);
-       else
-               FD_SET(fd, &outfd);
-
-       if ((ret = select(fd + 1, &infd, &outfd, &errfd, NULL)) < 0) {
-               giterr_set(GITERR_OS, "error in select");
-               return -1;
-       }
-
-       return 0;
-}
-
-static ssize_t curls_write(git_stream *stream, const char *data, size_t len, int flags)
-{
-       int error;
-       size_t off = 0, sent;
-       CURLcode res;
-       curl_stream *s = (curl_stream *) stream;
-
-       GIT_UNUSED(flags);
-
-       do {
-               if ((error = wait_for(s->socket, false)) < 0)
-                       return error;
-
-               res = curl_easy_send(s->handle, data + off, len - off, &sent);
-               if (res == CURLE_OK)
-                       off += sent;
-       } while ((res == CURLE_OK || res == CURLE_AGAIN) && off < len);
-
-       if (res != CURLE_OK)
-               return seterr_curl(s);
-
-       return len;
-}
-
-static ssize_t curls_read(git_stream *stream, void *data, size_t len)
-{
-       int error;
-       size_t read;
-       CURLcode res;
-       curl_stream *s = (curl_stream *) stream;
-
-       do {
-               if ((error = wait_for(s->socket, true)) < 0)
-                       return error;
-
-               res = curl_easy_recv(s->handle, data, len, &read);
-       } while (res == CURLE_AGAIN);
-
-       if (res != CURLE_OK)
-               return seterr_curl(s);
-
-       return read;
-}
-
-static int curls_close(git_stream *stream)
-{
-       curl_stream *s = (curl_stream *) stream;
-
-       if (!s->handle)
-               return 0;
-
-       curl_easy_cleanup(s->handle);
-       s->handle = NULL;
-       s->socket = 0;
-
-       return 0;
-}
-
-static void curls_free(git_stream *stream)
-{
-       curl_stream *s = (curl_stream *) stream;
-
-       curls_close(stream);
-       git_strarray_free(&s->cert_info_strings);
-       git_proxy_options_clear(&s->proxy);
-       git_cred_free(s->proxy_cred);
-       git__free(s);
-}
-
-int git_curl_stream_new(git_stream **out, const char *host, const char *port)
-{
-       curl_stream *st;
-       CURL *handle;
-       int iport = 0, error;
-
-       st = git__calloc(1, sizeof(curl_stream));
-       GITERR_CHECK_ALLOC(st);
-
-       handle = curl_easy_init();
-       if (handle == NULL) {
-               giterr_set(GITERR_NET, "failed to create curl handle");
-               git__free(st);
-               return -1;
-       }
-
-       if ((error = git__strntol32(&iport, port, strlen(port), NULL, 10)) < 0) {
-               git__free(st);
-               return error;
-       }
-
-       curl_easy_setopt(handle, CURLOPT_URL, host);
-       curl_easy_setopt(handle, CURLOPT_ERRORBUFFER, st->curl_error);
-       curl_easy_setopt(handle, CURLOPT_PORT, iport);
-       curl_easy_setopt(handle, CURLOPT_CONNECT_ONLY, 1);
-       curl_easy_setopt(handle, CURLOPT_SSL_VERIFYPEER, 1);
-       curl_easy_setopt(handle, CURLOPT_CERTINFO, 1);
-       curl_easy_setopt(handle, CURLOPT_HTTPPROXYTUNNEL, 1);
-       curl_easy_setopt(handle, CURLOPT_PROXYAUTH, CURLAUTH_ANY);
-
-       /* curl_easy_setopt(handle, CURLOPT_VERBOSE, 1); */
-
-       st->parent.version = GIT_STREAM_VERSION;
-       st->parent.encrypted = 0; /* we don't encrypt ourselves */
-       st->parent.proxy_support = 1;
-       st->parent.connect = curls_connect;
-       st->parent.certificate = curls_certificate;
-       st->parent.set_proxy = curls_set_proxy;
-       st->parent.read = curls_read;
-       st->parent.write = curls_write;
-       st->parent.close = curls_close;
-       st->parent.free = curls_free;
-       st->handle = handle;
-
-       *out = (git_stream *) st;
-       return 0;
-}
-
-#else
-
-#include "stream.h"
-
-int git_curl_stream_global_init(void)
-{
-       return 0;
-}
-
-int git_curl_stream_new(git_stream **out, const char *host, const char *port)
-{
-       GIT_UNUSED(out);
-       GIT_UNUSED(host);
-       GIT_UNUSED(port);
-
-       giterr_set(GITERR_NET, "curl is not supported in this version");
-       return -1;
-}
-
-
-#endif
diff --git a/src/streams/curl.h b/src/streams/curl.h
deleted file mode 100644 (file)
index 511cd89..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-/*
- * Copyright (C) the libgit2 contributors. All rights reserved.
- *
- * This file is part of libgit2, distributed under the GNU GPL v2 with
- * a Linking Exception. For full terms see the included COPYING file.
- */
-#ifndef INCLUDE_streams_curl_h__
-#define INCLUDE_streams_curl_h__
-
-#include "common.h"
-
-#include "git2/sys/stream.h"
-
-extern int git_curl_stream_global_init(void);
-extern int git_curl_stream_new(git_stream **out, const char *host, const char *port);
-
-#endif
diff --git a/src/streams/mbedtls.c b/src/streams/mbedtls.c
new file mode 100644 (file)
index 0000000..cbe2f68
--- /dev/null
@@ -0,0 +1,483 @@
+/*
+ * Copyright (C) the libgit2 contributors. All rights reserved.
+ *
+ * This file is part of libgit2, distributed under the GNU GPL v2 with
+ * a Linking Exception. For full terms see the included COPYING file.
+ */
+
+#include "streams/mbedtls.h"
+
+#ifdef GIT_MBEDTLS
+
+#include <ctype.h>
+
+#include "global.h"
+#include "stream.h"
+#include "streams/socket.h"
+#include "netops.h"
+#include "git2/transport.h"
+#include "util.h"
+
+#ifndef GIT_DEFAULT_CERT_LOCATION
+#define GIT_DEFAULT_CERT_LOCATION NULL
+#endif
+
+/* Work around C90-conformance issues */
+#if defined(_MSC_VER)
+# define inline __inline
+#elif defined(__GNUC__)
+# define inline __inline__
+#else
+# define inline
+#endif
+
+#include <mbedtls/config.h>
+#include <mbedtls/ssl.h>
+#include <mbedtls/error.h>
+#include <mbedtls/entropy.h>
+#include <mbedtls/ctr_drbg.h>
+
+#undef inline
+
+#define GIT_SSL_DEFAULT_CIPHERS "TLS-ECDHE-ECDSA-WITH-AES-128-GCM-SHA256:TLS-ECDHE-RSA-WITH-AES-128-GCM-SHA256:TLS-ECDHE-ECDSA-WITH-AES-256-GCM-SHA384:TLS-ECDHE-RSA-WITH-AES-256-GCM-SHA384:TLS-DHE-RSA-WITH-AES-128-GCM-SHA256:TLS-DHE-DSS-WITH-AES-128-GCM-SHA256:TLS-DHE-RSA-WITH-AES-256-GCM-SHA384:TLS-DHE-DSS-WITH-AES-256-GCM-SHA384:TLS-ECDHE-ECDSA-WITH-AES-128-CBC-SHA256:TLS-ECDHE-RSA-WITH-AES-128-CBC-SHA256:TLS-ECDHE-ECDSA-WITH-AES-128-CBC-SHA:TLS-ECDHE-RSA-WITH-AES-128-CBC-SHA:TLS-ECDHE-ECDSA-WITH-AES-256-CBC-SHA384:TLS-ECDHE-RSA-WITH-AES-256-CBC-SHA384:TLS-ECDHE-ECDSA-WITH-AES-256-CBC-SHA:TLS-ECDHE-RSA-WITH-AES-256-CBC-SHA:TLS-DHE-RSA-WITH-AES-128-CBC-SHA256:TLS-DHE-RSA-WITH-AES-256-CBC-SHA256:TLS-DHE-RSA-WITH-AES-128-CBC-SHA:TLS-DHE-RSA-WITH-AES-256-CBC-SHA:TLS-DHE-DSS-WITH-AES-128-CBC-SHA256:TLS-DHE-DSS-WITH-AES-256-CBC-SHA256:TLS-DHE-DSS-WITH-AES-128-CBC-SHA:TLS-DHE-DSS-WITH-AES-256-CBC-SHA:TLS-RSA-WITH-AES-128-GCM-SHA256:TLS-RSA-WITH-AES-256-GCM-SHA384:TLS-RSA-WITH-AES-128-CBC-SHA256:TLS-RSA-WITH-AES-256-CBC-SHA256:TLS-RSA-WITH-AES-128-CBC-SHA:TLS-RSA-WITH-AES-256-CBC-SHA"
+#define GIT_SSL_DEFAULT_CIPHERS_COUNT 30
+
+static mbedtls_ssl_config *git__ssl_conf;
+static int ciphers_list[GIT_SSL_DEFAULT_CIPHERS_COUNT];
+static mbedtls_entropy_context *mbedtls_entropy;
+
+/**
+ * This function aims to clean-up the SSL context which
+ * we allocated.
+ */
+static void shutdown_ssl(void)
+{
+       if (git__ssl_conf) {
+               mbedtls_x509_crt_free(git__ssl_conf->ca_chain);
+               git__free(git__ssl_conf->ca_chain);
+               mbedtls_ctr_drbg_free(git__ssl_conf->p_rng);
+               git__free(git__ssl_conf->p_rng);
+               mbedtls_ssl_config_free(git__ssl_conf);
+               git__free(git__ssl_conf);
+               git__ssl_conf = NULL;
+       }
+       if (mbedtls_entropy) {
+               mbedtls_entropy_free(mbedtls_entropy);
+               git__free(mbedtls_entropy);
+               mbedtls_entropy = NULL;
+       }
+}
+
+int git_mbedtls__set_cert_location(const char *path, int is_dir);
+
+int git_mbedtls_stream_global_init(void)
+{
+       int loaded = 0;
+       char *crtpath = GIT_DEFAULT_CERT_LOCATION;
+       struct stat statbuf;
+       mbedtls_ctr_drbg_context *ctr_drbg = NULL;
+
+       size_t ciphers_known = 0;
+       char *cipher_name = NULL;
+       char *cipher_string = NULL;
+       char *cipher_string_tmp = NULL;
+
+       git__ssl_conf = git__malloc(sizeof(mbedtls_ssl_config));
+       GIT_ERROR_CHECK_ALLOC(git__ssl_conf);
+
+       mbedtls_ssl_config_init(git__ssl_conf);
+       if (mbedtls_ssl_config_defaults(git__ssl_conf,
+                                           MBEDTLS_SSL_IS_CLIENT,
+                                           MBEDTLS_SSL_TRANSPORT_STREAM,
+                                           MBEDTLS_SSL_PRESET_DEFAULT) != 0) {
+               git_error_set(GIT_ERROR_SSL, "failed to initialize mbedTLS");
+               goto cleanup;
+       }
+
+       /* configure TLSv1 */
+       mbedtls_ssl_conf_min_version(git__ssl_conf, MBEDTLS_SSL_MAJOR_VERSION_3, MBEDTLS_SSL_MINOR_VERSION_0);
+
+       /* verify_server_cert is responsible for making the check.
+        * OPTIONAL because REQUIRED drops the certificate as soon as the check
+        * is made, so we can never see the certificate and override it. */
+       mbedtls_ssl_conf_authmode(git__ssl_conf, MBEDTLS_SSL_VERIFY_OPTIONAL);
+
+       /* set the list of allowed ciphersuites */
+       ciphers_known = 0;
+       cipher_string = cipher_string_tmp = git__strdup(GIT_SSL_DEFAULT_CIPHERS);
+       GIT_ERROR_CHECK_ALLOC(cipher_string);
+
+       while ((cipher_name = git__strtok(&cipher_string_tmp, ":")) != NULL) {
+               int cipherid = mbedtls_ssl_get_ciphersuite_id(cipher_name);
+               if (cipherid == 0) continue;
+
+               if (ciphers_known >= ARRAY_SIZE(ciphers_list)) {
+                       git_error_set(GIT_ERROR_SSL, "out of cipher list space");
+                       goto cleanup;
+               }
+
+               ciphers_list[ciphers_known++] = cipherid;
+       }
+       git__free(cipher_string);
+
+       if (!ciphers_known) {
+               git_error_set(GIT_ERROR_SSL, "no cipher could be enabled");
+               goto cleanup;
+       }
+       mbedtls_ssl_conf_ciphersuites(git__ssl_conf, ciphers_list);
+
+       /* Seeding the random number generator */
+       mbedtls_entropy = git__malloc(sizeof(mbedtls_entropy_context));
+       GIT_ERROR_CHECK_ALLOC(mbedtls_entropy);
+
+       mbedtls_entropy_init(mbedtls_entropy);
+
+       ctr_drbg = git__malloc(sizeof(mbedtls_ctr_drbg_context));
+       GIT_ERROR_CHECK_ALLOC(ctr_drbg);
+
+       mbedtls_ctr_drbg_init(ctr_drbg);
+
+       if (mbedtls_ctr_drbg_seed(ctr_drbg,
+                                     mbedtls_entropy_func,
+                                     mbedtls_entropy, NULL, 0) != 0) {
+               git_error_set(GIT_ERROR_SSL, "failed to initialize mbedTLS entropy pool");
+               goto cleanup;
+       }
+
+       mbedtls_ssl_conf_rng(git__ssl_conf, mbedtls_ctr_drbg_random, ctr_drbg);
+
+       /* load default certificates */
+       if (crtpath != NULL && stat(crtpath, &statbuf) == 0 && S_ISREG(statbuf.st_mode))
+               loaded = (git_mbedtls__set_cert_location(crtpath, 0) == 0);
+       if (!loaded && crtpath != NULL && stat(crtpath, &statbuf) == 0 && S_ISDIR(statbuf.st_mode))
+               loaded = (git_mbedtls__set_cert_location(crtpath, 1) == 0);
+
+       git__on_shutdown(shutdown_ssl);
+
+       return 0;
+
+cleanup:
+       mbedtls_ctr_drbg_free(ctr_drbg);
+       git__free(ctr_drbg);
+       mbedtls_ssl_config_free(git__ssl_conf);
+       git__free(git__ssl_conf);
+       git__ssl_conf = NULL;
+
+       return -1;
+}
+
+static int bio_read(void *b, unsigned char *buf, size_t len)
+{
+       git_stream *io = (git_stream *) b;
+       return (int) git_stream_read(io, buf, min(len, INT_MAX));
+}
+
+static int bio_write(void *b, const unsigned char *buf, size_t len)
+{
+       git_stream *io = (git_stream *) b;
+       return (int) git_stream_write(io, (const char *)buf, min(len, INT_MAX), 0);
+}
+
+static int ssl_set_error(mbedtls_ssl_context *ssl, int error)
+{
+       char errbuf[512];
+       int ret = -1;
+
+       assert(error != MBEDTLS_ERR_SSL_WANT_READ);
+       assert(error != MBEDTLS_ERR_SSL_WANT_WRITE);
+
+       if (error != 0)
+               mbedtls_strerror( error, errbuf, 512 );
+
+       switch(error) {
+               case 0:
+               git_error_set(GIT_ERROR_SSL, "SSL error: unknown error");
+               break;
+
+       case MBEDTLS_ERR_X509_CERT_VERIFY_FAILED:
+               git_error_set(GIT_ERROR_SSL, "SSL error: %#04x [%x] - %s", error, ssl->session_negotiate->verify_result, errbuf);
+               ret = GIT_ECERTIFICATE;
+               break;
+
+       default:
+               git_error_set(GIT_ERROR_SSL, "SSL error: %#04x - %s", error, errbuf);
+       }
+
+       return ret;
+}
+
+static int ssl_teardown(mbedtls_ssl_context *ssl)
+{
+       int ret = 0;
+
+       ret = mbedtls_ssl_close_notify(ssl);
+       if (ret < 0)
+               ret = ssl_set_error(ssl, ret);
+
+       mbedtls_ssl_free(ssl);
+       return ret;
+}
+
+static int verify_server_cert(mbedtls_ssl_context *ssl)
+{
+       int ret = -1;
+
+       if ((ret = mbedtls_ssl_get_verify_result(ssl)) != 0) {
+               char vrfy_buf[512];
+               int len = mbedtls_x509_crt_verify_info(vrfy_buf, sizeof(vrfy_buf), "", ret);
+               if (len >= 1) vrfy_buf[len - 1] = '\0'; /* Remove trailing \n */
+               git_error_set(GIT_ERROR_SSL, "the SSL certificate is invalid: %#04x - %s", ret, vrfy_buf);
+               return GIT_ECERTIFICATE;
+       }
+
+       return 0;
+}
+
+typedef struct {
+       git_stream parent;
+       git_stream *io;
+       int owned;
+       bool connected;
+       char *host;
+       mbedtls_ssl_context *ssl;
+       git_cert_x509 cert_info;
+} mbedtls_stream;
+
+
+static int mbedtls_connect(git_stream *stream)
+{
+       int ret;
+       mbedtls_stream *st = (mbedtls_stream *) stream;
+
+       if (st->owned && (ret = git_stream_connect(st->io)) < 0)
+               return ret;
+
+       st->connected = true;
+
+       mbedtls_ssl_set_hostname(st->ssl, st->host);
+
+       mbedtls_ssl_set_bio(st->ssl, st->io, bio_write, bio_read, NULL);
+
+       if ((ret = mbedtls_ssl_handshake(st->ssl)) != 0)
+               return ssl_set_error(st->ssl, ret);
+
+       return verify_server_cert(st->ssl);
+}
+
+static int mbedtls_certificate(git_cert **out, git_stream *stream)
+{
+       unsigned char *encoded_cert;
+       mbedtls_stream *st = (mbedtls_stream *) stream;
+
+       const mbedtls_x509_crt *cert = mbedtls_ssl_get_peer_cert(st->ssl);
+       if (!cert) {
+               git_error_set(GIT_ERROR_SSL, "the server did not provide a certificate");
+               return -1;
+       }
+
+       /* Retrieve the length of the certificate first */
+       if (cert->raw.len == 0) {
+               git_error_set(GIT_ERROR_NET, "failed to retrieve certificate information");
+               return -1;
+       }
+
+       encoded_cert = git__malloc(cert->raw.len);
+       GIT_ERROR_CHECK_ALLOC(encoded_cert);
+       memcpy(encoded_cert, cert->raw.p, cert->raw.len);
+
+       st->cert_info.parent.cert_type = GIT_CERT_X509;
+       st->cert_info.data = encoded_cert;
+       st->cert_info.len = cert->raw.len;
+
+       *out = &st->cert_info.parent;
+
+       return 0;
+}
+
+static int mbedtls_set_proxy(git_stream *stream, const git_proxy_options *proxy_options)
+{
+       mbedtls_stream *st = (mbedtls_stream *) stream;
+
+       return git_stream_set_proxy(st->io, proxy_options);
+}
+
+static ssize_t mbedtls_stream_write(git_stream *stream, const char *data, size_t len, int flags)
+{
+       mbedtls_stream *st = (mbedtls_stream *) stream;
+       int written;
+
+       GIT_UNUSED(flags);
+
+       /*
+        * `mbedtls_ssl_write` can only represent INT_MAX bytes
+        * written via its return value. We thus need to clamp
+        * the maximum number of bytes written.
+        */
+       len = min(len, INT_MAX);
+
+       if ((written = mbedtls_ssl_write(st->ssl, (const unsigned char *)data, len)) <= 0)
+               return ssl_set_error(st->ssl, written);
+
+       return written;
+}
+
+static ssize_t mbedtls_stream_read(git_stream *stream, void *data, size_t len)
+{
+       mbedtls_stream *st = (mbedtls_stream *) stream;
+       int ret;
+
+       if ((ret = mbedtls_ssl_read(st->ssl, (unsigned char *)data, len)) <= 0)
+               ssl_set_error(st->ssl, ret);
+
+       return ret;
+}
+
+static int mbedtls_stream_close(git_stream *stream)
+{
+       mbedtls_stream *st = (mbedtls_stream *) stream;
+       int ret = 0;
+
+       if (st->connected && (ret = ssl_teardown(st->ssl)) != 0)
+               return -1;
+
+       st->connected = false;
+
+       return st->owned ? git_stream_close(st->io) : 0;
+}
+
+static void mbedtls_stream_free(git_stream *stream)
+{
+       mbedtls_stream *st = (mbedtls_stream *) stream;
+
+       if (st->owned)
+               git_stream_free(st->io);
+
+       git__free(st->host);
+       git__free(st->cert_info.data);
+       mbedtls_ssl_free(st->ssl);
+       git__free(st->ssl);
+       git__free(st);
+}
+
+static int mbedtls_stream_wrap(
+       git_stream **out,
+       git_stream *in,
+       const char *host,
+       int owned)
+{
+       mbedtls_stream *st;
+       int error;
+
+       st = git__calloc(1, sizeof(mbedtls_stream));
+       GIT_ERROR_CHECK_ALLOC(st);
+
+       st->io = in;
+       st->owned = owned;
+
+       st->ssl = git__malloc(sizeof(mbedtls_ssl_context));
+       GIT_ERROR_CHECK_ALLOC(st->ssl);
+       mbedtls_ssl_init(st->ssl);
+       if (mbedtls_ssl_setup(st->ssl, git__ssl_conf)) {
+               git_error_set(GIT_ERROR_SSL, "failed to create ssl object");
+               error = -1;
+               goto out_err;
+       }
+
+       st->host = git__strdup(host);
+       GIT_ERROR_CHECK_ALLOC(st->host);
+
+       st->parent.version = GIT_STREAM_VERSION;
+       st->parent.encrypted = 1;
+       st->parent.proxy_support = git_stream_supports_proxy(st->io);
+       st->parent.connect = mbedtls_connect;
+       st->parent.certificate = mbedtls_certificate;
+       st->parent.set_proxy = mbedtls_set_proxy;
+       st->parent.read = mbedtls_stream_read;
+       st->parent.write = mbedtls_stream_write;
+       st->parent.close = mbedtls_stream_close;
+       st->parent.free = mbedtls_stream_free;
+
+       *out = (git_stream *) st;
+       return 0;
+
+out_err:
+       mbedtls_ssl_free(st->ssl);
+       git_stream_close(st->io);
+       git_stream_free(st->io);
+       git__free(st);
+
+       return error;
+}
+
+int git_mbedtls_stream_wrap(
+       git_stream **out,
+       git_stream *in,
+       const char *host)
+{
+       return mbedtls_stream_wrap(out, in, host, 0);
+}
+
+int git_mbedtls_stream_new(
+       git_stream **out,
+       const char *host,
+       const char *port)
+{
+       git_stream *stream;
+       int error;
+
+       assert(out && host && port);
+
+       if ((error = git_socket_stream_new(&stream, host, port)) < 0)
+               return error;
+
+       if ((error = mbedtls_stream_wrap(out, stream, host, 1)) < 0) {
+               git_stream_close(stream);
+               git_stream_free(stream);
+       }
+
+       return error;
+}
+
+int git_mbedtls__set_cert_location(const char *path, int is_dir)
+{
+       int ret = 0;
+       char errbuf[512];
+       mbedtls_x509_crt *cacert;
+
+       assert(path != NULL);
+
+       cacert = git__malloc(sizeof(mbedtls_x509_crt));
+       GIT_ERROR_CHECK_ALLOC(cacert);
+
+       mbedtls_x509_crt_init(cacert);
+       if (is_dir) {
+               ret = mbedtls_x509_crt_parse_path(cacert, path);
+       } else {
+               ret = mbedtls_x509_crt_parse_file(cacert, path);
+       }
+       /* mbedtls_x509_crt_parse_path returns the number of invalid certs on success */
+       if (ret < 0) {
+               mbedtls_x509_crt_free(cacert);
+               git__free(cacert);
+               mbedtls_strerror( ret, errbuf, 512 );
+               git_error_set(GIT_ERROR_SSL, "failed to load CA certificates: %#04x - %s", ret, errbuf);
+               return -1;
+       }
+
+       mbedtls_x509_crt_free(git__ssl_conf->ca_chain);
+       git__free(git__ssl_conf->ca_chain);
+       mbedtls_ssl_conf_ca_chain(git__ssl_conf, cacert, NULL);
+
+       return 0;
+}
+
+#else
+
+#include "stream.h"
+
+int git_mbedtls_stream_global_init(void)
+{
+       return 0;
+}
+
+#endif
diff --git a/src/streams/mbedtls.h b/src/streams/mbedtls.h
new file mode 100644 (file)
index 0000000..7de94b9
--- /dev/null
@@ -0,0 +1,23 @@
+/*
+ * Copyright (C) the libgit2 contributors. All rights reserved.
+ *
+ * This file is part of libgit2, distributed under the GNU GPL v2 with
+ * a Linking Exception. For full terms see the included COPYING file.
+ */
+#ifndef INCLUDE_steams_mbedtls_h__
+#define INCLUDE_steams_mbedtls_h__
+
+#include "common.h"
+
+#include "git2/sys/stream.h"
+
+extern int git_mbedtls_stream_global_init(void);
+
+#ifdef GIT_MBEDTLS
+extern int git_mbedtls__set_cert_location(const char *path, int is_dir);
+
+extern int git_mbedtls_stream_new(git_stream **out, const char *host, const char *port);
+extern int git_mbedtls_stream_wrap(git_stream **out, git_stream *in, const char *host);
+#endif
+
+#endif
index adcb7f14ef65d160ee23a4a71061356b51a12905..fe5f79cce84d34be68466a498ee521ed7d9ca744 100644 (file)
 #include "git2/transport.h"
 #include "git2/sys/openssl.h"
 
-#ifdef GIT_CURL
-# include "streams/curl.h"
-#endif
-
 #ifndef GIT_WIN32
 # include <sys/types.h>
 # include <sys/socket.h>
@@ -38,8 +34,115 @@ SSL_CTX *git__ssl_ctx;
 
 #define GIT_SSL_DEFAULT_CIPHERS "ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-DSS-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA:DHE-DSS-AES128-SHA256:DHE-DSS-AES256-SHA256:DHE-DSS-AES128-SHA:DHE-DSS-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA"
 
-#if defined(GIT_THREADS) && OPENSSL_VERSION_NUMBER < 0x10100000L
+#if (defined(OPENSSL_VERSION_NUMBER) && OPENSSL_VERSION_NUMBER < 0x10100000L) || \
+     (defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x20700000L)
+# define OPENSSL_LEGACY_API
+#endif
+
+/*
+ * OpenSSL 1.1 made BIO opaque so we have to use functions to interact with it
+ * which do not exist in previous versions. We define these inline functions so
+ * we can program against the interface instead of littering the implementation
+ * with ifdefs. We do the same for OPENSSL_init_ssl.
+ */
+#if defined(OPENSSL_LEGACY_API)
+static int OPENSSL_init_ssl(int opts, void *settings)
+{
+       GIT_UNUSED(opts);
+       GIT_UNUSED(settings);
+       SSL_load_error_strings();
+       OpenSSL_add_ssl_algorithms();
+       return 0;
+}
+
+static BIO_METHOD* BIO_meth_new(int type, const char *name)
+{
+       BIO_METHOD *meth = git__calloc(1, sizeof(BIO_METHOD));
+       if (!meth) {
+               return NULL;
+       }
+
+       meth->type = type;
+       meth->name = name;
+
+       return meth;
+}
+
+static void BIO_meth_free(BIO_METHOD *biom)
+{
+       git__free(biom);
+}
+
+static int BIO_meth_set_write(BIO_METHOD *biom, int (*write) (BIO *, const char *, int))
+{
+       biom->bwrite = write;
+       return 1;
+}
+
+static int BIO_meth_set_read(BIO_METHOD *biom, int (*read) (BIO *, char *, int))
+{
+       biom->bread = read;
+       return 1;
+}
+
+static int BIO_meth_set_puts(BIO_METHOD *biom, int (*puts) (BIO *, const char *))
+{
+       biom->bputs = puts;
+       return 1;
+}
+
+static int BIO_meth_set_gets(BIO_METHOD *biom, int (*gets) (BIO *, char *, int))
+
+{
+       biom->bgets = gets;
+       return 1;
+}
+
+static int BIO_meth_set_ctrl(BIO_METHOD *biom, long (*ctrl) (BIO *, int, long, void *))
+{
+       biom->ctrl = ctrl;
+       return 1;
+}
+
+static int BIO_meth_set_create(BIO_METHOD *biom, int (*create) (BIO *))
+{
+       biom->create = create;
+       return 1;
+}
+
+static int BIO_meth_set_destroy(BIO_METHOD *biom, int (*destroy) (BIO *))
+{
+       biom->destroy = destroy;
+       return 1;
+}
+
+static int BIO_get_new_index(void)
+{
+       /* This exists as of 1.1 so before we'd just have 0 */
+       return 0;
+}
+
+static void BIO_set_init(BIO *b, int init)
+{
+       b->init = init;
+}
+
+static void BIO_set_data(BIO *a, void *ptr)
+{
+       a->ptr = ptr;
+}
+
+static void *BIO_get_data(BIO *a)
+{
+       return a->ptr;
+}
+
+static const unsigned char *ASN1_STRING_get0_data(const ASN1_STRING *x)
+{
+       return ASN1_STRING_data((ASN1_STRING *)x);
+}
 
+# if defined(GIT_THREADS)
 static git_mutex *openssl_locks;
 
 static void openssl_locking_function(
@@ -70,8 +173,8 @@ static void shutdown_ssl_locking(void)
                git_mutex_free(&openssl_locks[i]);
        git__free(openssl_locks);
 }
-
-#endif /* GIT_THREADS && OPENSSL_VERSION_NUMBER < 0x10100000L */
+# endif /* GIT_THREADS */
+#endif /* OPENSSL_LEGACY_API */
 
 static BIO_METHOD *git_stream_bio_method;
 static int init_bio_method(void);
@@ -95,7 +198,6 @@ static void shutdown_ssl(void)
 
 int git_openssl_stream_global_init(void)
 {
-#ifdef GIT_OPENSSL
        long ssl_opts = SSL_OP_NO_SSLv2 | SSL_OP_NO_SSLv3;
        const char *ciphers = git_libgit2__ssl_ciphers();
 
@@ -104,13 +206,7 @@ int git_openssl_stream_global_init(void)
        ssl_opts |= SSL_OP_NO_COMPRESSION;
 #endif
 
-#if OPENSSL_VERSION_NUMBER < 0x10100000L || \
-    (defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x20700000L)
-       SSL_load_error_strings();
-       OpenSSL_add_ssl_algorithms();
-#else
        OPENSSL_init_ssl(0, NULL);
-#endif
 
        /*
         * Load SSLv{2,3} and TLSv1 so that we can talk with servers
@@ -118,60 +214,58 @@ int git_openssl_stream_global_init(void)
         * compatibility. We then disable SSL so we only allow OpenSSL
         * to speak TLSv1 to perform the encryption itself.
         */
-       git__ssl_ctx = SSL_CTX_new(SSLv23_method());
+       if (!(git__ssl_ctx = SSL_CTX_new(SSLv23_method())))
+               goto error;
+
        SSL_CTX_set_options(git__ssl_ctx, ssl_opts);
        SSL_CTX_set_mode(git__ssl_ctx, SSL_MODE_AUTO_RETRY);
        SSL_CTX_set_verify(git__ssl_ctx, SSL_VERIFY_NONE, NULL);
-       if (!SSL_CTX_set_default_verify_paths(git__ssl_ctx)) {
-               SSL_CTX_free(git__ssl_ctx);
-               git__ssl_ctx = NULL;
-               return -1;
-       }
+       if (!SSL_CTX_set_default_verify_paths(git__ssl_ctx))
+               goto error;
 
-       if (!ciphers) {
+       if (!ciphers)
                ciphers = GIT_SSL_DEFAULT_CIPHERS;
-       }
 
-       if(!SSL_CTX_set_cipher_list(git__ssl_ctx, ciphers)) {
-               SSL_CTX_free(git__ssl_ctx);
-               git__ssl_ctx = NULL;
-               return -1;
-       }
+       if(!SSL_CTX_set_cipher_list(git__ssl_ctx, ciphers))
+               goto error;
 
-       if (init_bio_method() < 0) {
-               SSL_CTX_free(git__ssl_ctx);
-               git__ssl_ctx = NULL;
-               return -1;
-       }
-
-#endif
+       if (init_bio_method() < 0)
+               goto error;
 
        git__on_shutdown(shutdown_ssl);
 
        return 0;
+
+error:
+       git_error_set(GIT_ERROR_NET, "could not initialize openssl: %s",
+               ERR_error_string(ERR_get_error(), NULL));
+       SSL_CTX_free(git__ssl_ctx);
+       git__ssl_ctx = NULL;
+       return -1;
 }
 
-#if defined(GIT_THREADS)
+#if defined(GIT_THREADS) && defined(OPENSSL_LEGACY_API)
 static void threadid_cb(CRYPTO_THREADID *threadid)
 {
-    CRYPTO_THREADID_set_numeric(threadid, git_thread_currentid());
+       GIT_UNUSED(threadid);
+       CRYPTO_THREADID_set_numeric(threadid, git_thread_currentid());
 }
 #endif
 
 int git_openssl_set_locking(void)
 {
-#if defined(GIT_THREADS) && OPENSSL_VERSION_NUMBER < 0x10100000L
+#if defined(GIT_THREADS) && defined(OPENSSL_LEGACY_API)
        int num_locks, i;
 
        CRYPTO_THREADID_set_callback(threadid_cb);
 
        num_locks = CRYPTO_num_locks();
        openssl_locks = git__calloc(num_locks, sizeof(git_mutex));
-       GITERR_CHECK_ALLOC(openssl_locks);
+       GIT_ERROR_CHECK_ALLOC(openssl_locks);
 
        for (i = 0; i < num_locks; i++) {
                if (git_mutex_init(&openssl_locks[i]) != 0) {
-                       giterr_set(GITERR_SSL, "failed to initialize openssl locks");
+                       git_error_set(GIT_ERROR_SSL, "failed to initialize openssl locks");
                        return -1;
                }
        }
@@ -179,10 +273,10 @@ int git_openssl_set_locking(void)
        CRYPTO_set_locking_callback(openssl_locking_function);
        git__on_shutdown(shutdown_ssl_locking);
        return 0;
-#elif OPENSSL_VERSION_NUMBER >= 0x10100000L
+#elif !defined(OPENSSL_LEGACY_API)
        return 0;
 #else
-       giterr_set(GITERR_THREAD, "libgit2 was not built with threads");
+       git_error_set(GIT_ERROR_THREAD, "libgit2 was not built with threads");
        return -1;
 #endif
 }
@@ -249,7 +343,7 @@ static int init_bio_method(void)
 {
        /* Set up the BIO_METHOD we use for wrapping our own stream implementations */
        git_stream_bio_method = BIO_meth_new(BIO_TYPE_SOURCE_SINK | BIO_get_new_index(), "git_stream");
-       GITERR_CHECK_ALLOC(git_stream_bio_method);
+       GIT_ERROR_CHECK_ALLOC(git_stream_bio_method);
 
        BIO_meth_set_write(git_stream_bio_method, bio_write);
        BIO_meth_set_read(git_stream_bio_method, bio_read);
@@ -275,23 +369,23 @@ static int ssl_set_error(SSL *ssl, int error)
        switch (err) {
        case SSL_ERROR_WANT_CONNECT:
        case SSL_ERROR_WANT_ACCEPT:
-               giterr_set(GITERR_NET, "SSL error: connection failure");
+               git_error_set(GIT_ERROR_SSL, "SSL error: connection failure");
                break;
        case SSL_ERROR_WANT_X509_LOOKUP:
-               giterr_set(GITERR_NET, "SSL error: x509 error");
+               git_error_set(GIT_ERROR_SSL, "SSL error: x509 error");
                break;
        case SSL_ERROR_SYSCALL:
                e = ERR_get_error();
                if (e > 0) {
                        char errmsg[256];
                        ERR_error_string_n(e, errmsg, sizeof(errmsg));
-                       giterr_set(GITERR_NET, "SSL error: %s", errmsg);
+                       git_error_set(GIT_ERROR_NET, "SSL error: %s", errmsg);
                        break;
                } else if (error < 0) {
-                       giterr_set(GITERR_OS, "SSL error: syscall failure");
+                       git_error_set(GIT_ERROR_OS, "SSL error: syscall failure");
                        break;
                }
-               giterr_set(GITERR_NET, "SSL error: received early EOF");
+               git_error_set(GIT_ERROR_SSL, "SSL error: received early EOF");
                return GIT_EEOF;
                break;
        case SSL_ERROR_SSL:
@@ -299,13 +393,13 @@ static int ssl_set_error(SSL *ssl, int error)
                char errmsg[256];
                e = ERR_get_error();
                ERR_error_string_n(e, errmsg, sizeof(errmsg));
-               giterr_set(GITERR_NET, "SSL error: %s", errmsg);
+               git_error_set(GIT_ERROR_SSL, "SSL error: %s", errmsg);
                break;
        }
        case SSL_ERROR_NONE:
        case SSL_ERROR_ZERO_RETURN:
        default:
-               giterr_set(GITERR_NET, "SSL error: unknown error");
+               git_error_set(GIT_ERROR_SSL, "SSL error: unknown error");
                break;
        }
        return -1;
@@ -349,7 +443,7 @@ static int verify_server_cert(SSL *ssl, const char *host)
        int i = -1, j, error = 0;
 
        if (SSL_get_verify_result(ssl) != X509_V_OK) {
-               giterr_set(GITERR_SSL, "the SSL certificate is invalid");
+               git_error_set(GIT_ERROR_SSL, "the SSL certificate is invalid");
                return GIT_ECERTIFICATE;
        }
 
@@ -368,7 +462,7 @@ static int verify_server_cert(SSL *ssl, const char *host)
        cert = SSL_get_peer_certificate(ssl);
        if (!cert) {
                error = -1;
-               giterr_set(GITERR_SSL, "the server did not provide a certificate");
+               git_error_set(GIT_ERROR_SSL, "the server did not provide a certificate");
                goto cleanup;
        }
 
@@ -435,7 +529,7 @@ static int verify_server_cert(SSL *ssl, const char *host)
 
                if (size > 0) {
                        peer_cn = OPENSSL_malloc(size + 1);
-                       GITERR_CHECK_ALLOC(peer_cn);
+                       GIT_ERROR_CHECK_ALLOC(peer_cn);
                        memcpy(peer_cn, ASN1_STRING_get0_data(str), size);
                        peer_cn[size] = '\0';
                } else {
@@ -443,7 +537,7 @@ static int verify_server_cert(SSL *ssl, const char *host)
                }
        } else {
                int size = ASN1_STRING_to_UTF8(&peer_cn, str);
-               GITERR_CHECK_ALLOC(peer_cn);
+               GIT_ERROR_CHECK_ALLOC(peer_cn);
                if (memchr(peer_cn, '\0', size))
                        goto cert_fail_name;
        }
@@ -455,7 +549,7 @@ static int verify_server_cert(SSL *ssl, const char *host)
 
 cert_fail_name:
        error = GIT_ECERTIFICATE;
-       giterr_set(GITERR_SSL, "hostname does not match certificate");
+       git_error_set(GIT_ERROR_SSL, "hostname does not match certificate");
        goto cleanup;
 
 on_error:
@@ -471,27 +565,24 @@ cleanup:
 typedef struct {
        git_stream parent;
        git_stream *io;
+       int owned;
        bool connected;
        char *host;
        SSL *ssl;
        git_cert_x509 cert_info;
 } openssl_stream;
 
-int openssl_close(git_stream *stream);
-
-int openssl_connect(git_stream *stream)
+static int openssl_connect(git_stream *stream)
 {
        int ret;
        BIO *bio;
        openssl_stream *st = (openssl_stream *) stream;
 
-       if ((ret = git_stream_connect(st->io)) < 0)
+       if (st->owned && (ret = git_stream_connect(st->io)) < 0)
                return ret;
 
-       st->connected = true;
-
        bio = BIO_new(git_stream_bio_method);
-       GITERR_CHECK_ALLOC(bio);
+       GIT_ERROR_CHECK_ALLOC(bio);
 
        BIO_set_data(bio, st->io);
        SSL_set_bio(st->ssl, bio, bio);
@@ -504,10 +595,12 @@ int openssl_connect(git_stream *stream)
        if ((ret = SSL_connect(st->ssl)) <= 0)
                return ssl_set_error(st->ssl, ret);
 
+       st->connected = true;
+
        return verify_server_cert(st->ssl, st->host);
 }
 
-int openssl_certificate(git_cert **out, git_stream *stream)
+static int openssl_certificate(git_cert **out, git_stream *stream)
 {
        openssl_stream *st = (openssl_stream *) stream;
        int len;
@@ -517,19 +610,19 @@ int openssl_certificate(git_cert **out, git_stream *stream)
        /* Retrieve the length of the certificate first */
        len = i2d_X509(cert, NULL);
        if (len < 0) {
-               giterr_set(GITERR_NET, "failed to retrieve certificate information");
+               git_error_set(GIT_ERROR_NET, "failed to retrieve certificate information");
                return -1;
        }
 
        encoded_cert = git__malloc(len);
-       GITERR_CHECK_ALLOC(encoded_cert);
+       GIT_ERROR_CHECK_ALLOC(encoded_cert);
        /* i2d_X509 makes 'guard' point to just after the data */
        guard = encoded_cert;
 
        len = i2d_X509(cert, &guard);
        if (len < 0) {
                git__free(encoded_cert);
-               giterr_set(GITERR_NET, "failed to retrieve certificate information");
+               git_error_set(GIT_ERROR_NET, "failed to retrieve certificate information");
                return -1;
        }
 
@@ -549,21 +642,20 @@ static int openssl_set_proxy(git_stream *stream, const git_proxy_options *proxy_
        return git_stream_set_proxy(st->io, proxy_opts);
 }
 
-ssize_t openssl_write(git_stream *stream, const char *data, size_t len, int flags)
+static ssize_t openssl_write(git_stream *stream, const char *data, size_t data_len, int flags)
 {
        openssl_stream *st = (openssl_stream *) stream;
-       int ret;
+       int ret, len = min(data_len, INT_MAX);
 
        GIT_UNUSED(flags);
 
-       if ((ret = SSL_write(st->ssl, data, len)) <= 0) {
+       if ((ret = SSL_write(st->ssl, data, len)) <= 0)
                return ssl_set_error(st->ssl, ret);
-       }
 
        return ret;
 }
 
-ssize_t openssl_read(git_stream *stream, void *data, size_t len)
+static ssize_t openssl_read(git_stream *stream, void *data, size_t len)
 {
        openssl_stream *st = (openssl_stream *) stream;
        int ret;
@@ -574,7 +666,7 @@ ssize_t openssl_read(git_stream *stream, void *data, size_t len)
        return ret;
 }
 
-int openssl_close(git_stream *stream)
+static int openssl_close(git_stream *stream)
 {
        openssl_stream *st = (openssl_stream *) stream;
        int ret;
@@ -584,47 +676,47 @@ int openssl_close(git_stream *stream)
 
        st->connected = false;
 
-       return git_stream_close(st->io);
+       return st->owned ? git_stream_close(st->io) : 0;
 }
 
-void openssl_free(git_stream *stream)
+static void openssl_free(git_stream *stream)
 {
        openssl_stream *st = (openssl_stream *) stream;
 
+       if (st->owned)
+               git_stream_free(st->io);
+
        SSL_free(st->ssl);
        git__free(st->host);
        git__free(st->cert_info.data);
-       git_stream_free(st->io);
        git__free(st);
 }
 
-int git_openssl_stream_new(git_stream **out, const char *host, const char *port)
+static int openssl_stream_wrap(
+       git_stream **out,
+       git_stream *in,
+       const char *host,
+       int owned)
 {
-       int error;
        openssl_stream *st;
 
-       st = git__calloc(1, sizeof(openssl_stream));
-       GITERR_CHECK_ALLOC(st);
+       assert(out && in && host);
 
-       st->io = NULL;
-#ifdef GIT_CURL
-       error = git_curl_stream_new(&st->io, host, port);
-#else
-       error = git_socket_stream_new(&st->io, host, port);
-#endif
+       st = git__calloc(1, sizeof(openssl_stream));
+       GIT_ERROR_CHECK_ALLOC(st);
 
-       if (error < 0)
-               goto out_err;
+       st->io = in;
+       st->owned = owned;
 
        st->ssl = SSL_new(git__ssl_ctx);
        if (st->ssl == NULL) {
-               giterr_set(GITERR_SSL, "failed to create ssl object");
-               error = -1;
-               goto out_err;
+               git_error_set(GIT_ERROR_SSL, "failed to create ssl object");
+               git__free(st);
+               return -1;
        }
 
        st->host = git__strdup(host);
-       GITERR_CHECK_ALLOC(st->host);
+       GIT_ERROR_CHECK_ALLOC(st->host);
 
        st->parent.version = GIT_STREAM_VERSION;
        st->parent.encrypted = 1;
@@ -639,10 +731,27 @@ int git_openssl_stream_new(git_stream **out, const char *host, const char *port)
 
        *out = (git_stream *) st;
        return 0;
+}
 
-out_err:
-       git_stream_free(st->io);
-       git__free(st);
+int git_openssl_stream_wrap(git_stream **out, git_stream *in, const char *host)
+{
+       return openssl_stream_wrap(out, in, host, 0);
+}
+
+int git_openssl_stream_new(git_stream **out, const char *host, const char *port)
+{
+       git_stream *stream = NULL;
+       int error;
+
+       assert(out && host && port);
+
+       if ((error = git_socket_stream_new(&stream, host, port)) < 0)
+               return error;
+
+       if ((error = openssl_stream_wrap(out, stream, host, 1)) < 0) {
+               git_stream_close(stream);
+               git_stream_free(stream);
+       }
 
        return error;
 }
@@ -653,7 +762,7 @@ int git_openssl__set_cert_location(const char *file, const char *path)
                char errmsg[256];
 
                ERR_error_string_n(ERR_get_error(), errmsg, sizeof(errmsg));
-               giterr_set(GITERR_SSL, "OpenSSL error: failed to load certificates: %s",
+               git_error_set(GIT_ERROR_SSL, "OpenSSL error: failed to load certificates: %s",
                        errmsg);
 
                return -1;
@@ -673,26 +782,7 @@ int git_openssl_stream_global_init(void)
 
 int git_openssl_set_locking(void)
 {
-       giterr_set(GITERR_SSL, "libgit2 was not built with OpenSSL support");
-       return -1;
-}
-
-int git_openssl_stream_new(git_stream **out, const char *host, const char *port)
-{
-       GIT_UNUSED(out);
-       GIT_UNUSED(host);
-       GIT_UNUSED(port);
-
-       giterr_set(GITERR_SSL, "openssl is not supported in this version");
-       return -1;
-}
-
-int git_openssl__set_cert_location(const char *file, const char *path)
-{
-       GIT_UNUSED(file);
-       GIT_UNUSED(path);
-
-       giterr_set(GITERR_SSL, "openssl is not supported in this version");
+       git_error_set(GIT_ERROR_SSL, "libgit2 was not built with OpenSSL support");
        return -1;
 }
 
index 44329ec904dddf4e327c19a6f96049f3de163c8b..826d1efbc7773b043b1c40e4f2c0ec6d4794d74f 100644 (file)
 
 extern int git_openssl_stream_global_init(void);
 
-extern int git_openssl_stream_new(git_stream **out, const char *host, const char *port);
-
-extern int git_openssl__set_cert_location(const char *file, const char *path);
-
-/*
- * OpenSSL 1.1 made BIO opaque so we have to use functions to interact with it
- * which do not exist in previous versions. We define these inline functions so
- * we can program against the interface instead of littering the implementation
- * with ifdefs.
- */
 #ifdef GIT_OPENSSL
-# include <openssl/ssl.h>
-# include <openssl/err.h>
-# include <openssl/x509v3.h>
-# include <openssl/bio.h>
-
-
-
-# if OPENSSL_VERSION_NUMBER < 0x10100000L || \
-     (defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x20700000L)
-
-GIT_INLINE(BIO_METHOD*) BIO_meth_new(int type, const char *name)
-{
-       BIO_METHOD *meth = git__calloc(1, sizeof(BIO_METHOD));
-       if (!meth) {
-               return NULL;
-       }
-
-       meth->type = type;
-       meth->name = name;
-
-       return meth;
-}
-
-GIT_INLINE(void) BIO_meth_free(BIO_METHOD *biom)
-{
-       git__free(biom);
-}
-
-GIT_INLINE(int) BIO_meth_set_write(BIO_METHOD *biom, int (*write) (BIO *, const char *, int))
-{
-       biom->bwrite = write;
-       return 1;
-}
-
-GIT_INLINE(int) BIO_meth_set_read(BIO_METHOD *biom, int (*read) (BIO *, char *, int))
-{
-       biom->bread = read;
-       return 1;
-}
-
-GIT_INLINE(int) BIO_meth_set_puts(BIO_METHOD *biom, int (*puts) (BIO *, const char *))
-{
-       biom->bputs = puts;
-       return 1;
-}
-
-GIT_INLINE(int) BIO_meth_set_gets(BIO_METHOD *biom, int (*gets) (BIO *, char *, int))
-
-{
-       biom->bgets = gets;
-       return 1;
-}
-
-GIT_INLINE(int) BIO_meth_set_ctrl(BIO_METHOD *biom, long (*ctrl) (BIO *, int, long, void *))
-{
-       biom->ctrl = ctrl;
-       return 1;
-}
-
-GIT_INLINE(int) BIO_meth_set_create(BIO_METHOD *biom, int (*create) (BIO *))
-{
-       biom->create = create;
-       return 1;
-}
-
-GIT_INLINE(int) BIO_meth_set_destroy(BIO_METHOD *biom, int (*destroy) (BIO *))
-{
-       biom->destroy = destroy;
-       return 1;
-}
-
-GIT_INLINE(int) BIO_get_new_index(void)
-{
-       /* This exists as of 1.1 so before we'd just have 0 */
-       return 0;
-}
-
-GIT_INLINE(void) BIO_set_init(BIO *b, int init)
-{
-       b->init = init;
-}
-
-GIT_INLINE(void) BIO_set_data(BIO *a, void *ptr)
-{
-       a->ptr = ptr;
-}
-
-GIT_INLINE(void*) BIO_get_data(BIO *a)
-{
-       return a->ptr;
-}
-
-GIT_INLINE(const unsigned char *) ASN1_STRING_get0_data(const ASN1_STRING *x)
-{
-       return ASN1_STRING_data((ASN1_STRING *)x);
-}
+extern int git_openssl__set_cert_location(const char *file, const char *path);
 
-# endif // OpenSSL < 1.1
-#endif // GIT_OPENSSL
+extern int git_openssl_stream_new(git_stream **out, const char *host, const char *port);
+extern int git_openssl_stream_wrap(git_stream **out, git_stream *in, const char *host);
+#endif
 
 #endif
diff --git a/src/streams/registry.c b/src/streams/registry.c
new file mode 100644 (file)
index 0000000..3300320
--- /dev/null
@@ -0,0 +1,118 @@
+/*
+ * Copyright (C) the libgit2 contributors. All rights reserved.
+ *
+ * This file is part of libgit2, distributed under the GNU GPL v2 with
+ * a Linking Exception. For full terms see the included COPYING file.
+ */
+
+#include "git2/errors.h"
+
+#include "common.h"
+#include "global.h"
+#include "streams/tls.h"
+#include "streams/mbedtls.h"
+#include "streams/openssl.h"
+#include "streams/stransport.h"
+
+struct stream_registry {
+       git_rwlock lock;
+       git_stream_registration callbacks;
+       git_stream_registration tls_callbacks;
+};
+
+static struct stream_registry stream_registry;
+
+static void shutdown_stream_registry(void)
+{
+       git_rwlock_free(&stream_registry.lock);
+}
+
+int git_stream_registry_global_init(void)
+{
+       if (git_rwlock_init(&stream_registry.lock) < 0)
+               return -1;
+
+       git__on_shutdown(shutdown_stream_registry);
+       return 0;
+}
+
+GIT_INLINE(void) stream_registration_cpy(
+       git_stream_registration *target,
+       git_stream_registration *src)
+{
+       if (src)
+               memcpy(target, src, sizeof(git_stream_registration));
+       else
+               memset(target, 0, sizeof(git_stream_registration));
+}
+
+int git_stream_registry_lookup(git_stream_registration *out, git_stream_t type)
+{
+       git_stream_registration *target;
+       int error = GIT_ENOTFOUND;
+
+       assert(out);
+
+       switch(type) {
+       case GIT_STREAM_STANDARD:
+               target = &stream_registry.callbacks;
+               break;
+       case GIT_STREAM_TLS:
+               target = &stream_registry.tls_callbacks;
+               break;
+       default:
+               assert(0);
+               return -1;
+       }
+
+       if (git_rwlock_rdlock(&stream_registry.lock) < 0) {
+               git_error_set(GIT_ERROR_OS, "failed to lock stream registry");
+               return -1;
+       }
+
+       if (target->init) {
+               stream_registration_cpy(out, target);
+               error = 0;
+       }
+
+       git_rwlock_rdunlock(&stream_registry.lock);
+       return error;
+}
+
+int git_stream_register(git_stream_t type, git_stream_registration *registration)
+{
+       assert(!registration || registration->init);
+
+       GIT_ERROR_CHECK_VERSION(registration, GIT_STREAM_VERSION, "stream_registration");
+
+       if (git_rwlock_wrlock(&stream_registry.lock) < 0) {
+               git_error_set(GIT_ERROR_OS, "failed to lock stream registry");
+               return -1;
+       }
+
+       if ((type & GIT_STREAM_STANDARD) == GIT_STREAM_STANDARD)
+               stream_registration_cpy(&stream_registry.callbacks, registration);
+
+       if ((type & GIT_STREAM_TLS) == GIT_STREAM_TLS)
+               stream_registration_cpy(&stream_registry.tls_callbacks, registration);
+
+       git_rwlock_wrunlock(&stream_registry.lock);
+       return 0;
+}
+
+
+int git_stream_register_tls(
+       int GIT_CALLBACK(ctor)(git_stream **out, const char *host, const char *port))
+{
+       git_stream_registration registration = {0};
+
+       if (ctor) {
+               registration.version = GIT_STREAM_VERSION;
+               registration.init = ctor;
+               registration.wrap = NULL;
+
+               return git_stream_register(GIT_STREAM_TLS, &registration);
+       } else {
+               return git_stream_register(GIT_STREAM_TLS, NULL);
+       }
+}
diff --git a/src/streams/registry.h b/src/streams/registry.h
new file mode 100644 (file)
index 0000000..adc2b8b
--- /dev/null
@@ -0,0 +1,19 @@
+/*
+ * Copyright (C) the libgit2 contributors. All rights reserved.
+ *
+ * This file is part of libgit2, distributed under the GNU GPL v2 with
+ * a Linking Exception. For full terms see the included COPYING file.
+ */
+#ifndef INCLUDE_streams_registry_h__
+#define INCLUDE_streams_registry_h__
+
+#include "common.h"
+#include "git2/sys/stream.h"
+
+/** Configure stream registry. */
+int git_stream_registry_global_init(void);
+
+/** Lookup a stream registration. */
+extern int git_stream_registry_lookup(git_stream_registration *out, git_stream_t type);
+
+#endif
index 0c6073b66fe4c724daa35cfcdeb7b87008777f70..066580f64490e51254e17c6f94c6df79771b4986 100644 (file)
@@ -9,6 +9,7 @@
 
 #include "posix.h"
 #include "netops.h"
+#include "registry.h"
 #include "stream.h"
 
 #ifndef _WIN32
@@ -34,16 +35,16 @@ static void net_set_error(const char *str)
        char * win32_error = git_win32_get_error_message(error);
 
        if (win32_error) {
-               giterr_set(GITERR_NET, "%s: %s", str, win32_error);
+               git_error_set(GIT_ERROR_NET, "%s: %s", str, win32_error);
                git__free(win32_error);
        } else {
-               giterr_set(GITERR_NET, str);
+               git_error_set(GIT_ERROR_NET, "%s", str);
        }
 }
 #else
 static void net_set_error(const char *str)
 {
-       giterr_set(GITERR_NET, "%s: %s", str, strerror(errno));
+       git_error_set(GIT_ERROR_NET, "%s: %s", str, strerror(errno));
 }
 #endif
 
@@ -57,7 +58,7 @@ static int close_socket(GIT_SOCKET s)
                return -1;
 
        if (0 != WSACleanup()) {
-               giterr_set(GITERR_OS, "winsock cleanup failed");
+               git_error_set(GIT_ERROR_OS, "winsock cleanup failed");
                return -1;
        }
 
@@ -68,7 +69,7 @@ static int close_socket(GIT_SOCKET s)
 
 }
 
-int socket_connect(git_stream *stream)
+static int socket_connect(git_stream *stream)
 {
        struct addrinfo *info = NULL, *p;
        struct addrinfo hints;
@@ -82,13 +83,13 @@ int socket_connect(git_stream *stream)
        WSADATA wsd;
 
        if (WSAStartup(MAKEWORD(2,2), &wsd) != 0) {
-               giterr_set(GITERR_OS, "winsock init failed");
+               git_error_set(GIT_ERROR_OS, "winsock init failed");
                return -1;
        }
 
        if (LOBYTE(wsd.wVersion) != 2 || HIBYTE(wsd.wVersion) != 2) {
                WSACleanup();
-               giterr_set(GITERR_OS, "winsock init failed");
+               git_error_set(GIT_ERROR_OS, "winsock init failed");
                return -1;
        }
 #endif
@@ -98,7 +99,7 @@ int socket_connect(git_stream *stream)
        hints.ai_family = AF_UNSPEC;
 
        if ((ret = p_getaddrinfo(st->host, st->port, &hints, &info)) != 0) {
-               giterr_set(GITERR_NET,
+               git_error_set(GIT_ERROR_NET,
                           "failed to resolve address for %s: %s", st->host, p_gai_strerror(ret));
                return -1;
        }
@@ -119,7 +120,7 @@ int socket_connect(git_stream *stream)
 
        /* Oops, we couldn't connect to any address */
        if (s == INVALID_SOCKET && p == NULL) {
-               giterr_set(GITERR_OS, "failed to connect to %s", st->host);
+               git_error_set(GIT_ERROR_OS, "failed to connect to %s", st->host);
                p_freeaddrinfo(info);
                return -1;
        }
@@ -129,27 +130,22 @@ int socket_connect(git_stream *stream)
        return 0;
 }
 
-ssize_t socket_write(git_stream *stream, const char *data, size_t len, int flags)
+static ssize_t socket_write(git_stream *stream, const char *data, size_t len, int flags)
 {
-       ssize_t ret;
-       size_t off = 0;
        git_socket_stream *st = (git_socket_stream *) stream;
+       ssize_t written;
 
-       while (off < len) {
-               errno = 0;
-               ret = p_send(st->s, data + off, len - off, flags);
-               if (ret < 0) {
-                       net_set_error("Error sending data");
-                       return -1;
-               }
+       errno = 0;
 
-               off += ret;
+       if ((written = p_send(st->s, data, len, flags)) < 0) {
+               net_set_error("Error sending data");
+               return -1;
        }
 
-       return off;
+       return written;
 }
 
-ssize_t socket_read(git_stream *stream, void *data, size_t len)
+static ssize_t socket_read(git_stream *stream, void *data, size_t len)
 {
        ssize_t ret;
        git_socket_stream *st = (git_socket_stream *) stream;
@@ -160,7 +156,7 @@ ssize_t socket_read(git_stream *stream, void *data, size_t len)
        return ret;
 }
 
-int socket_close(git_stream *stream)
+static int socket_close(git_stream *stream)
 {
        git_socket_stream *st = (git_socket_stream *) stream;
        int error;
@@ -171,7 +167,7 @@ int socket_close(git_stream *stream)
        return error;
 }
 
-void socket_free(git_stream *stream)
+static void socket_free(git_stream *stream)
 {
        git_socket_stream *st = (git_socket_stream *) stream;
 
@@ -180,21 +176,24 @@ void socket_free(git_stream *stream)
        git__free(st);
 }
 
-int git_socket_stream_new(git_stream **out, const char *host, const char *port)
+static int default_socket_stream_new(
+       git_stream **out,
+       const char *host,
+       const char *port)
 {
        git_socket_stream *st;
 
-       assert(out && host);
+       assert(out && host && port);
 
        st = git__calloc(1, sizeof(git_socket_stream));
-       GITERR_CHECK_ALLOC(st);
+       GIT_ERROR_CHECK_ALLOC(st);
 
        st->host = git__strdup(host);
-       GITERR_CHECK_ALLOC(st->host);
+       GIT_ERROR_CHECK_ALLOC(st->host);
 
        if (port) {
                st->port = git__strdup(port);
-               GITERR_CHECK_ALLOC(st->port);
+               GIT_ERROR_CHECK_ALLOC(st->port);
        }
 
        st->parent.version = GIT_STREAM_VERSION;
@@ -208,3 +207,29 @@ int git_socket_stream_new(git_stream **out, const char *host, const char *port)
        *out = (git_stream *) st;
        return 0;
 }
+
+int git_socket_stream_new(
+       git_stream **out,
+       const char *host,
+       const char *port)
+{
+       int (*init)(git_stream **, const char *, const char *) = NULL;
+       git_stream_registration custom = {0};
+       int error;
+
+       assert(out && host && port);
+
+       if ((error = git_stream_registry_lookup(&custom, GIT_STREAM_STANDARD)) == 0)
+               init = custom.init;
+       else if (error == GIT_ENOTFOUND)
+               init = default_socket_stream_new;
+       else
+               return error;
+
+       if (!init) {
+               git_error_set(GIT_ERROR_NET, "there is no socket stream available");
+               return -1;
+       }
+
+       return init(out, host, port);
+}
index cca17bb94b3d4dce3ef131c4c4c6fc576b600c83..a79d3cbf0d77057f409de75a16f33cb733df2ece 100644 (file)
 #include "git2/transport.h"
 
 #include "streams/socket.h"
-#include "streams/curl.h"
 
 static int stransport_error(OSStatus ret)
 {
        CFStringRef message;
 
        if (ret == noErr || ret == errSSLClosedGraceful) {
-               giterr_clear();
+               git_error_clear();
                return 0;
        }
 
 #if !TARGET_OS_IPHONE
        message = SecCopyErrorMessageString(ret, NULL);
-       GITERR_CHECK_ALLOC(message);
+       GIT_ERROR_CHECK_ALLOC(message);
 
-       giterr_set(GITERR_NET, "SecureTransport error: %s", CFStringGetCStringPtr(message, kCFStringEncodingUTF8));
+       git_error_set(GIT_ERROR_NET, "SecureTransport error: %s", CFStringGetCStringPtr(message, kCFStringEncodingUTF8));
        CFRelease(message);
 #else
-    giterr_set(GITERR_NET, "SecureTransport error: OSStatus %d", (unsigned int)ret);
-    GIT_UNUSED(message);
+       git_error_set(GIT_ERROR_NET, "SecureTransport error: OSStatus %d", (unsigned int)ret);
+       GIT_UNUSED(message);
 #endif
 
        return -1;
@@ -44,6 +43,7 @@ static int stransport_error(OSStatus ret)
 typedef struct {
        git_stream parent;
        git_stream *io;
+       int owned;
        SSLContextRef ctx;
        CFDataRef der_data;
        git_cert_x509 cert_info;
@@ -57,12 +57,12 @@ static int stransport_connect(git_stream *stream)
        SecTrustResultType sec_res;
        OSStatus ret;
 
-       if ((error = git_stream_connect(st->io)) < 0)
+       if (st->owned && (error = git_stream_connect(st->io)) < 0)
                return error;
 
        ret = SSLHandshake(st->ctx);
        if (ret != errSSLServerAuthCompleted) {
-               giterr_set(GITERR_SSL, "unexpected return value from ssl handshake %d", ret);
+               git_error_set(GIT_ERROR_SSL, "unexpected return value from ssl handshake %d", (int)ret);
                return -1;
        }
 
@@ -78,13 +78,13 @@ static int stransport_connect(git_stream *stream)
        CFRelease(trust);
 
        if (sec_res == kSecTrustResultInvalid || sec_res == kSecTrustResultOtherError) {
-               giterr_set(GITERR_SSL, "internal security trust error");
+               git_error_set(GIT_ERROR_SSL, "internal security trust error");
                return -1;
        }
 
        if (sec_res == kSecTrustResultDeny || sec_res == kSecTrustResultRecoverableTrustFailure ||
            sec_res == kSecTrustResultFatalTrustFailure) {
-               giterr_set(GITERR_SSL, "untrusted connection error");
+               git_error_set(GIT_ERROR_SSL, "untrusted connection error");
                return GIT_ECERTIFICATE;
        }
 
@@ -112,7 +112,7 @@ static int stransport_certificate(git_cert **out, git_stream *stream)
        CFRelease(trust);
 
        if (st->der_data == NULL) {
-               giterr_set(GITERR_SSL, "retrieved invalid certificate data");
+               git_error_set(GIT_ERROR_SSL, "retrieved invalid certificate data");
                return -1;
        }
 
@@ -149,9 +149,8 @@ static OSStatus write_cb(SSLConnectionRef conn, const void *data, size_t *len)
 {
        git_stream *io = (git_stream *) conn;
 
-       if (git_stream_write(io, data, *len, 0) < 0) {
+       if (git_stream__write_full(io, data, *len, 0) < 0)
                return -36; /* "ioErr" from MacErrors.h which is not available on iOS */
-       }
 
        return noErr;
 }
@@ -164,11 +163,12 @@ static ssize_t stransport_write(git_stream *stream, const char *data, size_t len
 
        GIT_UNUSED(flags);
 
-       data_len = len;
+       data_len = min(len, SSIZE_MAX);
        if ((ret = SSLWrite(st->ctx, data, data_len, &processed)) != noErr)
                return stransport_error(ret);
 
-       return processed;
+       assert(processed < SSIZE_MAX);
+       return (ssize_t)processed;
 }
 
 /*
@@ -226,45 +226,42 @@ static int stransport_close(git_stream *stream)
        if (ret != noErr && ret != errSSLClosedGraceful)
                return stransport_error(ret);
 
-       return git_stream_close(st->io);
+       return st->owned ? git_stream_close(st->io) : 0;
 }
 
 static void stransport_free(git_stream *stream)
 {
        stransport_stream *st = (stransport_stream *) stream;
 
-       git_stream_free(st->io);
+       if (st->owned)
+               git_stream_free(st->io);
+
        CFRelease(st->ctx);
        if (st->der_data)
                CFRelease(st->der_data);
        git__free(st);
 }
 
-int git_stransport_stream_new(git_stream **out, const char *host, const char *port)
+static int stransport_wrap(
+       git_stream **out,
+       git_stream *in,
+       const char *host,
+       int owned)
 {
        stransport_stream *st;
-       int error;
        OSStatus ret;
 
-       assert(out && host);
+       assert(out && in && host);
 
        st = git__calloc(1, sizeof(stransport_stream));
-       GITERR_CHECK_ALLOC(st);
-
-#ifdef GIT_CURL
-       error = git_curl_stream_new(&st->io, host, port);
-#else
-       error = git_socket_stream_new(&st->io, host, port);
-#endif
+       GIT_ERROR_CHECK_ALLOC(st);
 
-       if (error < 0){
-               git__free(st);
-               return error;
-       }
+       st->io = in;
+       st->owned = owned;
 
        st->ctx = SSLCreateContext(NULL, kSSLClientSide, kSSLStreamType);
        if (!st->ctx) {
-               giterr_set(GITERR_NET, "failed to create SSL context");
+               git_error_set(GIT_ERROR_NET, "failed to create SSL context");
                git__free(st);
                return -1;
        }
@@ -295,4 +292,32 @@ int git_stransport_stream_new(git_stream **out, const char *host, const char *po
        return 0;
 }
 
+int git_stransport_stream_wrap(
+       git_stream **out,
+       git_stream *in,
+       const char *host)
+{
+       return stransport_wrap(out, in, host, 0);
+}
+
+int git_stransport_stream_new(git_stream **out, const char *host, const char *port)
+{
+       git_stream *stream = NULL;
+       int error;
+
+       assert(out && host);
+
+       error = git_socket_stream_new(&stream, host, port);
+
+       if (!error)
+               error = stransport_wrap(out, stream, host, 1);
+
+       if (error < 0 && stream) {
+               git_stream_close(stream);
+               git_stream_free(stream);
+       }
+
+       return error;
+}
+
 #endif
index 4c02d07e8dea22089248b15d29182d326f82ab84..1026e204b1637a22b8f9b7577bf974e7250273cf 100644 (file)
 
 #include "git2/sys/stream.h"
 
+#ifdef GIT_SECURE_TRANSPORT
+
 extern int git_stransport_stream_new(git_stream **out, const char *host, const char *port);
+extern int git_stransport_stream_wrap(git_stream **out, git_stream *in, const char *host);
+
+#endif
 
 #endif
index d6ca7d40de832e61669b5f8bf58f65a735dbc22a..6a251717b69a5679d64b9506590b6fa4c2a2ee28 100644 (file)
@@ -5,38 +5,69 @@
  * a Linking Exception. For full terms see the included COPYING file.
  */
 
-#include "streams/tls.h"
-
 #include "git2/errors.h"
 
+#include "common.h"
+#include "global.h"
+#include "streams/registry.h"
+#include "streams/tls.h"
+#include "streams/mbedtls.h"
 #include "streams/openssl.h"
 #include "streams/stransport.h"
 
-static git_stream_cb tls_ctor;
-
-int git_stream_register_tls(git_stream_cb ctor)
+int git_tls_stream_new(git_stream **out, const char *host, const char *port)
 {
-       tls_ctor = ctor;
+       int (*init)(git_stream **, const char *, const char *) = NULL;
+       git_stream_registration custom = {0};
+       int error;
+
+       assert(out && host && port);
+
+       if ((error = git_stream_registry_lookup(&custom, GIT_STREAM_TLS)) == 0) {
+               init = custom.init;
+       } else if (error == GIT_ENOTFOUND) {
+#ifdef GIT_SECURE_TRANSPORT
+               init = git_stransport_stream_new;
+#elif defined(GIT_OPENSSL)
+               init = git_openssl_stream_new;
+#elif defined(GIT_MBEDTLS)
+               init = git_mbedtls_stream_new;
+#endif
+       } else {
+               return error;
+       }
+
+       if (!init) {
+               git_error_set(GIT_ERROR_SSL, "there is no TLS stream available");
+               return -1;
+       }
 
-       return 0;
+       return init(out, host, port);
 }
 
-int git_tls_stream_new(git_stream **out, const char *host, const char *port)
+int git_tls_stream_wrap(git_stream **out, git_stream *in, const char *host)
 {
+       int (*wrap)(git_stream **, git_stream *, const char *) = NULL;
+       git_stream_registration custom = {0};
 
-       if (tls_ctor)
-               return tls_ctor(out, host, port);
+       assert(out && in);
 
+       if (git_stream_registry_lookup(&custom, GIT_STREAM_TLS) == 0) {
+               wrap = custom.wrap;
+       } else {
 #ifdef GIT_SECURE_TRANSPORT
-       return git_stransport_stream_new(out, host, port);
+               wrap = git_stransport_stream_wrap;
 #elif defined(GIT_OPENSSL)
-       return git_openssl_stream_new(out, host, port);
-#else
-       GIT_UNUSED(out);
-       GIT_UNUSED(host);
-       GIT_UNUSED(port);
-
-       giterr_set(GITERR_SSL, "there is no TLS stream available");
-       return -1;
+               wrap = git_openssl_stream_wrap;
+#elif defined(GIT_MBEDTLS)
+               wrap = git_mbedtls_stream_wrap;
 #endif
+       }
+
+       if (!wrap) {
+               git_error_set(GIT_ERROR_SSL, "there is no TLS stream available");
+               return -1;
+       }
+
+       return wrap(out, in, host);
 }
index 6d110e8ad313c933434815aae8c98368ff5de989..465a6ea89e1888424eb7039d00168c0ea388609a 100644 (file)
 
 /**
  * Create a TLS stream with the most appropriate backend available for
- * the current platform.
- *
- * This allows us to ask for a SecureTransport or OpenSSL stream
- * according to being on general Unix vs OS X.
+ * the current platform, whether that's SecureTransport on macOS,
+ * OpenSSL or mbedTLS on other Unixes, or something else entirely.
  */
 extern int git_tls_stream_new(git_stream **out, const char *host, const char *port);
 
+/**
+ * Create a TLS stream on top of an existing insecure stream, using
+ * the most appropriate backend available for the current platform.
+ *
+ * This allows us to create a CONNECT stream on top of a proxy;
+ * using SecureTransport on macOS, OpenSSL or mbedTLS on other
+ * Unixes, or something else entirely.
+ */
+extern int git_tls_stream_wrap(git_stream **out, git_stream *in, const char *host);
+
 #endif
index de6826d036c709e7a73fc80198fc7d4e8a9ec504..20b14acf332c1d4c23de9c4a6f1761049dad5a5a 100644 (file)
@@ -7,12 +7,21 @@
 
 #include "strmap.h"
 
+#define kmalloc git__malloc
+#define kcalloc git__calloc
+#define krealloc git__realloc
+#define kreallocarray git__reallocarray
+#define kfree git__free
+#include "khash.h"
+
+__KHASH_TYPE(str, const char *, void *)
+
 __KHASH_IMPL(str, static kh_inline, const char *, void *, 1, kh_str_hash_func, kh_str_hash_equal)
 
 int git_strmap_alloc(git_strmap **map)
 {
        if ((*map = kh_init(str)) == NULL) {
-               giterr_set_oom();
+               git_error_set_oom();
                return -1;
        }
 
@@ -102,9 +111,20 @@ void git_strmap_delete(git_strmap *map, const char *key)
                git_strmap_delete_at(map, idx);
 }
 
+size_t git_strmap_begin(git_strmap *map)
+{
+       GIT_UNUSED(map);
+       return 0;
+}
+
+size_t git_strmap_end(git_strmap *map)
+{
+       return map->n_buckets;
+}
+
 int git_strmap_next(
        void **data,
-       git_strmap_iter* iter,
+       size_t* iter,
        git_strmap *map)
 {
        if (!map)
index 802b92494913924ecb64a1d4a33faf341ad9d94d..2649acbfb6dd0f5ba44915f5dc839b6acdb3e9a6 100644 (file)
@@ -9,16 +9,7 @@
 
 #include "common.h"
 
-#define kmalloc git__malloc
-#define kcalloc git__calloc
-#define krealloc git__realloc
-#define kreallocarray git__reallocarray
-#define kfree git__free
-#include "khash.h"
-
-__KHASH_TYPE(str, const char *, void *)
-typedef khash_t(str) git_strmap;
-typedef khiter_t git_strmap_iter;
+typedef struct kh_str_s git_strmap;
 
 int git_strmap_alloc(git_strmap **map);
 void git_strmap_free(git_strmap *map);
@@ -42,15 +33,27 @@ int git_strmap_put(git_strmap *map, const char *key, int *err);
 void git_strmap_insert(git_strmap *map, const char *key, void *value, int *rval);
 void git_strmap_delete(git_strmap *map, const char *key);
 
-#define git_strmap_foreach             kh_foreach
-#define git_strmap_foreach_value       kh_foreach_value
+#define git_strmap_foreach(h, kvar, vvar, code) { size_t __i;                  \
+       for (__i = git_strmap_begin(h); __i != git_strmap_end(h); ++__i) {      \
+               if (!git_strmap_has_data(h,__i)) continue;                      \
+               (kvar) = git_strmap_key(h,__i);                                 \
+               (vvar) = git_strmap_value_at(h,__i);                            \
+               code;                                                           \
+       } }
+
+#define git_strmap_foreach_value(h, vvar, code) { size_t __i;                  \
+       for (__i = git_strmap_begin(h); __i != git_strmap_end(h); ++__i) {      \
+               if (!git_strmap_has_data(h,__i)) continue;                      \
+               (vvar) = git_strmap_value_at(h,__i);                            \
+               code;                                                           \
+       } }
 
-#define git_strmap_begin               kh_begin
-#define git_strmap_end         kh_end
+size_t git_strmap_begin(git_strmap *map);
+size_t git_strmap_end(git_strmap *map);
 
 int git_strmap_next(
        void **data,
-       git_strmap_iter* iter,
+       size_t *iter,
        git_strmap *map);
 
 #endif
index 06b7de585093d5a023dc04e61ad34857e15ef894..e3ec88554aafcd7338b7ffdf52f323577168f84e 100644 (file)
@@ -15,7 +15,7 @@
 #include "buf_text.h"
 #include "vector.h"
 #include "posix.h"
-#include "config_file.h"
+#include "config_backend.h"
 #include "config.h"
 #include "repository.h"
 #include "tree.h"
@@ -60,35 +60,6 @@ enum {
        GITMODULES_CREATE = 1,
 };
 
-static kh_inline khint_t str_hash_no_trailing_slash(const char *s)
-{
-       khint_t h;
-
-       for (h = 0; *s; ++s)
-               if (s[1] != '\0' || *s != '/')
-                       h = (h << 5) - h + *s;
-
-       return h;
-}
-
-static kh_inline int str_equal_no_trailing_slash(const char *a, const char *b)
-{
-       size_t alen = a ? strlen(a) : 0;
-       size_t blen = b ? strlen(b) : 0;
-
-       if (alen > 0 && a[alen - 1] == '/')
-               alen--;
-       if (blen > 0 && b[blen - 1] == '/')
-               blen--;
-
-       return (alen == 0 && blen == 0) ||
-               (alen == blen && strncmp(a, b, alen) == 0);
-}
-
-__KHASH_IMPL(
-       str, static kh_inline, const char *, void *, 1,
-       str_hash_no_trailing_slash, str_equal_no_trailing_slash)
-
 static int submodule_alloc(git_submodule **out, git_repository *repo, const char *name);
 static git_config_backend *open_gitmodules(git_repository *repo, int gitmod);
 static int gitmodules_snapshot(git_config **snap, git_repository *repo);
@@ -124,7 +95,7 @@ static void submodule_set_lookup_error(int error, const char *name)
        if (!error)
                return;
 
-       giterr_set(GITERR_SUBMODULE, (error == GIT_ENOTFOUND) ?
+       git_error_set(GIT_ERROR_SUBMODULE, (error == GIT_ENOTFOUND) ?
                "no submodule named '%s'" :
                "submodule '%s' has not been added yet", name);
 }
@@ -143,24 +114,74 @@ static int find_by_path(const git_config_entry *entry, void *payload)
                fdot = strchr(entry->name, '.');
                ldot = strrchr(entry->name, '.');
                data->name = git__strndup(fdot + 1, ldot - fdot - 1);
-               GITERR_CHECK_ALLOC(data->name);
+               GIT_ERROR_CHECK_ALLOC(data->name);
        }
 
        return 0;
 }
 
+/*
+ * Checks to see if the submodule shares its name with a file or directory that
+ * already exists on the index. If so, the submodule cannot be added.
+ */
+static int is_path_occupied(bool *occupied, git_repository *repo, const char *path)
+{
+       int error = 0;
+       git_index *index;
+       git_buf dir = GIT_BUF_INIT;
+       *occupied = false;
+
+       if ((error = git_repository_index__weakptr(&index, repo)) < 0)
+               goto out;
+
+       if ((error = git_index_find(NULL, index, path)) != GIT_ENOTFOUND) {
+               if (!error) {
+                       git_error_set(GIT_ERROR_SUBMODULE,
+                               "File '%s' already exists in the index", path);
+                       *occupied = true;
+               }
+               goto out;
+       }
+
+       if ((error = git_buf_sets(&dir, path)) < 0)
+               goto out;
+
+       if ((error = git_path_to_dir(&dir)) < 0)
+               goto out;
+
+       if ((error = git_index_find_prefix(NULL, index, dir.ptr)) != GIT_ENOTFOUND) {
+               if (!error) {
+                       git_error_set(GIT_ERROR_SUBMODULE,
+                               "Directory '%s' already exists in the index", path);
+                       *occupied = true;
+               }
+               goto out;
+       }
+
+       error = 0;
+
+out:
+       git_buf_dispose(&dir);
+       return error;
+}
+
 /**
  * Release the name map returned by 'load_submodule_names'.
  */
 static void free_submodule_names(git_strmap *names)
 {
-       git_buf *name = 0;
+       const char *key;
+       char *value;
+
        if (names == NULL)
                return;
-       git_strmap_foreach_value(names, name, {
-               git__free(name);
+
+       git_strmap_foreach(names, key, value, {
+               git__free((char *) key);
+               git__free(value);
        });
        git_strmap_free(names);
+
        return;
 }
 
@@ -169,25 +190,31 @@ static void free_submodule_names(git_strmap *names)
  * TODO: for some use-cases, this might need case-folding on a
  * case-insensitive filesystem
  */
-static int load_submodule_names(git_strmap *out, git_repository *repo, git_config *cfg)
+static int load_submodule_names(git_strmap **out, git_repository *repo, git_config *cfg)
 {
        const char *key = "submodule\\..*\\.path";
-       git_config_iterator *iter;
+       git_config_iterator *iter = NULL;
        git_config_entry *entry;
        git_buf buf = GIT_BUF_INIT;
+       git_strmap *names;
        int rval, isvalid;
        int error = 0;
 
+       *out = NULL;
+
+       if ((error = git_strmap_alloc(&names)) < 0)
+               goto out;
+
        if ((error = git_config_iterator_glob_new(&iter, cfg, key)) < 0)
-               return error;
+               goto out;
 
-       while (git_config_next(&entry, iter) == 0) {
+       while ((error = git_config_next(&entry, iter)) == 0) {
                const char *fdot, *ldot;
                fdot = strchr(entry->name, '.');
                ldot = strrchr(entry->name, '.');
 
-               if (git_strmap_exists(out, entry->value)) {
-                       giterr_set(GITERR_SUBMODULE,
+               if (git_strmap_exists(names, entry->value)) {
+                       git_error_set(GIT_ERROR_SUBMODULE,
                                   "duplicated submodule path '%s'", entry->value);
                        error = -1;
                        goto out;
@@ -203,17 +230,22 @@ static int load_submodule_names(git_strmap *out, git_repository *repo, git_confi
                if (!isvalid)
                        continue;
 
-               git_strmap_insert(out, entry->value, git_buf_detach(&buf), &rval);
+               git_strmap_insert(names, git__strdup(entry->value), git_buf_detach(&buf), &rval);
                if (rval < 0) {
-                       giterr_set(GITERR_NOMEMORY, "error inserting submodule into hash table");
-                       return -1;
+                       git_error_set(GIT_ERROR_NOMEMORY, "error inserting submodule into hash table");
+                       error = -1;
+                       goto out;
                }
        }
        if (error == GIT_ITEROVER)
                error = 0;
 
+       *out = names;
+       names = NULL;
+
 out:
-       git_buf_free(&buf);
+       free_submodule_names(names);
+       git_buf_dispose(&buf);
        git_config_iterator_free(iter);
        return error;
 }
@@ -230,12 +262,12 @@ int git_submodule_lookup(
        assert(repo && name);
 
        if (repo->is_bare) {
-               giterr_set(GITERR_SUBMODULE, "cannot get submodules without a working tree");
+               git_error_set(GIT_ERROR_SUBMODULE, "cannot get submodules without a working tree");
                return -1;
        }
 
        if (repo->submodule_cache != NULL) {
-               khiter_t pos = git_strmap_lookup_index(repo->submodule_cache, name);
+               size_t pos = git_strmap_lookup_index(repo->submodule_cache, name);
                if (git_strmap_valid_index(repo->submodule_cache, pos)) {
                        if (out) {
                                *out = git_strmap_value_at(repo->submodule_cache, pos);
@@ -274,13 +306,13 @@ int git_submodule_lookup(
                mods = open_gitmodules(repo, GITMODULES_EXISTING);
 
                if (mods)
-                       error = git_config_file_foreach_match(mods, pattern, find_by_path, &data);
+                       error = git_config_backend_foreach_match(mods, pattern, find_by_path, &data);
 
-               git_config_file_free(mods);
+               git_config_backend_free(mods);
 
                if (error < 0) {
                        git_submodule_free(sm);
-                       git_buf_free(&path);
+                       git_buf_dispose(&path);
                        return error;
                }
 
@@ -296,7 +328,7 @@ int git_submodule_lookup(
                        }
                }
 
-               git_buf_free(&path);
+               git_buf_dispose(&path);
        }
 
        if ((error = git_submodule_location(&location, sm)) < 0) {
@@ -319,7 +351,7 @@ int git_submodule_lookup(
                        if (git_path_exists(path.ptr))
                                error = GIT_EEXISTS;
 
-                       git_buf_free(&path);
+                       git_buf_dispose(&path);
                }
 
                submodule_set_lookup_error(error, name);
@@ -351,7 +383,7 @@ int git_submodule_name_is_valid(git_repository *repo, const char *name, int flag
        }
 
        isvalid =  git_path_isvalid(repo, buf.ptr, 0, flags);
-       git_buf_free(&buf);
+       git_buf_dispose(&buf);
 
        return isvalid;
 }
@@ -364,7 +396,7 @@ static void submodule_free_dup(void *sm)
 static int submodule_get_or_create(git_submodule **out, git_repository *repo, git_strmap *map, const char *name)
 {
        int error = 0;
-       khiter_t pos;
+       size_t pos;
        git_submodule *sm = NULL;
 
        pos = git_strmap_lookup_index(map, name);
@@ -398,17 +430,16 @@ static int submodules_from_index(git_strmap *map, git_index *idx, git_config *cf
        int error;
        git_iterator *i = NULL;
        const git_index_entry *entry;
-       git_strmap *names = 0;
+       git_strmap *names;
 
-       git_strmap_alloc(&names);
-       if ((error = load_submodule_names(names, git_index_owner(idx), cfg)))
+       if ((error = load_submodule_names(&names, git_index_owner(idx), cfg)))
                goto done;
 
        if ((error = git_iterator_for_index(&i, git_index_owner(idx), idx, NULL)) < 0)
                goto done;
 
        while (!(error = git_iterator_advance(&entry, i))) {
-               khiter_t pos = git_strmap_lookup_index(map, entry->path);
+               size_t pos = git_strmap_lookup_index(map, entry->path);
                git_submodule *sm;
 
                if (git_strmap_valid_index(map, pos)) {
@@ -419,7 +450,7 @@ static int submodules_from_index(git_strmap *map, git_index *idx, git_config *cf
                        else
                                sm->flags |= GIT_SUBMODULE_STATUS__INDEX_NOT_SUBMODULE;
                } else if (S_ISGITLINK(entry->mode)) {
-                       khiter_t name_pos;
+                       size_t name_pos;
                        const char *name;
 
                        name_pos = git_strmap_lookup_index(names, entry->path);
@@ -451,16 +482,16 @@ static int submodules_from_head(git_strmap *map, git_tree *head, git_config *cfg
        int error;
        git_iterator *i = NULL;
        const git_index_entry *entry;
-       git_strmap *names = 0;
-       git_strmap_alloc(&names);
-       if ((error = load_submodule_names(names, git_tree_owner(head), cfg)))
+       git_strmap *names;
+
+       if ((error = load_submodule_names(&names, git_tree_owner(head), cfg)))
                goto done;
 
        if ((error = git_iterator_for_tree(&i, head, NULL)) < 0)
                goto done;
 
        while (!(error = git_iterator_advance(&entry, i))) {
-               khiter_t pos = git_strmap_lookup_index(map, entry->path);
+               size_t pos = git_strmap_lookup_index(map, entry->path);
                git_submodule *sm;
 
                if (git_strmap_valid_index(map, pos)) {
@@ -471,7 +502,7 @@ static int submodules_from_head(git_strmap *map, git_tree *head, git_config *cfg
                        else
                                sm->flags |= GIT_SUBMODULE_STATUS__HEAD_NOT_SUBMODULE;
                } else if (S_ISGITLINK(entry->mode)) {
-                       khiter_t name_pos;
+                       size_t name_pos;
                        const char *name;
 
                        name_pos = git_strmap_lookup_index(names, entry->path);
@@ -515,36 +546,19 @@ int git_submodule__map(git_repository *repo, git_strmap *map)
        git_buf path = GIT_BUF_INIT;
        git_submodule *sm;
        git_config *mods = NULL;
-       uint32_t mask;
 
        assert(repo && map);
 
        /* get sources that we will need to check */
        if (git_repository_index(&idx, repo) < 0)
-               giterr_clear();
+               git_error_clear();
        if (git_repository_head_tree(&head, repo) < 0)
-               giterr_clear();
+               git_error_clear();
 
        wd = git_repository_workdir(repo);
        if (wd && (error = git_buf_joinpath(&path, wd, GIT_MODULES_FILE)) < 0)
                goto cleanup;
 
-       /* clear submodule flags that are to be refreshed */
-       mask = 0;
-       mask |= GIT_SUBMODULE_STATUS_IN_INDEX |
-               GIT_SUBMODULE_STATUS__INDEX_FLAGS |
-               GIT_SUBMODULE_STATUS__INDEX_OID_VALID |
-               GIT_SUBMODULE_STATUS__INDEX_MULTIPLE_ENTRIES;
-
-       mask |= GIT_SUBMODULE_STATUS_IN_HEAD |
-               GIT_SUBMODULE_STATUS__HEAD_OID_VALID;
-       mask |= GIT_SUBMODULE_STATUS_IN_CONFIG;
-       if (mask != 0)
-               mask |= GIT_SUBMODULE_STATUS_IN_WD |
-                       GIT_SUBMODULE_STATUS__WD_SCANNED |
-                       GIT_SUBMODULE_STATUS__WD_FLAGS |
-                       GIT_SUBMODULE_STATUS__WD_OID_VALID;
-
        /* add submodule information from .gitmodules */
        if (wd) {
                lfc_data data = { 0 };
@@ -573,7 +587,7 @@ int git_submodule__map(git_repository *repo, git_strmap *map)
                        goto cleanup;
        }
        /* shallow scan submodules in work tree as needed */
-       if (wd && mask != 0) {
+       if (wd) {
                git_strmap_foreach_value(map, sm, {
                                submodule_load_from_wd_lite(sm);
                        });
@@ -584,7 +598,7 @@ cleanup:
        /* TODO: if we got an error, mark submodule config as invalid? */
        git_index_free(idx);
        git_tree_free(head);
-       git_buf_free(&path);
+       git_buf_dispose(&path);
        return error;
 }
 
@@ -600,7 +614,7 @@ int git_submodule_foreach(
        size_t i;
 
        if (repo->is_bare) {
-               giterr_set(GITERR_SUBMODULE, "cannot get submodules without a working tree");
+               git_error_set(GIT_ERROR_SUBMODULE, "cannot get submodules without a working tree");
                return -1;
        }
 
@@ -627,7 +641,7 @@ int git_submodule_foreach(
 
        git_vector_foreach(&snapshot, i, sm) {
                if ((error = callback(sm, sm->name, payload)) != 0) {
-                       giterr_set_after_callback(error);
+                       git_error_set_after_callback(error);
                        break;
                }
        }
@@ -689,8 +703,8 @@ static int submodule_repo_init(
                error = git_repository_init_ext(&subrepo, workdir.ptr, &initopt);
 
 cleanup:
-       git_buf_free(&workdir);
-       git_buf_free(&repodir);
+       git_buf_dispose(&workdir);
+       git_buf_dispose(&repodir);
 
        *out = subrepo;
 
@@ -709,15 +723,16 @@ int git_submodule_add_setup(
        git_submodule *sm = NULL;
        git_buf name = GIT_BUF_INIT, real_url = GIT_BUF_INIT;
        git_repository *subrepo = NULL;
+       bool path_occupied;
 
        assert(repo && url && path);
 
        /* see if there is already an entry for this submodule */
 
        if (git_submodule_lookup(NULL, repo, path) < 0)
-               giterr_clear();
+               git_error_clear();
        else {
-               giterr_set(GITERR_SUBMODULE,
+               git_error_set(GIT_ERROR_SUBMODULE,
                        "attempt to add submodule '%s' that already exists", path);
                return GIT_EEXISTS;
        }
@@ -728,25 +743,33 @@ int git_submodule_add_setup(
                path += strlen(git_repository_workdir(repo));
 
        if (git_path_root(path) >= 0) {
-               giterr_set(GITERR_SUBMODULE, "submodule path must be a relative path");
+               git_error_set(GIT_ERROR_SUBMODULE, "submodule path must be a relative path");
                error = -1;
                goto cleanup;
        }
 
+       if ((error = is_path_occupied(&path_occupied, repo, path)) < 0)
+               goto cleanup;
+
+       if (path_occupied) {
+               error = GIT_EEXISTS;
+               goto cleanup;
+       }
+
        /* update .gitmodules */
 
        if (!(mods = open_gitmodules(repo, GITMODULES_CREATE))) {
-               giterr_set(GITERR_SUBMODULE,
+               git_error_set(GIT_ERROR_SUBMODULE,
                        "adding submodules to a bare repository is not supported");
                return -1;
        }
 
        if ((error = git_buf_printf(&name, "submodule.%s.path", path)) < 0 ||
-               (error = git_config_file_set_string(mods, name.ptr, path)) < 0)
+               (error = git_config_backend_set_string(mods, name.ptr, path)) < 0)
                goto cleanup;
 
        if ((error = submodule_config_key_trunc_puts(&name, "url")) < 0 ||
-               (error = git_config_file_set_string(mods, name.ptr, url)) < 0)
+               (error = git_config_backend_set_string(mods, name.ptr, url)) < 0)
                goto cleanup;
 
        git_buf_clear(&name);
@@ -784,10 +807,10 @@ cleanup:
        if (out != NULL)
                *out = sm;
 
-       git_config_file_free(mods);
+       git_config_backend_free(mods);
        git_repository_free(subrepo);
-       git_buf_free(&real_url);
-       git_buf_free(&name);
+       git_buf_dispose(&real_url);
+       git_buf_dispose(&name);
 
        return error;
 }
@@ -816,7 +839,7 @@ int git_submodule_repo_init(
 
 done:
        git_config_free(cfg);
-       git_buf_free(&buf);
+       git_buf_dispose(&buf);
        return error;
 }
 
@@ -857,7 +880,7 @@ int git_submodule_add_to_index(git_submodule *sm, int write_index)
 
        /* read stat information for submodule working directory */
        if (p_stat(path.ptr, &st) < 0) {
-               giterr_set(GITERR_SUBMODULE,
+               git_error_set(GIT_ERROR_SUBMODULE,
                        "cannot add submodule without working directory");
                error = -1;
                goto cleanup;
@@ -866,11 +889,11 @@ int git_submodule_add_to_index(git_submodule *sm, int write_index)
        memset(&entry, 0, sizeof(entry));
        entry.path = sm->path;
        git_index_entry__init_from_stat(
-               &entry, &st, !(git_index_caps(index) & GIT_INDEXCAP_NO_FILEMODE));
+               &entry, &st, !(git_index_caps(index) & GIT_INDEX_CAPABILITY_NO_FILEMODE));
 
        /* calling git_submodule_open will have set sm->wd_oid if possible */
        if ((sm->flags & GIT_SUBMODULE_STATUS__WD_OID_VALID) == 0) {
-               giterr_set(GITERR_SUBMODULE,
+               git_error_set(GIT_ERROR_SUBMODULE,
                        "cannot add submodule without HEAD to index");
                error = -1;
                goto cleanup;
@@ -900,7 +923,7 @@ int git_submodule_add_to_index(git_submodule *sm, int write_index)
 
 cleanup:
        git_repository_free(sm_repo);
-       git_buf_free(&path);
+       git_buf_dispose(&path);
        return error;
 }
 
@@ -961,11 +984,11 @@ int git_submodule_resolve_url(git_buf *out, git_repository *repo, const char *ur
        } else if (strchr(url, ':') != NULL || url[0] == '/') {
                error = git_buf_sets(out, url);
        } else {
-               giterr_set(GITERR_SUBMODULE, "invalid format for submodule URL");
+               git_error_set(GIT_ERROR_SUBMODULE, "invalid format for submodule URL");
                error = -1;
        }
 
-       git_buf_free(&normalized);
+       git_buf_dispose(&normalized);
        return error;
 }
 
@@ -983,14 +1006,14 @@ static int write_var(git_repository *repo, const char *name, const char *var, co
                goto cleanup;
 
        if (val)
-               error = git_config_file_set_string(mods, key.ptr, val);
+               error = git_config_backend_set_string(mods, key.ptr, val);
        else
-               error = git_config_file_delete(mods, key.ptr);
+               error = git_config_backend_delete(mods, key.ptr);
 
-       git_buf_free(&key);
+       git_buf_dispose(&key);
 
 cleanup:
-       git_config_file_free(mods);
+       git_config_backend_free(mods);
        return error;
 }
 
@@ -1000,7 +1023,7 @@ static int write_mapped_var(git_repository *repo, const char *name, git_cvar_map
        const char *val;
 
        if (git_config_lookup_map_enum(&type, &val, maps, nmaps, ival) < 0) {
-               giterr_set(GITERR_SUBMODULE, "invalid value for %s", var);
+               git_error_set(GIT_ERROR_SUBMODULE, "invalid value for %s", var);
                return -1;
        }
 
@@ -1063,7 +1086,7 @@ const git_oid *git_submodule_wd_id(git_submodule *submodule)
                if (!git_submodule_open_bare(&subrepo, submodule))
                        git_repository_free(subrepo);
                else
-                       giterr_clear();
+                       git_error_clear();
        }
 
        if (submodule->flags & GIT_SUBMODULE_STATUS__WD_OID_VALID)
@@ -1152,8 +1175,8 @@ static int submodule_repo_create(
        error = git_repository_init_ext(&subrepo, repodir.ptr, &initopt);
 
 cleanup:
-       git_buf_free(&workdir);
-       git_buf_free(&repodir);
+       git_buf_dispose(&workdir);
+       git_buf_dispose(&repodir);
 
        *out = subrepo;
 
@@ -1204,7 +1227,7 @@ int git_submodule_update(git_submodule *sm, int init, git_submodule_update_optio
        if (_update_options)
                memcpy(&update_options, _update_options, sizeof(git_submodule_update_options));
 
-       GITERR_CHECK_VERSION(&update_options, GIT_SUBMODULE_UPDATE_OPTIONS_VERSION, "git_submodule_update_options");
+       GIT_ERROR_CHECK_VERSION(&update_options, GIT_SUBMODULE_UPDATE_OPTIONS_VERSION, "git_submodule_update_options");
 
        /* Copy over the remote callbacks */
        memcpy(&clone_options.fetch_opts, &update_options.fetch_opts, sizeof(git_fetch_options));
@@ -1235,7 +1258,7 @@ int git_submodule_update(git_submodule *sm, int init, git_submodule_update_optio
                                goto done;
 
                        if (!init) {
-                               giterr_set(GITERR_SUBMODULE, "submodule is not initialized");
+                               git_error_set(GIT_ERROR_SUBMODULE, "submodule is not initialized");
                                error = GIT_ERROR;
                                goto done;
                        }
@@ -1279,18 +1302,18 @@ int git_submodule_update(git_submodule *sm, int init, git_submodule_update_optio
                        goto done;
 
                if ((oid = git_submodule_index_id(sm)) == NULL) {
-                       giterr_set(GITERR_SUBMODULE, "could not get ID of submodule in index");
+                       git_error_set(GIT_ERROR_SUBMODULE, "could not get ID of submodule in index");
                        error = -1;
                        goto done;
                }
 
                /* Look up the target commit in the submodule. */
-               if ((error = git_object_lookup(&target_commit, sub_repo, oid, GIT_OBJ_COMMIT)) < 0) {
+               if ((error = git_object_lookup(&target_commit, sub_repo, oid, GIT_OBJECT_COMMIT)) < 0) {
                        /* If it isn't found then fetch and try again. */
                        if (error != GIT_ENOTFOUND || !update_options.allow_fetch ||
                                (error = lookup_default_remote(&remote, sub_repo)) < 0 ||
                                (error = git_remote_fetch(remote, NULL, &update_options.fetch_opts, NULL)) < 0 ||
-                               (error = git_object_lookup(&target_commit, sub_repo, git_submodule_index_id(sm), GIT_OBJ_COMMIT)) < 0)
+                               (error = git_object_lookup(&target_commit, sub_repo, git_submodule_index_id(sm), GIT_OBJECT_COMMIT)) < 0)
                                goto done;
                }
 
@@ -1306,7 +1329,7 @@ int git_submodule_update(git_submodule *sm, int init, git_submodule_update_optio
        }
 
 done:
-       git_buf_free(&buf);
+       git_buf_dispose(&buf);
        git_config_free(config);
        git_object_free(target_commit);
        git_remote_free(remote);
@@ -1323,7 +1346,7 @@ int git_submodule_init(git_submodule *sm, int overwrite)
        git_config *cfg = NULL;
 
        if (!sm->url) {
-               giterr_set(GITERR_SUBMODULE,
+               git_error_set(GIT_ERROR_SUBMODULE,
                        "no URL configured for submodule '%s'", sm->name);
                return -1;
        }
@@ -1353,8 +1376,8 @@ int git_submodule_init(git_submodule *sm, int overwrite)
 
 cleanup:
        git_config_free(cfg);
-       git_buf_free(&key);
-       git_buf_free(&effective_submodule_url);
+       git_buf_dispose(&key);
+       git_buf_dispose(&effective_submodule_url);
 
        return error;
 }
@@ -1367,7 +1390,7 @@ int git_submodule_sync(git_submodule *sm)
        git_repository *smrepo = NULL;
 
        if (!sm->url) {
-               giterr_set(GITERR_SUBMODULE,
+               git_error_set(GIT_ERROR_SUBMODULE,
                        "no URL configured for submodule '%s'", sm->name);
                return -1;
        }
@@ -1389,12 +1412,12 @@ int git_submodule_sync(git_submodule *sm)
                if ((error = git_repository_config__weakptr(&cfg, smrepo)) < 0)
                        /* return error from reading submodule config */;
                else if ((error = lookup_head_remote_key(&remote_name, smrepo)) < 0) {
-                       giterr_clear();
+                       git_error_clear();
                        error = git_buf_sets(&key, "remote.origin.url");
                } else {
                        error = git_buf_join3(
                                &key, '.', "remote", remote_name.ptr, "url");
-                       git_buf_free(&remote_name);
+                       git_buf_dispose(&remote_name);
                }
 
                if (!error)
@@ -1403,7 +1426,7 @@ int git_submodule_sync(git_submodule *sm)
                git_repository_free(smrepo);
        }
 
-       git_buf_free(&key);
+       git_buf_dispose(&key);
 
        return error;
 }
@@ -1446,7 +1469,7 @@ static int git_submodule__open(
                if (!git_reference_name_to_id(&sm->wd_oid, *subrepo, GIT_HEAD_FILE))
                        sm->flags |= GIT_SUBMODULE_STATUS__WD_OID_VALID;
                else
-                       giterr_clear();
+                       git_error_clear();
        } else if (git_path_exists(path.ptr)) {
                sm->flags |= GIT_SUBMODULE_STATUS__WD_SCANNED |
                        GIT_SUBMODULE_STATUS_IN_WD;
@@ -1457,7 +1480,7 @@ static int git_submodule__open(
                        sm->flags |= GIT_SUBMODULE_STATUS__WD_SCANNED;
        }
 
-       git_buf_free(&path);
+       git_buf_dispose(&path);
 
        return error;
 }
@@ -1536,7 +1559,7 @@ static int submodule_update_head(git_submodule *submodule)
        /* if we can't look up file in current head, then done */
        if (git_repository_head_tree(&head, submodule->repo) < 0 ||
                git_tree_entry_bypath(&te, head, submodule->path) < 0)
-               giterr_clear();
+               git_error_clear();
        else
                submodule_update_from_head_data(submodule, te->attr, git_tree_entry_id(te));
 
@@ -1639,12 +1662,12 @@ int git_submodule__status(
        if (ign == GIT_SUBMODULE_IGNORE_DIRTY) {
                /* git_submodule_open_bare will load WD OID data */
                if (git_submodule_open_bare(&smrepo, sm) < 0)
-                       giterr_clear();
+                       git_error_clear();
                else
                        git_repository_free(smrepo);
                smrepo = NULL;
        } else if (git_submodule_open(&smrepo, sm) < 0) {
-               giterr_clear();
+               git_error_clear();
                smrepo = NULL;
        }
 
@@ -1702,12 +1725,12 @@ static int submodule_alloc(
        git_submodule *sm;
 
        if (!name || !(namelen = strlen(name))) {
-               giterr_set(GITERR_SUBMODULE, "invalid submodule name");
+               git_error_set(GIT_ERROR_SUBMODULE, "invalid submodule name");
                return -1;
        }
 
        sm = git__calloc(1, sizeof(git_submodule));
-       GITERR_CHECK_ALLOC(sm);
+       GIT_ERROR_CHECK_ALLOC(sm);
 
        sm->name = sm->path = git__strdup(name);
        if (!sm->name) {
@@ -1753,7 +1776,7 @@ void git_submodule_free(git_submodule *sm)
 
 static int submodule_config_error(const char *property, const char *value)
 {
-       giterr_set(GITERR_INVALID,
+       git_error_set(GIT_ERROR_INVALID,
                "invalid value for submodule '%s' property: '%s'", property, value);
        return -1;
 }
@@ -1844,7 +1867,7 @@ static int submodule_read_config(git_submodule *sm, git_config *cfg)
                                if (sm->path != sm->name)
                                        git__free(sm->path);
                                sm->path = git__strdup(value);
-                               GITERR_CHECK_ALLOC(sm->path);
+                               GIT_ERROR_CHECK_ALLOC(sm->path);
                        }
 
                }
@@ -1857,7 +1880,7 @@ static int submodule_read_config(git_submodule *sm, git_config *cfg)
                if (!looks_like_command_line_option(value)) {
                        in_config = 1;
                        sm->url = git__strdup(value);
-                       GITERR_CHECK_ALLOC(sm->url);
+                       GIT_ERROR_CHECK_ALLOC(sm->url);
                }
        } else if (error != GIT_ENOTFOUND) {
                goto cleanup;
@@ -1866,7 +1889,7 @@ static int submodule_read_config(git_submodule *sm, git_config *cfg)
        if ((error = get_value(&value, cfg, &key, sm->name, "branch")) == 0) {
                in_config = 1;
                sm->branch = git__strdup(value);
-               GITERR_CHECK_ALLOC(sm->branch);
+               GIT_ERROR_CHECK_ALLOC(sm->branch);
        } else if (error != GIT_ENOTFOUND) {
                goto cleanup;
        }
@@ -1904,7 +1927,7 @@ static int submodule_read_config(git_submodule *sm, git_config *cfg)
        error = 0;
 
 cleanup:
-       git_buf_free(&key);
+       git_buf_dispose(&key);
        return error;
 }
 
@@ -1912,7 +1935,7 @@ static int submodule_load_each(const git_config_entry *entry, void *payload)
 {
        lfc_data *data = payload;
        const char *namestart, *property;
-       git_strmap_iter pos;
+       size_t pos;
        git_strmap *map = data->map;
        git_buf name = GIT_BUF_INIT;
        git_submodule *sm;
@@ -1966,7 +1989,7 @@ static int submodule_load_each(const git_config_entry *entry, void *payload)
        error = 0;
 
 done:
-       git_buf_free(&name);
+       git_buf_dispose(&name);
        return error;
 }
 
@@ -1983,7 +2006,7 @@ static int submodule_load_from_wd_lite(git_submodule *sm)
        if (git_path_contains(&path, DOT_GIT))
                sm->flags |= GIT_SUBMODULE_STATUS_IN_WD;
 
-       git_buf_free(&path);
+       git_buf_dispose(&path);
        return 0;
 }
 
@@ -2007,6 +2030,7 @@ static int gitmodules_snapshot(git_config **snap, git_repository *repo)
 
        if ((error = git_config_open_ondisk(&mods, path.ptr)) < 0)
                goto cleanup;
+       git_buf_dispose(&path);
 
        if ((error = git_config_snapshot(snap, mods)) < 0)
                goto cleanup;
@@ -2016,7 +2040,7 @@ static int gitmodules_snapshot(git_config **snap, git_repository *repo)
 cleanup:
        if (mods)
                git_config_free(mods);
-       git_buf_free(&path);
+       git_buf_dispose(&path);
 
        return error;
 }
@@ -2034,18 +2058,18 @@ static git_config_backend *open_gitmodules(
                        return NULL;
 
                if (okay_to_create || git_path_isfile(path.ptr)) {
-                       /* git_config_file__ondisk should only fail if OOM */
-                       if (git_config_file__ondisk(&mods, path.ptr) < 0)
+                       /* git_config_backend_from_file should only fail if OOM */
+                       if (git_config_backend_from_file(&mods, path.ptr) < 0)
                                mods = NULL;
                        /* open should only fail here if the file is malformed */
-                       else if (git_config_file_open(mods, GIT_CONFIG_LEVEL_LOCAL, repo) < 0) {
-                               git_config_file_free(mods);
+                       else if (git_config_backend_open(mods, GIT_CONFIG_LEVEL_LOCAL, repo) < 0) {
+                               git_config_backend_free(mods);
                                mods = NULL;
                        }
                }
        }
 
-       git_buf_free(&path);
+       git_buf_dispose(&path);
 
        return mods;
 }
@@ -2067,7 +2091,7 @@ static int lookup_head_remote_key(git_buf *remote_name, git_repository *repo)
         * a remote key for the local tracking branch HEAD points to.
         **/
        if (!git_reference_is_branch(head)) {
-               giterr_set(GITERR_INVALID,
+               git_error_set(GIT_ERROR_INVALID,
                        "HEAD does not refer to a branch.");
                error = GIT_ENOTFOUND;
                goto done;
@@ -2085,7 +2109,7 @@ static int lookup_head_remote_key(git_buf *remote_name, git_repository *repo)
                goto done;
 
 done:
-       git_buf_free(&upstream_name);
+       git_buf_dispose(&upstream_name);
        git_reference_free(head);
 
        return error;
@@ -2101,7 +2125,7 @@ static int lookup_head_remote(git_remote **remote, git_repository *repo)
        if (!(error = lookup_head_remote_key(&remote_name, repo)))
                error = git_remote_lookup(remote, repo, remote_name.ptr);
 
-       git_buf_free(&remote_name);
+       git_buf_dispose(&remote_name);
 
        return error;
 }
@@ -2116,8 +2140,8 @@ static int lookup_default_remote(git_remote **remote, git_repository *repo)
                error = git_remote_lookup(remote, repo, "origin");
 
        if (error == GIT_ENOTFOUND)
-               giterr_set(
-                       GITERR_SUBMODULE,
+               git_error_set(
+                       GIT_ERROR_SUBMODULE,
                        "cannot get default remote for submodule - no local tracking "
                        "branch for HEAD and origin does not exist");
 
@@ -2136,7 +2160,7 @@ static int get_url_base(git_buf *url, git_repository *repo)
        } else if (error != GIT_ENOTFOUND)
                goto out;
        else
-               giterr_clear();
+               git_error_clear();
 
        /* if repository does not have a default remote, use workdir instead */
        if (git_repository_is_worktree(repo)) {
@@ -2217,11 +2241,11 @@ static void submodule_get_wd_status(
 
        /* if we don't have an unborn head, check diff with index */
        if (git_repository_head_tree(&sm_head, sm_repo) < 0)
-               giterr_clear();
+               git_error_clear();
        else {
                /* perform head to index diff on submodule */
                if (git_diff_tree_to_index(&diff, sm_repo, sm_head, index, &opt) < 0)
-                       giterr_clear();
+                       git_error_clear();
                else {
                        if (git_diff_num_deltas(diff) > 0)
                                *status |= GIT_SUBMODULE_STATUS_WD_INDEX_MODIFIED;
@@ -2234,7 +2258,7 @@ static void submodule_get_wd_status(
 
        /* perform index-to-workdir diff on submodule */
        if (git_diff_index_to_workdir(&diff, sm_repo, index, &opt) < 0)
-               giterr_clear();
+               git_error_clear();
        else {
                size_t untracked =
                        git_diff_num_deltas_of_type(diff, GIT_DELTA_UNTRACKED);
index 509b23b8294b13600f55b6c9c86a20ed8f3dfab0..e07ba7199d8ad77f615760966af5353bf9c1d598 100644 (file)
@@ -57,12 +57,12 @@ static int get_passwd_home(git_buf *out, uid_t uid)
        } while (error == ERANGE && buflen <= 8192);
 
        if (error) {
-               giterr_set(GITERR_OS, "failed to get passwd entry");
+               git_error_set(GIT_ERROR_OS, "failed to get passwd entry");
                goto out;
        }
 
        if (!pwdptr) {
-               giterr_set(GITERR_OS, "no passwd entry found for user");
+               git_error_set(GIT_ERROR_OS, "no passwd entry found for user");
                goto out;
        }
 
@@ -96,7 +96,7 @@ static int git_sysdir_guess_global_dirs(git_buf *out)
            error = get_passwd_home(out, euid);
 
        if (error == GIT_ENOTFOUND) {
-               giterr_clear();
+               git_error_clear();
                error = 0;
        }
 
@@ -132,11 +132,11 @@ static int git_sysdir_guess_xdg_dirs(git_buf *out)
        }
 
        if (error == GIT_ENOTFOUND) {
-               giterr_clear();
+               git_error_clear();
                error = 0;
        }
 
-       git_buf_free(&env);
+       git_buf_dispose(&env);
        return error;
 #endif
 }
@@ -168,7 +168,7 @@ static void git_sysdir_global_shutdown(void)
        size_t i;
 
        for (i = 0; i < ARRAY_SIZE(git_sysdir__dirs); ++i)
-               git_buf_free(&git_sysdir__dirs[i].buf);
+               git_buf_dispose(&git_sysdir__dirs[i].buf);
 }
 
 int git_sysdir_global_init(void)
@@ -189,7 +189,7 @@ static int git_sysdir_check_selector(git_sysdir_t which)
        if (which < ARRAY_SIZE(git_sysdir__dirs))
                return 0;
 
-       giterr_set(GITERR_INVALID, "config directory selector out of range");
+       git_error_set(GIT_ERROR_INVALID, "config directory selector out of range");
        return -1;
 }
 
@@ -200,7 +200,7 @@ int git_sysdir_get(const git_buf **out, git_sysdir_t which)
 
        *out = NULL;
 
-       GITERR_CHECK_ERROR(git_sysdir_check_selector(which));
+       GIT_ERROR_CHECK_ERROR(git_sysdir_check_selector(which));
 
        *out = &git_sysdir__dirs[which].buf;
        return 0;
@@ -213,11 +213,11 @@ int git_sysdir_get_str(
 {
        const git_buf *path = NULL;
 
-       GITERR_CHECK_ERROR(git_sysdir_check_selector(which));
-       GITERR_CHECK_ERROR(git_sysdir_get(&path, which));
+       GIT_ERROR_CHECK_ERROR(git_sysdir_check_selector(which));
+       GIT_ERROR_CHECK_ERROR(git_sysdir_get(&path, which));
 
        if (!out || path->size >= outlen) {
-               giterr_set(GITERR_NOMEMORY, "buffer is too short for the path");
+               git_error_set(GIT_ERROR_NOMEMORY, "buffer is too short for the path");
                return GIT_EBUFS;
        }
 
@@ -232,7 +232,7 @@ int git_sysdir_set(git_sysdir_t which, const char *search_path)
        const char *expand_path = NULL;
        git_buf merge = GIT_BUF_INIT;
 
-       GITERR_CHECK_ERROR(git_sysdir_check_selector(which));
+       GIT_ERROR_CHECK_ERROR(git_sysdir_check_selector(which));
 
        if (search_path != NULL)
                expand_path = strstr(search_path, PATH_MAGIC);
@@ -262,7 +262,7 @@ int git_sysdir_set(git_sysdir_t which, const char *search_path)
                git_buf_join(&merge, GIT_PATH_LIST_SEPARATOR, merge.ptr, expand_path);
 
        git_buf_swap(&git_sysdir__dirs[which].buf, &merge);
-       git_buf_free(&merge);
+       git_buf_dispose(&merge);
 
 done:
        if (git_buf_oom(&git_sysdir__dirs[which].buf))
@@ -281,7 +281,7 @@ static int git_sysdir_find_in_dirlist(
        const char *scan, *next = NULL;
        const git_buf *syspath;
 
-       GITERR_CHECK_ERROR(git_sysdir_get(&syspath, which));
+       GIT_ERROR_CHECK_ERROR(git_sysdir_get(&syspath, which));
        if (!syspath || !git_buf_len(syspath))
                goto done;
 
@@ -298,17 +298,17 @@ static int git_sysdir_find_in_dirlist(
                if (!len)
                        continue;
 
-               GITERR_CHECK_ERROR(git_buf_set(path, scan, len));
+               GIT_ERROR_CHECK_ERROR(git_buf_set(path, scan, len));
                if (name)
-                       GITERR_CHECK_ERROR(git_buf_joinpath(path, path->ptr, name));
+                       GIT_ERROR_CHECK_ERROR(git_buf_joinpath(path, path->ptr, name));
 
                if (git_path_exists(path->ptr))
                        return 0;
        }
 
 done:
-       git_buf_free(path);
-       giterr_set(GITERR_OS, "the %s file '%s' doesn't exist", label, name);
+       git_buf_dispose(path);
+       git_error_set(GIT_ERROR_OS, "the %s file '%s' doesn't exist", label, name);
        return GIT_ENOTFOUND;
 }
 
index 1ec8237318e5852e99709f2a3005ad05900b6c6f..b4a5015dfb7529446638c3351311bc26752f6658 100644 (file)
--- a/src/tag.c
+++ b/src/tag.c
@@ -36,7 +36,7 @@ const git_oid *git_tag_target_id(const git_tag *t)
        return &t->target;
 }
 
-git_otype git_tag_target_type(const git_tag *t)
+git_object_t git_tag_target_type(const git_tag *t)
 {
        assert(t);
        return t->type;
@@ -61,7 +61,7 @@ const char *git_tag_message(const git_tag *t)
 
 static int tag_error(const char *str)
 {
-       giterr_set(GITERR_TAG, "failed to parse tag: %s", str);
+       git_error_set(GIT_ERROR_TAG, "failed to parse tag: %s", str);
        return -1;
 }
 
@@ -84,7 +84,7 @@ static int tag_parse(git_tag *tag, const char *buffer, const char *buffer_end)
                return tag_error("type field not found");
        buffer += 5;
 
-       tag->type = GIT_OBJ_BAD;
+       tag->type = GIT_OBJECT_INVALID;
 
        for (i = 1; i < ARRAY_SIZE(tag_types); ++i) {
                size_t type_length = strlen(tag_types[i]);
@@ -99,7 +99,7 @@ static int tag_parse(git_tag *tag, const char *buffer, const char *buffer_end)
                }
        }
 
-       if (tag->type == GIT_OBJ_BAD)
+       if (tag->type == GIT_OBJECT_INVALID)
                return tag_error("invalid object type");
 
        if (buffer + 4 >= buffer_end)
@@ -116,9 +116,9 @@ static int tag_parse(git_tag *tag, const char *buffer, const char *buffer_end)
 
        text_len = search - buffer;
 
-       GITERR_CHECK_ALLOC_ADD(&alloc_len, text_len, 1);
+       GIT_ERROR_CHECK_ALLOC_ADD(&alloc_len, text_len, 1);
        tag->tag_name = git__malloc(alloc_len);
-       GITERR_CHECK_ALLOC(tag->tag_name);
+       GIT_ERROR_CHECK_ALLOC(tag->tag_name);
 
        memcpy(tag->tag_name, buffer, text_len);
        tag->tag_name[text_len] = '\0';
@@ -128,7 +128,7 @@ static int tag_parse(git_tag *tag, const char *buffer, const char *buffer_end)
        tag->tagger = NULL;
        if (buffer < buffer_end && *buffer != '\n') {
                tag->tagger = git__malloc(sizeof(git_signature));
-               GITERR_CHECK_ALLOC(tag->tagger);
+               GIT_ERROR_CHECK_ALLOC(tag->tagger);
 
                if (git_signature__parse(tag->tagger, &buffer, buffer_end, "tagger ", '\n') < 0)
                        return -1;
@@ -148,9 +148,9 @@ static int tag_parse(git_tag *tag, const char *buffer, const char *buffer_end)
 
                text_len = buffer_end - ++buffer;
 
-               GITERR_CHECK_ALLOC_ADD(&alloc_len, text_len, 1);
+               GIT_ERROR_CHECK_ALLOC_ADD(&alloc_len, text_len, 1);
                tag->message = git__malloc(alloc_len);
-               GITERR_CHECK_ALLOC(tag->message);
+               GIT_ERROR_CHECK_ALLOC(tag->message);
 
                memcpy(tag->message, buffer, text_len);
                tag->message[text_len] = '\0';
@@ -159,6 +159,11 @@ static int tag_parse(git_tag *tag, const char *buffer, const char *buffer_end)
        return 0;
 }
 
+int git_tag__parse_raw(void *_tag, const char *data, size_t size)
+{
+       return tag_parse(_tag, data, data + size);
+}
+
 int git_tag__parse(void *_tag, git_odb_object *odb_obj)
 {
        git_tag *tag = _tag;
@@ -226,15 +231,15 @@ static int write_tag_annotation(
        if (git_repository_odb__weakptr(&odb, repo) < 0)
                goto on_error;
 
-       if (git_odb_write(oid, odb, tag.ptr, tag.size, GIT_OBJ_TAG) < 0)
+       if (git_odb_write(oid, odb, tag.ptr, tag.size, GIT_OBJECT_TAG) < 0)
                goto on_error;
 
-       git_buf_free(&tag);
+       git_buf_dispose(&tag);
        return 0;
 
 on_error:
-       git_buf_free(&tag);
-       giterr_set(GITERR_OBJECT, "failed to create tag annotation");
+       git_buf_dispose(&tag);
+       git_error_set(GIT_ERROR_OBJECT, "failed to create tag annotation");
        return -1;
 }
 
@@ -257,7 +262,7 @@ static int git_tag_create__internal(
        assert(!create_tag_annotation || (tagger && message));
 
        if (git_object_owner(target) != repo) {
-               giterr_set(GITERR_INVALID, "the given target does not belong to this repository");
+               git_error_set(GIT_ERROR_INVALID, "the given target does not belong to this repository");
                return -1;
        }
 
@@ -268,8 +273,8 @@ static int git_tag_create__internal(
        /** Ensure the tag name doesn't conflict with an already existing
         *      reference unless overwriting has explicitly been requested **/
        if (error == 0 && !allow_ref_overwrite) {
-               git_buf_free(&ref_name);
-               giterr_set(GITERR_TAG, "tag already exists");
+               git_buf_dispose(&ref_name);
+               git_error_set(GIT_ERROR_TAG, "tag already exists");
                return GIT_EEXISTS;
        }
 
@@ -283,7 +288,7 @@ static int git_tag_create__internal(
 
 cleanup:
        git_reference_free(new_ref);
-       git_buf_free(&ref_name);
+       git_buf_dispose(&ref_name);
        return error;
 }
 
@@ -349,7 +354,7 @@ int git_tag_create_frombuffer(git_oid *oid, git_repository *repo, const char *bu
                goto on_error;
 
        if (tag.type != target_obj->cached.type) {
-               giterr_set(GITERR_TAG, "the type for the given target is invalid");
+               git_error_set(GIT_ERROR_TAG, "the type for the given target is invalid");
                goto on_error;
        }
 
@@ -366,13 +371,13 @@ int git_tag_create_frombuffer(git_oid *oid, git_repository *repo, const char *bu
        /** Ensure the tag name doesn't conflict with an already existing
         *      reference unless overwriting has explicitly been requested **/
        if (error == 0 && !allow_ref_overwrite) {
-               giterr_set(GITERR_TAG, "tag already exists");
+               git_error_set(GIT_ERROR_TAG, "tag already exists");
                return GIT_EEXISTS;
        }
 
        /* write the buffer */
        if ((error = git_odb_open_wstream(
-                       &stream, odb, strlen(buffer), GIT_OBJ_TAG)) < 0)
+                       &stream, odb, strlen(buffer), GIT_OBJECT_TAG)) < 0)
                return error;
 
        if (!(error = git_odb_stream_write(stream, buffer, strlen(buffer))))
@@ -381,7 +386,7 @@ int git_tag_create_frombuffer(git_oid *oid, git_repository *repo, const char *bu
        git_odb_stream_free(stream);
 
        if (error < 0) {
-               git_buf_free(&ref_name);
+               git_buf_dispose(&ref_name);
                return error;
        }
 
@@ -389,7 +394,7 @@ int git_tag_create_frombuffer(git_oid *oid, git_repository *repo, const char *bu
                &new_ref, repo, ref_name.ptr, oid, allow_ref_overwrite, NULL);
 
        git_reference_free(new_ref);
-       git_buf_free(&ref_name);
+       git_buf_dispose(&ref_name);
 
        return error;
 
@@ -409,7 +414,7 @@ int git_tag_delete(git_repository *repo, const char *tag_name)
 
        error = retrieve_tag_reference(&tag_ref, &ref_name, repo, tag_name);
 
-       git_buf_free(&ref_name);
+       git_buf_dispose(&ref_name);
 
        if (error < 0)
                return error;
@@ -438,7 +443,7 @@ static int tags_cb(const char *ref, void *data)
 
        if (!(error = git_reference_name_to_id(&oid, d->repo, ref))) {
                if ((error = d->cb(ref, &oid, d->cb_data)) != 0)
-                       giterr_set_after_callback_function(error, "git_tag_foreach");
+                       git_error_set_after_callback_function(error, "git_tag_foreach");
        }
 
        return error;
@@ -473,7 +478,7 @@ static int tag_list_cb(const char *tag_name, git_oid *oid, void *data)
                p_fnmatch(filter->pattern, tag_name + GIT_REFS_TAGS_DIR_LEN, 0) == 0)
        {
                char *matched = git__strdup(tag_name + GIT_REFS_TAGS_DIR_LEN);
-               GITERR_CHECK_ALLOC(matched);
+               GIT_ERROR_CHECK_ALLOC(matched);
 
                return git_vector_insert(filter->taglist, matched);
        }
@@ -513,5 +518,5 @@ int git_tag_list(git_strarray *tag_names, git_repository *repo)
 
 int git_tag_peel(git_object **tag_target, const git_tag *tag)
 {
-       return git_object_peel(tag_target, (const git_object *)tag, GIT_OBJ_ANY);
+       return git_object_peel(tag_target, (const git_object *)tag, GIT_OBJECT_ANY);
 }
index 8aae37840c8d2473ccf4b86ab43f699d788bb99c..76ae1508eaa565dc85ebc175e9d6ea05a044d12f 100644 (file)
--- a/src/tag.h
+++ b/src/tag.h
@@ -17,7 +17,7 @@ struct git_tag {
        git_object object;
 
        git_oid target;
-       git_otype type;
+       git_object_t type;
 
        char *tag_name;
        git_signature *tagger;
@@ -26,5 +26,6 @@ struct git_tag {
 
 void git_tag__free(void *tag);
 int git_tag__parse(void *tag, git_odb_object *obj);
+int git_tag__parse_raw(void *tag, const char *data, size_t size);
 
 #endif
index 080d1e891a9bfcfe3597b5d7a61bfc23e7eea10f..f2f35389125b2570c567484d9510e6ccf9d6a8ef 100644 (file)
@@ -31,7 +31,7 @@ int git_trace_set(git_trace_level_t level, git_trace_callback callback)
        GIT_UNUSED(level);
        GIT_UNUSED(callback);
 
-       giterr_set(GITERR_INVALID,
+       git_error_set(GIT_ERROR_INVALID,
                "this version of libgit2 was not built with tracing.");
        return -1;
 #endif
index 498944035abb4e337476bb8ada2f5f6b99db27d2..1eaf6c92a3d46aa8bc893a7c8f8391d76c34dd31 100644 (file)
@@ -35,7 +35,7 @@ GIT_INLINE(void) git_trace__write_fmt(
 
        callback(level, git_buf_cstr(&message));
 
-       git_buf_free(&message);
+       git_buf_dispose(&message);
 }
 
 #define git_trace_level()              (git_trace__data.level)
index 24c8847f64015798cc4002b35200cb9e97d72b7b..dc8d1abcbf453fc4634a0aef57eabbdc08a7e73f 100644 (file)
@@ -36,7 +36,7 @@ static const char *next_line(const char *str)
        if (nl) {
                return nl + 1;
        } else {
-               // return pointer to the NUL terminator:
+               /* return pointer to the NUL terminator: */
                return str + strlen(str);
        }
 }
@@ -310,12 +310,12 @@ int git_message_trailers(git_message_trailer_array *trailer_arr, const char *mes
                                }
 
                                if (isalnum(*ptr) || *ptr == '-') {
-                                       // legal key character
+                                       /* legal key character */
                                        NEXT(S_KEY);
                                }
 
                                if (*ptr == ' ' || *ptr == '\t') {
-                                       // optional whitespace before separator
+                                       /* optional whitespace before separator */
                                        *ptr = 0;
                                        NEXT(S_KEY_WS);
                                }
@@ -325,7 +325,7 @@ int git_message_trailers(git_message_trailer_array *trailer_arr, const char *mes
                                        NEXT(S_SEP_WS);
                                }
 
-                               // illegal character
+                               /* illegal character */
                                GOTO(S_IGNORE);
                        }
                        case S_KEY_WS: {
@@ -341,7 +341,7 @@ int git_message_trailers(git_message_trailer_array *trailer_arr, const char *mes
                                        NEXT(S_SEP_WS);
                                }
 
-                               // illegal character
+                               /* illegal character */
                                GOTO(S_IGNORE);
                        }
                        case S_SEP_WS: {
@@ -369,7 +369,7 @@ int git_message_trailers(git_message_trailer_array *trailer_arr, const char *mes
                        }
                        case S_VALUE_NL: {
                                if (*ptr == ' ') {
-                                       // continuation;
+                                       /* continuation; */
                                        NEXT(S_VALUE);
                                }
 
index 675023afd629cfd981dffcef82e914246e5e0927..d8e38d803545c68d7270c96303a4279771b6e730 100644 (file)
@@ -30,7 +30,7 @@ typedef struct {
        const char *name;
        void *payload;
 
-       git_ref_t ref_type;
+       git_reference_t ref_type;
        union {
                git_oid id;
                char *symbolic;
@@ -60,7 +60,7 @@ int git_transaction_config_new(git_transaction **out, git_config *cfg)
        assert(out && cfg);
 
        tx = git__calloc(1, sizeof(git_transaction));
-       GITERR_CHECK_ALLOC(tx);
+       GIT_ERROR_CHECK_ALLOC(tx);
 
        tx->type = TRANSACTION_CONFIG;
        tx->cfg = cfg;
@@ -111,16 +111,16 @@ int git_transaction_lock_ref(git_transaction *tx, const char *refname)
        assert(tx && refname);
 
        node = git_pool_mallocz(&tx->pool, sizeof(transaction_node));
-       GITERR_CHECK_ALLOC(node);
+       GIT_ERROR_CHECK_ALLOC(node);
 
        node->name = git_pool_strdup(&tx->pool, refname);
-       GITERR_CHECK_ALLOC(node->name);
+       GIT_ERROR_CHECK_ALLOC(node->name);
 
        if ((error = git_refdb_lock(&node->payload, tx->db, refname)) < 0)
                return error;
 
        git_strmap_insert(tx->locks, node->name, node, &error);
-       if (error < 0) 
+       if (error < 0)
                goto cleanup;
 
        return 0;
@@ -133,12 +133,12 @@ cleanup:
 
 static int find_locked(transaction_node **out, git_transaction *tx, const char *refname)
 {
-       git_strmap_iter pos;
        transaction_node *node;
+       size_t pos;
 
        pos = git_strmap_lookup_index(tx->locks, refname);
        if (!git_strmap_valid_index(tx->locks, pos)) {
-               giterr_set(GITERR_REFERENCE, "the specified reference is not locked");
+               git_error_set(GIT_ERROR_REFERENCE, "the specified reference is not locked");
                return GIT_ENOTFOUND;
        }
 
@@ -169,7 +169,7 @@ static int copy_common(transaction_node *node, git_transaction *tx, const git_si
 
        if (msg) {
                node->message = git_pool_strdup(&tx->pool, msg);
-               GITERR_CHECK_ALLOC(node->message);
+               GIT_ERROR_CHECK_ALLOC(node->message);
        }
 
        return 0;
@@ -189,7 +189,7 @@ int git_transaction_set_target(git_transaction *tx, const char *refname, const g
                return error;
 
        git_oid_cpy(&node->target.id, target);
-       node->ref_type = GIT_REF_OID;
+       node->ref_type = GIT_REFERENCE_DIRECT;
 
        return 0;
 }
@@ -208,8 +208,8 @@ int git_transaction_set_symbolic_target(git_transaction *tx, const char *refname
                return error;
 
        node->target.symbolic = git_pool_strdup(&tx->pool, target);
-       GITERR_CHECK_ALLOC(node->target.symbolic);
-       node->ref_type = GIT_REF_SYMBOLIC;
+       GIT_ERROR_CHECK_ALLOC(node->target.symbolic);
+       node->ref_type = GIT_REFERENCE_SYMBOLIC;
 
        return 0;
 }
@@ -223,7 +223,7 @@ int git_transaction_remove(git_transaction *tx, const char *refname)
                return error;
 
        node->remove = true;
-       node->ref_type = GIT_REF_OID; /* the id will be ignored */
+       node->ref_type = GIT_REFERENCE_DIRECT; /* the id will be ignored */
 
        return 0;
 }
@@ -235,18 +235,18 @@ static int dup_reflog(git_reflog **out, const git_reflog *in, git_pool *pool)
        size_t len, i;
 
        reflog = git_pool_mallocz(pool, sizeof(git_reflog));
-       GITERR_CHECK_ALLOC(reflog);
+       GIT_ERROR_CHECK_ALLOC(reflog);
 
        reflog->ref_name = git_pool_strdup(pool, in->ref_name);
-       GITERR_CHECK_ALLOC(reflog->ref_name);
+       GIT_ERROR_CHECK_ALLOC(reflog->ref_name);
 
        len = in->entries.length;
        reflog->entries.length = len;
        reflog->entries.contents = git_pool_mallocz(pool, len * sizeof(void *));
-       GITERR_CHECK_ALLOC(reflog->entries.contents);
+       GIT_ERROR_CHECK_ALLOC(reflog->entries.contents);
 
        entries = git_pool_mallocz(pool, len * sizeof(git_reflog_entry));
-       GITERR_CHECK_ALLOC(entries);
+       GIT_ERROR_CHECK_ALLOC(entries);
 
        for (i = 0; i < len; i++) {
                const git_reflog_entry *src;
@@ -260,7 +260,7 @@ static int dup_reflog(git_reflog **out, const git_reflog *in, git_pool *pool)
                git_oid_cpy(&tgt->oid_cur, &src->oid_cur);
 
                tgt->msg = git_pool_strdup(pool, src->msg);
-               GITERR_CHECK_ALLOC(tgt->msg);
+               GIT_ERROR_CHECK_ALLOC(tgt->msg);
 
                if (git_signature__pdup(&tgt->committer, src->committer, pool) < 0)
                        return -1;
@@ -292,22 +292,22 @@ static int update_target(git_refdb *db, transaction_node *node)
        git_reference *ref;
        int error, update_reflog;
 
-       if (node->ref_type == GIT_REF_OID) {
+       if (node->ref_type == GIT_REFERENCE_DIRECT) {
                ref = git_reference__alloc(node->name, &node->target.id, NULL);
-       } else if (node->ref_type == GIT_REF_SYMBOLIC) {
+       } else if (node->ref_type == GIT_REFERENCE_SYMBOLIC) {
                ref = git_reference__alloc_symbolic(node->name, node->target.symbolic);
        } else {
                abort();
        }
 
-       GITERR_CHECK_ALLOC(ref);
+       GIT_ERROR_CHECK_ALLOC(ref);
        update_reflog = node->reflog == NULL;
 
        if (node->remove) {
                error =  git_refdb_unlock(db, node->payload, 2, false, ref, NULL, NULL);
-       } else if (node->ref_type == GIT_REF_OID) {
+       } else if (node->ref_type == GIT_REFERENCE_DIRECT) {
                error = git_refdb_unlock(db, node->payload, true, update_reflog, ref, node->sig, node->message);
-       } else if (node->ref_type == GIT_REF_SYMBOLIC) {
+       } else if (node->ref_type == GIT_REFERENCE_SYMBOLIC) {
                error = git_refdb_unlock(db, node->payload, true, update_reflog, ref, node->sig, node->message);
        } else {
                abort();
@@ -339,7 +339,7 @@ int git_transaction_commit(git_transaction *tx)
                                return error;
                }
 
-               if (node->ref_type != GIT_REF_INVALID) {
+               if (node->ref_type != GIT_REFERENCE_INVALID) {
                        if ((error = update_target(tx->db, node)) < 0)
                                return error;
                }
index f1e18b3238e5a98962b0025ca979d00f7ea7e6df..227ee7dee3acab1c1c8201d08579dff3504af559 100644 (file)
@@ -123,7 +123,7 @@ int git_transport_new(git_transport **out, git_remote *owner, const char *url)
        int error;
 
        if ((error = transport_find_fn(&fn, url, &param)) == GIT_ENOTFOUND) {
-               giterr_set(GITERR_NET, "unsupported URL protocol");
+               git_error_set(GIT_ERROR_NET, "unsupported URL protocol");
                return -1;
        } else if (error < 0)
                return error;
@@ -131,7 +131,7 @@ int git_transport_new(git_transport **out, git_remote *owner, const char *url)
        if ((error = fn(&transport, owner, param)) < 0)
                return error;
 
-       GITERR_CHECK_VERSION(transport, GIT_TRANSPORT_VERSION, "git_transport");
+       GIT_ERROR_CHECK_VERSION(transport, GIT_TRANSPORT_VERSION, "git_transport");
 
        *out = transport;
 
@@ -162,7 +162,7 @@ int git_transport_register(
        }
 
        definition = git__calloc(1, sizeof(transport_definition));
-       GITERR_CHECK_ALLOC(definition);
+       GIT_ERROR_CHECK_ALLOC(definition);
 
        definition->prefix = git_buf_detach(&prefix);
        definition->fn = cb;
@@ -174,7 +174,7 @@ int git_transport_register(
        return 0;
 
 on_error:
-       git_buf_free(&prefix);
+       git_buf_dispose(&prefix);
        git__free(definition);
        return error;
 }
@@ -210,7 +210,7 @@ int git_transport_unregister(const char *scheme)
        error = GIT_ENOTFOUND;
 
 done:
-       git_buf_free(&prefix);
+       git_buf_dispose(&prefix);
        return error;
 }
 
index 9597cc24972ae2ef307c4456b9eaddd38b672e2a..6c69282b46974bd5e9912144b6bf929e9f8e9770 100644 (file)
 #include "buffer.h"
 
 static int basic_next_token(
-       git_buf *out, git_http_auth_context *ctx, git_cred *c)
+       git_buf *out,
+       git_http_auth_context *ctx,
+       const char *header_name,
+       git_cred *c)
 {
        git_cred_userpass_plaintext *cred;
        git_buf raw = GIT_BUF_INIT;
@@ -20,7 +23,7 @@ static int basic_next_token(
        GIT_UNUSED(ctx);
 
        if (c->credtype != GIT_CREDTYPE_USERPASS_PLAINTEXT) {
-               giterr_set(GITERR_INVALID, "invalid credential type for basic auth");
+               git_error_set(GIT_ERROR_INVALID, "invalid credential type for basic auth");
                goto on_error;
        }
 
@@ -29,7 +32,7 @@ static int basic_next_token(
        git_buf_printf(&raw, "%s:%s", cred->username, cred->password);
 
        if (git_buf_oom(&raw) ||
-               git_buf_puts(out, "Authorization: Basic ") < 0 ||
+               git_buf_printf(out, "%s: Basic ", header_name) < 0 ||
                git_buf_encode_base64(out, git_buf_cstr(&raw), raw.size) < 0 ||
                git_buf_puts(out, "\r\n") < 0)
                goto on_error;
@@ -40,7 +43,7 @@ on_error:
        if (raw.size)
                git__memzero(raw.ptr, raw.size);
 
-       git_buf_free(&raw);
+       git_buf_dispose(&raw);
        return error;
 }
 
index 3b8b29eb9e77e83af6fc070281d29221b92079e9..e5cf7eff0fbe3bed7e316c20287571dd134656a6 100644 (file)
@@ -31,7 +31,7 @@ struct git_http_auth_context {
        int (*set_challenge)(git_http_auth_context *ctx, const char *challenge);
 
        /** Gets the next authentication token from the context */
-       int (*next_token)(git_buf *out, git_http_auth_context *ctx, git_cred *cred);
+       int (*next_token)(git_buf *out, git_http_auth_context *ctx, const char *header_name, git_cred *cred);
 
        /** Frees the authentication context */
        void (*free)(git_http_auth_context *ctx);
index c9bc3043d8c8d1be6a5726572b2f0b54dd169ba6..25c865c15a1bd48e73fd97b274bd6192b4495876 100644 (file)
@@ -44,12 +44,12 @@ static void negotiate_err_set(
 
        if (gss_display_status(&status_display, status_major, GSS_C_GSS_CODE,
                GSS_C_NO_OID, &context, &buffer) == GSS_S_COMPLETE) {
-               giterr_set(GITERR_NET, "%s: %.*s (%d.%d)",
+               git_error_set(GIT_ERROR_NET, "%s: %.*s (%d.%d)",
                        message, (int)buffer.length, (const char *)buffer.value,
                        status_major, status_minor);
                gss_release_buffer(&status_minor, &buffer);
        } else {
-               giterr_set(GITERR_NET, "%s: unknown negotiate error (%d.%d)",
+               git_error_set(GIT_ERROR_NET, "%s: unknown negotiate error (%d.%d)",
                        message, status_major, status_minor);
        }
 }
@@ -65,7 +65,7 @@ static int negotiate_set_challenge(
        git__free(ctx->challenge);
 
        ctx->challenge = git__strdup(challenge);
-       GITERR_CHECK_ALLOC(ctx->challenge);
+       GIT_ERROR_CHECK_ALLOC(ctx->challenge);
 
        return 0;
 }
@@ -73,6 +73,7 @@ static int negotiate_set_challenge(
 static int negotiate_next_token(
        git_buf *buf,
        git_http_auth_context *c,
+       const char *header_name,
        git_cred *cred)
 {
        http_auth_negotiate_context *ctx = (http_auth_negotiate_context *)c;
@@ -108,13 +109,13 @@ static int negotiate_next_token(
        challenge_len = ctx->challenge ? strlen(ctx->challenge) : 0;
 
        if (challenge_len < 9) {
-               giterr_set(GITERR_NET, "no negotiate challenge sent from server");
+               git_error_set(GIT_ERROR_NET, "no negotiate challenge sent from server");
                error = -1;
                goto done;
        } else if (challenge_len > 9) {
                if (git_buf_decode_base64(&input_buf,
                                ctx->challenge + 10, challenge_len - 10) < 0) {
-                       giterr_set(GITERR_NET, "invalid negotiate challenge from server");
+                       git_error_set(GIT_ERROR_NET, "invalid negotiate challenge from server");
                        error = -1;
                        goto done;
                }
@@ -123,7 +124,7 @@ static int negotiate_next_token(
                input_token.length = input_buf.size;
                input_token_ptr = &input_token;
        } else if (ctx->gss_context != GSS_C_NO_CONTEXT) {
-               giterr_set(GITERR_NET, "could not restart authentication");
+               git_error_set(GIT_ERROR_NET, "could not restart authentication");
                error = -1;
                goto done;
        }
@@ -155,7 +156,7 @@ static int negotiate_next_token(
                goto done;
        }
 
-       git_buf_puts(buf, "Authorization: Negotiate ");
+       git_buf_printf(buf, "%s: Negotiate ", header_name);
        git_buf_encode_base64(buf, output_token.value, output_token.length);
        git_buf_puts(buf, "\r\n");
 
@@ -165,7 +166,7 @@ static int negotiate_next_token(
 done:
        gss_release_name(&status_minor, &server);
        gss_release_buffer(&status_minor, (gss_buffer_t) &output_token);
-       git_buf_free(&input_buf);
+       git_buf_dispose(&input_buf);
        return error;
 }
 
@@ -180,7 +181,7 @@ static void negotiate_context_free(git_http_auth_context *c)
                ctx->gss_context = GSS_C_NO_CONTEXT;
        }
 
-       git_buf_free(&ctx->target);
+       git_buf_dispose(&ctx->target);
 
        git__free(ctx->challenge);
 
@@ -229,7 +230,7 @@ static int negotiate_init_context(
        gss_release_oid_set(&status_minor, &mechanism_list);
 
        if (!ctx->oid) {
-               giterr_set(GITERR_NET, "negotiate authentication is not supported");
+               git_error_set(GIT_ERROR_NET, "negotiate authentication is not supported");
                return -1;
        }
 
@@ -254,7 +255,7 @@ int git_http_auth_negotiate(
        *out = NULL;
 
        ctx = git__calloc(1, sizeof(http_auth_negotiate_context));
-       GITERR_CHECK_ALLOC(ctx);
+       GIT_ERROR_CHECK_ALLOC(ctx);
 
        if (negotiate_init_context(ctx, connection_data) < 0) {
                git__free(ctx);
index 8055e2d659d80b125596e7c8e414e1f308088fa2..dfacc96d3b9f48579b8425dab01e5da3b47bd638 100644 (file)
@@ -88,7 +88,7 @@ int git_cred_userpass_plaintext_new(
        assert(cred && username && password);
 
        c = git__malloc(sizeof(git_cred_userpass_plaintext));
-       GITERR_CHECK_ALLOC(c);
+       GIT_ERROR_CHECK_ALLOC(c);
 
        c->parent.credtype = GIT_CREDTYPE_USERPASS_PLAINTEXT;
        c->parent.free = plaintext_free;
@@ -217,7 +217,7 @@ int git_cred_ssh_key_memory_new(
        GIT_UNUSED(privatekey);
        GIT_UNUSED(passphrase);
 
-       giterr_set(GITERR_INVALID,
+       git_error_set(GIT_ERROR_INVALID,
                "this version of libgit2 was not built with ssh memory credentials.");
        return -1;
 #endif
@@ -236,25 +236,25 @@ static int git_cred_ssh_key_type_new(
        assert(username && cred && privatekey);
 
        c = git__calloc(1, sizeof(git_cred_ssh_key));
-       GITERR_CHECK_ALLOC(c);
+       GIT_ERROR_CHECK_ALLOC(c);
 
        c->parent.credtype = credtype;
        c->parent.free = ssh_key_free;
 
        c->username = git__strdup(username);
-       GITERR_CHECK_ALLOC(c->username);
+       GIT_ERROR_CHECK_ALLOC(c->username);
 
        c->privatekey = git__strdup(privatekey);
-       GITERR_CHECK_ALLOC(c->privatekey);
+       GIT_ERROR_CHECK_ALLOC(c->privatekey);
 
        if (publickey) {
                c->publickey = git__strdup(publickey);
-               GITERR_CHECK_ALLOC(c->publickey);
+               GIT_ERROR_CHECK_ALLOC(c->publickey);
        }
 
        if (passphrase) {
                c->passphrase = git__strdup(passphrase);
-               GITERR_CHECK_ALLOC(c->passphrase);
+               GIT_ERROR_CHECK_ALLOC(c->passphrase);
        }
 
        *cred = &c->parent;
@@ -272,13 +272,13 @@ int git_cred_ssh_interactive_new(
        assert(out && username && prompt_callback);
 
        c = git__calloc(1, sizeof(git_cred_ssh_interactive));
-       GITERR_CHECK_ALLOC(c);
+       GIT_ERROR_CHECK_ALLOC(c);
 
        c->parent.credtype = GIT_CREDTYPE_SSH_INTERACTIVE;
        c->parent.free = ssh_interactive_free;
 
        c->username = git__strdup(username);
-       GITERR_CHECK_ALLOC(c->username);
+       GIT_ERROR_CHECK_ALLOC(c->username);
 
        c->prompt_callback = prompt_callback;
        c->payload = payload;
@@ -293,13 +293,13 @@ int git_cred_ssh_key_from_agent(git_cred **cred, const char *username) {
        assert(username && cred);
 
        c = git__calloc(1, sizeof(git_cred_ssh_key));
-       GITERR_CHECK_ALLOC(c);
+       GIT_ERROR_CHECK_ALLOC(c);
 
        c->parent.credtype = GIT_CREDTYPE_SSH_KEY;
        c->parent.free = ssh_key_free;
 
        c->username = git__strdup(username);
-       GITERR_CHECK_ALLOC(c->username);
+       GIT_ERROR_CHECK_ALLOC(c->username);
 
        c->privatekey = NULL;
 
@@ -320,17 +320,17 @@ int git_cred_ssh_custom_new(
        assert(username && cred);
 
        c = git__calloc(1, sizeof(git_cred_ssh_custom));
-       GITERR_CHECK_ALLOC(c);
+       GIT_ERROR_CHECK_ALLOC(c);
 
        c->parent.credtype = GIT_CREDTYPE_SSH_CUSTOM;
        c->parent.free = ssh_custom_free;
 
        c->username = git__strdup(username);
-       GITERR_CHECK_ALLOC(c->username);
+       GIT_ERROR_CHECK_ALLOC(c->username);
 
        if (publickey_len > 0) {
                c->publickey = git__malloc(publickey_len);
-               GITERR_CHECK_ALLOC(c->publickey);
+               GIT_ERROR_CHECK_ALLOC(c->publickey);
 
                memcpy(c->publickey, publickey, publickey_len);
        }
@@ -350,7 +350,7 @@ int git_cred_default_new(git_cred **cred)
        assert(cred);
 
        c = git__calloc(1, sizeof(git_cred_default));
-       GITERR_CHECK_ALLOC(c);
+       GIT_ERROR_CHECK_ALLOC(c);
 
        c->credtype = GIT_CREDTYPE_DEFAULT;
        c->free = default_free;
@@ -368,10 +368,10 @@ int git_cred_username_new(git_cred **cred, const char *username)
 
        len = strlen(username);
 
-       GITERR_CHECK_ALLOC_ADD(&allocsize, sizeof(git_cred_username), len);
-       GITERR_CHECK_ALLOC_ADD(&allocsize, allocsize, 1);
+       GIT_ERROR_CHECK_ALLOC_ADD(&allocsize, sizeof(git_cred_username), len);
+       GIT_ERROR_CHECK_ALLOC_ADD(&allocsize, allocsize, 1);
        c = git__malloc(allocsize);
-       GITERR_CHECK_ALLOC(c);
+       GIT_ERROR_CHECK_ALLOC(c);
 
        c->parent.credtype = GIT_CREDTYPE_USERNAME;
        c->parent.free = username_free;
index 94178f2c5020cfc5c72e2f4f9f06e490a53068f3..9fd3b47fcfb98055280925ed7aa8ef30f848d2ac 100644 (file)
@@ -47,7 +47,7 @@ static int gen_proto(git_buf *request, const char *cmd, const char *url)
 
        delim = strchr(url, '/');
        if (delim == NULL) {
-               giterr_set(GITERR_NET, "malformed URL");
+               git_error_set(GIT_ERROR_NET, "malformed URL");
                return -1;
        }
 
@@ -75,19 +75,19 @@ static int gen_proto(git_buf *request, const char *cmd, const char *url)
 
 static int send_command(git_proto_stream *s)
 {
-       int error;
        git_buf request = GIT_BUF_INIT;
+       int error;
+
+       if ((error = gen_proto(&request, s->cmd, s->url)) < 0)
+               goto cleanup;
 
-       error = gen_proto(&request, s->cmd, s->url);
-       if (error < 0)
+       if ((error = git_stream__write_full(s->io, request.ptr, request.size, 0)) < 0)
                goto cleanup;
 
-       error = git_stream_write(s->io, request.ptr, request.size, 0);
-       if (error >= 0)
-               s->sent_command = 1;
+       s->sent_command = 1;
 
 cleanup:
-       git_buf_free(&request);
+       git_buf_dispose(&request);
        return error;
 }
 
@@ -121,13 +121,13 @@ static int git_proto_stream_write(
        const char *buffer,
        size_t len)
 {
-       int error;
        git_proto_stream *s = (git_proto_stream *)stream;
+       int error;
 
        if (!s->sent_command && (error = send_command(s)) < 0)
                return error;
 
-       return git_stream_write(s->io, buffer, len, 0);
+       return git_stream__write_full(s->io, buffer, len, 0);
 }
 
 static void git_proto_stream_free(git_smart_subtransport_stream *stream)
@@ -163,7 +163,7 @@ static int git_proto_stream_alloc(
                return -1;
 
        s = git__calloc(1, sizeof(git_proto_stream));
-       GITERR_CHECK_ALLOC(s);
+       GIT_ERROR_CHECK_ALLOC(s);
 
        s->parent.subtransport = &t->parent;
        s->parent.read = git_proto_stream_read;
@@ -181,7 +181,7 @@ static int git_proto_stream_alloc(
        if ((git_socket_stream_new(&s->io, host, port)) < 0)
                return -1;
 
-       GITERR_CHECK_VERSION(s->io, GIT_STREAM_VERSION, "git_stream");
+       GIT_ERROR_CHECK_VERSION(s->io, GIT_STREAM_VERSION, "git_stream");
 
        *stream = &s->parent;
        return 0;
@@ -242,7 +242,7 @@ static int _git_uploadpack(
                return 0;
        }
 
-       giterr_set(GITERR_NET, "must call UPLOADPACK_LS before UPLOADPACK");
+       git_error_set(GIT_ERROR_NET, "must call UPLOADPACK_LS before UPLOADPACK");
        return -1;
 }
 
@@ -298,7 +298,7 @@ static int _git_receivepack(
                return 0;
        }
 
-       giterr_set(GITERR_NET, "must call RECEIVEPACK_LS before RECEIVEPACK");
+       git_error_set(GIT_ERROR_NET, "must call RECEIVEPACK_LS before RECEIVEPACK");
        return -1;
 }
 
@@ -358,7 +358,7 @@ int git_smart_subtransport_git(git_smart_subtransport **out, git_transport *owne
                return -1;
 
        t = git__calloc(1, sizeof(git_subtransport));
-       GITERR_CHECK_ALLOC(t);
+       GIT_ERROR_CHECK_ALLOC(t);
 
        t->owner = owner;
        t->parent.action = _git_action;
index 22b8bb8643bc7e3e4688cdae5ffb4cf66c619533..80ba5ba73c739edf3776845f26d53dffbf953a43 100644 (file)
@@ -21,7 +21,6 @@
 #include "auth_negotiate.h"
 #include "streams/tls.h"
 #include "streams/socket.h"
-#include "streams/curl.h"
 
 git_http_auth_scheme auth_schemes[] = {
        { GIT_AUTHTYPE_NEGOTIATE, "Negotiate", GIT_CREDTYPE_DEFAULT, git_http_auth_negotiate },
@@ -37,6 +36,12 @@ static const char *receive_pack_service_url = "/git-receive-pack";
 static const char *get_verb = "GET";
 static const char *post_verb = "POST";
 
+#define AUTH_HEADER_SERVER "Authorization"
+#define AUTH_HEADER_PROXY  "Proxy-Authorization"
+
+#define SERVER_TYPE_REMOTE "remote"
+#define SERVER_TYPE_PROXY  "proxy"
+
 #define OWNING_SUBTRANSPORT(s) ((http_subtransport *)(s)->parent.subtransport)
 
 #define PARSE_ERROR_GENERIC    -1
@@ -62,17 +67,32 @@ typedef struct {
        unsigned chunk_buffer_len;
        unsigned sent_request : 1,
                received_response : 1,
-               chunked : 1,
-               redirect_count : 3;
+               chunked : 1;
 } http_stream;
 
+typedef struct {
+       gitno_connection_data url;
+       git_stream *stream;
+
+       git_cred *cred;
+       git_cred *url_cred;
+
+       git_vector auth_challenges;
+       git_vector auth_contexts;
+} http_server;
+
 typedef struct {
        git_smart_subtransport parent;
        transport_smart *owner;
-       git_stream *io;
-       gitno_connection_data connection_data;
+       git_stream *gitserver_stream;
        bool connected;
 
+       http_server server;
+
+       http_server proxy;
+       char *proxy_url;
+       git_proxy_options proxy_opts;
+
        /* Parser structures */
        http_parser parser;
        http_parser_settings settings;
@@ -81,17 +101,13 @@ typedef struct {
        git_buf parse_header_value;
        char parse_buffer_data[NETIO_BUFSIZE];
        char *content_type;
+       char *content_length;
        char *location;
-       git_vector www_authenticate;
        enum last_cb last_cb;
        int parse_error;
        int error;
-       unsigned parse_finished : 1;
-
-       /* Authentication */
-       git_cred *cred;
-       git_cred *url_cred;
-       git_vector auth_contexts;
+       unsigned parse_finished : 1,
+           replay_count : 3;
 } http_subtransport;
 
 typedef struct {
@@ -124,7 +140,7 @@ static bool challenge_match(git_http_auth_scheme *scheme, void *data)
 
 static int auth_context_match(
        git_http_auth_context **out,
-       http_subtransport *t,
+       http_server *server,
        bool (*scheme_match)(git_http_auth_scheme *scheme, void *data),
        void *data)
 {
@@ -145,7 +161,7 @@ static int auth_context_match(
                return 0;
 
        /* See if authentication has already started for this scheme */
-       git_vector_foreach(&t->auth_contexts, i, c) {
+       git_vector_foreach(&server->auth_contexts, i, c) {
                if (c->type == scheme->type) {
                        context = c;
                        break;
@@ -153,11 +169,11 @@ static int auth_context_match(
        }
 
        if (!context) {
-               if (scheme->init_context(&context, &t->connection_data) < 0)
+               if (scheme->init_context(&context, &server->url) < 0)
                        return -1;
                else if (!context)
                        return 0;
-               else if (git_vector_insert(&t->auth_contexts, context) < 0)
+               else if (git_vector_insert(&server->auth_contexts, context) < 0)
                        return -1;
        }
 
@@ -166,32 +182,36 @@ static int auth_context_match(
        return 0;
 }
 
-static int apply_credentials(git_buf *buf, http_subtransport *t)
+static int apply_credentials(
+       git_buf *buf,
+       http_server *server,
+       const char *header_name)
 {
-       git_cred *cred = t->cred;
+       git_cred *cred = server->cred;
        git_http_auth_context *context;
 
        /* Apply the credentials given to us in the URL */
-       if (!cred && t->connection_data.user && t->connection_data.pass) {
-               if (!t->url_cred &&
-                       git_cred_userpass_plaintext_new(&t->url_cred,
-                               t->connection_data.user, t->connection_data.pass) < 0)
+       if (!cred && server->url.user && server->url.pass) {
+               if (!server->url_cred &&
+                       git_cred_userpass_plaintext_new(&server->url_cred,
+                           server->url.user, server->url.pass) < 0)
                        return -1;
 
-               cred = t->url_cred;
+               cred = server->url_cred;
        }
 
        if (!cred)
                return 0;
 
        /* Get or create a context for the best scheme for this cred type */
-       if (auth_context_match(&context, t, credtype_match, &cred->credtype) < 0)
+       if (auth_context_match(&context, server,
+           credtype_match, &cred->credtype) < 0)
                return -1;
 
        if (!context)
                return 0;
 
-       return context->next_token(buf, context, cred);
+       return context->next_token(buf, context, header_name, cred);
 }
 
 static int gen_request(
@@ -200,15 +220,28 @@ static int gen_request(
        size_t content_length)
 {
        http_subtransport *t = OWNING_SUBTRANSPORT(s);
-       const char *path = t->connection_data.path ? t->connection_data.path : "/";
+       const char *path = t->server.url.path ? t->server.url.path : "/";
        size_t i;
 
-       git_buf_printf(buf, "%s %s%s HTTP/1.1\r\n", s->verb, path, s->service_url);
+       if (t->proxy_opts.type == GIT_PROXY_SPECIFIED)
+               git_buf_printf(buf, "%s %s://%s:%s%s%s HTTP/1.1\r\n",
+                       s->verb,
+                       t->server.url.use_ssl ? "https" : "http",
+                       t->server.url.host,
+                       t->server.url.port,
+                       path, s->service_url);
+       else
+               git_buf_printf(buf, "%s %s%s HTTP/1.1\r\n",
+                       s->verb, path, s->service_url);
 
        git_buf_puts(buf, "User-Agent: ");
        git_http__user_agent(buf);
        git_buf_puts(buf, "\r\n");
-       git_buf_printf(buf, "Host: %s\r\n", t->connection_data.host);
+       git_buf_printf(buf, "Host: %s", t->server.url.host);
+       if (strcmp(t->server.url.port, gitno__default_port(&t->server.url)) != 0) {
+               git_buf_printf(buf, ":%s", t->server.url.port);
+       }
+       git_buf_puts(buf, "\r\n");
 
        if (s->chunked || content_length > 0) {
                git_buf_printf(buf, "Accept: application/x-git-%s-result\r\n", s->service);
@@ -226,8 +259,12 @@ static int gen_request(
                        git_buf_printf(buf, "%s\r\n", t->owner->custom_headers.strings[i]);
        }
 
-       /* Apply credentials to the request */
-       if (apply_credentials(buf, t) < 0)
+       /* Apply proxy and server credentials to the request */
+       if (t->proxy_opts.type != GIT_PROXY_NONE &&
+           apply_credentials(buf, &t->proxy, AUTH_HEADER_PROXY) < 0)
+               return -1;
+
+       if (apply_credentials(buf, &t->server, AUTH_HEADER_SERVER) < 0)
                return -1;
 
        git_buf_puts(buf, "\r\n");
@@ -239,16 +276,16 @@ static int gen_request(
 }
 
 static int parse_authenticate_response(
-       git_vector *www_authenticate,
-       http_subtransport *t,
+       http_server *server,
        int *allowed_types)
 {
        git_http_auth_context *context;
        char *challenge;
        size_t i;
 
-       git_vector_foreach(www_authenticate, i, challenge) {
-               if (auth_context_match(&context, t, challenge_match, challenge) < 0)
+       git_vector_foreach(&server->auth_challenges, i, challenge) {
+               if (auth_context_match(&context, server,
+                   challenge_match, challenge) < 0)
                        return -1;
                else if (!context)
                        continue;
@@ -269,22 +306,45 @@ static int on_header_ready(http_subtransport *t)
        git_buf *value = &t->parse_header_value;
 
        if (!strcasecmp("Content-Type", git_buf_cstr(name))) {
-               if (!t->content_type) {
-                       t->content_type = git__strdup(git_buf_cstr(value));
-                       GITERR_CHECK_ALLOC(t->content_type);
+               if (t->content_type) {
+                       git_error_set(GIT_ERROR_NET, "multiple Content-Type headers");
+                       return -1;
                }
+
+               t->content_type = git__strdup(git_buf_cstr(value));
+               GIT_ERROR_CHECK_ALLOC(t->content_type);
+       }
+       else if (!strcasecmp("Content-Length", git_buf_cstr(name))) {
+               if (t->content_length) {
+                       git_error_set(GIT_ERROR_NET, "multiple Content-Length headers");
+                       return -1;
+               }
+
+               t->content_length = git__strdup(git_buf_cstr(value));
+               GIT_ERROR_CHECK_ALLOC(t->content_length);
+       }
+       else if (!strcasecmp("Proxy-Authenticate", git_buf_cstr(name))) {
+               char *dup = git__strdup(git_buf_cstr(value));
+               GIT_ERROR_CHECK_ALLOC(dup);
+
+               if (git_vector_insert(&t->proxy.auth_challenges, dup) < 0)
+                       return -1;
        }
        else if (!strcasecmp("WWW-Authenticate", git_buf_cstr(name))) {
                char *dup = git__strdup(git_buf_cstr(value));
-               GITERR_CHECK_ALLOC(dup);
+               GIT_ERROR_CHECK_ALLOC(dup);
 
-               git_vector_insert(&t->www_authenticate, dup);
+               if (git_vector_insert(&t->server.auth_challenges, dup) < 0)
+                       return -1;
        }
        else if (!strcasecmp("Location", git_buf_cstr(name))) {
-               if (!t->location) {
-                       t->location = git__strdup(git_buf_cstr(value));
-                       GITERR_CHECK_ALLOC(t->location);
+               if (t->location) {
+                       git_error_set(GIT_ERROR_NET, "multiple Location headers");
+                       return -1;
                }
+
+               t->location = git__strdup(git_buf_cstr(value));
+               GIT_ERROR_CHECK_ALLOC(t->location);
        }
 
        return 0;
@@ -328,13 +388,78 @@ static int on_header_value(http_parser *parser, const char *str, size_t len)
        return 0;
 }
 
+GIT_INLINE(void) free_cred(git_cred **cred)
+{
+       if (*cred) {
+               git_cred_free(*cred);
+               (*cred) = NULL;
+       }
+}
+
+static int on_auth_required(
+       git_cred **creds,
+       http_parser *parser,
+       const char *url,
+       const char *type,
+       git_cred_acquire_cb callback,
+       void *callback_payload,
+       const char *username,
+       int allowed_types)
+{
+       parser_context *ctx = (parser_context *) parser->data;
+       http_subtransport *t = ctx->t;
+       int ret;
+
+       if (!allowed_types) {
+               git_error_set(GIT_ERROR_NET, "%s requested authentication but did not negotiate mechanisms", type);
+               t->parse_error = PARSE_ERROR_GENERIC;
+               return t->parse_error;
+       }
+
+       if (callback) {
+               free_cred(creds);
+               ret = callback(creds, url, username, allowed_types, callback_payload);
+
+               if (ret == GIT_PASSTHROUGH) {
+                       /* treat GIT_PASSTHROUGH as if callback isn't set */
+               } else if (ret < 0) {
+                       t->error = ret;
+                       t->parse_error = PARSE_ERROR_EXT;
+                       return t->parse_error;
+               } else {
+                       assert(*creds);
+
+                       if (!((*creds)->credtype & allowed_types)) {
+                               git_error_set(GIT_ERROR_NET, "%s credential provider returned an invalid cred type", type);
+                               t->parse_error = PARSE_ERROR_GENERIC;
+                               return t->parse_error;
+                       }
+
+                       /* Successfully acquired a credential. */
+                       t->parse_error = PARSE_ERROR_REPLAY;
+                       return 0;
+               }
+       }
+
+       git_error_set(GIT_ERROR_NET, "%s authentication required but no callback set",
+               type);
+       t->parse_error = PARSE_ERROR_GENERIC;
+       return t->parse_error;
+}
+
 static int on_headers_complete(http_parser *parser)
 {
        parser_context *ctx = (parser_context *) parser->data;
        http_subtransport *t = ctx->t;
        http_stream *s = ctx->s;
        git_buf buf = GIT_BUF_INIT;
-       int error = 0, no_callback = 0, allowed_auth_types = 0;
+       int proxy_auth_types = 0, server_auth_types = 0;
+
+       /* Enforce a reasonable cap on the number of replays */
+       if (t->replay_count++ >= GIT_HTTP_REPLAY_MAX) {
+               git_error_set(GIT_ERROR_NET, "too many redirects or authentication replays");
+               return t->parse_error = PARSE_ERROR_GENERIC;
+       }
 
        /* Both parse_header_name and parse_header_value are populated
         * and ready for consumption. */
@@ -342,71 +467,47 @@ static int on_headers_complete(http_parser *parser)
                if (on_header_ready(t) < 0)
                        return t->parse_error = PARSE_ERROR_GENERIC;
 
-       /* Capture authentication headers which may be a 401 (authentication
-        * is not complete) or a 200 (simply informing us that auth *is*
-        * complete.)
+       /*
+        * Capture authentication headers for the proxy or final endpoint,
+        * these may be 407/401 (authentication is not complete) or a 200
+        * (informing us that auth has completed).
         */
-       if (parse_authenticate_response(&t->www_authenticate, t,
-                       &allowed_auth_types) < 0)
+       if (parse_authenticate_response(&t->proxy, &proxy_auth_types) < 0 ||
+           parse_authenticate_response(&t->server, &server_auth_types) < 0)
                return t->parse_error = PARSE_ERROR_GENERIC;
 
-       /* Check for an authentication failure. */
-       if (parser->status_code == 401 && get_verb == s->verb) {
-               if (!t->owner->cred_acquire_cb) {
-                       no_callback = 1;
-               } else {
-                       if (allowed_auth_types) {
-                               if (t->cred) {
-                                       t->cred->free(t->cred);
-                                       t->cred = NULL;
-                               }
-
-                               error = t->owner->cred_acquire_cb(&t->cred,
-                                                                 t->owner->url,
-                                                                 t->connection_data.user,
-                                                                 allowed_auth_types,
-                                                                 t->owner->cred_acquire_payload);
-
-                               if (error == GIT_PASSTHROUGH) {
-                                       no_callback = 1;
-                               } else if (error < 0) {
-                                       t->error = error;
-                                       return t->parse_error = PARSE_ERROR_EXT;
-                               } else {
-                                       assert(t->cred);
-
-                                       if (!(t->cred->credtype & allowed_auth_types)) {
-                                               giterr_set(GITERR_NET, "credentials callback returned an invalid cred type");
-                                               return t->parse_error = PARSE_ERROR_GENERIC;
-                                       }
-
-                                       /* Successfully acquired a credential. */
-                                       t->parse_error = PARSE_ERROR_REPLAY;
-                                       return 0;
-                               }
-                       }
-               }
+       /* Check for a proxy authentication failure. */
+       if (parser->status_code == 407 && get_verb == s->verb)
+               return on_auth_required(&t->proxy.cred,
+                   parser,
+                   t->proxy_opts.url,
+                   SERVER_TYPE_PROXY,
+                   t->proxy_opts.credentials,
+                   t->proxy_opts.payload,
+                   t->proxy.url.user,
+                       proxy_auth_types);
 
-               if (no_callback) {
-                       giterr_set(GITERR_NET, "authentication required but no callback set");
-                       return t->parse_error = PARSE_ERROR_GENERIC;
-               }
-       }
+       /* Check for an authentication failure. */
+       if (parser->status_code == 401 && get_verb == s->verb)
+               return on_auth_required(&t->server.cred,
+                   parser,
+                   t->owner->url,
+                   SERVER_TYPE_REMOTE,
+                   t->owner->cred_acquire_cb,
+                   t->owner->cred_acquire_payload,
+                   t->server.url.user,
+                   server_auth_types);
 
        /* Check for a redirect.
         * Right now we only permit a redirect to the same hostname. */
        if ((parser->status_code == 301 ||
             parser->status_code == 302 ||
             (parser->status_code == 303 && get_verb == s->verb) ||
-            parser->status_code == 307) &&
+            parser->status_code == 307 ||
+            parser->status_code == 308) &&
            t->location) {
 
-               if (s->redirect_count >= 7) {
-                       giterr_set(GITERR_NET, "too many redirects");
-                       return t->parse_error = PARSE_ERROR_GENERIC;
-               }
-
-               if (gitno_connection_data_from_url(&t->connection_data, t->location, s->service_url) < 0)
+               if (gitno_connection_data_from_url(&t->server.url, t->location, s->service_url) < 0)
                        return t->parse_error = PARSE_ERROR_GENERIC;
 
                /* Set the redirect URL on the stream. This is a transfer of
@@ -418,15 +519,13 @@ static int on_headers_complete(http_parser *parser)
                t->location = NULL;
 
                t->connected = 0;
-               s->redirect_count++;
-
                t->parse_error = PARSE_ERROR_REPLAY;
                return 0;
        }
 
        /* Check for a 200 HTTP status code. */
        if (parser->status_code != 200) {
-               giterr_set(GITERR_NET,
+               git_error_set(GIT_ERROR_NET,
                        "unexpected HTTP status code: %d",
                        parser->status_code);
                return t->parse_error = PARSE_ERROR_GENERIC;
@@ -434,7 +533,7 @@ static int on_headers_complete(http_parser *parser)
 
        /* The response must contain a Content-Type header. */
        if (!t->content_type) {
-               giterr_set(GITERR_NET, "no Content-Type header in response");
+               git_error_set(GIT_ERROR_NET, "no Content-Type header in response");
                return t->parse_error = PARSE_ERROR_GENERIC;
        }
 
@@ -452,14 +551,14 @@ static int on_headers_complete(http_parser *parser)
                return t->parse_error = PARSE_ERROR_GENERIC;
 
        if (strcmp(t->content_type, git_buf_cstr(&buf))) {
-               git_buf_free(&buf);
-               giterr_set(GITERR_NET,
+               git_buf_dispose(&buf);
+               git_error_set(GIT_ERROR_NET,
                        "invalid Content-Type: %s",
                        t->content_type);
                return t->parse_error = PARSE_ERROR_GENERIC;
        }
 
-       git_buf_free(&buf);
+       git_buf_dispose(&buf);
 
        return 0;
 }
@@ -486,15 +585,19 @@ static int on_body_fill_buffer(http_parser *parser, const char *str, size_t len)
        if (t->parse_error == PARSE_ERROR_REPLAY)
                return 0;
 
-       if (ctx->buf_size < len) {
-               giterr_set(GITERR_NET, "can't fit data in the buffer");
-               return t->parse_error = PARSE_ERROR_GENERIC;
+       /* If there's no buffer set, we're explicitly ignoring the body. */
+       if (ctx->buffer) {
+               if (ctx->buf_size < len) {
+                       git_error_set(GIT_ERROR_NET, "can't fit data in the buffer");
+                       return t->parse_error = PARSE_ERROR_GENERIC;
+               }
+
+               memcpy(ctx->buffer, str, len);
+               ctx->buffer += len;
+               ctx->buf_size -= len;
        }
 
-       memcpy(ctx->buffer, str, len);
        *(ctx->bytes_read) += len;
-       ctx->buffer += len;
-       ctx->buf_size -= len;
 
        return 0;
 }
@@ -502,7 +605,7 @@ static int on_body_fill_buffer(http_parser *parser, const char *str, size_t len)
 static void clear_parser_state(http_subtransport *t)
 {
        http_parser_init(&t->parser, HTTP_RESPONSE);
-       gitno_buffer_setup_fromstream(t->io,
+       gitno_buffer_setup_fromstream(t->server.stream,
                &t->parse_buffer,
                t->parse_buffer_data,
                sizeof(t->parse_buffer_data));
@@ -511,19 +614,23 @@ static void clear_parser_state(http_subtransport *t)
        t->parse_error = 0;
        t->parse_finished = 0;
 
-       git_buf_free(&t->parse_header_name);
+       git_buf_dispose(&t->parse_header_name);
        git_buf_init(&t->parse_header_name, 0);
 
-       git_buf_free(&t->parse_header_value);
+       git_buf_dispose(&t->parse_header_value);
        git_buf_init(&t->parse_header_value, 0);
 
        git__free(t->content_type);
        t->content_type = NULL;
 
+       git__free(t->content_length);
+       t->content_length = NULL;
+
        git__free(t->location);
        t->location = NULL;
 
-       git_vector_free_deep(&t->www_authenticate);
+       git_vector_free_deep(&t->proxy.auth_challenges);
+       git_vector_free_deep(&t->server.auth_challenges);
 }
 
 static int write_chunk(git_stream *io, const char *buffer, size_t len)
@@ -536,60 +643,294 @@ static int write_chunk(git_stream *io, const char *buffer, size_t len)
        if (git_buf_oom(&buf))
                return -1;
 
-       if (git_stream_write(io, buf.ptr, buf.size, 0) < 0) {
-               git_buf_free(&buf);
+       if (git_stream__write_full(io, buf.ptr, buf.size, 0) < 0) {
+               git_buf_dispose(&buf);
                return -1;
        }
 
-       git_buf_free(&buf);
+       git_buf_dispose(&buf);
 
        /* Chunk body */
-       if (len > 0 && git_stream_write(io, buffer, len, 0) < 0)
+       if (len > 0 && git_stream__write_full(io, buffer, len, 0) < 0)
                return -1;
 
        /* Chunk footer */
-       if (git_stream_write(io, "\r\n", 2, 0) < 0)
+       if (git_stream__write_full(io, "\r\n", 2, 0) < 0)
                return -1;
 
        return 0;
 }
 
-static int apply_proxy_config(http_subtransport *t)
+static int load_proxy_config(http_subtransport *t)
 {
        int error;
-       git_proxy_t proxy_type;
 
-       if (!git_stream_supports_proxy(t->io))
+       switch (t->owner->proxy.type) {
+       case GIT_PROXY_NONE:
                return 0;
 
-       proxy_type = t->owner->proxy.type;
+       case GIT_PROXY_AUTO:
+               git__free(t->proxy_url);
+               t->proxy_url = NULL;
 
-       if (proxy_type == GIT_PROXY_NONE)
-               return 0;
-
-       if (proxy_type == GIT_PROXY_AUTO) {
-               char *url;
-               git_proxy_options opts = GIT_PROXY_OPTIONS_INIT;
+               git_proxy_init_options(&t->proxy_opts, GIT_PROXY_OPTIONS_VERSION);
 
-               if ((error = git_remote__get_http_proxy(t->owner->owner, !!t->connection_data.use_ssl, &url)) < 0)
+               if ((error = git_remote__get_http_proxy(t->owner->owner,
+                   !!t->server.url.use_ssl, &t->proxy_url)) < 0)
                        return error;
 
-               opts.credentials = t->owner->proxy.credentials;
-               opts.certificate_check = t->owner->proxy.certificate_check;
-               opts.payload = t->owner->proxy.payload;
-               opts.type = GIT_PROXY_SPECIFIED;
-               opts.url = url;
-               error = git_stream_set_proxy(t->io, &opts);
-               git__free(url);
+               if (!t->proxy_url)
+                       return 0;
+
+               t->proxy_opts.type = GIT_PROXY_SPECIFIED;
+               t->proxy_opts.url = t->proxy_url;
+               t->proxy_opts.credentials = t->owner->proxy.credentials;
+               t->proxy_opts.certificate_check = t->owner->proxy.certificate_check;
+               t->proxy_opts.payload = t->owner->proxy.payload;
+               break;
+
+       case GIT_PROXY_SPECIFIED:
+               memcpy(&t->proxy_opts, &t->owner->proxy, sizeof(git_proxy_options));
+               break;
+
+       default:
+               assert(0);
+               return -1;
+       }
+
+       if ((error = gitno_connection_data_from_url(&t->proxy.url, t->proxy_opts.url, NULL)) < 0)
+               return error;
+
+       if (t->proxy.url.use_ssl) {
+               git_error_set(GIT_ERROR_NET, "SSL connections to proxy are not supported");
+               return -1;
+       }
+
+       return error;
+}
+
+static int check_certificate(
+       git_stream *stream,
+       gitno_connection_data *url,
+       int is_valid,
+       git_transport_certificate_check_cb cert_cb,
+       void *cert_cb_payload)
+{
+       git_cert *cert;
+       git_error_state last_error = {0};
+       int error;
+
+       if ((error = git_stream_certificate(&cert, stream)) < 0)
+               return error;
+
+       git_error_state_capture(&last_error, GIT_ECERTIFICATE);
+
+       error = cert_cb(cert, is_valid, url->host, cert_cb_payload);
+
+       if (error == GIT_PASSTHROUGH && !is_valid)
+               return git_error_state_restore(&last_error);
+       else if (error == GIT_PASSTHROUGH)
+               error = 0;
+       else if (error && !git_error_last())
+               git_error_set(GIT_ERROR_NET, "user rejected certificate for %s", url->host);
+
+       git_error_state_free(&last_error);
+       return error;
+}
+
+static int stream_connect(
+       git_stream *stream,
+       gitno_connection_data *url,
+       git_transport_certificate_check_cb cert_cb,
+       void *cb_payload)
+{
+       int error;
+
+       GIT_ERROR_CHECK_VERSION(stream, GIT_STREAM_VERSION, "git_stream");
+
+       error = git_stream_connect(stream);
 
+       if (error && error != GIT_ECERTIFICATE)
                return error;
+
+       if (git_stream_is_encrypted(stream) && cert_cb != NULL)
+               error = check_certificate(stream, url, !error, cert_cb, cb_payload);
+
+       return error;
+}
+
+static int gen_connect_req(git_buf *buf, http_subtransport *t)
+{
+       git_buf_printf(buf, "CONNECT %s:%s HTTP/1.1\r\n",
+               t->server.url.host, t->server.url.port);
+
+       git_buf_puts(buf, "User-Agent: ");
+       git_http__user_agent(buf);
+       git_buf_puts(buf, "\r\n");
+
+       git_buf_printf(buf, "Host: %s\r\n", t->proxy.url.host);
+
+       if (apply_credentials(buf, &t->proxy, AUTH_HEADER_PROXY) < 0)
+               return -1;
+
+       git_buf_puts(buf, "\r\n");
+
+       return git_buf_oom(buf) ? -1 : 0;
+}
+
+static int proxy_headers_complete(http_parser *parser)
+{
+       parser_context *ctx = (parser_context *) parser->data;
+       http_subtransport *t = ctx->t;
+       int proxy_auth_types = 0;
+
+       /* Enforce a reasonable cap on the number of replays */
+       if (t->replay_count++ >= GIT_HTTP_REPLAY_MAX) {
+               git_error_set(GIT_ERROR_NET, "too many redirects or authentication replays");
+               return t->parse_error = PARSE_ERROR_GENERIC;
+       }
+
+       /* Both parse_header_name and parse_header_value are populated
+        * and ready for consumption. */
+       if (VALUE == t->last_cb)
+               if (on_header_ready(t) < 0)
+                       return t->parse_error = PARSE_ERROR_GENERIC;
+
+       /*
+        * Capture authentication headers for the proxy or final endpoint,
+        * these may be 407/401 (authentication is not complete) or a 200
+        * (informing us that auth has completed).
+        */
+       if (parse_authenticate_response(&t->proxy, &proxy_auth_types) < 0)
+               return t->parse_error = PARSE_ERROR_GENERIC;
+
+       /* Check for a proxy authentication failure. */
+       if (parser->status_code == 407)
+               return on_auth_required(&t->proxy.cred,
+                       parser,
+                       t->proxy_opts.url,
+                       SERVER_TYPE_PROXY,
+                       t->proxy_opts.credentials,
+                       t->proxy_opts.payload,
+                       t->proxy.url.user,
+                       proxy_auth_types);
+
+       if (parser->status_code != 200) {
+               git_error_set(GIT_ERROR_NET, "unexpected status code from proxy: %d",
+                       parser->status_code);
+               return t->parse_error = PARSE_ERROR_GENERIC;
+       }
+
+       if (!t->content_length || strcmp(t->content_length, "0") == 0)
+               t->parse_finished = 1;
+
+       return 0;
+}
+
+static int proxy_connect(
+       git_stream **out, git_stream *proxy_stream, http_subtransport *t)
+{
+       git_buf request = GIT_BUF_INIT;
+       static http_parser_settings proxy_parser_settings = {0};
+       size_t bytes_read = 0, bytes_parsed;
+       parser_context ctx;
+       int error;
+
+       /* Use the parser settings only to parser headers. */
+       proxy_parser_settings.on_header_field = on_header_field;
+       proxy_parser_settings.on_header_value = on_header_value;
+       proxy_parser_settings.on_headers_complete = proxy_headers_complete;
+       proxy_parser_settings.on_message_complete = on_message_complete;
+
+replay:
+       clear_parser_state(t);
+
+       gitno_buffer_setup_fromstream(proxy_stream,
+               &t->parse_buffer,
+               t->parse_buffer_data,
+               sizeof(t->parse_buffer_data));
+
+       if ((error = gen_connect_req(&request, t)) < 0)
+               goto done;
+
+       if ((error = git_stream__write_full(proxy_stream, request.ptr,
+                                           request.size, 0)) < 0)
+               goto done;
+
+       git_buf_dispose(&request);
+
+       while (!bytes_read && !t->parse_finished) {
+               t->parse_buffer.offset = 0;
+
+               if ((error = gitno_recv(&t->parse_buffer)) < 0)
+                       goto done;
+
+               /*
+                * This call to http_parser_execute will invoke the on_*
+                * callbacks.  Since we don't care about the body of the response,
+                * we can set our buffer to NULL.
+                */
+               ctx.t = t;
+               ctx.s = NULL;
+               ctx.buffer = NULL;
+               ctx.buf_size = 0;
+               ctx.bytes_read = &bytes_read;
+
+               /* Set the context, call the parser, then unset the context. */
+               t->parser.data = &ctx;
+
+               bytes_parsed = http_parser_execute(&t->parser,
+                       &proxy_parser_settings, t->parse_buffer.data, t->parse_buffer.offset);
+
+               t->parser.data = NULL;
+
+               /* Ensure that we didn't get a redirect; unsupported. */
+               if (t->location) {
+                       git_error_set(GIT_ERROR_NET, "proxy server sent unsupported redirect during CONNECT");
+                       error = -1;
+                       goto done;
+               }
+
+               /* Replay the request with authentication headers. */
+               if (PARSE_ERROR_REPLAY == t->parse_error)
+                       goto replay;
+
+               if (t->parse_error < 0) {
+                       error = t->parse_error == PARSE_ERROR_EXT ? PARSE_ERROR_EXT : -1;
+                       goto done;
+               }
+
+               if (bytes_parsed != t->parse_buffer.offset) {
+                       git_error_set(GIT_ERROR_NET,
+                               "HTTP parser error: %s",
+                               http_errno_description((enum http_errno)t->parser.http_errno));
+                       error = -1;
+                       goto done;
+               }
        }
 
-       return git_stream_set_proxy(t->io, &t->owner->proxy);
+       if ((error = git_tls_stream_wrap(out, proxy_stream, t->server.url.host)) == 0)
+               error = stream_connect(*out, &t->server.url,
+                   t->owner->certificate_check_cb,
+                       t->owner->message_cb_payload);
+
+       /*
+        * Since we've connected via a HTTPS proxy tunnel, we don't behave
+        * as if we have an HTTP proxy.
+        */
+       t->proxy_opts.type = GIT_PROXY_NONE;
+       t->replay_count = 0;
+
+done:
+       return error;
 }
 
 static int http_connect(http_subtransport *t)
 {
+       gitno_connection_data *url;
+       git_stream *proxy_stream = NULL, *stream = NULL;
+       git_transport_certificate_check_cb cert_cb;
+       void *cb_payload;
        int error;
 
        if (t->connected &&
@@ -597,56 +938,76 @@ static int http_connect(http_subtransport *t)
                t->parse_finished)
                return 0;
 
-       if (t->io) {
-               git_stream_close(t->io);
-               git_stream_free(t->io);
-               t->io = NULL;
-               t->connected = 0;
+       if ((error = load_proxy_config(t)) < 0)
+               return error;
+
+       if (t->server.stream) {
+               git_stream_close(t->server.stream);
+               git_stream_free(t->server.stream);
+               t->server.stream = NULL;
        }
 
-       if (t->connection_data.use_ssl) {
-               error = git_tls_stream_new(&t->io, t->connection_data.host, t->connection_data.port);
-       } else {
-#ifdef GIT_CURL
-               error = git_curl_stream_new(&t->io, t->connection_data.host, t->connection_data.port);
-#else
-               error = git_socket_stream_new(&t->io,  t->connection_data.host, t->connection_data.port);
-#endif
+       if (t->proxy.stream) {
+               git_stream_close(t->proxy.stream);
+               git_stream_free(t->proxy.stream);
+               t->proxy.stream = NULL;
        }
 
-       if (error < 0)
-               return error;
+       t->connected = 0;
 
-       GITERR_CHECK_VERSION(t->io, GIT_STREAM_VERSION, "git_stream");
+       if (t->proxy_opts.type == GIT_PROXY_SPECIFIED) {
+               url = &t->proxy.url;
+               cert_cb = t->proxy_opts.certificate_check;
+               cb_payload = t->proxy_opts.payload;
+       } else {
+               url = &t->server.url;
+               cert_cb = t->owner->certificate_check_cb;
+               cb_payload = t->owner->message_cb_payload;
+       }
 
-       apply_proxy_config(t);
+       if (url->use_ssl)
+               error = git_tls_stream_new(&stream, url->host, url->port);
+       else
+               error = git_socket_stream_new(&stream, url->host, url->port);
 
-       error = git_stream_connect(t->io);
+       if (error < 0)
+               goto on_error;
 
-       if ((!error || error == GIT_ECERTIFICATE) && t->owner->certificate_check_cb != NULL &&
-           git_stream_is_encrypted(t->io)) {
-               git_cert *cert;
-               int is_valid = (error == GIT_OK);
+       if ((error = stream_connect(stream, url, cert_cb, cb_payload)) < 0)
+               goto on_error;
 
-               if ((error = git_stream_certificate(&cert, t->io)) < 0)
-                       return error;
+       /*
+        * At this point we have a connection to the remote server or to
+        * a proxy.  If it's a proxy and the remote server is actually
+        * an HTTPS connection, then we need to build a CONNECT tunnel.
+        */
+       if (t->proxy_opts.type == GIT_PROXY_SPECIFIED &&
+               t->server.url.use_ssl) {
+               proxy_stream = stream;
+               stream = NULL;
 
-               giterr_clear();
-               error = t->owner->certificate_check_cb(cert, is_valid, t->connection_data.host, t->owner->message_cb_payload);
+               if ((error = proxy_connect(&stream, proxy_stream, t)) < 0)
+                       goto on_error;
+       }
 
-               if (error < 0) {
-                       if (!giterr_last())
-                               giterr_set(GITERR_NET, "user cancelled certificate check");
+       t->proxy.stream = proxy_stream;
+       t->server.stream = stream;
+       t->connected = 1;
+       t->replay_count = 0;
+       return 0;
 
-                       return error;
-               }
+on_error:
+       if (stream) {
+               git_stream_close(stream);
+               git_stream_free(stream);
        }
 
-       if (error < 0)
-               return error;
+       if (proxy_stream) {
+               git_stream_close(proxy_stream);
+               git_stream_free(proxy_stream);
+       }
 
-       t->connected = 1;
-       return 0;
+       return error;
 }
 
 static int http_stream_read(
@@ -673,12 +1034,13 @@ replay:
                if (gen_request(&request, s, 0) < 0)
                        return -1;
 
-               if (git_stream_write(t->io, request.ptr, request.size, 0) < 0) {
-                       git_buf_free(&request);
+               if (git_stream__write_full(t->server.stream, request.ptr,
+                                          request.size, 0) < 0) {
+                       git_buf_dispose(&request);
                        return -1;
                }
 
-               git_buf_free(&request);
+               git_buf_dispose(&request);
 
                s->sent_request = 1;
        }
@@ -689,13 +1051,15 @@ replay:
 
                        /* Flush, if necessary */
                        if (s->chunk_buffer_len > 0 &&
-                               write_chunk(t->io, s->chunk_buffer, s->chunk_buffer_len) < 0)
+                               write_chunk(t->server.stream,
+                                   s->chunk_buffer, s->chunk_buffer_len) < 0)
                                return -1;
 
                        s->chunk_buffer_len = 0;
 
                        /* Write the final chunk. */
-                       if (git_stream_write(t->io, "0\r\n\r\n", 5, 0) < 0)
+                       if (git_stream__write_full(t->server.stream,
+                                                  "0\r\n\r\n", 5, 0) < 0)
                                return -1;
                }
 
@@ -765,7 +1129,7 @@ replay:
                        return -1;
 
                if (bytes_parsed != t->parse_buffer.offset - data_offset) {
-                       giterr_set(GITERR_NET,
+                       git_error_set(GIT_ERROR_NET,
                                "HTTP parser error: %s",
                                http_errno_description((enum http_errno)t->parser.http_errno));
                        return -1;
@@ -794,12 +1158,13 @@ static int http_stream_write_chunked(
                if (gen_request(&request, s, 0) < 0)
                        return -1;
 
-               if (git_stream_write(t->io, request.ptr, request.size, 0) < 0) {
-                       git_buf_free(&request);
+               if (git_stream__write_full(t->server.stream, request.ptr,
+                                          request.size, 0) < 0) {
+                       git_buf_dispose(&request);
                        return -1;
                }
 
-               git_buf_free(&request);
+               git_buf_dispose(&request);
 
                s->sent_request = 1;
        }
@@ -807,14 +1172,15 @@ static int http_stream_write_chunked(
        if (len > CHUNK_SIZE) {
                /* Flush, if necessary */
                if (s->chunk_buffer_len > 0) {
-                       if (write_chunk(t->io, s->chunk_buffer, s->chunk_buffer_len) < 0)
+                       if (write_chunk(t->server.stream,
+                           s->chunk_buffer, s->chunk_buffer_len) < 0)
                                return -1;
 
                        s->chunk_buffer_len = 0;
                }
 
                /* Write chunk directly */
-               if (write_chunk(t->io, buffer, len) < 0)
+               if (write_chunk(t->server.stream, buffer, len) < 0)
                        return -1;
        }
        else {
@@ -831,7 +1197,8 @@ static int http_stream_write_chunked(
 
                /* Is the buffer full? If so, then flush */
                if (CHUNK_SIZE == s->chunk_buffer_len) {
-                       if (write_chunk(t->io, s->chunk_buffer, s->chunk_buffer_len) < 0)
+                       if (write_chunk(t->server.stream,
+                           s->chunk_buffer, s->chunk_buffer_len) < 0)
                                return -1;
 
                        s->chunk_buffer_len = 0;
@@ -858,7 +1225,7 @@ static int http_stream_write_single(
        assert(t->connected);
 
        if (s->sent_request) {
-               giterr_set(GITERR_NET, "subtransport configured for only one write");
+               git_error_set(GIT_ERROR_NET, "subtransport configured for only one write");
                return -1;
        }
 
@@ -867,19 +1234,19 @@ static int http_stream_write_single(
        if (gen_request(&request, s, len) < 0)
                return -1;
 
-       if (git_stream_write(t->io, request.ptr, request.size, 0) < 0)
+       if (git_stream__write_full(t->server.stream, request.ptr, request.size, 0) < 0)
                goto on_error;
 
-       if (len && git_stream_write(t->io, buffer, len, 0) < 0)
+       if (len && git_stream__write_full(t->server.stream, buffer, len, 0) < 0)
                goto on_error;
 
-       git_buf_free(&request);
+       git_buf_dispose(&request);
        s->sent_request = 1;
 
        return 0;
 
 on_error:
-       git_buf_free(&request);
+       git_buf_dispose(&request);
        return -1;
 }
 
@@ -905,7 +1272,7 @@ static int http_stream_alloc(http_subtransport *t,
                return -1;
 
        s = git__calloc(sizeof(http_stream), 1);
-       GITERR_CHECK_ALLOC(s);
+       GIT_ERROR_CHECK_ALLOC(s);
 
        s->parent.subtransport = &t->parent;
        s->parent.read = http_stream_read;
@@ -1001,13 +1368,21 @@ static int http_action(
        http_subtransport *t = (http_subtransport *)subtransport;
        int ret;
 
-       if (!stream)
-               return -1;
+       assert(stream);
 
-       if ((!t->connection_data.host || !t->connection_data.port || !t->connection_data.path) &&
-                (ret = gitno_connection_data_from_url(&t->connection_data, url, NULL)) < 0)
+       /*
+        * If we've seen a redirect then preserve the location that we've
+        * been given.  This is important to continue authorization against
+        * the redirect target, not the user-given source; the endpoint may
+        * have redirected us from HTTP->HTTPS and is using an auth mechanism
+        * that would be insecure in plaintext (eg, HTTP Basic).
+        */
+       if ((!t->server.url.host || !t->server.url.port || !t->server.url.path) &&
+           (ret = gitno_connection_data_from_url(&t->server.url, url, NULL)) < 0)
                return ret;
 
+       assert(t->server.url.host && t->server.url.port && t->server.url.path);
+
        if ((ret = http_connect(t)) < 0)
                return ret;
 
@@ -1029,41 +1404,55 @@ static int http_action(
        return -1;
 }
 
-static int http_close(git_smart_subtransport *subtransport)
+static void free_auth_contexts(git_vector *contexts)
 {
-       http_subtransport *t = (http_subtransport *) subtransport;
        git_http_auth_context *context;
        size_t i;
 
+       git_vector_foreach(contexts, i, context) {
+               if (context->free)
+                       context->free(context);
+       }
+
+       git_vector_clear(contexts);
+}
+
+static int http_close(git_smart_subtransport *subtransport)
+{
+       http_subtransport *t = (http_subtransport *) subtransport;
+
        clear_parser_state(t);
 
        t->connected = 0;
 
-       if (t->io) {
-               git_stream_close(t->io);
-               git_stream_free(t->io);
-               t->io = NULL;
+       if (t->server.stream) {
+               git_stream_close(t->server.stream);
+               git_stream_free(t->server.stream);
+               t->server.stream = NULL;
        }
 
-       if (t->cred) {
-               t->cred->free(t->cred);
-               t->cred = NULL;
+       if (t->proxy.stream) {
+               git_stream_close(t->proxy.stream);
+               git_stream_free(t->proxy.stream);
+               t->proxy.stream = NULL;
        }
 
-       if (t->url_cred) {
-               t->url_cred->free(t->url_cred);
-               t->url_cred = NULL;
-       }
+       free_cred(&t->server.cred);
+       free_cred(&t->server.url_cred);
+       free_cred(&t->proxy.cred);
+       free_cred(&t->proxy.url_cred);
 
-       git_vector_foreach(&t->auth_contexts, i, context) {
-               if (context->free)
-                       context->free(context);
-       }
+       free_auth_contexts(&t->server.auth_contexts);
+       free_auth_contexts(&t->proxy.auth_contexts);
+
+       gitno_connection_data_free_ptrs(&t->server.url);
+       memset(&t->server.url, 0x0, sizeof(gitno_connection_data));
 
-       git_vector_clear(&t->auth_contexts);
+       gitno_connection_data_free_ptrs(&t->proxy.url);
+       memset(&t->proxy.url, 0x0, sizeof(gitno_connection_data));
 
-       gitno_connection_data_free_ptrs(&t->connection_data);
-       memset(&t->connection_data, 0x0, sizeof(gitno_connection_data));
+       git__free(t->proxy_url);
+       t->proxy_url = NULL;
 
        return 0;
 }
@@ -1074,7 +1463,8 @@ static void http_free(git_smart_subtransport *subtransport)
 
        http_close(subtransport);
 
-       git_vector_free(&t->auth_contexts);
+       git_vector_free(&t->server.auth_contexts);
+       git_vector_free(&t->proxy.auth_contexts);
        git__free(t);
 }
 
@@ -1088,7 +1478,7 @@ int git_smart_subtransport_http(git_smart_subtransport **out, git_transport *own
                return -1;
 
        t = git__calloc(sizeof(http_subtransport), 1);
-       GITERR_CHECK_ALLOC(t);
+       GIT_ERROR_CHECK_ALLOC(t);
 
        t->owner = (transport_smart *)owner;
        t->parent.action = http_action;
index 6c4ecc9a43d77e413a901289312d4c3e77cc73a9..b094757555251bbb03d5e9ac638df644a20846a9 100644 (file)
@@ -10,6 +10,8 @@
 
 #include "buffer.h"
 
+#define GIT_HTTP_REPLAY_MAX 7
+
 GIT_INLINE(int) git_http__user_agent(git_buf *buf)
 {
        const char *ua = git_libgit2__user_agent();
index 541c552f655ef5d664d7674451bcae67fad5a411..b544491efa94aa5c24df454b31db10f9dfeece30 100644 (file)
@@ -83,7 +83,7 @@ static int add_ref(transport_local *t, const char *name)
                if (!strcmp(name, GIT_HEAD_FILE) && error == GIT_ENOTFOUND) {
                        /* This is actually okay.  Empty repos often have a HEAD that
                         * points to a nonexistent "refs/heads/master". */
-                       giterr_clear();
+                       git_error_clear();
                        return 0;
                }
                return error;
@@ -93,16 +93,16 @@ static int add_ref(transport_local *t, const char *name)
        git_reference_free(resolved);
 
        head = git__calloc(1, sizeof(git_remote_head));
-       GITERR_CHECK_ALLOC(head);
+       GIT_ERROR_CHECK_ALLOC(head);
 
        head->name = git__strdup(name);
-       GITERR_CHECK_ALLOC(head->name);
+       GIT_ERROR_CHECK_ALLOC(head->name);
 
        git_oid_cpy(&head->oid, &obj_id);
 
-       if (git_reference_type(ref) == GIT_REF_SYMBOLIC) {
+       if (git_reference_type(ref) == GIT_REFERENCE_SYMBOLIC) {
                head->symref_target = git__strdup(git_reference_symbolic_target(ref));
-               GITERR_CHECK_ALLOC(head->symref_target);
+               GIT_ERROR_CHECK_ALLOC(head->symref_target);
        }
        git_reference_free(ref);
 
@@ -115,14 +115,14 @@ static int add_ref(transport_local *t, const char *name)
        if (git__prefixcmp(name, GIT_REFS_TAGS_DIR))
                return 0;
 
-       if ((error = git_object_lookup(&obj, t->repo, &head->oid, GIT_OBJ_ANY)) < 0)
+       if ((error = git_object_lookup(&obj, t->repo, &head->oid, GIT_OBJECT_ANY)) < 0)
                return error;
 
        head = NULL;
 
        /* If it's not an annotated tag, or if we're mocking
         * git-receive-pack, just get out */
-       if (git_object_type(obj) != GIT_OBJ_TAG ||
+       if (git_object_type(obj) != GIT_OBJECT_TAG ||
                t->direction != GIT_DIRECTION_FETCH) {
                git_object_free(obj);
                return 0;
@@ -130,7 +130,7 @@ static int add_ref(transport_local *t, const char *name)
 
        /* And if it's a tag, peel it, and add it to the list */
        head = git__calloc(1, sizeof(git_remote_head));
-       GITERR_CHECK_ALLOC(head);
+       GIT_ERROR_CHECK_ALLOC(head);
 
        if (git_buf_join(&buf, 0, name, peeled) < 0) {
                free_head(head);
@@ -222,20 +222,20 @@ static int local_connect(
        free_heads(&t->refs);
 
        t->url = git__strdup(url);
-       GITERR_CHECK_ALLOC(t->url);
+       GIT_ERROR_CHECK_ALLOC(t->url);
        t->direction = direction;
        t->flags = flags;
 
        /* 'url' may be a url or path; convert to a path */
        if ((error = git_path_from_url_or_path(&buf, url)) < 0) {
-               git_buf_free(&buf);
+               git_buf_dispose(&buf);
                return error;
        }
        path = git_buf_cstr(&buf);
 
        error = git_repository_open(&repo, path);
 
-       git_buf_free(&buf);
+       git_buf_dispose(&buf);
 
        if (error < 0)
                return -1;
@@ -255,7 +255,7 @@ static int local_ls(const git_remote_head ***out, size_t *size, git_transport *t
        transport_local *t = (transport_local *)transport;
 
        if (!t->have_refs) {
-               giterr_set(GITERR_NET, "the transport has not yet loaded the refs");
+               git_error_set(GIT_ERROR_NET, "the transport has not yet loaded the refs");
                return -1;
        }
 
@@ -288,7 +288,7 @@ static int local_negotiate_fetch(
                else if (error != GIT_ENOTFOUND)
                        return error;
                else
-                       giterr_clear();
+                       git_error_clear();
                git_object_free(obj);
        }
 
@@ -354,14 +354,14 @@ static int local_push(
 
        /* 'push->remote->url' may be a url or path; convert to a path */
        if ((error = git_path_from_url_or_path(&buf, push->remote->url)) < 0) {
-               git_buf_free(&buf);
+               git_buf_dispose(&buf);
                return error;
        }
        path = git_buf_cstr(&buf);
 
        error = git_repository_open(&remote_repo, path);
 
-       git_buf_free(&buf);
+       git_buf_dispose(&buf);
 
        if (error < 0)
                return error;
@@ -374,7 +374,7 @@ static int local_push(
           but we forbid all pushes just in case */
        if (!remote_repo->is_bare) {
                error = GIT_EBAREREPO;
-               giterr_set(GITERR_INVALID, "local push doesn't (yet) support pushing to non-bare repos.");
+               git_error_set(GIT_ERROR_INVALID, "local push doesn't (yet) support pushing to non-bare repos.");
                goto on_error;
        }
 
@@ -383,7 +383,7 @@ static int local_push(
                goto on_error;
 
        error = git_packbuilder_write(push->pb, odb_path.ptr, 0, transfer_to_push_transfer, (void *) cbs);
-       git_buf_free(&odb_path);
+       git_buf_dispose(&odb_path);
 
        if (error < 0)
                goto on_error;
@@ -418,7 +418,7 @@ static int local_push(
                                status->msg = git__strdup("Remote branch not found to delete");
                                break;
                        default:
-                               last = giterr_last();
+                               last = git_error_last();
 
                                if (last && last->message)
                                        status->msg = git__strdup(last->message);
@@ -502,7 +502,7 @@ static int local_counting(int stage, unsigned int current, unsigned int total, v
                return -1;
 
        error = t->progress_cb(git_buf_cstr(&progress_info), git_buf_len(&progress_info), t->message_cb_payload);
-       git_buf_free(&progress_info);
+       git_buf_dispose(&progress_info);
 
        return error;
 }
@@ -512,7 +512,7 @@ static int foreach_reference_cb(git_reference *reference, void *payload)
        git_revwalk *walk = (git_revwalk *)payload;
        int error;
 
-       if (git_reference_type(reference) != GIT_REF_OID) {
+       if (git_reference_type(reference) != GIT_REFERENCE_DIRECT) {
                git_reference_free(reference);
                return 0;
        }
@@ -520,8 +520,8 @@ static int foreach_reference_cb(git_reference *reference, void *payload)
        error = git_revwalk_hide(walk, git_reference_target(reference));
        /* The reference is in the local repository, so the target may not
         * exist on the remote.  It also may not be a commit. */
-       if (error == GIT_ENOTFOUND || error == GITERR_INVALID) {
-               giterr_clear();
+       if (error == GIT_ENOTFOUND || error == GIT_ERROR_INVALID) {
+               git_error_clear();
                error = 0;
        }
 
@@ -563,10 +563,10 @@ static int local_download_pack(
 
        git_vector_foreach(&t->refs, i, rhead) {
                git_object *obj;
-               if ((error = git_object_lookup(&obj, t->repo, &rhead->oid, GIT_OBJ_ANY)) < 0)
+               if ((error = git_object_lookup(&obj, t->repo, &rhead->oid, GIT_OBJECT_ANY)) < 0)
                        goto cleanup;
 
-               if (git_object_type(obj) == GIT_OBJ_COMMIT) {
+               if (git_object_type(obj) == GIT_OBJECT_COMMIT) {
                        /* Revwalker includes only wanted commits */
                        error = git_revwalk_push(walk, &rhead->oid);
                } else {
@@ -627,7 +627,7 @@ static int local_download_pack(
 
 cleanup:
        if (writepack) writepack->free(writepack);
-       git_buf_free(&progress_info);
+       git_buf_dispose(&progress_info);
        git_packbuilder_free(pack);
        git_revwalk_free(walk);
        return error;
@@ -718,7 +718,7 @@ int git_transport_local(git_transport **out, git_remote *owner, void *param)
        GIT_UNUSED(param);
 
        t = git__calloc(1, sizeof(transport_local));
-       GITERR_CHECK_ALLOC(t);
+       GIT_ERROR_CHECK_ALLOC(t);
 
        t->parent.version = GIT_TRANSPORT_VERSION;
        t->parent.set_callbacks = local_set_callbacks;
index 5fedd394e7bde486ff428983df051beea4d349be..fd7113c7e2109a8ea489416c8fae052973b754a0 100644 (file)
@@ -45,14 +45,13 @@ GIT_INLINE(int) git_smart__reset_stream(transport_smart *t, bool close_subtransp
                t->current_stream = NULL;
        }
 
-       if (t->url) {
+       if (close_subtransport) {
                git__free(t->url);
                t->url = NULL;
-       }
 
-       if (close_subtransport &&
-               t->wrapped->close(t->wrapped) < 0)
-               return -1;
+               if (t->wrapped->close(t->wrapped) < 0)
+                       return -1;
+       }
 
        return 0;
 }
@@ -87,7 +86,7 @@ static bool is_malformed_http_header(const char *http_header)
        const char *c;
        int name_len;
 
-       // Disallow \r and \n
+       /* Disallow \r and \n */
        c = strchr(http_header, '\r');
        if (c)
                return true;
@@ -95,7 +94,7 @@ static bool is_malformed_http_header(const char *http_header)
        if (c)
                return true;
 
-       // Require a header name followed by :
+       /* Require a header name followed by : */
        name_len = http_header_name_length(http_header);
        if (name_len < 1)
                return true;
@@ -117,7 +116,7 @@ static bool is_forbidden_custom_header(const char *custom_header)
        unsigned long i;
        int name_len = http_header_name_length(custom_header);
 
-       // Disallow headers that we set
+       /* Disallow headers that we set */
        for (i = 0; i < ARRAY_SIZE(forbidden_custom_headers); i++)
                if (strncmp(forbidden_custom_headers[i], custom_header, name_len) == 0)
                        return true;
@@ -140,11 +139,11 @@ static int git_smart__set_custom_headers(
 
        for (i = 0; i < custom_headers->count; i++) {
                if (is_malformed_http_header(custom_headers->strings[i])) {
-                       giterr_set(GITERR_INVALID, "custom HTTP header '%s' is malformed", custom_headers->strings[i]);
+                       git_error_set(GIT_ERROR_INVALID, "custom HTTP header '%s' is malformed", custom_headers->strings[i]);
                        return -1;
                }
                if (is_forbidden_custom_header(custom_headers->strings[i])) {
-                       giterr_set(GITERR_INVALID, "custom HTTP header '%s' is already set by libgit2", custom_headers->strings[i]);
+                       git_error_set(GIT_ERROR_INVALID, "custom HTTP header '%s' is already set by libgit2", custom_headers->strings[i]);
                        return -1;
                }
        }
@@ -172,11 +171,13 @@ int git_smart__update_heads(transport_smart *t, git_vector *symrefs)
                        git_vector_foreach(symrefs, j, spec) {
                                git_buf_clear(&buf);
                                if (git_refspec_src_matches(spec, ref->head.name) &&
-                                   !(error = git_refspec_transform(&buf, spec, ref->head.name)))
+                                   !(error = git_refspec_transform(&buf, spec, ref->head.name))) {
+                                       git__free(ref->head.symref_target);
                                        ref->head.symref_target = git_buf_detach(&buf);
+                               }
                        }
 
-                       git_buf_free(&buf);
+                       git_buf_dispose(&buf);
 
                        if (error < 0)
                                return error;
@@ -195,7 +196,7 @@ static void free_symrefs(git_vector *symrefs)
        size_t i;
 
        git_vector_foreach(symrefs, i, spec) {
-               git_refspec__free(spec);
+               git_refspec__dispose(spec);
                git__free(spec);
        }
 
@@ -223,7 +224,7 @@ static int git_smart__connect(
                return -1;
 
        t->url = git__strdup(url);
-       GITERR_CHECK_ALLOC(t->url);
+       GIT_ERROR_CHECK_ALLOC(t->url);
 
        if (git_proxy_options_dup(&t->proxy, proxy) < 0)
                return -1;
@@ -238,7 +239,7 @@ static int git_smart__connect(
        else if (GIT_DIRECTION_PUSH == t->direction)
                service = GIT_SERVICE_RECEIVEPACK_LS;
        else {
-               giterr_set(GITERR_NET, "invalid direction");
+               git_error_set(GIT_ERROR_NET, "invalid direction");
                return -1;
        }
 
@@ -259,7 +260,7 @@ static int git_smart__connect(
                pkt = (git_pkt *)git_vector_get(&t->refs, 0);
 
                if (!pkt || GIT_PKT_COMMENT != pkt->type) {
-                       giterr_set(GITERR_NET, "invalid response");
+                       git_error_set(GIT_ERROR_NET, "invalid response");
                        return -1;
                } else {
                        /* Remove the comment pkt from the list */
@@ -271,34 +272,45 @@ static int git_smart__connect(
        /* We now have loaded the refs. */
        t->have_refs = 1;
 
-       first = (git_pkt_ref *)git_vector_get(&t->refs, 0);
+       pkt = (git_pkt *)git_vector_get(&t->refs, 0);
+       if (pkt && GIT_PKT_REF != pkt->type) {
+               git_error_set(GIT_ERROR_NET, "invalid response");
+               return -1;
+       }
+       first = (git_pkt_ref *)pkt;
 
        if ((error = git_vector_init(&symrefs, 1, NULL)) < 0)
                return error;
 
        /* Detect capabilities */
-       if (git_smart__detect_caps(first, &t->caps, &symrefs) < 0)
-               return -1;
+       if ((error = git_smart__detect_caps(first, &t->caps, &symrefs)) == 0) {
+               /* If the only ref in the list is capabilities^{} with OID_ZERO, remove it */
+               if (1 == t->refs.length && !strcmp(first->head.name, "capabilities^{}") &&
+                       git_oid_iszero(&first->head.oid)) {
+                       git_vector_clear(&t->refs);
+                       git_pkt_free((git_pkt *)first);
+               }
 
-       /* If the only ref in the list is capabilities^{} with OID_ZERO, remove it */
-       if (1 == t->refs.length && !strcmp(first->head.name, "capabilities^{}") &&
-               git_oid_iszero(&first->head.oid)) {
-               git_vector_clear(&t->refs);
-               git_pkt_free((git_pkt *)first);
+               /* Keep a list of heads for _ls */
+               git_smart__update_heads(t, &symrefs);
+       } else if (error == GIT_ENOTFOUND) {
+               /* There was no ref packet received, or the cap list was empty */
+               error = 0;
+       } else {
+               git_error_set(GIT_ERROR_NET, "invalid response");
+               goto cleanup;
        }
 
-       /* Keep a list of heads for _ls */
-       git_smart__update_heads(t, &symrefs);
-
-       free_symrefs(&symrefs);
-
-       if (t->rpc && git_smart__reset_stream(t, false) < 0)
-               return -1;
+       if (t->rpc && (error = git_smart__reset_stream(t, false)) < 0)
+               goto cleanup;
 
        /* We're now logically connected. */
        t->connected = 1;
 
-       return 0;
+cleanup:
+       free_symrefs(&symrefs);
+
+       return error;
 }
 
 static int git_smart__ls(const git_remote_head ***out, size_t *size, git_transport *transport)
@@ -306,7 +318,7 @@ static int git_smart__ls(const git_remote_head ***out, size_t *size, git_transpo
        transport_smart *t = (transport_smart *)transport;
 
        if (!t->have_refs) {
-               giterr_set(GITERR_NET, "the transport has not yet loaded the refs");
+               git_error_set(GIT_ERROR_NET, "the transport has not yet loaded the refs");
                return -1;
        }
 
@@ -326,7 +338,7 @@ int git_smart__negotiation_step(git_transport *transport, void *data, size_t len
                return -1;
 
        if (GIT_DIRECTION_FETCH != t->direction) {
-               giterr_set(GITERR_NET, "this operation is only valid for fetch");
+               git_error_set(GIT_ERROR_NET, "this operation is only valid for fetch");
                return -1;
        }
 
@@ -355,7 +367,7 @@ int git_smart__get_push_stream(transport_smart *t, git_smart_subtransport_stream
                return -1;
 
        if (GIT_DIRECTION_PUSH != t->direction) {
-               giterr_set(GITERR_NET, "this operation is only valid for push");
+               git_error_set(GIT_ERROR_NET, "this operation is only valid for push");
                return -1;
        }
 
@@ -469,6 +481,11 @@ int git_transport_smart_certificate_check(git_transport *transport, git_cert *ce
 {
        transport_smart *t = (transport_smart *)transport;
 
+       assert(transport && cert && hostname);
+
+       if (!t->certificate_check_cb)
+               return GIT_PASSTHROUGH;
+
        return t->certificate_check_cb(cert, valid, hostname, t->message_cb_payload);
 }
 
@@ -476,6 +493,11 @@ int git_transport_smart_credentials(git_cred **out, git_transport *transport, co
 {
        transport_smart *t = (transport_smart *)transport;
 
+       assert(out && transport);
+
+       if (!t->cred_acquire_cb)
+               return GIT_PASSTHROUGH;
+
        return t->cred_acquire_cb(out, t->url, user, methods, t->cred_acquire_payload);
 }
 
@@ -494,7 +516,7 @@ int git_transport_smart(git_transport **out, git_remote *owner, void *param)
                return -1;
 
        t = git__calloc(1, sizeof(transport_smart));
-       GITERR_CHECK_ALLOC(t);
+       GIT_ERROR_CHECK_ALLOC(t);
 
        t->parent.version = GIT_TRANSPORT_VERSION;
        t->parent.set_callbacks = git_smart__set_callbacks;
index e6020817e890c070f5494561f7e1ccedc8a2f145..abf80286b1cd6f5b023ada9a76bc4edd7207755d 100644 (file)
@@ -40,7 +40,6 @@ typedef enum {
        GIT_PKT_HAVE,
        GIT_PKT_ACK,
        GIT_PKT_NAK,
-       GIT_PKT_PACK__UNUSED,
        GIT_PKT_COMMENT,
        GIT_PKT_ERR,
        GIT_PKT_DATA,
@@ -50,7 +49,7 @@ typedef enum {
        GIT_PKT_UNPACK,
 } git_pkt_type;
 
-/* Used for multi_ack and mutli_ack_detailed */
+/* Used for multi_ack and multi_ack_detailed */
 enum git_ack_status {
        GIT_ACK_NONE,
        GIT_ACK_CONTINUE,
index 0e05ff861025d0ee866831026815c8ad51ab96dd..9bc273e0c4a532c99738c1bfe3413e2808ca7856 100644 (file)
@@ -31,7 +31,7 @@ static int flush_pkt(git_pkt **out)
        git_pkt *pkt;
 
        pkt = git__malloc(sizeof(git_pkt));
-       GITERR_CHECK_ALLOC(pkt);
+       GIT_ERROR_CHECK_ALLOC(pkt);
 
        pkt->type = GIT_PKT_FLUSH;
        *out = pkt;
@@ -45,7 +45,7 @@ static int ack_pkt(git_pkt **out, const char *line, size_t len)
        git_pkt_ack *pkt;
 
        pkt = git__calloc(1, sizeof(git_pkt_ack));
-       GITERR_CHECK_ALLOC(pkt);
+       GIT_ERROR_CHECK_ALLOC(pkt);
        pkt->type = GIT_PKT_ACK;
 
        if (git__prefixncmp(line, len, "ACK "))
@@ -77,7 +77,7 @@ static int ack_pkt(git_pkt **out, const char *line, size_t len)
        return 0;
 
 out_err:
-       giterr_set(GITERR_NET, "error parsing ACK pkt-line");
+       git_error_set(GIT_ERROR_NET, "error parsing ACK pkt-line");
        git__free(pkt);
        return -1;
 }
@@ -87,7 +87,7 @@ static int nak_pkt(git_pkt **out)
        git_pkt *pkt;
 
        pkt = git__malloc(sizeof(git_pkt));
-       GITERR_CHECK_ALLOC(pkt);
+       GIT_ERROR_CHECK_ALLOC(pkt);
 
        pkt->type = GIT_PKT_NAK;
        *out = pkt;
@@ -100,10 +100,10 @@ static int comment_pkt(git_pkt **out, const char *line, size_t len)
        git_pkt_comment *pkt;
        size_t alloclen;
 
-       GITERR_CHECK_ALLOC_ADD(&alloclen, sizeof(git_pkt_comment), len);
-       GITERR_CHECK_ALLOC_ADD(&alloclen, alloclen, 1);
+       GIT_ERROR_CHECK_ALLOC_ADD(&alloclen, sizeof(git_pkt_comment), len);
+       GIT_ERROR_CHECK_ALLOC_ADD(&alloclen, alloclen, 1);
        pkt = git__malloc(alloclen);
-       GITERR_CHECK_ALLOC(pkt);
+       GIT_ERROR_CHECK_ALLOC(pkt);
 
        pkt->type = GIT_PKT_COMMENT;
        memcpy(pkt->comment, line, len);
@@ -125,10 +125,10 @@ static int err_pkt(git_pkt **out, const char *line, size_t len)
        line += 4;
        len -= 4;
 
-       GITERR_CHECK_ALLOC_ADD(&alloclen, sizeof(git_pkt_progress), len);
-       GITERR_CHECK_ALLOC_ADD(&alloclen, alloclen, 1);
+       GIT_ERROR_CHECK_ALLOC_ADD(&alloclen, sizeof(git_pkt_progress), len);
+       GIT_ERROR_CHECK_ALLOC_ADD(&alloclen, alloclen, 1);
        pkt = git__malloc(alloclen);
-       GITERR_CHECK_ALLOC(pkt);
+       GIT_ERROR_CHECK_ALLOC(pkt);
        pkt->type = GIT_PKT_ERR;
        pkt->len = len;
 
@@ -140,7 +140,7 @@ static int err_pkt(git_pkt **out, const char *line, size_t len)
        return 0;
 
 out_err:
-       giterr_set(GITERR_NET, "error parsing ERR pkt-line");
+       git_error_set(GIT_ERROR_NET, "error parsing ERR pkt-line");
        git__free(pkt);
        return -1;
 }
@@ -153,9 +153,9 @@ static int data_pkt(git_pkt **out, const char *line, size_t len)
        line++;
        len--;
 
-       GITERR_CHECK_ALLOC_ADD(&alloclen, sizeof(git_pkt_progress), len);
+       GIT_ERROR_CHECK_ALLOC_ADD(&alloclen, sizeof(git_pkt_progress), len);
        pkt = git__malloc(alloclen);
-       GITERR_CHECK_ALLOC(pkt);
+       GIT_ERROR_CHECK_ALLOC(pkt);
 
        pkt->type = GIT_PKT_DATA;
        pkt->len = len;
@@ -174,9 +174,9 @@ static int sideband_progress_pkt(git_pkt **out, const char *line, size_t len)
        line++;
        len--;
 
-       GITERR_CHECK_ALLOC_ADD(&alloclen, sizeof(git_pkt_progress), len);
+       GIT_ERROR_CHECK_ALLOC_ADD(&alloclen, sizeof(git_pkt_progress), len);
        pkt = git__malloc(alloclen);
-       GITERR_CHECK_ALLOC(pkt);
+       GIT_ERROR_CHECK_ALLOC(pkt);
 
        pkt->type = GIT_PKT_PROGRESS;
        pkt->len = len;
@@ -195,10 +195,10 @@ static int sideband_error_pkt(git_pkt **out, const char *line, size_t len)
        line++;
        len--;
 
-       GITERR_CHECK_ALLOC_ADD(&alloc_len, sizeof(git_pkt_err), len);
-       GITERR_CHECK_ALLOC_ADD(&alloc_len, alloc_len, 1);
+       GIT_ERROR_CHECK_ALLOC_ADD(&alloc_len, sizeof(git_pkt_err), len);
+       GIT_ERROR_CHECK_ALLOC_ADD(&alloc_len, alloc_len, 1);
        pkt = git__malloc(alloc_len);
-       GITERR_CHECK_ALLOC(pkt);
+       GIT_ERROR_CHECK_ALLOC(pkt);
 
        pkt->type = GIT_PKT_ERR;
        pkt->len = (int)len;
@@ -219,7 +219,7 @@ static int ref_pkt(git_pkt **out, const char *line, size_t len)
        size_t alloclen;
 
        pkt = git__calloc(1, sizeof(git_pkt_ref));
-       GITERR_CHECK_ALLOC(pkt);
+       GIT_ERROR_CHECK_ALLOC(pkt);
        pkt->type = GIT_PKT_REF;
 
        if (len < GIT_OID_HEXSZ || git_oid_fromstr(&pkt->head.oid, line) < 0)
@@ -238,9 +238,9 @@ static int ref_pkt(git_pkt **out, const char *line, size_t len)
        if (line[len - 1] == '\n')
                --len;
 
-       GITERR_CHECK_ALLOC_ADD(&alloclen, len, 1);
+       GIT_ERROR_CHECK_ALLOC_ADD(&alloclen, len, 1);
        pkt->head.name = git__malloc(alloclen);
-       GITERR_CHECK_ALLOC(pkt->head.name);
+       GIT_ERROR_CHECK_ALLOC(pkt->head.name);
 
        memcpy(pkt->head.name, line, len);
        pkt->head.name[len] = '\0';
@@ -252,7 +252,7 @@ static int ref_pkt(git_pkt **out, const char *line, size_t len)
        return 0;
 
 out_err:
-       giterr_set(GITERR_NET, "error parsing REF pkt-line");
+       git_error_set(GIT_ERROR_NET, "error parsing REF pkt-line");
        if (pkt)
                git__free(pkt->head.name);
        git__free(pkt);
@@ -265,7 +265,7 @@ static int ok_pkt(git_pkt **out, const char *line, size_t len)
        size_t alloc_len;
 
        pkt = git__malloc(sizeof(*pkt));
-       GITERR_CHECK_ALLOC(pkt);
+       GIT_ERROR_CHECK_ALLOC(pkt);
        pkt->type = GIT_PKT_OK;
 
        if (git__prefixncmp(line, len, "ok "))
@@ -276,9 +276,9 @@ static int ok_pkt(git_pkt **out, const char *line, size_t len)
        if (line[len - 1] == '\n')
                --len;
 
-       GITERR_CHECK_ALLOC_ADD(&alloc_len, len, 1);
+       GIT_ERROR_CHECK_ALLOC_ADD(&alloc_len, len, 1);
        pkt->ref = git__malloc(alloc_len);
-       GITERR_CHECK_ALLOC(pkt->ref);
+       GIT_ERROR_CHECK_ALLOC(pkt->ref);
 
        memcpy(pkt->ref, line, len);
        pkt->ref[len] = '\0';
@@ -287,7 +287,7 @@ static int ok_pkt(git_pkt **out, const char *line, size_t len)
        return 0;
 
 out_err:
-       giterr_set(GITERR_NET, "error parsing OK pkt-line");
+       git_error_set(GIT_ERROR_NET, "error parsing OK pkt-line");
        git__free(pkt);
        return -1;
 }
@@ -299,7 +299,7 @@ static int ng_pkt(git_pkt **out, const char *line, size_t len)
        size_t alloclen;
 
        pkt = git__malloc(sizeof(*pkt));
-       GITERR_CHECK_ALLOC(pkt);
+       GIT_ERROR_CHECK_ALLOC(pkt);
 
        pkt->ref = NULL;
        pkt->type = GIT_PKT_NG;
@@ -314,9 +314,9 @@ static int ng_pkt(git_pkt **out, const char *line, size_t len)
                goto out_err;
        len = ptr - line;
 
-       GITERR_CHECK_ALLOC_ADD(&alloclen, len, 1);
+       GIT_ERROR_CHECK_ALLOC_ADD(&alloclen, len, 1);
        pkt->ref = git__malloc(alloclen);
-       GITERR_CHECK_ALLOC(pkt->ref);
+       GIT_ERROR_CHECK_ALLOC(pkt->ref);
 
        memcpy(pkt->ref, line, len);
        pkt->ref[len] = '\0';
@@ -329,9 +329,9 @@ static int ng_pkt(git_pkt **out, const char *line, size_t len)
                goto out_err;
        len = ptr - line;
 
-       GITERR_CHECK_ALLOC_ADD(&alloclen, len, 1);
+       GIT_ERROR_CHECK_ALLOC_ADD(&alloclen, len, 1);
        pkt->msg = git__malloc(alloclen);
-       GITERR_CHECK_ALLOC(pkt->msg);
+       GIT_ERROR_CHECK_ALLOC(pkt->msg);
 
        memcpy(pkt->msg, line, len);
        pkt->msg[len] = '\0';
@@ -340,7 +340,7 @@ static int ng_pkt(git_pkt **out, const char *line, size_t len)
        return 0;
 
 out_err:
-       giterr_set(GITERR_NET, "invalid packet line");
+       git_error_set(GIT_ERROR_NET, "invalid packet line");
        git__free(pkt->ref);
        git__free(pkt);
        return -1;
@@ -351,7 +351,7 @@ static int unpack_pkt(git_pkt **out, const char *line, size_t len)
        git_pkt_unpack *pkt;
 
        pkt = git__malloc(sizeof(*pkt));
-       GITERR_CHECK_ALLOC(pkt);
+       GIT_ERROR_CHECK_ALLOC(pkt);
        pkt->type = GIT_PKT_UNPACK;
 
        if (!git__prefixncmp(line, len, "unpack ok"))
@@ -386,7 +386,7 @@ static int parse_len(size_t *out, const char *line, size_t linelen)
                                }
                        }
 
-                       giterr_set(GITERR_NET, "invalid hex digit in length: '%s'", num);
+                       git_error_set(GIT_ERROR_NET, "invalid hex digit in length: '%s'", num);
                        return -1;
                }
        }
@@ -430,9 +430,9 @@ int git_pkt_parse_line(
                if (error == GIT_EBUFS)
                        ;
                else if (!git__prefixncmp(line, linelen, "PACK"))
-                       giterr_set(GITERR_NET, "unexpected pack file");
+                       git_error_set(GIT_ERROR_NET, "unexpected pack file");
                else
-                       giterr_set(GITERR_NET, "bad packet length");
+                       git_error_set(GIT_ERROR_NET, "bad packet length");
                return error;
        }
 
@@ -458,7 +458,7 @@ int git_pkt_parse_line(
         * line, we should return an error upon hitting one.
         */
        if (len == PKT_LEN_SIZE) {
-               giterr_set_str(GITERR_NET, "Invalid empty packet");
+               git_error_set_str(GIT_ERROR_NET, "Invalid empty packet");
                return GIT_ERROR;
        }
 
@@ -499,6 +499,9 @@ int git_pkt_parse_line(
 
 void git_pkt_free(git_pkt *pkt)
 {
+       if (pkt == NULL) {
+               return;
+       }
        if (pkt->type == GIT_PKT_REF) {
                git_pkt_ref *p = (git_pkt_ref *) pkt;
                git__free(p->head.name);
@@ -558,7 +561,7 @@ static int buffer_want_with_caps(const git_remote_head *head, transport_smart_ca
                 git_buf_len(&str) + 1 /* LF */;
 
        if (len > 0xffff) {
-               giterr_set(GITERR_NET,
+               git_error_set(GIT_ERROR_NET,
                        "tried to produce packet with invalid length %" PRIuZ, len);
                return -1;
        }
@@ -567,9 +570,9 @@ static int buffer_want_with_caps(const git_remote_head *head, transport_smart_ca
        git_oid_fmt(oid, &head->oid);
        git_buf_printf(buf,
                "%04xwant %s %s\n", (unsigned int)len, oid, git_buf_cstr(&str));
-       git_buf_free(&str);
+       git_buf_dispose(&str);
 
-       GITERR_CHECK_ALLOC_BUF(buf);
+       GIT_ERROR_CHECK_ALLOC_BUF(buf);
 
        return 0;
 }
index 893ac6e4729bfdd5d1871cef6cd10626534d85f1..2d8a1d83f48f51d6c4d4a1b1e8ed6d8691435d00 100644 (file)
@@ -56,7 +56,7 @@ int git_smart__store_refs(transport_smart *t, int flushes)
                                return recvd;
 
                        if (recvd == 0) {
-                               giterr_set(GITERR_NET, "early EOF");
+                               git_error_set(GIT_ERROR_NET, "early EOF");
                                return GIT_EEOF;
                        }
 
@@ -65,7 +65,7 @@ int git_smart__store_refs(transport_smart *t, int flushes)
 
                gitno_consume(buf, line_end);
                if (pkt->type == GIT_PKT_ERR) {
-                       giterr_set(GITERR_NET, "remote error: %s", ((git_pkt_err *)pkt)->error);
+                       git_error_set(GIT_ERROR_NET, "remote error: %s", ((git_pkt_err *)pkt)->error);
                        git__free(pkt);
                        return -1;
                }
@@ -103,14 +103,14 @@ static int append_symref(const char **out, git_vector *symrefs, const char *ptr)
 
        /* symref mapping has refspec format */
        mapping = git__calloc(1, sizeof(git_refspec));
-       GITERR_CHECK_ALLOC(mapping);
+       GIT_ERROR_CHECK_ALLOC(mapping);
 
        error = git_refspec__parse(mapping, git_buf_cstr(&buf), true);
-       git_buf_free(&buf);
+       git_buf_dispose(&buf);
 
        /* if the error isn't OOM, then it's a parse error; let's use a nicer message */
        if (error < 0) {
-               if (giterr_last()->klass != GITERR_NOMEMORY)
+               if (git_error_last()->klass != GIT_ERROR_NOMEMORY)
                        goto on_invalid;
 
                git__free(mapping);
@@ -124,8 +124,8 @@ static int append_symref(const char **out, git_vector *symrefs, const char *ptr)
        return 0;
 
 on_invalid:
-       giterr_set(GITERR_NET, "remote sent invalid symref");
-       git_refspec__free(mapping);
+       git_error_set(GIT_ERROR_NET, "remote sent invalid symref");
+       git_refspec__dispose(mapping);
        git__free(mapping);
        return -1;
 }
@@ -136,7 +136,7 @@ int git_smart__detect_caps(git_pkt_ref *pkt, transport_smart_caps *caps, git_vec
 
        /* No refs or capabilites, odd but not a problem */
        if (pkt == NULL || pkt->capabilities == NULL)
-               return 0;
+               return GIT_ENOTFOUND;
 
        ptr = pkt->capabilities;
        while (ptr != NULL && *ptr != '\0') {
@@ -209,7 +209,7 @@ int git_smart__detect_caps(git_pkt_ref *pkt, transport_smart_caps *caps, git_vec
        return 0;
 }
 
-static int recv_pkt(git_pkt **out, git_pkt_type *pkt_type, gitno_buffer *buf)
+static int recv_pkt(git_pkt **out_pkt, git_pkt_type *out_type, gitno_buffer *buf)
 {
        const char *ptr = buf->data, *line_end = ptr;
        git_pkt *pkt = NULL;
@@ -230,16 +230,16 @@ static int recv_pkt(git_pkt **out, git_pkt_type *pkt_type, gitno_buffer *buf)
                if ((ret = gitno_recv(buf)) < 0) {
                        return ret;
                } else if (ret == 0) {
-                       giterr_set(GITERR_NET, "early EOF");
+                       git_error_set(GIT_ERROR_NET, "early EOF");
                        return GIT_EEOF;
                }
        } while (error);
 
        gitno_consume(buf, line_end);
-       if (pkt_type)
-               *pkt_type = pkt->type;
-       if (out != NULL)
-               *out = pkt;
+       if (out_type != NULL)
+               *out_type = pkt->type;
+       if (out_pkt != NULL)
+               *out_pkt = pkt;
        else
                git__free(pkt);
 
@@ -256,14 +256,15 @@ static int store_common(transport_smart *t)
                if ((error = recv_pkt(&pkt, NULL, buf)) < 0)
                        return error;
 
-               if (pkt->type == GIT_PKT_ACK) {
-                       if (git_vector_insert(&t->common, pkt) < 0)
-                               return -1;
-               } else {
+               if (pkt->type != GIT_PKT_ACK) {
                        git__free(pkt);
                        return 0;
                }
 
+               if (git_vector_insert(&t->common, pkt) < 0) {
+                       git__free(pkt);
+                       return -1;
+               }
        } while (1);
 
        return 0;
@@ -296,7 +297,7 @@ static int fetch_setup_walk(git_revwalk **out, git_repository *repo)
                if ((error = git_reference_lookup(&ref, repo, refs.strings[i])) < 0)
                        goto on_error;
 
-               if (git_reference_type(ref) == GIT_REF_SYMBOLIC)
+               if (git_reference_type(ref) == GIT_REFERENCE_SYMBOLIC)
                        continue;
 
                if ((error = git_revwalk_push(walk, git_reference_target(ref))) < 0)
@@ -316,27 +317,30 @@ on_error:
 static int wait_while_ack(gitno_buffer *buf)
 {
        int error;
-       git_pkt_ack *pkt = NULL;
+       git_pkt *pkt = NULL;
+       git_pkt_ack *ack = NULL;
 
        while (1) {
-               git__free(pkt);
+               git_pkt_free(pkt);
 
-               if ((error = recv_pkt((git_pkt **)&pkt, NULL, buf)) < 0)
+               if ((error = recv_pkt(&pkt, NULL, buf)) < 0)
                        return error;
 
                if (pkt->type == GIT_PKT_NAK)
                        break;
+               if (pkt->type != GIT_PKT_ACK)
+                       continue;
 
-               if (pkt->type == GIT_PKT_ACK &&
-                   (pkt->status != GIT_ACK_CONTINUE &&
-                    pkt->status != GIT_ACK_COMMON &&
-                    pkt->status != GIT_ACK_READY)) {
-                       git__free(pkt);
-                       return 0;
+               ack = (git_pkt_ack*)pkt;
+
+               if (ack->status != GIT_ACK_CONTINUE &&
+                   ack->status != GIT_ACK_COMMON &&
+                   ack->status != GIT_ACK_READY) {
+                       break;
                }
        }
 
-       git__free(pkt);
+       git_pkt_free(pkt);
        return 0;
 }
 
@@ -378,7 +382,7 @@ int git_smart__negotiate_fetch(git_transport *transport, git_repository *repo, c
                i++;
                if (i % 20 == 0) {
                        if (t->cancelled.val) {
-                               giterr_set(GITERR_NET, "The fetch was cancelled by the user");
+                               git_error_set(GIT_ERROR_NET, "The fetch was cancelled by the user");
                                error = GIT_EUSER;
                                goto on_error;
                        }
@@ -397,15 +401,15 @@ int git_smart__negotiate_fetch(git_transport *transport, git_repository *repo, c
                                if ((error = store_common(t)) < 0)
                                        goto on_error;
                        } else {
-                               error = recv_pkt(NULL, &pkt_type, buf);
-                               if (error < 0) {
+                               if ((error = recv_pkt(NULL, &pkt_type, buf)) < 0)
                                        goto on_error;
-                               } else if (pkt_type == GIT_PKT_ACK) {
+
+                               if (pkt_type == GIT_PKT_ACK) {
                                        break;
                                } else if (pkt_type == GIT_PKT_NAK) {
                                        continue;
                                } else {
-                                       giterr_set(GITERR_NET, "Unexpected pkt type");
+                                       git_error_set(GIT_ERROR_NET, "Unexpected pkt type");
                                        error = -1;
                                        goto on_error;
                                }
@@ -457,24 +461,23 @@ int git_smart__negotiate_fetch(git_transport *transport, git_repository *repo, c
                goto on_error;
 
        if (t->cancelled.val) {
-               giterr_set(GITERR_NET, "The fetch was cancelled by the user");
+               git_error_set(GIT_ERROR_NET, "The fetch was cancelled by the user");
                error = GIT_EUSER;
                goto on_error;
        }
        if ((error = git_smart__negotiation_step(&t->parent, data.ptr, data.size)) < 0)
                goto on_error;
 
-       git_buf_free(&data);
+       git_buf_dispose(&data);
        git_revwalk_free(walk);
 
        /* Now let's eat up whatever the server gives us */
        if (!t->caps.multi_ack && !t->caps.multi_ack_detailed) {
-               error = recv_pkt(NULL, &pkt_type, buf);
-
-               if (error < 0) {
+               if ((error = recv_pkt(NULL, &pkt_type, buf)) < 0)
                        return error;
-               } else if (pkt_type != GIT_PKT_ACK && pkt_type != GIT_PKT_NAK) {
-                       giterr_set(GITERR_NET, "Unexpected pkt type");
+
+               if (pkt_type != GIT_PKT_ACK && pkt_type != GIT_PKT_NAK) {
+                       git_error_set(GIT_ERROR_NET, "Unexpected pkt type");
                        return -1;
                }
        } else {
@@ -485,7 +488,7 @@ int git_smart__negotiate_fetch(git_transport *transport, git_repository *repo, c
 
 on_error:
        git_revwalk_free(walk);
-       git_buf_free(&data);
+       git_buf_dispose(&data);
        return error;
 }
 
@@ -495,7 +498,7 @@ static int no_sideband(transport_smart *t, struct git_odb_writepack *writepack,
 
        do {
                if (t->cancelled.val) {
-                       giterr_set(GITERR_NET, "The fetch was cancelled by the user");
+                       git_error_set(GIT_ERROR_NET, "The fetch was cancelled by the user");
                        return GIT_EUSER;
                }
 
@@ -588,7 +591,7 @@ int git_smart__download_pack(
 
                /* Check cancellation before network call */
                if (t->cancelled.val) {
-                       giterr_clear();
+                       git_error_clear();
                        error = GIT_EUSER;
                        goto done;
                }
@@ -596,7 +599,7 @@ int git_smart__download_pack(
                if ((error = recv_pkt(&pkt, NULL, buf)) >= 0) {
                        /* Check cancellation after network call */
                        if (t->cancelled.val) {
-                               giterr_clear();
+                               git_error_clear();
                                error = GIT_EUSER;
                        } else if (pkt->type == GIT_PKT_PROGRESS) {
                                if (t->progress_cb) {
@@ -615,7 +618,8 @@ int git_smart__download_pack(
                        }
                }
 
-               git__free(pkt);
+               git_pkt_free(pkt);
+
                if (error < 0)
                        goto done;
 
@@ -697,7 +701,7 @@ static int add_push_report_pkt(git_push *push, git_pkt *pkt)
        switch (pkt->type) {
                case GIT_PKT_OK:
                        status = git__calloc(1, sizeof(push_status));
-                       GITERR_CHECK_ALLOC(status);
+                       GIT_ERROR_CHECK_ALLOC(status);
                        status->msg = NULL;
                        status->ref = git__strdup(((git_pkt_ok *)pkt)->ref);
                        if (!status->ref ||
@@ -708,7 +712,7 @@ static int add_push_report_pkt(git_push *push, git_pkt *pkt)
                        break;
                case GIT_PKT_NG:
                        status = git__calloc(1, sizeof(push_status));
-                       GITERR_CHECK_ALLOC(status);
+                       GIT_ERROR_CHECK_ALLOC(status);
                        status->ref = git__strdup(((git_pkt_ng *)pkt)->ref);
                        status->msg = git__strdup(((git_pkt_ng *)pkt)->msg);
                        if (!status->ref || !status->msg ||
@@ -723,7 +727,7 @@ static int add_push_report_pkt(git_push *push, git_pkt *pkt)
                case GIT_PKT_FLUSH:
                        return GIT_ITEROVER;
                default:
-                       giterr_set(GITERR_NET, "report-status: protocol error");
+                       git_error_set(GIT_ERROR_NET, "report-status: protocol error");
                        return -1;
        }
 
@@ -811,7 +815,7 @@ static int parse_report(transport_smart *transport, git_push *push)
                        }
 
                        if (recvd == 0) {
-                               giterr_set(GITERR_NET, "early EOF");
+                               git_error_set(GIT_ERROR_NET, "early EOF");
                                error = GIT_EEOF;
                                goto done;
                        }
@@ -828,7 +832,7 @@ static int parse_report(transport_smart *transport, git_push *push)
                                error = add_push_report_sideband_pkt(push, (git_pkt_data *)pkt, &data_pkt_buf);
                                break;
                        case GIT_PKT_ERR:
-                               giterr_set(GITERR_NET, "report-status: Error reported: %s",
+                               git_error_set(GIT_ERROR_NET, "report-status: Error reported: %s",
                                        ((git_pkt_err *)pkt)->error);
                                error = -1;
                                break;
@@ -851,7 +855,7 @@ static int parse_report(transport_smart *transport, git_push *push)
                        if (data_pkt_buf.size > 0) {
                                /* If there was data remaining in the pack data buffer,
                                 * then the server sent a partial pkt-line */
-                               giterr_set(GITERR_NET, "Incomplete pack data pkt-line");
+                               git_error_set(GIT_ERROR_NET, "Incomplete pack data pkt-line");
                                error = GIT_ERROR;
                        }
                        goto done;
@@ -862,14 +866,14 @@ static int parse_report(transport_smart *transport, git_push *push)
                }
        }
 done:
-       git_buf_free(&data_pkt_buf);
+       git_buf_dispose(&data_pkt_buf);
        return error;
 }
 
 static int add_ref_from_push_spec(git_vector *refs, push_spec *push_spec)
 {
        git_pkt_ref *added = git__calloc(1, sizeof(git_pkt_ref));
-       GITERR_CHECK_ALLOC(added);
+       GIT_ERROR_CHECK_ALLOC(added);
 
        added->type = GIT_PKT_REF;
        git_oid_cpy(&added->head.oid, &push_spec->loid);
@@ -898,7 +902,7 @@ static int update_refs_from_report(
        /* For each push spec we sent to the server, we should have
         * gotten back a status packet in the push report */
        if (push_specs->length != push_report->length) {
-               giterr_set(GITERR_NET, "report-status: protocol error");
+               git_error_set(GIT_ERROR_NET, "report-status: protocol error");
                return -1;
        }
 
@@ -913,7 +917,7 @@ static int update_refs_from_report(
                /* For each push spec we sent to the server, we should have
                 * gotten back a status packet in the push report which matches */
                if (strcmp(push_spec->refspec.dst, push_status->ref)) {
-                       giterr_set(GITERR_NET, "report-status: protocol error");
+                       git_error_set(GIT_ERROR_NET, "report-status: protocol error");
                        return -1;
                }
        }
@@ -1085,6 +1089,6 @@ int git_smart__push(git_transport *transport, git_push *push, const git_remote_c
        }
 
 done:
-       git_buf_free(&pktline);
+       git_buf_dispose(&pktline);
        return error;
 }
index 23c6433463e4759f1bfbe2ed406ef02cbd8a896d..5a6058fb7ff25fb6b55d68c674487070b7ef4923 100644 (file)
@@ -54,7 +54,7 @@ static void ssh_error(LIBSSH2_SESSION *session, const char *errmsg)
        char *ssherr;
        libssh2_session_last_error(session, &ssherr, NULL, 0);
 
-       giterr_set(GITERR_SSH, "%s: %s", errmsg, ssherr);
+       git_error_set(GIT_ERROR_SSH, "%s: %s", errmsg, ssherr);
 }
 
 /*
@@ -85,7 +85,7 @@ static int gen_proto(git_buf *request, const char *cmd, const char *url)
 
 done:
        if (!repo) {
-               giterr_set(GITERR_NET, "malformed git protocol URL");
+               git_error_set(GIT_ERROR_NET, "malformed git protocol URL");
                return -1;
        }
 
@@ -121,7 +121,7 @@ static int send_command(ssh_stream *s)
        s->sent_command = 1;
 
 cleanup:
-       git_buf_free(&request);
+       git_buf_dispose(&request);
        return error;
 }
 
@@ -151,7 +151,7 @@ static int ssh_stream_read(
         */
        if (rc == 0) {
                if ((rc = libssh2_channel_read_stderr(s->channel, buffer, buf_size)) > 0) {
-                       giterr_set(GITERR_SSH, "%*s", rc, buffer);
+                       git_error_set(GIT_ERROR_SSH, "%*s", rc, buffer);
                        return GIT_EEOF;
                } else if (rc < LIBSSH2_ERROR_NONE) {
                        ssh_error(s->session, "SSH could not read stderr");
@@ -238,7 +238,7 @@ static int ssh_stream_alloc(
        assert(stream);
 
        s = git__calloc(sizeof(ssh_stream), 1);
-       GITERR_CHECK_ALLOC(s);
+       GIT_ERROR_CHECK_ALLOC(s);
 
        s->parent.subtransport = &t->parent;
        s->parent.read = ssh_stream_read;
@@ -272,19 +272,19 @@ static int git_ssh_extract_url_parts(
        if (at) {
                start = at + 1;
                *username = git__substrdup(url, at - url);
-               GITERR_CHECK_ALLOC(*username);
+               GIT_ERROR_CHECK_ALLOC(*username);
        } else {
                start = url;
                *username = NULL;
        }
 
        if (colon == NULL || (colon < start)) {
-               giterr_set(GITERR_NET, "malformed URL");
+               git_error_set(GIT_ERROR_NET, "malformed URL");
                return -1;
        }
 
        *host = git__substrdup(start, colon - start);
-       GITERR_CHECK_ALLOC(*host);
+       GIT_ERROR_CHECK_ALLOC(*host);
 
        return 0;
 }
@@ -350,7 +350,7 @@ static int _git_ssh_authenticate_session(
        int rc;
 
        do {
-               giterr_clear();
+               git_error_clear();
                switch (cred->credtype) {
                case GIT_CREDTYPE_USERPASS_PLAINTEXT: {
                        git_cred_userpass_plaintext *c = (git_cred_userpass_plaintext *)cred;
@@ -428,7 +428,7 @@ static int _git_ssh_authenticate_session(
                        return GIT_EAUTH;
 
        if (rc != LIBSSH2_ERROR_NONE) {
-               if (!giterr_last())
+               if (!git_error_last())
                        ssh_error(session, "Failed to authenticate SSH session");
                return -1;
        }
@@ -447,24 +447,24 @@ static int request_creds(git_cred **out, ssh_subtransport *t, const char *user,
                error = t->owner->cred_acquire_cb(&cred, t->owner->url, user, auth_methods,
                                                  t->owner->cred_acquire_payload);
 
-               if (error == GIT_PASSTHROUGH)
+               if (error == GIT_PASSTHROUGH) {
                        no_callback = 1;
-               else if (error < 0)
+               } else if (error < 0) {
                        return error;
-               else if (!cred) {
-                       giterr_set(GITERR_SSH, "callback failed to initialize SSH credentials");
+               else if (!cred) {
+                       git_error_set(GIT_ERROR_SSH, "callback failed to initialize SSH credentials");
                        return -1;
                }
        }
 
        if (no_callback) {
-               giterr_set(GITERR_SSH, "authentication required but no callback set");
+               git_error_set(GIT_ERROR_SSH, "authentication required but no callback set");
                return -1;
        }
 
        if (!(cred->credtype & auth_methods)) {
                cred->free(cred);
-               giterr_set(GITERR_SSH, "callback returned unsupported credentials type");
+               git_error_set(GIT_ERROR_SSH, "callback returned unsupported credentials type");
                return -1;
        }
 
@@ -485,7 +485,7 @@ static int _git_ssh_session_create(
 
        s = libssh2_session_init();
        if (!s) {
-               giterr_set(GITERR_NET, "failed to initialize SSH session");
+               git_error_set(GIT_ERROR_NET, "failed to initialize SSH session");
                return -1;
        }
 
@@ -544,7 +544,7 @@ static int _git_ssh_setup_conn(
        if ((error = git_ssh_extract_url_parts(&host, &user, url)) < 0)
                goto done;
        port = git__strdup(default_port);
-       GITERR_CHECK_ALLOC(port);
+       GIT_ERROR_CHECK_ALLOC(port);
 
 post_extract:
        if ((error = git_socket_stream_new(&s->io, host, port)) < 0 ||
@@ -573,20 +573,21 @@ post_extract:
                }
 
                if (cert.type == 0) {
-                       giterr_set(GITERR_SSH, "unable to get the host key");
+                       git_error_set(GIT_ERROR_SSH, "unable to get the host key");
                        error = -1;
                        goto done;
                }
 
                /* We don't currently trust any hostkeys */
-               giterr_clear();
+               git_error_clear();
 
                cert_ptr = &cert;
 
                error = t->owner->certificate_check_cb((git_cert *) cert_ptr, 0, host, t->owner->message_cb_payload);
-               if (error < 0) {
-                       if (!giterr_last())
-                               giterr_set(GITERR_NET, "user cancelled hostkey check");
+
+               if (error < 0 && error != GIT_PASSTHROUGH) {
+                       if (!git_error_last())
+                               git_error_set(GIT_ERROR_NET, "user cancelled hostkey check");
 
                        goto done;
                }
@@ -625,7 +626,7 @@ post_extract:
                        goto done;
 
                if (strcmp(user, git_cred__username(cred))) {
-                       giterr_set(GITERR_SSH, "username does not match previous request");
+                       git_error_set(GIT_ERROR_SSH, "username does not match previous request");
                        error = -1;
                        goto done;
                }
@@ -692,7 +693,7 @@ static int ssh_uploadpack(
                return 0;
        }
 
-       giterr_set(GITERR_NET, "must call UPLOADPACK_LS before UPLOADPACK");
+       git_error_set(GIT_ERROR_NET, "must call UPLOADPACK_LS before UPLOADPACK");
        return -1;
 }
 
@@ -719,7 +720,7 @@ static int ssh_receivepack(
                return 0;
        }
 
-       giterr_set(GITERR_NET, "must call RECEIVEPACK_LS before RECEIVEPACK");
+       git_error_set(GIT_ERROR_NET, "must call RECEIVEPACK_LS before RECEIVEPACK");
        return -1;
 }
 
@@ -835,7 +836,7 @@ int git_smart_subtransport_ssh(
        GIT_UNUSED(param);
 
        t = git__calloc(sizeof(ssh_subtransport), 1);
-       GITERR_CHECK_ALLOC(t);
+       GIT_ERROR_CHECK_ALLOC(t);
 
        t->owner = (transport_smart *)owner;
        t->parent.action = _ssh_action;
@@ -851,7 +852,7 @@ int git_smart_subtransport_ssh(
        assert(out);
        *out = NULL;
 
-       giterr_set(GITERR_INVALID, "cannot create SSH transport. Library was built without SSH support");
+       git_error_set(GIT_ERROR_INVALID, "cannot create SSH transport. Library was built without SSH support");
        return -1;
 #endif
 }
@@ -871,7 +872,7 @@ int git_transport_ssh_with_paths(git_transport **out, git_remote *owner, void *p
        };
 
        if (paths->count != 2) {
-               giterr_set(GITERR_SSH, "invalid ssh paths, must be two strings");
+               git_error_set(GIT_ERROR_SSH, "invalid ssh paths, must be two strings");
                return GIT_EINVALIDSPEC;
        }
 
@@ -882,9 +883,9 @@ int git_transport_ssh_with_paths(git_transport **out, git_remote *owner, void *p
        t = (ssh_subtransport *) smart->wrapped;
 
        t->cmd_uploadpack = git__strdup(paths->strings[0]);
-       GITERR_CHECK_ALLOC(t->cmd_uploadpack);
+       GIT_ERROR_CHECK_ALLOC(t->cmd_uploadpack);
        t->cmd_receivepack = git__strdup(paths->strings[1]);
-       GITERR_CHECK_ALLOC(t->cmd_receivepack);
+       GIT_ERROR_CHECK_ALLOC(t->cmd_receivepack);
 
        *out = transport;
        return 0;
@@ -895,7 +896,7 @@ int git_transport_ssh_with_paths(git_transport **out, git_remote *owner, void *p
        assert(out);
        *out = NULL;
 
-       giterr_set(GITERR_INVALID, "cannot create SSH transport. Library was built without SSH support");
+       git_error_set(GIT_ERROR_INVALID, "cannot create SSH transport. Library was built without SSH support");
        return -1;
 #endif
 }
@@ -911,7 +912,7 @@ int git_transport_ssh_global_init(void)
 {
 #ifdef GIT_SSH
        if (libssh2_init(0) < 0) {
-               giterr_set(GITERR_SSH, "unable to initialize libssh2");
+               git_error_set(GIT_ERROR_SSH, "unable to initialize libssh2");
                return -1;
        }
 
index c3c18a80a562caeda846cac65d212b2faa89bc14..f922cb4803c1e203f7f744b470c3f501ae8a3183 100644 (file)
@@ -126,7 +126,7 @@ static int _apply_userpass_credential(HINTERNET request, DWORD target, DWORD sch
                goto done;
 
        if (!WinHttpSetCredentials(request, target, scheme, user, pass, NULL)) {
-               giterr_set(GITERR_OS, "failed to set credentials");
+               git_error_set(GIT_ERROR_OS, "failed to set credentials");
                error = -1;
        }
 
@@ -164,7 +164,7 @@ static int apply_userpass_credential(HINTERNET request, int mechanisms, git_cred
        } else if (mechanisms & GIT_WINHTTP_AUTH_BASIC) {
                native_scheme = WINHTTP_AUTH_SCHEME_BASIC;
        } else {
-               giterr_set(GITERR_NET, "invalid authentication scheme");
+               git_error_set(GIT_ERROR_NET, "invalid authentication scheme");
                return -1;
        }
 
@@ -184,13 +184,13 @@ static int apply_default_credentials(HINTERNET request, int mechanisms)
        DWORD native_scheme = 0;
 
        if ((mechanisms & GIT_WINHTTP_AUTH_NTLM) != 0)
-               native_scheme |= WINHTTP_AUTH_SCHEME_NTLM;
+               native_scheme = WINHTTP_AUTH_SCHEME_NTLM;
 
        if ((mechanisms & GIT_WINHTTP_AUTH_NEGOTIATE) != 0)
-               native_scheme |= WINHTTP_AUTH_SCHEME_NEGOTIATE;
+               native_scheme = WINHTTP_AUTH_SCHEME_NEGOTIATE;
 
        if (!native_scheme) {
-               giterr_set(GITERR_NET, "invalid authentication scheme");
+               git_error_set(GIT_ERROR_NET, "invalid authentication scheme");
                return -1;
        }
 
@@ -219,14 +219,17 @@ static int fallback_cred_acquire_cb(
         * as an authentication mechanism */
        if (GIT_CREDTYPE_DEFAULT & allowed_types) {
                wchar_t *wide_url;
+               HRESULT hCoInitResult;
 
                /* Convert URL to wide characters */
                if (git__utf8_to_16_alloc(&wide_url, url) < 0) {
-                       giterr_set(GITERR_OS, "failed to convert string to wide form");
+                       git_error_set(GIT_ERROR_OS, "failed to convert string to wide form");
                        return -1;
                }
 
-               if (SUCCEEDED(CoInitializeEx(NULL, COINIT_MULTITHREADED))) {
+               hCoInitResult = CoInitializeEx(NULL, COINIT_MULTITHREADED);
+
+               if (SUCCEEDED(hCoInitResult) || hCoInitResult == RPC_E_CHANGED_MODE) {
                        IInternetSecurityManager* pISM;
 
                        /* And if the target URI is in the My Computer, Intranet, or Trusted zones */
@@ -250,7 +253,9 @@ static int fallback_cred_acquire_cb(
                                pISM->lpVtbl->Release(pISM);
                        }
 
-                       CoUninitialize();
+            if (SUCCEEDED(hCoInitResult))
+                /* Only unitialize if the call to CoInitializeEx was successful. */
+                CoUninitialize();
                }
 
                git__free(wide_url);
@@ -269,8 +274,8 @@ static int certificate_check(winhttp_stream *s, int valid)
 
        /* If there is no override, we should fail if WinHTTP doesn't think it's fine */
        if (t->owner->certificate_check_cb == NULL && !valid) {
-               if (!giterr_last())
-                       giterr_set(GITERR_NET, "unknown certificate check failure");
+               if (!git_error_last())
+                       git_error_set(GIT_ERROR_NET, "unknown certificate check failure");
 
                return GIT_ECERTIFICATE;
        }
@@ -279,19 +284,22 @@ static int certificate_check(winhttp_stream *s, int valid)
                return 0;
 
        if (!WinHttpQueryOption(s->request, WINHTTP_OPTION_SERVER_CERT_CONTEXT, &cert_ctx, &cert_ctx_size)) {
-               giterr_set(GITERR_OS, "failed to get server certificate");
+               git_error_set(GIT_ERROR_OS, "failed to get server certificate");
                return -1;
        }
 
-       giterr_clear();
+       git_error_clear();
        cert.parent.cert_type = GIT_CERT_X509;
        cert.data = cert_ctx->pbCertEncoded;
        cert.len = cert_ctx->cbCertEncoded;
        error = t->owner->certificate_check_cb((git_cert *) &cert, valid, t->connection_data.host, t->owner->message_cb_payload);
        CertFreeCertificateContext(cert_ctx);
 
-       if (error < 0 && !giterr_last())
-               giterr_set(GITERR_NET, "user cancelled certificate check");
+       if (error == GIT_PASSTHROUGH)
+               error = valid ? 0 : GIT_ECERTIFICATE;
+
+       if (error < 0 && !git_error_last())
+               git_error_set(GIT_ERROR_NET, "user cancelled certificate check");
 
        return error;
 }
@@ -321,34 +329,6 @@ static void winhttp_stream_close(winhttp_stream *s)
        s->sent_request = 0;
 }
 
-/**
- * Extract the url and password from a URL. The outputs are pointers
- * into the input.
- */
-static int userpass_from_url(wchar_t **user, int *user_len,
-                            wchar_t **pass, int *pass_len,
-                            const wchar_t *url, int url_len)
-{
-       URL_COMPONENTS components = { 0 };
-
-       components.dwStructSize = sizeof(components);
-       /* These tell WinHttpCrackUrl that we're interested in the fields */
-       components.dwUserNameLength = 1;
-       components.dwPasswordLength = 1;
-
-       if (!WinHttpCrackUrl(url, url_len, 0, &components)) {
-               giterr_set(GITERR_OS, "failed to extract user/pass from url");
-               return -1;
-       }
-
-       *user     = components.lpszUserName;
-       *user_len = components.dwUserNameLength;
-       *pass     = components.lpszPassword;
-       *pass_len = components.dwPasswordLength;
-
-       return 0;
-}
-
 #define SCHEME_HTTP  "http://"
 #define SCHEME_HTTPS "https://"
 
@@ -375,7 +355,7 @@ static int winhttp_stream_connect(winhttp_stream *s)
 
        /* Convert URL to wide characters */
        if (git__utf8_to_16_alloc(&s->request_uri, git_buf_cstr(&buf)) < 0) {
-               giterr_set(GITERR_OS, "failed to convert string to wide form");
+               git_error_set(GIT_ERROR_OS, "failed to convert string to wide form");
                goto on_error;
        }
 
@@ -390,12 +370,12 @@ static int winhttp_stream_connect(winhttp_stream *s)
                        t->connection_data.use_ssl ? WINHTTP_FLAG_SECURE : 0);
 
        if (!s->request) {
-               giterr_set(GITERR_OS, "failed to open request");
+               git_error_set(GIT_ERROR_OS, "failed to open request");
                goto on_error;
        }
 
        if (!WinHttpSetTimeouts(s->request, default_timeout, default_connect_timeout, default_timeout, default_timeout)) {
-               giterr_set(GITERR_OS, "failed to set timeouts for WinHTTP");
+               git_error_set(GIT_ERROR_OS, "failed to set timeouts for WinHTTP");
                goto on_error;
        }
 
@@ -407,7 +387,7 @@ static int winhttp_stream_connect(winhttp_stream *s)
        }
        else if (proxy_opts->type == GIT_PROXY_SPECIFIED) {
                proxy_url = git__strdup(proxy_opts->url);
-               GITERR_CHECK_ALLOC(proxy_url);
+               GIT_ERROR_CHECK_ALLOC(proxy_url);
        }
 
        if (proxy_url) {
@@ -420,7 +400,7 @@ static int winhttp_stream_connect(winhttp_stream *s)
                } else if (!git__prefixcmp(proxy_url, SCHEME_HTTPS)) {
                        t->proxy_connection_data.use_ssl = true;
                } else {
-                       giterr_set(GITERR_NET, "invalid URL: '%s'", proxy_url);
+                       git_error_set(GIT_ERROR_NET, "invalid URL: '%s'", proxy_url);
                        return -1;
                }
 
@@ -455,7 +435,7 @@ static int winhttp_stream_connect(winhttp_stream *s)
 
                /* Convert URL to wide characters */
                error = git__utf8_to_16_alloc(&proxy_wide, processed_url.ptr);
-               git_buf_free(&processed_url);
+               git_buf_dispose(&processed_url);
                if (error < 0)
                        goto on_error;
 
@@ -467,7 +447,7 @@ static int winhttp_stream_connect(winhttp_stream *s)
                        WINHTTP_OPTION_PROXY,
                        &proxy_info,
                        sizeof(WINHTTP_PROXY_INFO))) {
-                       giterr_set(GITERR_OS, "failed to set proxy");
+                       git_error_set(GIT_ERROR_OS, "failed to set proxy");
                        git__free(proxy_wide);
                        goto on_error;
                }
@@ -490,7 +470,7 @@ static int winhttp_stream_connect(winhttp_stream *s)
                WINHTTP_OPTION_DISABLE_FEATURE,
                &disable_redirects,
                sizeof(disable_redirects))) {
-                       giterr_set(GITERR_OS, "failed to disable redirects");
+                       git_error_set(GIT_ERROR_OS, "failed to disable redirects");
                        goto on_error;
        }
 
@@ -504,7 +484,7 @@ static int winhttp_stream_connect(winhttp_stream *s)
 
        /* Send Pragma: no-cache header */
        if (!WinHttpAddRequestHeaders(s->request, pragma_nocache, (ULONG) -1L, WINHTTP_ADDREQ_FLAG_ADD)) {
-               giterr_set(GITERR_OS, "failed to add a header to the request");
+               git_error_set(GIT_ERROR_OS, "failed to add a header to the request");
                goto on_error;
        }
 
@@ -517,13 +497,13 @@ static int winhttp_stream_connect(winhttp_stream *s)
                        goto on_error;
 
                if (git__utf8_to_16(ct, MAX_CONTENT_TYPE_LEN, git_buf_cstr(&buf)) < 0) {
-                       giterr_set(GITERR_OS, "failed to convert content-type to wide characters");
+                       git_error_set(GIT_ERROR_OS, "failed to convert content-type to wide characters");
                        goto on_error;
                }
 
                if (!WinHttpAddRequestHeaders(s->request, ct, (ULONG)-1L,
                        WINHTTP_ADDREQ_FLAG_ADD | WINHTTP_ADDREQ_FLAG_REPLACE)) {
-                       giterr_set(GITERR_OS, "failed to add a header to the request");
+                       git_error_set(GIT_ERROR_OS, "failed to add a header to the request");
                        goto on_error;
                }
 
@@ -534,13 +514,13 @@ static int winhttp_stream_connect(winhttp_stream *s)
                        goto on_error;
 
                if (git__utf8_to_16(ct, MAX_CONTENT_TYPE_LEN, git_buf_cstr(&buf)) < 0) {
-                       giterr_set(GITERR_OS, "failed to convert accept header to wide characters");
+                       git_error_set(GIT_ERROR_OS, "failed to convert accept header to wide characters");
                        goto on_error;
                }
 
                if (!WinHttpAddRequestHeaders(s->request, ct, (ULONG)-1L,
                        WINHTTP_ADDREQ_FLAG_ADD | WINHTTP_ADDREQ_FLAG_REPLACE)) {
-                       giterr_set(GITERR_OS, "failed to add a header to the request");
+                       git_error_set(GIT_ERROR_OS, "failed to add a header to the request");
                        goto on_error;
                }
        }
@@ -550,13 +530,13 @@ static int winhttp_stream_connect(winhttp_stream *s)
                        git_buf_clear(&buf);
                        git_buf_puts(&buf, t->owner->custom_headers.strings[i]);
                        if (git__utf8_to_16(ct, MAX_CONTENT_TYPE_LEN, git_buf_cstr(&buf)) < 0) {
-                               giterr_set(GITERR_OS, "failed to convert custom header to wide characters");
+                               git_error_set(GIT_ERROR_OS, "failed to convert custom header to wide characters");
                                goto on_error;
                        }
 
                        if (!WinHttpAddRequestHeaders(s->request, ct, (ULONG)-1L,
                                WINHTTP_ADDREQ_FLAG_ADD | WINHTTP_ADDREQ_FLAG_REPLACE)) {
-                               giterr_set(GITERR_OS, "failed to add a header to the request");
+                               git_error_set(GIT_ERROR_OS, "failed to add a header to the request");
                                goto on_error;
                        }
                }
@@ -599,7 +579,7 @@ on_error:
                winhttp_stream_close(s);
 
        git__free(proxy_url);
-       git_buf_free(&buf);
+       git_buf_dispose(&buf);
        return error;
 }
 
@@ -617,7 +597,7 @@ static int parse_unauthorized_response(
         * We can assume this was already done, since we know we are unauthorized.
         */
        if (!WinHttpQueryAuthSchemes(request, &supported, &first, &target)) {
-               giterr_set(GITERR_OS, "failed to parse supported auth schemes");
+               git_error_set(GIT_ERROR_OS, "failed to parse supported auth schemes");
                return -1;
        }
 
@@ -651,7 +631,7 @@ static int write_chunk(HINTERNET request, const char *buffer, size_t len)
        git_buf buf = GIT_BUF_INIT;
 
        /* Chunk header */
-       git_buf_printf(&buf, "%X\r\n", len);
+       git_buf_printf(&buf, "%"PRIXZ"\r\n", len);
 
        if (git_buf_oom(&buf))
                return -1;
@@ -659,18 +639,18 @@ static int write_chunk(HINTERNET request, const char *buffer, size_t len)
        if (!WinHttpWriteData(request,
                git_buf_cstr(&buf),     (DWORD)git_buf_len(&buf),
                &bytes_written)) {
-               git_buf_free(&buf);
-               giterr_set(GITERR_OS, "failed to write chunk header");
+               git_buf_dispose(&buf);
+               git_error_set(GIT_ERROR_OS, "failed to write chunk header");
                return -1;
        }
 
-       git_buf_free(&buf);
+       git_buf_dispose(&buf);
 
        /* Chunk body */
        if (!WinHttpWriteData(request,
                buffer, (DWORD)len,
                &bytes_written)) {
-               giterr_set(GITERR_OS, "failed to write chunk");
+               git_error_set(GIT_ERROR_OS, "failed to write chunk");
                return -1;
        }
 
@@ -678,7 +658,7 @@ static int write_chunk(HINTERNET request, const char *buffer, size_t len)
        if (!WinHttpWriteData(request,
                "\r\n", 2,
                &bytes_written)) {
-               giterr_set(GITERR_OS, "failed to write chunk footer");
+               git_error_set(GIT_ERROR_OS, "failed to write chunk footer");
                return -1;
        }
 
@@ -691,7 +671,7 @@ static int winhttp_close_connection(winhttp_subtransport *t)
 
        if (t->connection) {
                if (!WinHttpCloseHandle(t->connection)) {
-                       giterr_set(GITERR_OS, "unable to close connection");
+                       git_error_set(GIT_ERROR_OS, "unable to close connection");
                        ret = -1;
                }
 
@@ -700,7 +680,7 @@ static int winhttp_close_connection(winhttp_subtransport *t)
 
        if (t->session) {
                if (!WinHttpCloseHandle(t->session)) {
-                       giterr_set(GITERR_OS, "unable to close session");
+                       git_error_set(GIT_ERROR_OS, "unable to close session");
                        ret = -1;
                }
 
@@ -725,21 +705,21 @@ static void CALLBACK winhttp_status(
        status = *((DWORD *)info);
 
        if ((status & WINHTTP_CALLBACK_STATUS_FLAG_CERT_CN_INVALID))
-               giterr_set(GITERR_NET, "SSL certificate issued for different common name");
+               git_error_set(GIT_ERROR_NET, "SSL certificate issued for different common name");
        else if ((status & WINHTTP_CALLBACK_STATUS_FLAG_CERT_DATE_INVALID))
-               giterr_set(GITERR_NET, "SSL certificate has expired");
+               git_error_set(GIT_ERROR_NET, "SSL certificate has expired");
        else if ((status & WINHTTP_CALLBACK_STATUS_FLAG_INVALID_CA))
-               giterr_set(GITERR_NET, "SSL certificate signed by unknown CA");
+               git_error_set(GIT_ERROR_NET, "SSL certificate signed by unknown CA");
        else if ((status & WINHTTP_CALLBACK_STATUS_FLAG_INVALID_CERT))
-               giterr_set(GITERR_NET, "SSL certificate is invalid");
+               git_error_set(GIT_ERROR_NET, "SSL certificate is invalid");
        else if ((status & WINHTTP_CALLBACK_STATUS_FLAG_CERT_REV_FAILED))
-               giterr_set(GITERR_NET, "certificate revocation check failed");
+               git_error_set(GIT_ERROR_NET, "certificate revocation check failed");
        else if ((status & WINHTTP_CALLBACK_STATUS_FLAG_CERT_REVOKED))
-               giterr_set(GITERR_NET, "SSL certificate was revoked");
+               git_error_set(GIT_ERROR_NET, "SSL certificate was revoked");
        else if ((status & WINHTTP_CALLBACK_STATUS_FLAG_SECURITY_CHANNEL_ERROR))
-               giterr_set(GITERR_NET, "security libraries could not be loaded");
+               git_error_set(GIT_ERROR_NET, "security libraries could not be loaded");
        else
-               giterr_set(GITERR_NET, "unknown security error %d", status);
+               git_error_set(GIT_ERROR_NET, "unknown security error %lu", status);
 }
 
 static int winhttp_connect(
@@ -767,7 +747,7 @@ static int winhttp_connect(
 
        /* Prepare host */
        if (git__utf8_to_16_alloc(&wide_host, t->connection_data.host) < 0) {
-               giterr_set(GITERR_OS, "unable to convert host to wide characters");
+               git_error_set(GIT_ERROR_OS, "unable to convert host to wide characters");
                return -1;
        }
 
@@ -778,13 +758,13 @@ static int winhttp_connect(
        }
 
        if (git__utf8_to_16_alloc(&wide_ua, git_buf_cstr(&ua)) < 0) {
-               giterr_set(GITERR_OS, "unable to convert host to wide characters");
+               git_error_set(GIT_ERROR_OS, "unable to convert host to wide characters");
                git__free(wide_host);
-               git_buf_free(&ua);
+               git_buf_dispose(&ua);
                return -1;
        }
 
-       git_buf_free(&ua);
+       git_buf_dispose(&ua);
 
        /* Establish session */
        t->session = WinHttpOpen(
@@ -795,7 +775,7 @@ static int winhttp_connect(
                0);
 
        if (!t->session) {
-               giterr_set(GITERR_OS, "failed to init WinHTTP");
+               git_error_set(GIT_ERROR_OS, "failed to init WinHTTP");
                goto on_error;
        }
 
@@ -810,7 +790,7 @@ static int winhttp_connect(
                sizeof(protocols));
 
        if (!WinHttpSetTimeouts(t->session, default_timeout, default_connect_timeout, default_timeout, default_timeout)) {
-               giterr_set(GITERR_OS, "failed to set timeouts for WinHTTP");
+               git_error_set(GIT_ERROR_OS, "failed to set timeouts for WinHTTP");
                goto on_error;
        }
 
@@ -823,12 +803,12 @@ static int winhttp_connect(
                0);
 
        if (!t->connection) {
-               giterr_set(GITERR_OS, "failed to connect to host");
+               git_error_set(GIT_ERROR_OS, "failed to connect to host");
                goto on_error;
        }
 
        if (WinHttpSetStatusCallback(t->connection, winhttp_status, WINHTTP_CALLBACK_FLAG_SECURE_FAILURE, 0) == WINHTTP_INVALID_STATUS_CALLBACK) {
-               giterr_set(GITERR_OS, "failed to set status callback");
+               git_error_set(GIT_ERROR_OS, "failed to set status callback");
                goto on_error;
        }
 
@@ -862,7 +842,7 @@ static int do_send_request(winhttp_stream *s, size_t len, int ignore_length)
                                len, 0);
                }
 
-               if (success || GetLastError() != SEC_E_BUFFER_TOO_SMALL)
+               if (success || GetLastError() != (DWORD)SEC_E_BUFFER_TOO_SMALL)
                        break;
        }
 
@@ -874,10 +854,10 @@ static int send_request(winhttp_stream *s, size_t len, int ignore_length)
        int request_failed = 0, cert_valid = 1, error = 0;
        DWORD ignore_flags;
 
-       giterr_clear();
+       git_error_clear();
        if ((error = do_send_request(s, len, ignore_length)) < 0) {
                if (GetLastError() != ERROR_WINHTTP_SECURE_FAILURE) {
-                       giterr_set(GITERR_OS, "failed to send request");
+                       git_error_set(GIT_ERROR_OS, "failed to send request");
                        return -1;
                }
 
@@ -885,10 +865,10 @@ static int send_request(winhttp_stream *s, size_t len, int ignore_length)
                cert_valid = 0;
        }
 
-       giterr_clear();
+       git_error_clear();
        if ((error = certificate_check(s, cert_valid)) < 0) {
-               if (!giterr_last())
-                       giterr_set(GITERR_OS, "user cancelled certificate check");
+               if (!git_error_last())
+                       git_error_set(GIT_ERROR_OS, "user cancelled certificate check");
 
                return error;
        }
@@ -900,12 +880,12 @@ static int send_request(winhttp_stream *s, size_t len, int ignore_length)
        ignore_flags = no_check_cert_flags;
 
        if (!WinHttpSetOption(s->request, WINHTTP_OPTION_SECURITY_FLAGS, &ignore_flags, sizeof(ignore_flags))) {
-               giterr_set(GITERR_OS, "failed to set security options");
+               git_error_set(GIT_ERROR_OS, "failed to set security options");
                return -1;
        }
 
        if ((error = do_send_request(s, len, ignore_length)) < 0)
-               giterr_set(GITERR_OS, "failed to send request with unchecked certificate");
+               git_error_set(GIT_ERROR_OS, "failed to send request with unchecked certificate");
 
        return error;
 }
@@ -924,8 +904,8 @@ static int winhttp_stream_read(
 
 replay:
        /* Enforce a reasonable cap on the number of replays */
-       if (++replay_count >= 7) {
-               giterr_set(GITERR_NET, "too many redirects or authentication replays");
+       if (replay_count++ >= GIT_HTTP_REPLAY_MAX) {
+               git_error_set(GIT_ERROR_NET, "too many redirects or authentication replays");
                return -1;
        }
 
@@ -960,7 +940,7 @@ replay:
                        if (!WinHttpWriteData(s->request,
                                "0\r\n\r\n", 5,
                                &bytes_written)) {
-                               giterr_set(GITERR_OS, "failed to write final chunk");
+                               git_error_set(GIT_ERROR_OS, "failed to write final chunk");
                                return -1;
                        }
                }
@@ -971,7 +951,7 @@ replay:
                        if (INVALID_SET_FILE_POINTER == SetFilePointer(s->post_body,
                                        0, 0, FILE_BEGIN) &&
                                NO_ERROR != GetLastError()) {
-                               giterr_set(GITERR_OS, "failed to reset file pointer");
+                               git_error_set(GIT_ERROR_OS, "failed to reset file pointer");
                                return -1;
                        }
 
@@ -985,14 +965,14 @@ replay:
                                        &bytes_read, NULL) ||
                                        !bytes_read) {
                                        git__free(buffer);
-                                       giterr_set(GITERR_OS, "failed to read from temp file");
+                                       git_error_set(GIT_ERROR_OS, "failed to read from temp file");
                                        return -1;
                                }
 
                                if (!WinHttpWriteData(s->request, buffer,
                                        bytes_read, &bytes_written)) {
                                        git__free(buffer);
-                                       giterr_set(GITERR_OS, "failed to write data");
+                                       git_error_set(GIT_ERROR_OS, "failed to write data");
                                        return -1;
                                }
 
@@ -1008,7 +988,7 @@ replay:
                }
 
                if (!WinHttpReceiveResponse(s->request, 0)) {
-                       giterr_set(GITERR_OS, "failed to receive response");
+                       git_error_set(GIT_ERROR_OS, "failed to receive response");
                        return -1;
                }
 
@@ -1020,7 +1000,7 @@ replay:
                        WINHTTP_HEADER_NAME_BY_INDEX,
                        &status_code, &status_code_length,
                        WINHTTP_NO_HEADER_INDEX)) {
-                               giterr_set(GITERR_OS, "failed to retrieve status code");
+                               git_error_set(GIT_ERROR_OS, "failed to retrieve status code");
                                return -1;
                }
 
@@ -1050,12 +1030,12 @@ replay:
                                &location_length,
                                WINHTTP_NO_HEADER_INDEX) ||
                                GetLastError() != ERROR_INSUFFICIENT_BUFFER) {
-                               giterr_set(GITERR_OS, "failed to read Location header");
+                               git_error_set(GIT_ERROR_OS, "failed to read Location header");
                                return -1;
                        }
 
                        location = git__malloc(location_length);
-                       GITERR_CHECK_ALLOC(location);
+                       GIT_ERROR_CHECK_ALLOC(location);
 
                        if (!WinHttpQueryHeaders(s->request,
                                WINHTTP_QUERY_LOCATION,
@@ -1063,14 +1043,14 @@ replay:
                                location,
                                &location_length,
                                WINHTTP_NO_HEADER_INDEX)) {
-                               giterr_set(GITERR_OS, "failed to read Location header");
+                               git_error_set(GIT_ERROR_OS, "failed to read Location header");
                                git__free(location);
                                return -1;
                        }
 
                        /* Convert the Location header to UTF-8 */
                        if (git__utf16_to_8_alloc(&location8, location) < 0) {
-                               giterr_set(GITERR_OS, "failed to convert Location header to UTF-8");
+                               git_error_set(GIT_ERROR_OS, "failed to convert Location header to UTF-8");
                                git__free(location);
                                return -1;
                        }
@@ -1162,7 +1142,7 @@ replay:
                }
 
                if (HTTP_STATUS_OK != status_code) {
-                       giterr_set(GITERR_NET, "request failed with status code: %d", status_code);
+                       git_error_set(GIT_ERROR_NET, "request failed with status code: %lu", status_code);
                        return -1;
                }
 
@@ -1173,7 +1153,7 @@ replay:
                        p_snprintf(expected_content_type_8, MAX_CONTENT_TYPE_LEN, "application/x-git-%s-advertisement", s->service);
 
                if (git__utf8_to_16(expected_content_type, MAX_CONTENT_TYPE_LEN, expected_content_type_8) < 0) {
-                       giterr_set(GITERR_OS, "failed to convert expected content-type to wide characters");
+                       git_error_set(GIT_ERROR_OS, "failed to convert expected content-type to wide characters");
                        return -1;
                }
 
@@ -1184,12 +1164,12 @@ replay:
                        WINHTTP_HEADER_NAME_BY_INDEX,
                        &content_type, &content_type_length,
                        WINHTTP_NO_HEADER_INDEX)) {
-                               giterr_set(GITERR_OS, "failed to retrieve response content-type");
+                               git_error_set(GIT_ERROR_OS, "failed to retrieve response content-type");
                                return -1;
                }
 
                if (wcscmp(expected_content_type, content_type)) {
-                       giterr_set(GITERR_NET, "received unexpected content-type");
+                       git_error_set(GIT_ERROR_NET, "received unexpected content-type");
                        return -1;
                }
 
@@ -1201,7 +1181,7 @@ replay:
                (DWORD)buf_size,
                &dw_bytes_read))
        {
-               giterr_set(GITERR_OS, "failed to read data");
+               git_error_set(GIT_ERROR_OS, "failed to read data");
                return -1;
        }
 
@@ -1224,7 +1204,7 @@ static int winhttp_stream_write_single(
 
        /* This implementation of write permits only a single call. */
        if (s->sent_request) {
-               giterr_set(GITERR_NET, "subtransport configured for only one write");
+               git_error_set(GIT_ERROR_NET, "subtransport configured for only one write");
                return -1;
        }
 
@@ -1237,7 +1217,7 @@ static int winhttp_stream_write_single(
                        (LPCVOID)buffer,
                        (DWORD)len,
                        &bytes_written)) {
-               giterr_set(GITERR_OS, "failed to write data");
+               git_error_set(GIT_ERROR_OS, "failed to write data");
                return -1;
        }
 
@@ -1255,12 +1235,12 @@ static int put_uuid_string(LPWSTR buffer, size_t buffer_len_cch)
        if (RPC_S_OK != status &&
                RPC_S_UUID_LOCAL_ONLY != status &&
                RPC_S_UUID_NO_ADDRESS != status) {
-               giterr_set(GITERR_NET, "unable to generate name for temp file");
+               git_error_set(GIT_ERROR_NET, "unable to generate name for temp file");
                return -1;
        }
 
        if (buffer_len_cch < UUID_LENGTH_CCH + 1) {
-               giterr_set(GITERR_NET, "buffer too small for name of temp file");
+               git_error_set(GIT_ERROR_NET, "buffer too small for name of temp file");
                return -1;
        }
 
@@ -1275,7 +1255,7 @@ static int put_uuid_string(LPWSTR buffer, size_t buffer_len_cch)
                uuid.Data4[4], uuid.Data4[5], uuid.Data4[6], uuid.Data4[7]);
 
        if (result < UUID_LENGTH_CCH) {
-               giterr_set(GITERR_OS, "unable to generate name for temp file");
+               git_error_set(GIT_ERROR_OS, "unable to generate name for temp file");
                return -1;
        }
 
@@ -1287,7 +1267,7 @@ static int get_temp_file(LPWSTR buffer, DWORD buffer_len_cch)
        size_t len;
 
        if (!GetTempPathW(buffer_len_cch, buffer)) {
-               giterr_set(GITERR_OS, "failed to get temp path");
+               git_error_set(GIT_ERROR_OS, "failed to get temp path");
                return -1;
        }
 
@@ -1330,13 +1310,13 @@ static int winhttp_stream_write_buffered(
 
                if (INVALID_HANDLE_VALUE == s->post_body) {
                        s->post_body = NULL;
-                       giterr_set(GITERR_OS, "failed to create temporary file");
+                       git_error_set(GIT_ERROR_OS, "failed to create temporary file");
                        return -1;
                }
        }
 
        if (!WriteFile(s->post_body, buffer, (DWORD)len, &bytes_written, NULL)) {
-               giterr_set(GITERR_OS, "failed to write to temporary file");
+               git_error_set(GIT_ERROR_OS, "failed to write to temporary file");
                return -1;
        }
 
@@ -1363,7 +1343,7 @@ static int winhttp_stream_write_chunked(
                if (!WinHttpAddRequestHeaders(s->request,
                        transfer_encoding, (ULONG) -1L,
                        WINHTTP_ADDREQ_FLAG_ADD)) {
-                       giterr_set(GITERR_OS, "failed to add a header to the request");
+                       git_error_set(GIT_ERROR_OS, "failed to add a header to the request");
                        return -1;
                }
 
@@ -1432,7 +1412,7 @@ static int winhttp_stream_alloc(winhttp_subtransport *t, winhttp_stream **stream
                return -1;
 
        s = git__calloc(1, sizeof(winhttp_stream));
-       GITERR_CHECK_ALLOC(s);
+       GIT_ERROR_CHECK_ALLOC(s);
 
        s->parent.subtransport = &t->parent;
        s->parent.read = winhttp_stream_read;
@@ -1600,7 +1580,7 @@ int git_smart_subtransport_http(git_smart_subtransport **out, git_transport *own
                return -1;
 
        t = git__calloc(1, sizeof(winhttp_subtransport));
-       GITERR_CHECK_ALLOC(t);
+       GIT_ERROR_CHECK_ALLOC(t);
 
        t->owner = (transport_smart *)owner;
        t->parent.action = winhttp_action;
index c33e6af9e84d0f3633104996cc54a05c83548775..d3ba864ebe65cfe7a397b3289688fedd3241e7da 100644 (file)
@@ -123,7 +123,7 @@ static int read_tree_internal(git_tree_cache **out,
                unsigned int i;
 
                tree->children = git_pool_malloc(pool, tree->children_count * sizeof(git_tree_cache *));
-               GITERR_CHECK_ALLOC(tree->children);
+               GIT_ERROR_CHECK_ALLOC(tree->children);
 
                memset(tree->children, 0x0, tree->children_count * sizeof(git_tree_cache *));
 
@@ -138,7 +138,7 @@ static int read_tree_internal(git_tree_cache **out,
        return 0;
 
  corrupted:
-       giterr_set(GITERR_INDEX, "corrupted TREE extension in index");
+       git_error_set(GIT_ERROR_INDEX, "corrupted TREE extension in index");
        return -1;
 }
 
@@ -150,7 +150,7 @@ int git_tree_cache_read(git_tree_cache **tree, const char *buffer, size_t buffer
                return -1;
 
        if (buffer < buffer_end) {
-               giterr_set(GITERR_INDEX, "corrupted TREE extension in index (unexpected trailing data)");
+               git_error_set(GIT_ERROR_INDEX, "corrupted TREE extension in index (unexpected trailing data)");
                return -1;
        }
 
@@ -184,7 +184,7 @@ static int read_tree_recursive(git_tree_cache *cache, const git_tree *tree, git_
 
        cache->children_count = ntrees;
        cache->children = git_pool_mallocz(pool, ntrees * sizeof(git_tree_cache *));
-       GITERR_CHECK_ALLOC(cache->children);
+       GIT_ERROR_CHECK_ALLOC(cache->children);
 
        j = 0;
        for (i = 0; i < nentries; i++) {
@@ -237,7 +237,7 @@ int git_tree_cache_new(git_tree_cache **out, const char *name, git_pool *pool)
 
        name_len = strlen(name);
        tree = git_pool_malloc(pool, sizeof(git_tree_cache) + name_len + 1);
-       GITERR_CHECK_ALLOC(tree);
+       GIT_ERROR_CHECK_ALLOC(tree);
 
        memset(tree, 0x0, sizeof(git_tree_cache));
        /* NUL-terminated tree name */
index a014ce8071bc48cbc9f87baff9515c66070cbba8..466180451cb3f5a93520eb801d7466ae7d0a9169 100644 (file)
@@ -18,7 +18,7 @@
 #define MAX_FILEMODE_BYTES 6
 
 #define TREE_ENTRY_CHECK_NAMELEN(n) \
-       if (n > UINT16_MAX) { giterr_set(GITERR_INVALID, "tree entry path too long"); }
+       if (n > UINT16_MAX) { git_error_set(GIT_ERROR_INVALID, "tree entry path too long"); }
 
 static bool valid_filemode(const int filemode)
 {
@@ -74,14 +74,6 @@ int git_tree_entry_cmp(const git_tree_entry *e1, const git_tree_entry *e2)
        return entry_sort_cmp(e1, e2);
 }
 
-int git_tree_entry_icmp(const git_tree_entry *e1, const git_tree_entry *e2)
-{
-       return git_path_cmp(
-               e1->filename, e1->filename_len, git_tree_entry__is_tree(e1),
-               e2->filename, e2->filename_len, git_tree_entry__is_tree(e2),
-               git__strncasecmp);
-}
-
 /**
  * Allocate a new self-contained entry, with enough space after it to
  * store the filename and the id.
@@ -279,16 +271,16 @@ const git_oid *git_tree_entry_id(const git_tree_entry *entry)
        return entry->oid;
 }
 
-git_otype git_tree_entry_type(const git_tree_entry *entry)
+git_object_t git_tree_entry_type(const git_tree_entry *entry)
 {
        assert(entry);
 
        if (S_ISGITLINK(entry->attr))
-               return GIT_OBJ_COMMIT;
+               return GIT_OBJECT_COMMIT;
        else if (S_ISDIR(entry->attr))
-               return GIT_OBJ_TREE;
+               return GIT_OBJECT_TREE;
        else
-               return GIT_OBJ_BLOB;
+               return GIT_OBJECT_BLOB;
 }
 
 int git_tree_entry_to_object(
@@ -297,7 +289,7 @@ int git_tree_entry_to_object(
        const git_tree_entry *entry)
 {
        assert(entry && object_out);
-       return git_object_lookup(object_out, repo, entry->oid, GIT_OBJ_ANY);
+       return git_object_lookup(object_out, repo, entry->oid, GIT_OBJECT_ANY);
 }
 
 static const git_tree_entry *entry_fromname(
@@ -342,41 +334,6 @@ const git_tree_entry *git_tree_entry_byid(
        return NULL;
 }
 
-int git_tree__prefix_position(const git_tree *tree, const char *path)
-{
-       struct tree_key_search ksearch;
-       size_t at_pos, path_len;
-
-       if (!path)
-               return 0;
-
-       path_len = strlen(path);
-       TREE_ENTRY_CHECK_NAMELEN(path_len);
-
-       ksearch.filename = path;
-       ksearch.filename_len = (uint16_t)path_len;
-
-       /* Find tree entry with appropriate prefix */
-       git_array_search(
-               &at_pos, tree->entries, &homing_search_cmp, &ksearch);
-
-       for (; at_pos < tree->entries.size; ++at_pos) {
-               const git_tree_entry *entry = git_array_get(tree->entries, at_pos);
-               if (homing_search_cmp(&ksearch, entry) < 0)
-                       break;
-       }
-
-       for (; at_pos > 0; --at_pos) {
-               const git_tree_entry *entry =
-                       git_array_get(tree->entries, at_pos - 1);
-
-               if (homing_search_cmp(&ksearch, entry) > 0)
-                       break;
-       }
-
-       return (int)at_pos;
-}
-
 size_t git_tree_entrycount(const git_tree *tree)
 {
        assert(tree);
@@ -393,59 +350,60 @@ unsigned int git_treebuilder_entrycount(git_treebuilder *bld)
 static int tree_error(const char *str, const char *path)
 {
        if (path)
-               giterr_set(GITERR_TREE, "%s - %s", str, path);
+               git_error_set(GIT_ERROR_TREE, "%s - %s", str, path);
        else
-               giterr_set(GITERR_TREE, "%s", str);
+               git_error_set(GIT_ERROR_TREE, "%s", str);
        return -1;
 }
 
-static int parse_mode(unsigned int *modep, const char *buffer, const char **buffer_out)
+static int parse_mode(uint16_t *mode_out, const char *buffer, size_t buffer_len, const char **buffer_out)
 {
-       unsigned char c;
-       unsigned int mode = 0;
+       int32_t mode;
+       int error;
 
-       if (*buffer == ' ')
+       if (!buffer_len || git__isspace(*buffer))
                return -1;
 
-       while ((c = *buffer++) != ' ') {
-               if (c < '0' || c > '7')
-                       return -1;
-               mode = (mode << 3) + (c - '0');
-       }
-       *modep = mode;
-       *buffer_out = buffer;
+       if ((error = git__strntol32(&mode, buffer, buffer_len, buffer_out, 8)) < 0)
+               return error;
+
+       if (mode < 0 || mode > UINT16_MAX)
+               return -1;
+
+       *mode_out = mode;
 
        return 0;
 }
 
-int git_tree__parse(void *_tree, git_odb_object *odb_obj)
+int git_tree__parse_raw(void *_tree, const char *data, size_t size)
 {
        git_tree *tree = _tree;
        const char *buffer;
        const char *buffer_end;
 
-       if (git_odb_object_dup(&tree->odb_obj, odb_obj) < 0)
-               return -1;
-
-       buffer = git_odb_object_data(tree->odb_obj);
-       buffer_end = buffer + git_odb_object_size(tree->odb_obj);
+       buffer = data;
+       buffer_end = buffer + size;
 
+       tree->odb_obj = NULL;
        git_array_init_to_size(tree->entries, DEFAULT_TREE_SIZE);
-       GITERR_CHECK_ARRAY(tree->entries);
+       GIT_ERROR_CHECK_ARRAY(tree->entries);
 
        while (buffer < buffer_end) {
                git_tree_entry *entry;
                size_t filename_len;
                const char *nul;
-               unsigned int attr;
+               uint16_t attr;
 
-               if (parse_mode(&attr, buffer, &buffer) < 0 || !buffer)
+               if (parse_mode(&attr, buffer, buffer_end - buffer, &buffer) < 0 || !buffer)
                        return tree_error("failed to parse tree: can't parse filemode", NULL);
 
+               if (buffer >= buffer_end || (*buffer++) != ' ')
+                       return tree_error("failed to parse tree: missing space after filemode", NULL);
+
                if ((nul = memchr(buffer, 0, buffer_end - buffer)) == NULL)
                        return tree_error("failed to parse tree: object is corrupted", NULL);
 
-               if ((filename_len = nul - buffer) == 0)
+               if ((filename_len = nul - buffer) == 0 || filename_len > UINT16_MAX)
                        return tree_error("failed to parse tree: can't parse filename", NULL);
 
                if ((buffer_end - (nul + 1)) < GIT_OID_RAWSZ)
@@ -454,10 +412,10 @@ int git_tree__parse(void *_tree, git_odb_object *odb_obj)
                /* Allocate the entry */
                {
                        entry = git_array_alloc(tree->entries);
-                       GITERR_CHECK_ALLOC(entry);
+                       GIT_ERROR_CHECK_ALLOC(entry);
 
                        entry->attr = attr;
-                       entry->filename_len = filename_len;
+                       entry->filename_len = (uint16_t)filename_len;
                        entry->filename = buffer;
                        entry->oid = (git_oid *) ((char *) buffer + filename_len + 1);
                }
@@ -469,6 +427,21 @@ int git_tree__parse(void *_tree, git_odb_object *odb_obj)
        return 0;
 }
 
+int git_tree__parse(void *_tree, git_odb_object *odb_obj)
+{
+       git_tree *tree = _tree;
+
+       if ((git_tree__parse_raw(tree,
+           git_odb_object_data(odb_obj),
+           git_odb_object_size(odb_obj))) < 0)
+               return -1;
+
+       if (git_odb_object_dup(&tree->odb_obj, odb_obj) < 0)
+               return -1;
+
+       return 0;
+}
+
 static size_t find_next_dir(const char *dirname, git_index *index, size_t start)
 {
        size_t dirlen, i, entries = git_index_entrycount(index);
@@ -486,6 +459,36 @@ static size_t find_next_dir(const char *dirname, git_index *index, size_t start)
        return i;
 }
 
+static git_object_t otype_from_mode(git_filemode_t filemode)
+{
+       switch (filemode) {
+       case GIT_FILEMODE_TREE:
+               return GIT_OBJECT_TREE;
+       case GIT_FILEMODE_COMMIT:
+               return GIT_OBJECT_COMMIT;
+       default:
+               return GIT_OBJECT_BLOB;
+       }
+}
+
+static int check_entry(git_repository *repo, const char *filename, const git_oid *id, git_filemode_t filemode)
+{
+       if (!valid_filemode(filemode))
+               return tree_error("failed to insert entry: invalid filemode for file", filename);
+
+       if (!valid_entry_name(repo, filename))
+               return tree_error("failed to insert entry: invalid name for a tree entry", filename);
+
+       if (git_oid_iszero(id))
+               return tree_error("failed to insert entry: invalid null OID", filename);
+
+       if (filemode != GIT_FILEMODE_COMMIT &&
+           !git_object__is_valid(repo, id, otype_from_mode(filemode)))
+               return tree_error("failed to insert entry: invalid object specified", filename);
+
+       return 0;
+}
+
 static int append_entry(
        git_treebuilder *bld,
        const char *filename,
@@ -496,21 +499,18 @@ static int append_entry(
        git_tree_entry *entry;
        int error = 0;
 
-       if (validate && !valid_entry_name(bld->repo, filename))
-               return tree_error("failed to insert entry: invalid name for a tree entry", filename);
-
-       if (validate && git_oid_iszero(id))
-               return tree_error("failed to insert entry: invalid null OID for a tree entry", filename);
+       if (validate && ((error = check_entry(bld->repo, filename, id, filemode)) < 0))
+               return error;
 
        entry = alloc_entry(filename, strlen(filename), id);
-       GITERR_CHECK_ALLOC(entry);
+       GIT_ERROR_CHECK_ALLOC(entry);
 
        entry->attr = (uint16_t)filemode;
 
        git_strmap_insert(bld->map, entry->filename, entry, &error);
        if (error < 0) {
                git_tree_entry_free(entry);
-               giterr_set(GITERR_TREE, "failed to append entry %s to the tree builder", filename);
+               git_error_set(GIT_ERROR_TREE, "failed to append entry %s to the tree builder", filename);
                return -1;
        }
 
@@ -573,7 +573,7 @@ static int write_tree(
                        char *subdir, *last_comp;
 
                        subdir = git__strndup(entry->path, next_slash - entry->path);
-                       GITERR_CHECK_ALLOC(subdir);
+                       GIT_ERROR_CHECK_ALLOC(subdir);
 
                        /* Write out the subtree */
                        written = write_tree(&sub_oid, repo, index, subdir, i, shared_buf);
@@ -630,7 +630,7 @@ int git_tree__write_index(
        assert(oid && index && repo);
 
        if (git_index_has_conflicts(index)) {
-               giterr_set(GITERR_INDEX,
+               git_error_set(GIT_ERROR_INDEX,
                        "cannot create a tree from a not fully merged index.");
                return GIT_EUNMERGED;
        }
@@ -651,7 +651,7 @@ int git_tree__write_index(
        }
 
        ret = write_tree(oid, repo, index, "", 0, &shared_buf);
-       git_buf_free(&shared_buf);
+       git_buf_dispose(&shared_buf);
 
        if (old_ignore_case)
                git_index__set_ignore_case(index, true);
@@ -684,7 +684,7 @@ int git_treebuilder_new(
        assert(builder_p && repo);
 
        bld = git__calloc(1, sizeof(git_treebuilder));
-       GITERR_CHECK_ALLOC(bld);
+       GIT_ERROR_CHECK_ALLOC(bld);
 
        bld->repo = repo;
 
@@ -714,18 +714,6 @@ on_error:
        return -1;
 }
 
-static git_otype otype_from_mode(git_filemode_t filemode)
-{
-       switch (filemode) {
-       case GIT_FILEMODE_TREE:
-               return GIT_OBJ_TREE;
-       case GIT_FILEMODE_COMMIT:
-               return GIT_OBJ_COMMIT;
-       default:
-               return GIT_OBJ_BLOB;
-       }
-}
-
 int git_treebuilder_insert(
        const git_tree_entry **entry_out,
        git_treebuilder *bld,
@@ -735,22 +723,12 @@ int git_treebuilder_insert(
 {
        git_tree_entry *entry;
        int error;
-       git_strmap_iter pos;
+       size_t pos;
 
        assert(bld && id && filename);
 
-       if (!valid_filemode(filemode))
-               return tree_error("failed to insert entry: invalid filemode for file", filename);
-
-       if (!valid_entry_name(bld->repo, filename))
-               return tree_error("failed to insert entry: invalid name for a tree entry", filename);
-
-       if (git_oid_iszero(id))
-               return tree_error("failed to insert entry: invalid null OID", filename);
-
-       if (filemode != GIT_FILEMODE_COMMIT &&
-           !git_object__is_valid(bld->repo, id, otype_from_mode(filemode)))
-               return tree_error("failed to insert entry: invalid object specified", filename);
+       if ((error = check_entry(bld->repo, filename, id, filemode)) < 0)
+               return error;
 
        pos = git_strmap_lookup_index(bld->map, filename);
        if (git_strmap_valid_index(bld->map, pos)) {
@@ -758,13 +736,13 @@ int git_treebuilder_insert(
                git_oid_cpy((git_oid *) entry->oid, id);
        } else {
                entry = alloc_entry(filename, strlen(filename), id);
-               GITERR_CHECK_ALLOC(entry);
+               GIT_ERROR_CHECK_ALLOC(entry);
 
                git_strmap_insert(bld->map, entry->filename, entry, &error);
 
                if (error < 0) {
                        git_tree_entry_free(entry);
-                       giterr_set(GITERR_TREE, "failed to insert %s", filename);
+                       git_error_set(GIT_ERROR_TREE, "failed to insert %s", filename);
                        return -1;
                }
        }
@@ -780,7 +758,7 @@ int git_treebuilder_insert(
 static git_tree_entry *treebuilder_get(git_treebuilder *bld, const char *filename)
 {
        git_tree_entry *entry = NULL;
-       git_strmap_iter pos;
+       size_t pos;
 
        assert(bld && filename);
 
@@ -816,7 +794,7 @@ int git_treebuilder_write(git_oid *oid, git_treebuilder *bld)
 
        error = git_treebuilder_write_with_buffer(oid, bld, &buffer);
 
-       git_buf_free(&buffer);
+       git_buf_dispose(&buffer);
        return error;
 }
 
@@ -862,7 +840,7 @@ int git_treebuilder_write_with_buffer(git_oid *oid, git_treebuilder *bld, git_bu
        }
 
        if ((error = git_repository_odb__weakptr(&odb, bld->repo)) == 0)
-               error = git_odb_write(oid, odb, tree->ptr, tree->size, GIT_OBJ_TREE);
+               error = git_odb_write(oid, odb, tree->ptr, tree->size, GIT_OBJECT_TREE);
 
 out:
        git_vector_free(&entries);
@@ -932,14 +910,14 @@ int git_tree_entry_bypath(
        filename_len = subpath_len(path);
 
        if (filename_len == 0) {
-               giterr_set(GITERR_TREE, "invalid tree path given");
+               git_error_set(GIT_ERROR_TREE, "invalid tree path given");
                return GIT_ENOTFOUND;
        }
 
        entry = entry_fromname(root, path, filename_len);
 
        if (entry == NULL) {
-               giterr_set(GITERR_TREE,
+               git_error_set(GIT_ERROR_TREE,
                           "the path '%.*s' does not exist in the given tree", (int) filename_len, path);
                return GIT_ENOTFOUND;
        }
@@ -949,7 +927,7 @@ int git_tree_entry_bypath(
                /* If there are more components in the path...
                 * then this entry *must* be a tree */
                if (!git_tree_entry__is_tree(entry)) {
-                       giterr_set(GITERR_TREE,
+                       git_error_set(GIT_ERROR_TREE,
                                   "the path '%.*s' exists but is not a tree", (int) filename_len, path);
                        return GIT_ENOTFOUND;
                }
@@ -994,7 +972,7 @@ static int tree_walk(
                if (preorder) {
                        error = callback(path->ptr, entry, payload);
                        if (error < 0) { /* negative value stops iteration */
-                               giterr_set_after_callback_function(error, "git_tree_walk");
+                               git_error_set_after_callback_function(error, "git_tree_walk");
                                break;
                        }
                        if (error > 0) { /* positive value skips this entry */
@@ -1030,7 +1008,7 @@ static int tree_walk(
                if (!preorder) {
                        error = callback(path->ptr, entry, payload);
                        if (error < 0) { /* negative value stops iteration */
-                               giterr_set_after_callback_function(error, "git_tree_walk");
+                               git_error_set_after_callback_function(error, "git_tree_walk");
                                break;
                        }
                        error = 0;
@@ -1050,14 +1028,14 @@ int git_tree_walk(
        git_buf root_path = GIT_BUF_INIT;
 
        if (mode != GIT_TREEWALK_POST && mode != GIT_TREEWALK_PRE) {
-               giterr_set(GITERR_INVALID, "invalid walking mode for tree walk");
+               git_error_set(GIT_ERROR_INVALID, "invalid walking mode for tree walk");
                return -1;
        }
 
        error = tree_walk(
                tree, callback, &root_path, payload, (mode == GIT_TREEWALK_PRE));
 
-       git_buf_free(&root_path);
+       git_buf_dispose(&root_path);
 
        return error;
 }
@@ -1074,7 +1052,7 @@ static int on_dup_entry(void **old, void *new)
 {
        GIT_UNUSED(old); GIT_UNUSED(new);
 
-       giterr_set(GITERR_TREE, "duplicate entries given for update");
+       git_error_set(GIT_ERROR_TREE, "duplicate entries given for update");
        return -1;
 }
 
@@ -1143,14 +1121,14 @@ static int create_popped_tree(tree_stack_entry *current, tree_stack_entry *poppe
        git_buf_puts(component, popped->name);
        git__free(popped->name);
 
-       GITERR_CHECK_ALLOC(component->ptr);
+       GIT_ERROR_CHECK_ALLOC(component->ptr);
 
        /* Error out if this would create a D/F conflict in this update */
        if (current->tree) {
                const git_tree_entry *to_replace;
                to_replace = git_tree_entry_byname(current->tree, component->ptr);
-               if (to_replace && git_tree_entry_type(to_replace) != GIT_OBJ_TREE) {
-                       giterr_set(GITERR_TREE, "D/F conflict when updating tree");
+               if (to_replace && git_tree_entry_type(to_replace) != GIT_OBJECT_TREE) {
+                       git_error_set(GIT_ERROR_TREE, "D/F conflict when updating tree");
                        return -1;
                }
        }
@@ -1177,7 +1155,7 @@ int git_tree_create_updated(git_oid *out, git_repository *repo, git_tree *baseli
        }
 
        root_elem = git_array_alloc(stack);
-       GITERR_CHECK_ALLOC(root_elem);
+       GIT_ERROR_CHECK_ALLOC(root_elem);
        memset(root_elem, 0, sizeof(*root_elem));
 
        if (baseline && (error = git_tree_dup(&root_elem->tree, baseline)) < 0)
@@ -1226,14 +1204,14 @@ int git_tree_create_updated(git_oid *out, git_repository *repo, git_tree *baseli
                        if (!entry)
                                entry = treebuilder_get(last->bld, component.ptr);
 
-                       if (entry && git_tree_entry_type(entry) != GIT_OBJ_TREE) {
-                               giterr_set(GITERR_TREE, "D/F conflict when updating tree");
+                       if (entry && git_tree_entry_type(entry) != GIT_OBJECT_TREE) {
+                               git_error_set(GIT_ERROR_TREE, "D/F conflict when updating tree");
                                error = -1;
                                goto cleanup;
                        }
 
                        new_entry = git_array_alloc(stack);
-                       GITERR_CHECK_ALLOC(new_entry);
+                       GIT_ERROR_CHECK_ALLOC(new_entry);
                        memset(new_entry, 0, sizeof(*new_entry));
 
                        new_entry->tree = NULL;
@@ -1244,7 +1222,7 @@ int git_tree_create_updated(git_oid *out, git_repository *repo, git_tree *baseli
                                goto cleanup;
 
                        new_entry->name = git__strdup(component.ptr);
-                       GITERR_CHECK_ALLOC(new_entry->name);
+                       GIT_ERROR_CHECK_ALLOC(new_entry->name);
 
                        /* Get to the start of the next component */
                        path += component.size + 1;
@@ -1260,7 +1238,7 @@ int git_tree_create_updated(git_oid *out, git_repository *repo, git_tree *baseli
                                const git_tree_entry *e = git_treebuilder_get(last->bld, basename);
                                if (e && git_tree_entry_type(e) != git_object__type_from_filemode(update->filemode)) {
                                        git__free(basename);
-                                       giterr_set(GITERR_TREE, "cannot replace '%s' with '%s' at '%s'",
+                                       git_error_set(GIT_ERROR_TREE, "cannot replace '%s' with '%s' at '%s'",
                                                   git_object_type2string(git_tree_entry_type(e)),
                                                   git_object_type2string(git_object__type_from_filemode(update->filemode)),
                                                   update->path);
@@ -1280,7 +1258,7 @@ int git_tree_create_updated(git_oid *out, git_repository *repo, git_tree *baseli
                                break;
                        }
                        default:
-                               giterr_set(GITERR_TREE, "unknown action for update");
+                               git_error_set(GIT_ERROR_TREE, "unknown action for update");
                                error = -1;
                                goto cleanup;
                }
@@ -1322,7 +1300,7 @@ cleanup:
                }
        }
 
-       git_buf_free(&component);
+       git_buf_dispose(&component);
        git_array_clear(stack);
        git_vector_free(&entries);
        return error;
index 00f4b06eb2e03307ed8f925de58d8e08e18de8ed..973ba15d0a3134d82ae0b376a6025866a36016ed 100644 (file)
@@ -39,20 +39,9 @@ GIT_INLINE(bool) git_tree_entry__is_tree(const struct git_tree_entry *e)
        return (S_ISDIR(e->attr) && !S_ISGITLINK(e->attr));
 }
 
-extern int git_tree_entry_icmp(const git_tree_entry *e1, const git_tree_entry *e2);
-
 void git_tree__free(void *tree);
 int git_tree__parse(void *tree, git_odb_object *obj);
-
-/**
- * Lookup the first position in the tree with a given prefix.
- *
- * @param tree a previously loaded tree.
- * @param prefix the beginning of a path to find in the tree.
- * @return index of the first item at or after the given prefix.
- */
-int git_tree__prefix_position(const git_tree *tree, const char *prefix);
-
+int git_tree__parse_raw(void *_tree, const char *data, size_t size);
 
 /**
  * Write a tree to the given repository
index 8a07fcff90ebc615e895338d2b5d9a3775b8b39c..1ebbced5c0ea551d7d1106ec7e504563635f63bf 100644 (file)
@@ -20,7 +20,7 @@ int git__page_size(size_t *page_size)
 {
        long sc_page_size = sysconf(_SC_PAGE_SIZE);
        if (sc_page_size < 0) {
-               giterr_set(GITERR_OS, "can't determine system page size");
+               git_error_set(GIT_ERROR_OS, "can't determine system page size");
                return -1;
        }
        *page_size = (size_t) sc_page_size;
@@ -55,7 +55,7 @@ int p_mmap(git_map *out, size_t len, int prot, int flags, int fd, git_off_t offs
        out->data = mmap(NULL, len, mprot, mflag, fd, offset);
 
        if (!out->data || out->data == MAP_FAILED) {
-               giterr_set(GITERR_OS, "failed to mmap. Could not write data");
+               git_error_set(GIT_ERROR_OS, "failed to mmap. Could not write data");
                return -1;
        }
 
index 911921857d688d398501afaf857bd6f1a0cf09bd..984a3d7804dba1dff4b02aab85431a73e531e955 100644 (file)
@@ -49,7 +49,7 @@ int git_strarray_copy(git_strarray *tgt, const git_strarray *src)
                return 0;
 
        tgt->strings = git__calloc(src->count, sizeof(char *));
-       GITERR_CHECK_ALLOC(tgt->strings);
+       GIT_ERROR_CHECK_ALLOC(tgt->strings);
 
        for (i = 0; i < src->count; ++i) {
                if (!src->strings[i])
@@ -83,35 +83,55 @@ int git__strntol64(int64_t *result, const char *nptr, size_t nptr_len, const cha
        /*
         * White space
         */
-       while (git__isspace(*p))
-               p++;
+       while (nptr_len && git__isspace(*p))
+               p++, nptr_len--;
+
+       if (!nptr_len)
+               goto Return;
 
        /*
         * Sign
         */
-       if (*p == '-' || *p == '+')
-               if (*p++ == '-')
+       if (*p == '-' || *p == '+') {
+               if (*p == '-')
                        neg = 1;
+               p++;
+               nptr_len--;
+       }
+
+       if (!nptr_len)
+               goto Return;
 
        /*
-        * Base
+        * Automatically detect the base if none was given to us.
+        * Right now, we assume that a number starting with '0x'
+        * is hexadecimal and a number starting with '0' is
+        * octal.
         */
        if (base == 0) {
                if (*p != '0')
                        base = 10;
-               else {
+               else if (nptr_len > 2 && (p[1] == 'x' || p[1] == 'X'))
+                       base = 16;
+               else
                        base = 8;
-                       if (p[1] == 'x' || p[1] == 'X') {
-                               p += 2;
-                               base = 16;
-                       }
-               }
-       } else if (base == 16 && *p == '0') {
-               if (p[1] == 'x' || p[1] == 'X')
-                       p += 2;
-       } else if (base < 0 || 36 < base)
+       }
+
+       if (base < 0 || 36 < base)
                goto Return;
 
+       /*
+        * Skip prefix of '0x'-prefixed hexadecimal numbers. There is no
+        * need to do the same for '0'-prefixed octal numbers as a
+        * leading '0' does not have any impact. Also, if we skip a
+        * leading '0' in such a string, then we may end up with no
+        * digits left and produce an error later on which isn't one.
+        */
+       if (base == 16 && nptr_len > 2 && p[0] == '0' && (p[1] == 'x' || p[1] == 'X')) {
+               p += 2;
+               nptr_len -= 2;
+       }
+
        /*
         * Non-empty sequence of digits
         */
@@ -144,7 +164,7 @@ int git__strntol64(int64_t *result, const char *nptr, size_t nptr_len, const cha
 
 Return:
        if (ndig == 0) {
-               giterr_set(GITERR_INVALID, "failed to convert string to long: not a number");
+               git_error_set(GIT_ERROR_INVALID, "failed to convert string to long: not a number");
                return -1;
        }
 
@@ -152,7 +172,7 @@ Return:
                *endptr = p;
 
        if (ovfl) {
-               giterr_set(GITERR_INVALID, "failed to convert string to long: overflow error");
+               git_error_set(GIT_ERROR_INVALID, "failed to convert string to long: overflow error");
                return -1;
        }
 
@@ -173,7 +193,7 @@ int git__strntol32(int32_t *result, const char *nptr, size_t nptr_len, const cha
        tmp_int = tmp_long & 0xFFFFFFFF;
        if (tmp_int != tmp_long) {
                int len = tmp_endptr - nptr;
-               giterr_set(GITERR_INVALID, "failed to convert: '%.*s' is too large", len, nptr);
+               git_error_set(GIT_ERROR_INVALID, "failed to convert: '%.*s' is too large", len, nptr);
                return -1;
        }
 
@@ -849,6 +869,22 @@ double git_time_monotonic(void)
        return git__timer();
 }
 
+size_t git__utf8_valid_buf_length(const uint8_t *str, size_t str_len)
+{
+       size_t offset = 0;
+
+       while (offset < str_len) {
+               int length = git__utf8_charlen(str + offset, str_len - offset);
+
+               if (length < 0)
+                       break;
+
+               offset += length;
+       }
+
+       return offset;
+}
+
 #ifdef GIT_WIN32
 int git__getenv(git_buf *out, const char *name)
 {
@@ -863,7 +899,7 @@ int git__getenv(git_buf *out, const char *name)
 
        if ((value_len = GetEnvironmentVariableW(wide_name, NULL, 0)) > 0) {
                wide_value = git__malloc(value_len * sizeof(wchar_t));
-               GITERR_CHECK_ALLOC(wide_value);
+               GIT_ERROR_CHECK_ALLOC(wide_value);
 
                value_len = GetEnvironmentVariableW(wide_name, wide_value, value_len);
        }
@@ -873,7 +909,7 @@ int git__getenv(git_buf *out, const char *name)
        else if (GetLastError() == ERROR_ENVVAR_NOT_FOUND)
                error = GIT_ENOTFOUND;
        else
-               giterr_set(GITERR_OS, "could not read environment variable '%s'", name);
+               git_error_set(GIT_ERROR_OS, "could not read environment variable '%s'", name);
 
        git__free(wide_name);
        git__free(wide_value);
index f2ea22ebf22feb9775471b9078907015efe6bbb8..4314295f10566a6d1f36b4557620a8d1e342f9a2 100644 (file)
  */
 #define CONST_STRLEN(x) ((sizeof(x)/sizeof(x[0])) - 1)
 
-#if defined(GIT_MSVC_CRTDBG)
-
-/* Enable MSVC CRTDBG memory leak reporting.
- *
- * We DO NOT use the "_CRTDBG_MAP_ALLOC" macro described in the MSVC
- * documentation because all allocs/frees in libgit2 already go through
- * the "git__" routines defined in this file.  Simply using the normal
- * reporting mechanism causes all leaks to be attributed to a routine
- * here in util.h (ie, the actual call to calloc()) rather than the
- * caller of git__calloc().
- *
- * Therefore, we declare a set of "git__crtdbg__" routines to replace
- * the corresponding "git__" routines and re-define the "git__" symbols
- * as macros.  This allows us to get and report the file:line info of
- * the real caller.
- *
- * We DO NOT replace the "git__free" routine because it needs to remain
- * a function pointer because it is used as a function argument when
- * setting up various structure "destructors".
- *
- * We also DO NOT use the "_CRTDBG_MAP_ALLOC" macro because it causes
- * "free" to be remapped to "_free_dbg" and this causes problems for
- * structures which define a field named "free".
- *
- * Finally, CRTDBG must be explicitly enabled and configured at program
- * startup.  See tests/main.c for an example.
- */
-
-#include "win32/w32_crtdbg_stacktrace.h"
-
-#define git__malloc(len)                      git__crtdbg__malloc(len, __FILE__, __LINE__)
-#define git__calloc(nelem, elsize)            git__crtdbg__calloc(nelem, elsize, __FILE__, __LINE__)
-#define git__strdup(str)                      git__crtdbg__strdup(str, __FILE__, __LINE__)
-#define git__strndup(str, n)                  git__crtdbg__strndup(str, n, __FILE__, __LINE__)
-#define git__substrdup(str, n)                git__crtdbg__substrdup(str, n, __FILE__, __LINE__)
-#define git__realloc(ptr, size)               git__crtdbg__realloc(ptr, size, __FILE__, __LINE__)
-#define git__reallocarray(ptr, nelem, elsize) git__crtdbg__reallocarray(ptr, nelem, elsize, __FILE__, __LINE__)
-#define git__mallocarray(nelem, elsize)       git__crtdbg__mallocarray(nelem, elsize, __FILE__, __LINE__)
-
-#else
-
-/*
- * Custom memory allocation wrappers
- * that set error code and error message
- * on allocation failure
- */
-GIT_INLINE(void *) git__malloc(size_t len)
-{
-       void *ptr = malloc(len);
-       if (!ptr) giterr_set_oom();
-       return ptr;
-}
-
-GIT_INLINE(void *) git__calloc(size_t nelem, size_t elsize)
-{
-       void *ptr = calloc(nelem, elsize);
-       if (!ptr) giterr_set_oom();
-       return ptr;
-}
-
-GIT_INLINE(char *) git__strdup(const char *str)
-{
-       char *ptr = strdup(str);
-       if (!ptr) giterr_set_oom();
-       return ptr;
-}
-
-GIT_INLINE(char *) git__strndup(const char *str, size_t n)
-{
-       size_t length = 0, alloclength;
-       char *ptr;
-
-       length = p_strnlen(str, n);
-
-       if (GIT_ADD_SIZET_OVERFLOW(&alloclength, length, 1) ||
-               !(ptr = git__malloc(alloclength)))
-               return NULL;
-
-       if (length)
-               memcpy(ptr, str, length);
-
-       ptr[length] = '\0';
-
-       return ptr;
-}
-
-/* NOTE: This doesn't do null or '\0' checking.  Watch those boundaries! */
-GIT_INLINE(char *) git__substrdup(const char *start, size_t n)
-{
-       char *ptr;
-       size_t alloclen;
-
-       if (GIT_ADD_SIZET_OVERFLOW(&alloclen, n, 1) ||
-               !(ptr = git__malloc(alloclen)))
-               return NULL;
-
-       memcpy(ptr, start, n);
-       ptr[n] = '\0';
-       return ptr;
-}
-
-GIT_INLINE(void *) git__realloc(void *ptr, size_t size)
-{
-       void *new_ptr = realloc(ptr, size);
-       if (!new_ptr) giterr_set_oom();
-       return new_ptr;
-}
-
-/**
- * Similar to `git__realloc`, except that it is suitable for reallocing an
- * array to a new number of elements of `nelem`, each of size `elsize`.
- * The total size calculation is checked for overflow.
- */
-GIT_INLINE(void *) git__reallocarray(void *ptr, size_t nelem, size_t elsize)
-{
-       size_t newsize;
-       return GIT_MULTIPLY_SIZET_OVERFLOW(&newsize, nelem, elsize) ?
-               NULL : realloc(ptr, newsize);
-}
-
-/**
- * Similar to `git__calloc`, except that it does not zero memory.
- */
-GIT_INLINE(void *) git__mallocarray(size_t nelem, size_t elsize)
-{
-       return git__reallocarray(NULL, nelem, elsize);
-}
-
-#endif /* !MSVC_CTRDBG */
-
-GIT_INLINE(void) git__free(void *ptr)
-{
-       free(ptr);
-}
-
 #define STRCMP_CASESELECT(IGNORE_CASE, STR1, STR2) \
        ((IGNORE_CASE) ? strcasecmp((STR1), (STR2)) : strcmp((STR1), (STR2)))
 
@@ -454,6 +319,16 @@ extern size_t git__unescape(char *str);
  */
 extern int git__utf8_iterate(const uint8_t *str, int str_len, int32_t *dst);
 
+/*
+ * Iterate through an UTF-8 string and stops after finding any invalid UTF-8
+ * codepoints.
+ *
+ * @param str string to scan
+ * @param str_len size of the string
+ * @return length in bytes of the string that contains valid data
+ */
+extern size_t git__utf8_valid_buf_length(const uint8_t *str, size_t str_len);
+
 /*
  * Safely zero-out memory, making sure that the compiler
  * doesn't optimize away the operation.
@@ -544,4 +419,6 @@ GIT_INLINE(double) git__timer(void)
 
 extern int git__getenv(git_buf *out, const char *name);
 
+#include "alloc.h"
+
 #endif
index 98aa7bb2fd2d0ed1f900433a349728a7dabec692..b51e7644b56269bfea532d06628808d8c5b4ffe7 100644 (file)
@@ -36,7 +36,7 @@ GIT_INLINE(int) resize_vector(git_vector *v, size_t new_size)
                return 0;
 
        new_contents = git__reallocarray(v->contents, new_size, sizeof(void *));
-       GITERR_CHECK_ALLOC(new_contents);
+       GIT_ERROR_CHECK_ALLOC(new_contents);
 
        v->_alloc_size = new_size;
        v->contents = new_contents;
@@ -65,9 +65,9 @@ int git_vector_dup(git_vector *v, const git_vector *src, git_vector_cmp cmp)
 
        if (src->length) {
                size_t bytes;
-               GITERR_CHECK_ALLOC_MULTIPLY(&bytes, src->length, sizeof(void *));
+               GIT_ERROR_CHECK_ALLOC_MULTIPLY(&bytes, src->length, sizeof(void *));
                v->contents = git__malloc(bytes);
-               GITERR_CHECK_ALLOC(v->contents);
+               GIT_ERROR_CHECK_ALLOC(v->contents);
                v->_alloc_size = src->length;
                memcpy(v->contents, src->contents, bytes);
        }
@@ -342,7 +342,7 @@ int git_vector_insert_null(git_vector *v, size_t idx, size_t insert_len)
 
        assert(insert_len > 0 && idx <= v->length);
 
-       GITERR_CHECK_ALLOC_ADD(&new_length, v->length, insert_len);
+       GIT_ERROR_CHECK_ALLOC_ADD(&new_length, v->length, insert_len);
 
        if (new_length > v->_alloc_size && resize_vector(v, new_length) < 0)
                return -1;
index 1d37874e472e94ca036acb4dc18369edc4e8ebe6..44052caf04a766a45d813c029c2d852d8f590b43 100644 (file)
@@ -31,7 +31,7 @@ git__DIR *git__opendir(const char *dir)
        new->h = FindFirstFileW(filter_w, &new->f);
 
        if (new->h == INVALID_HANDLE_VALUE) {
-               giterr_set(GITERR_OS, "could not open directory '%s'", dir);
+               git_error_set(GIT_ERROR_OS, "could not open directory '%s'", dir);
                git__free(new);
                return NULL;
        }
@@ -56,7 +56,7 @@ int git__readdir_ext(
        else if (!FindNextFileW(d->h, &d->f)) {
                if (GetLastError() == ERROR_NO_MORE_FILES)
                        return 0;
-               giterr_set(GITERR_OS, "could not read from directory '%s'", d->dir);
+               git_error_set(GIT_ERROR_OS, "could not read from directory '%s'", d->dir);
                return -1;
        }
 
@@ -101,7 +101,7 @@ void git__rewinddir(git__DIR *d)
        d->h = FindFirstFileW(filter_w, &d->f);
 
        if (d->h == INVALID_HANDLE_VALUE)
-               giterr_set(GITERR_OS, "could not open directory '%s'", d->dir);
+               git_error_set(GIT_ERROR_OS, "could not open directory '%s'", d->dir);
        else
                d->first = 1;
 }
index d56aa1fd20455e225427e677b90ae65048bafcfa..7f077e154ffba6a9f821ca2f19b53a42701fa4dd 100644 (file)
@@ -39,7 +39,7 @@ static int win32_path_to_8(git_buf *dest, const wchar_t *src)
        git_win32_utf8_path utf8_path;
 
        if (git_win32_path_to_utf8(utf8_path, src) < 0) {
-               giterr_set(GITERR_OS, "unable to convert path to UTF-8");
+               git_error_set(GIT_ERROR_OS, "unable to convert path to UTF-8");
                return -1;
        }
 
@@ -158,7 +158,7 @@ static int win32_find_existing_dirs(
                }
        }
 
-       git_buf_free(&buf);
+       git_buf_dispose(&buf);
 
        return (git_buf_oom(out) ? -1 : 0);
 }
@@ -185,7 +185,7 @@ int git_win32__find_system_dirs(git_buf *out, const wchar_t *subdir)
                        &buf, HKEY_LOCAL_MACHINE, REG_MSYSGIT_INSTALL, subdir) && buf.size)
                git_buf_join(out, GIT_PATH_LIST_SEPARATOR, out->ptr, buf.ptr);
 
-       git_buf_free(&buf);
+       git_buf_dispose(&buf);
 
        return (git_buf_oom(out) ? -1 : 0);
 }
index 6a17aeb64e7f58cb592d6d5cf7c4e3ffe63d0217..5769cb869668792d031aafd55b7f932dc746f67a 100644 (file)
@@ -69,7 +69,7 @@ int p_mmap(git_map *out, size_t len, int prot, int flags, int fd, git_off_t offs
 
        if (fh == INVALID_HANDLE_VALUE) {
                errno = EBADF;
-               giterr_set(GITERR_OS, "failed to mmap. Invalid handle value");
+               git_error_set(GIT_ERROR_OS, "failed to mmap. Invalid handle value");
                return -1;
        }
 
@@ -88,13 +88,13 @@ int p_mmap(git_map *out, size_t len, int prot, int flags, int fd, git_off_t offs
 
        if (page_offset != 0) { /* offset must be multiple of the allocation granularity */
                errno = EINVAL;
-               giterr_set(GITERR_OS, "failed to mmap. Offset must be multiple of allocation granularity");
+               git_error_set(GIT_ERROR_OS, "failed to mmap. Offset must be multiple of allocation granularity");
                return -1;
        }
 
        out->fmh = CreateFileMapping(fh, NULL, fmap_prot, 0, 0, NULL);
        if (!out->fmh || out->fmh == INVALID_HANDLE_VALUE) {
-               giterr_set(GITERR_OS, "failed to mmap. Invalid handle value");
+               git_error_set(GIT_ERROR_OS, "failed to mmap. Invalid handle value");
                out->fmh = NULL;
                return -1;
        }
@@ -105,7 +105,7 @@ int p_mmap(git_map *out, size_t len, int prot, int flags, int fd, git_off_t offs
        off_hi = (DWORD)(page_start >> 32);
        out->data = MapViewOfFile(out->fmh, view_prot, off_hi, off_low, len);
        if (!out->data) {
-               giterr_set(GITERR_OS, "failed to mmap. No data written");
+               git_error_set(GIT_ERROR_OS, "failed to mmap. No data written");
                CloseHandle(out->fmh);
                out->fmh = NULL;
                return -1;
@@ -123,7 +123,7 @@ int p_munmap(git_map *map)
 
        if (map->data) {
                if (!UnmapViewOfFile(map->data)) {
-                       giterr_set(GITERR_OS, "failed to munmap. Could not unmap view of file");
+                       git_error_set(GIT_ERROR_OS, "failed to munmap. Could not unmap view of file");
                        error = -1;
                }
                map->data = NULL;
@@ -131,7 +131,7 @@ int p_munmap(git_map *map)
 
        if (map->fmh) {
                if (!CloseHandle(map->fmh)) {
-                       giterr_set(GITERR_OS, "failed to munmap. Could not close handle");
+                       git_error_set(GIT_ERROR_OS, "failed to munmap. Could not close handle");
                        error = -1;
                }
                map->fmh = NULL;
index ea77820a2e76a83a370a1d18a68605f944fd25a3..4cf471f1d3c394388d088e0c08b08802c48c6260 100644 (file)
 typedef unsigned short mode_t;
 typedef SSIZE_T ssize_t;
 
+#ifdef _WIN64
+# define SSIZE_MAX _I64_MAX
+#else
+# define SSIZE_MAX LONG_MAX
+#endif
+
 #define strcasecmp(s1, s2) _stricmp(s1, s2)
 #define strncasecmp(s1, s2, c) _strnicmp(s1, s2, c)
 
index 5e24260f7c82acd60e09d41a977ed14f10107ea1..b955b024c1e5b19ab1ef37f46998a88bd84b21a5 100644 (file)
@@ -220,7 +220,7 @@ int git_win32_path_from_utf8(git_win32_path out, const char *src)
                        goto on_error;
                }
 
-               /* Skip the drive letter specification ("C:") */        
+               /* Skip the drive letter specification ("C:") */
                if (git__utf8_to_16(dest + 2, MAX_PATH - 2, src) < 0)
                        goto on_error;
        }
@@ -315,7 +315,7 @@ static bool path_is_volume(wchar_t *target, size_t target_len)
 }
 
 /* On success, returns the length, in characters, of the path stored in dest.
-* On failure, returns a negative value. */
+ * On failure, returns a negative value. */
 int git_win32_path_readlink_w(git_win32_path dest, const git_win32_path path)
 {
        BYTE buf[MAXIMUM_REPARSE_DATA_BUFFER_SIZE];
@@ -360,16 +360,16 @@ int git_win32_path_readlink_w(git_win32_path dest, const git_win32_path path)
 
        if (path_is_volume(target, target_len)) {
                /* This path is a reparse point that represents another volume mounted
-               * at this location, it is not a symbolic link our input was canonical.
-               */
+                * at this location, it is not a symbolic link our input was canonical.
+                */
                errno = EINVAL;
                error = -1;
        } else if (target_len) {
-               /* The path may need to have a prefix removed. */
-               target_len = git_win32__canonicalize_path(target, target_len);
+               /* The path may need to have a namespace prefix removed. */
+               target_len = git_win32_path_remove_namespace(target, target_len);
 
                /* Need one additional character in the target buffer
-               * for the terminating NULL. */
+                * for the terminating NULL. */
                if (GIT_WIN_PATH_UTF16 > target_len) {
                        wcscpy(dest, target);
                        error = (int)target_len;
@@ -380,3 +380,97 @@ on_error:
        CloseHandle(handle);
        return error;
 }
+
+/**
+ * Removes any trailing backslashes from a path, except in the case of a drive
+ * letter path (C:\, D:\, etc.). This function cannot fail.
+ *
+ * @param path The path which should be trimmed.
+ * @return The length of the modified string (<= the input length)
+ */
+size_t git_win32_path_trim_end(wchar_t *str, size_t len)
+{
+       while (1) {
+               if (!len || str[len - 1] != L'\\')
+                       break;
+
+               /*
+                * Don't trim backslashes from drive letter paths, which
+                * are 3 characters long and of the form C:\, D:\, etc.
+                */
+               if (len == 3 && git_win32__isalpha(str[0]) && str[1] == ':')
+                       break;
+
+               len--;
+       }
+
+       str[len] = L'\0';
+
+       return len;
+}
+
+/**
+ * Removes any of the following namespace prefixes from a path,
+ * if found: "\??\", "\\?\", "\\?\UNC\". This function cannot fail.
+ *
+ * @param path The path which should be converted.
+ * @return The length of the modified string (<= the input length)
+ */
+size_t git_win32_path_remove_namespace(wchar_t *str, size_t len)
+{
+       static const wchar_t dosdevices_namespace[] = L"\\\?\?\\";
+       static const wchar_t nt_namespace[] = L"\\\\?\\";
+       static const wchar_t unc_namespace_remainder[] = L"UNC\\";
+       static const wchar_t unc_prefix[] = L"\\\\";
+
+       const wchar_t *prefix = NULL, *remainder = NULL;
+       size_t prefix_len = 0, remainder_len = 0;
+
+       /* "\??\" -- DOS Devices prefix */
+       if (len >= CONST_STRLEN(dosdevices_namespace) &&
+               !wcsncmp(str, dosdevices_namespace, CONST_STRLEN(dosdevices_namespace))) {
+               remainder = str + CONST_STRLEN(dosdevices_namespace);
+               remainder_len = len - CONST_STRLEN(dosdevices_namespace);
+       }
+       /* "\\?\" -- NT namespace prefix */
+       else if (len >= CONST_STRLEN(nt_namespace) &&
+               !wcsncmp(str, nt_namespace, CONST_STRLEN(nt_namespace))) {
+               remainder = str + CONST_STRLEN(nt_namespace);
+               remainder_len = len - CONST_STRLEN(nt_namespace);
+       }
+
+       /* "\??\UNC\", "\\?\UNC\" -- UNC prefix */
+       if (remainder_len >= CONST_STRLEN(unc_namespace_remainder) &&
+               !wcsncmp(remainder, unc_namespace_remainder, CONST_STRLEN(unc_namespace_remainder))) {
+
+               /*
+                * The proper Win32 path for a UNC share has "\\" at beginning of it
+                * and looks like "\\server\share\<folderStructure>".  So remove the
+                * UNC namespace and add a prefix of "\\" in its place.
+                */
+               remainder += CONST_STRLEN(unc_namespace_remainder);
+               remainder_len -= CONST_STRLEN(unc_namespace_remainder);
+
+               prefix = unc_prefix;
+               prefix_len = CONST_STRLEN(unc_prefix);
+       }
+
+       if (remainder) {
+               /*
+                * Sanity check that the new string isn't longer than the old one.
+                * (This could only happen due to programmer error introducing a
+                * prefix longer than the namespace it replaces.)
+                */
+               assert(len >= remainder_len + prefix_len);
+
+               if (prefix)
+                       memmove(str, prefix, prefix_len * sizeof(wchar_t));
+
+               memmove(str + prefix_len, remainder, remainder_len * sizeof(wchar_t));
+
+               len = remainder_len + prefix_len;
+               str[len] = L'\0';
+       }
+
+       return git_win32_path_trim_end(str, len);
+}
index 83ffd1f6fb65b3d8ffab9bc25f902daa7e97eebc..facbced81313e48536b2223f63d178ca51b4ad00 100644 (file)
@@ -83,4 +83,22 @@ extern char *git_win32_path_8dot3_name(const char *path);
 
 extern int git_win32_path_readlink_w(git_win32_path dest, const git_win32_path path);
 
+/**
+ * Removes any trailing backslashes from a path, except in the case of a drive
+ * letter path (C:\, D:\, etc.). This function cannot fail.
+ *
+ * @param path The path which should be trimmed.
+ * @return The length of the modified string (<= the input length)
+ */
+size_t git_win32_path_trim_end(wchar_t *str, size_t len);
+
+/**
+ * Removes any of the following namespace prefixes from a path,
+ * if found: "\??\", "\\?\", "\\?\UNC\". This function cannot fail.
+ *
+ * @param path The path which should be converted.
+ * @return The length of the modified string (<= the input length)
+ */
+size_t git_win32_path_remove_namespace(wchar_t *str, size_t len);
+
 #endif
index f51e1e546abb0378e452dcd5a9943edf89c7da33..d8bbebb5dce19b680f2f2062460d19df0507ee2e 100644 (file)
 #define IO_REPARSE_TAG_SYMLINK (0xA000000CL)
 #endif
 
+#ifndef SYMBOLIC_LINK_FLAG_ALLOW_UNPRIVILEGED_CREATE
+# define SYMBOLIC_LINK_FLAG_ALLOW_UNPRIVILEGED_CREATE 0x02
+#endif
+
 /* Allowable mode bits on Win32.  Using mode bits that are not supported on
  * Win32 (eg S_IRWXU) is generally ignored, but Wine warns loudly about it
  * so we simply remove them.
  */
 #define WIN32_MODE_MASK (_S_IREAD | _S_IWRITE)
 
-/* GetFinalPathNameByHandleW signature */
-typedef DWORD(WINAPI *PFGetFinalPathNameByHandleW)(HANDLE, LPWSTR, DWORD, DWORD);
-
 unsigned long git_win32__createfile_sharemode =
  FILE_SHARE_READ | FILE_SHARE_WRITE;
 int git_win32__retries = 10;
@@ -354,7 +355,7 @@ static int do_lstat(const char *path, struct stat *buf, bool posixly_correct)
        if ((len = git_win32_path_from_utf8(path_w, path)) < 0)
                return -1;
 
-       git_win32__path_trim_end(path_w, len);
+       git_win32_path_trim_end(path_w, len);
 
        return lstat_w(path_w, buf, posixly_correct);
 }
@@ -393,12 +394,19 @@ int p_readlink(const char *path, char *buf, size_t bufsiz)
        return (int)bufsiz;
 }
 
-int p_symlink(const char *old, const char *new)
+int p_symlink(const char *target, const char *path)
 {
-       /* Real symlinks on NTFS require admin privileges. Until this changes,
-        * libgit2 just creates a text file with the link target in the contents.
-        */
-       return git_futils_fake_symlink(old, new);
+       git_win32_path target_w, path_w;
+
+       if (git_win32_path_from_utf8(path_w, path) < 0 ||
+               git__utf8_to_16(target_w, MAX_PATH, target) < 0)
+               return -1;
+
+       if (!CreateSymbolicLinkW(path_w, target_w,
+           SYMBOLIC_LINK_FLAG_ALLOW_UNPRIVILEGED_CREATE))
+               return -1;
+
+       return 0;
 }
 
 struct open_opts {
@@ -524,7 +532,7 @@ int p_utimes(const char *path, const struct p_timeval times[2])
                attrs_new = attrs_orig & ~FILE_ATTRIBUTE_READONLY;
 
                if (!SetFileAttributesW(wpath, attrs_new)) {
-                       giterr_set(GITERR_OS, "failed to set attributes");
+                       git_error_set(GIT_ERROR_OS, "failed to set attributes");
                        return -1;
                }
        }
@@ -598,40 +606,13 @@ int p_getcwd(char *buffer_out, size_t size)
        return 0;
 }
 
-/*
- * Returns the address of the GetFinalPathNameByHandleW function.
- * This function is available on Windows Vista and higher.
- */
-static PFGetFinalPathNameByHandleW get_fpnbyhandle(void)
-{
-       static PFGetFinalPathNameByHandleW pFunc = NULL;
-       PFGetFinalPathNameByHandleW toReturn = pFunc;
-
-       if (!toReturn) {
-               HMODULE hModule = GetModuleHandleW(L"kernel32");
-
-               if (hModule)
-                       toReturn = (PFGetFinalPathNameByHandleW)GetProcAddress(hModule, "GetFinalPathNameByHandleW");
-
-               pFunc = toReturn;
-       }
-
-       assert(toReturn);
-
-       return toReturn;
-}
-
 static int getfinalpath_w(
        git_win32_path dest,
        const wchar_t *path)
 {
-       PFGetFinalPathNameByHandleW pgfp = get_fpnbyhandle();
        HANDLE hFile;
        DWORD dwChars;
 
-       if (!pgfp)
-               return -1;
-
        /* Use FILE_FLAG_BACKUP_SEMANTICS so we can open a directory. Do not
        * specify FILE_FLAG_OPEN_REPARSE_POINT; we want to open a handle to the
        * target of the link. */
@@ -642,14 +623,14 @@ static int getfinalpath_w(
                return -1;
 
        /* Call GetFinalPathNameByHandle */
-       dwChars = pgfp(hFile, dest, GIT_WIN_PATH_UTF16, FILE_NAME_NORMALIZED);
+       dwChars = GetFinalPathNameByHandleW(hFile, dest, GIT_WIN_PATH_UTF16, FILE_NAME_NORMALIZED);
        CloseHandle(hFile);
 
        if (!dwChars || dwChars >= GIT_WIN_PATH_UTF16)
                return -1;
 
-       /* The path may be delivered to us with a prefix; canonicalize */
-       return (int)git_win32__canonicalize_path(dest, dwChars);
+       /* The path may be delivered to us with a namespace prefix; remove */
+       return (int)git_win32_path_remove_namespace(dest, dwChars);
 }
 
 static int follow_and_lstat_link(git_win32_path path, struct stat* buf)
@@ -832,7 +813,7 @@ int p_mkstemp(char *tmp_path)
                return -1;
 #endif
 
-       return p_open(tmp_path, O_RDWR | O_CREAT | O_EXCL, 0744); //-V536
+       return p_open(tmp_path, O_RDWR | O_CREAT | O_EXCL, 0744); /* -V536 */
 }
 
 int p_access(const char* path, mode_t mode)
@@ -871,7 +852,7 @@ int p_rename(const char *from, const char *to)
 int p_recv(GIT_SOCKET socket, void *buffer, size_t length, int flags)
 {
        if ((size_t)((int)length) != length)
-               return -1; /* giterr_set will be done by caller */
+               return -1; /* git_error_set will be done by caller */
 
        return recv(socket, buffer, (int)length, flags);
 }
@@ -879,7 +860,7 @@ int p_recv(GIT_SOCKET socket, void *buffer, size_t length, int flags)
 int p_send(GIT_SOCKET socket, const void *buffer, size_t length, int flags)
 {
        if ((size_t)((int)length) != length)
-               return -1; /* giterr_set will be done by caller */
+               return -1; /* git_error_set will be done by caller */
 
        return send(socket, buffer, (int)length, flags);
 }
index 45c024d31225e2a0386bb09c8e4392b0af6b91b0..22ea9a10c5631930d489f1df9ee0d37c502f8868 100644 (file)
@@ -36,8 +36,8 @@ int git_buf_put_w(git_buf *buf, const wchar_t *string_w, size_t len_w)
 
        assert(utf8_len > 0);
 
-       GITERR_CHECK_ALLOC_ADD(&new_size, buf->size, (size_t)utf8_len);
-       GITERR_CHECK_ALLOC_ADD(&new_size, new_size, 1);
+       GIT_ERROR_CHECK_ALLOC_ADD(&new_size, buf->size, (size_t)utf8_len);
+       GIT_ERROR_CHECK_ALLOC_ADD(&new_size, new_size, 1);
 
        if (git_buf_grow(buf, new_size) < 0)
                return -1;
index 7b3c3fb4c10d0269015190acae7a1c3c8a69064c..49b54f134e2c515cb11370bfa1d6be3032360af6 100644 (file)
@@ -71,6 +71,99 @@ static bool g_limit_reached = false; /* had allocs after we filled row table */
 static unsigned int g_checkpoint_id = 0; /* to better label leak checkpoints */
 static bool g_transient_leaks_since_mark = false; /* payload for hook */
 
+static void *crtdbg__malloc(size_t len, const char *file, int line)
+{
+       void *ptr = _malloc_dbg(len, _NORMAL_BLOCK, git_win32__crtdbg_stacktrace(1,file), line);
+       if (!ptr) git_error_set_oom();
+       return ptr;
+}
+
+static void *crtdbg__calloc(size_t nelem, size_t elsize, const char *file, int line)
+{
+       void *ptr = _calloc_dbg(nelem, elsize, _NORMAL_BLOCK, git_win32__crtdbg_stacktrace(1,file), line);
+       if (!ptr) git_error_set_oom();
+       return ptr;
+}
+
+static char *crtdbg__strdup(const char *str, const char *file, int line)
+{
+       char *ptr = _strdup_dbg(str, _NORMAL_BLOCK, git_win32__crtdbg_stacktrace(1,file), line);
+       if (!ptr) git_error_set_oom();
+       return ptr;
+}
+
+static char *crtdbg__strndup(const char *str, size_t n, const char *file, int line)
+{
+       size_t length = 0, alloclength;
+       char *ptr;
+
+       length = p_strnlen(str, n);
+
+       if (GIT_ADD_SIZET_OVERFLOW(&alloclength, length, 1) ||
+               !(ptr = crtdbg__malloc(alloclength, file, line)))
+               return NULL;
+
+       if (length)
+               memcpy(ptr, str, length);
+
+       ptr[length] = '\0';
+
+       return ptr;
+}
+
+static char *crtdbg__substrdup(const char *start, size_t n, const char *file, int line)
+{
+       char *ptr;
+       size_t alloclen;
+
+       if (GIT_ADD_SIZET_OVERFLOW(&alloclen, n, 1) ||
+               !(ptr = crtdbg__malloc(alloclen, file, line)))
+               return NULL;
+
+       memcpy(ptr, start, n);
+       ptr[n] = '\0';
+       return ptr;
+}
+
+static void *crtdbg__realloc(void *ptr, size_t size, const char *file, int line)
+{
+       void *new_ptr = _realloc_dbg(ptr, size, _NORMAL_BLOCK, git_win32__crtdbg_stacktrace(1,file), line);
+       if (!new_ptr) git_error_set_oom();
+       return new_ptr;
+}
+
+static void *crtdbg__reallocarray(void *ptr, size_t nelem, size_t elsize, const char *file, int line)
+{
+       size_t newsize;
+
+       return GIT_MULTIPLY_SIZET_OVERFLOW(&newsize, nelem, elsize) ?
+               NULL : _realloc_dbg(ptr, newsize, _NORMAL_BLOCK, git_win32__crtdbg_stacktrace(1,file), line);
+}
+
+static void *crtdbg__mallocarray(size_t nelem, size_t elsize, const char *file, int line)
+{
+       return crtdbg__reallocarray(NULL, nelem, elsize, file, line);
+}
+
+static void crtdbg__free(void *ptr)
+{
+       free(ptr);
+}
+
+int git_win32_crtdbg_init_allocator(git_allocator *allocator)
+{
+       allocator->gmalloc = crtdbg__malloc;
+       allocator->gcalloc = crtdbg__calloc;
+       allocator->gstrdup = crtdbg__strdup;
+       allocator->gstrndup = crtdbg__strndup;
+       allocator->gsubstrdup = crtdbg__substrdup;
+       allocator->grealloc = crtdbg__realloc;
+       allocator->greallocarray = crtdbg__reallocarray;
+       allocator->gmallocarray = crtdbg__mallocarray;
+       allocator->gfree = crtdbg__free;
+       return 0;
+}
+
 /**
  * Compare function for bsearch on g_cs_index table.
  */
@@ -254,11 +347,11 @@ int git_win32__crtdbg_stacktrace__dump(
        bool b_quiet            = IS_BIT_SET(opt, GIT_WIN32__CRTDBG_STACKTRACE__QUIET);
 
        if (b_leaks_since_mark && b_leaks_total) {
-               giterr_set(GITERR_INVALID, "cannot combine LEAKS_SINCE_MARK and LEAKS_TOTAL.");
+               git_error_set(GIT_ERROR_INVALID, "cannot combine LEAKS_SINCE_MARK and LEAKS_TOTAL.");
                return GIT_ERROR;
        }
        if (!b_set_mark && !b_leaks_since_mark && !b_leaks_total) {
-               giterr_set(GITERR_INVALID, "nothing to do.");
+               git_error_set(GIT_ERROR_INVALID, "nothing to do.");
                return GIT_ERROR;
        }
 
@@ -341,4 +434,5 @@ const char *git_win32__crtdbg_stacktrace(int skip, const char *file)
 
        return result;
 }
+
 #endif
index 3f580357e4c7b2b2387424bd382b79bf03ca7f79..7a3deeff440303b6e45e0be0ca5407a5fa0182bf 100644 (file)
 #include "git2/errors.h"
 #include "strnlen.h"
 
+/* MSVC CRTDBG memory leak reporting.
+ *
+ * We DO NOT use the "_CRTDBG_MAP_ALLOC" macro described in the MSVC
+ * documentation because all allocs/frees in libgit2 already go through
+ * the "git__" routines defined in this file.  Simply using the normal
+ * reporting mechanism causes all leaks to be attributed to a routine
+ * here in util.h (ie, the actual call to calloc()) rather than the
+ * caller of git__calloc().
+ *
+ * Therefore, we declare a set of "git__crtdbg__" routines to replace
+ * the corresponding "git__" routines and re-define the "git__" symbols
+ * as macros.  This allows us to get and report the file:line info of
+ * the real caller.
+ *
+ * We DO NOT replace the "git__free" routine because it needs to remain
+ * a function pointer because it is used as a function argument when
+ * setting up various structure "destructors".
+ *
+ * We also DO NOT use the "_CRTDBG_MAP_ALLOC" macro because it causes
+ * "free" to be remapped to "_free_dbg" and this causes problems for
+ * structures which define a field named "free".
+ *
+ * Finally, CRTDBG must be explicitly enabled and configured at program
+ * startup.  See tests/main.c for an example.
+ */
+
+int git_win32_crtdbg_init_allocator(git_allocator *allocator);
+
 /**
  * Initialize our memory leak tracking and de-dup data structures.
  * This should ONLY be called by git_libgit2_init().
@@ -97,80 +125,5 @@ GIT_EXTERN(int) git_win32__crtdbg_stacktrace__dump(
  */
 const char *git_win32__crtdbg_stacktrace(int skip, const char *file);
 
-GIT_INLINE(void *) git__crtdbg__malloc(size_t len, const char *file, int line)
-{
-       void *ptr = _malloc_dbg(len, _NORMAL_BLOCK, git_win32__crtdbg_stacktrace(1,file), line);
-       if (!ptr) giterr_set_oom();
-       return ptr;
-}
-
-GIT_INLINE(void *) git__crtdbg__calloc(size_t nelem, size_t elsize, const char *file, int line)
-{
-       void *ptr = _calloc_dbg(nelem, elsize, _NORMAL_BLOCK, git_win32__crtdbg_stacktrace(1,file), line);
-       if (!ptr) giterr_set_oom();
-       return ptr;
-}
-
-GIT_INLINE(char *) git__crtdbg__strdup(const char *str, const char *file, int line)
-{
-       char *ptr = _strdup_dbg(str, _NORMAL_BLOCK, git_win32__crtdbg_stacktrace(1,file), line);
-       if (!ptr) giterr_set_oom();
-       return ptr;
-}
-
-GIT_INLINE(char *) git__crtdbg__strndup(const char *str, size_t n, const char *file, int line)
-{
-       size_t length = 0, alloclength;
-       char *ptr;
-
-       length = p_strnlen(str, n);
-
-       if (GIT_ADD_SIZET_OVERFLOW(&alloclength, length, 1) ||
-               !(ptr = git__crtdbg__malloc(alloclength, file, line)))
-               return NULL;
-
-       if (length)
-               memcpy(ptr, str, length);
-
-       ptr[length] = '\0';
-
-       return ptr;
-}
-
-GIT_INLINE(char *) git__crtdbg__substrdup(const char *start, size_t n, const char *file, int line)
-{
-       char *ptr;
-       size_t alloclen;
-
-       if (GIT_ADD_SIZET_OVERFLOW(&alloclen, n, 1) ||
-               !(ptr = git__crtdbg__malloc(alloclen, file, line)))
-               return NULL;
-
-       memcpy(ptr, start, n);
-       ptr[n] = '\0';
-       return ptr;
-}
-
-GIT_INLINE(void *) git__crtdbg__realloc(void *ptr, size_t size, const char *file, int line)
-{
-       void *new_ptr = _realloc_dbg(ptr, size, _NORMAL_BLOCK, git_win32__crtdbg_stacktrace(1,file), line);
-       if (!new_ptr) giterr_set_oom();
-       return new_ptr;
-}
-
-GIT_INLINE(void *) git__crtdbg__reallocarray(void *ptr, size_t nelem, size_t elsize, const char *file, int line)
-{
-       size_t newsize;
-
-       return GIT_MULTIPLY_SIZET_OVERFLOW(&newsize, nelem, elsize) ?
-               NULL : _realloc_dbg(ptr, newsize, _NORMAL_BLOCK, git_win32__crtdbg_stacktrace(1,file), line);
-}
-
-GIT_INLINE(void *) git__crtdbg__mallocarray(size_t nelem, size_t elsize, const char *file, int line)
-{
-       return git__crtdbg__reallocarray(NULL, nelem, elsize, file, line);
-}
-
-
 #endif
 #endif
index b40f9d2b4d36030eb687c5b86b2be438ce4a8b99..c9d6b1a28ef786c2499ef81ceb9fcfd0c18a53b6 100644 (file)
@@ -55,7 +55,7 @@ void git_win32__stack_cleanup(void)
 int git_win32__stack_capture(git_win32__stack__raw_data *pdata, int skip)
 {
        if (!g_win32_stack_initialized) {
-               giterr_set(GITERR_INVALID, "git_win32_stack not initialized.");
+               git_error_set(GIT_ERROR_INVALID, "git_win32_stack not initialized.");
                return GIT_ERROR;
        }
 
@@ -102,7 +102,7 @@ int git_win32__stack_format(
        int detail_len;
 
        if (!g_win32_stack_initialized) {
-               giterr_set(GITERR_INVALID, "git_win32_stack not initialized.");
+               git_error_set(GIT_ERROR_INVALID, "git_win32_stack not initialized.");
                return GIT_ERROR;
        }
 
index b7b1ffa103b578e5205aad70c12861b8ab609db1..10e17fcd042ddd333411f43cc1c691efba12d6fd 100644 (file)
@@ -68,7 +68,7 @@ int git_win32__set_hidden(const char *path, bool hidden)
                newattrs = attrs & ~FILE_ATTRIBUTE_HIDDEN;
 
        if (attrs != newattrs && !SetFileAttributesW(buf, newattrs)) {
-               giterr_set(GITERR_OS, "failed to %s hidden bit for '%s'",
+               git_error_set(GIT_ERROR_OS, "failed to %s hidden bit for '%s'",
                        hidden ? "set" : "unset", path);
                return -1;
        }
@@ -93,71 +93,3 @@ int git_win32__hidden(bool *out, const char *path)
        *out = (attrs & FILE_ATTRIBUTE_HIDDEN) ? true : false;
        return 0;
 }
-
-/**
- * Removes any trailing backslashes from a path, except in the case of a drive
- * letter path (C:\, D:\, etc.). This function cannot fail.
- *
- * @param path The path which should be trimmed.
- * @return The length of the modified string (<= the input length)
- */
-size_t git_win32__path_trim_end(wchar_t *str, size_t len)
-{
-       while (1) {
-               if (!len || str[len - 1] != L'\\')
-                       break;
-
-               /* Don't trim backslashes from drive letter paths, which
-                * are 3 characters long and of the form C:\, D:\, etc. */
-               if (len == 3 && git_win32__isalpha(str[0]) && str[1] == ':')
-                       break;
-
-               len--;
-       }
-
-       str[len] = L'\0';
-
-       return len;
-}
-
-/**
- * Removes any of the following namespace prefixes from a path,
- * if found: "\??\", "\\?\", "\\?\UNC\". This function cannot fail.
- *
- * @param path The path which should be converted.
- * @return The length of the modified string (<= the input length)
- */
-size_t git_win32__canonicalize_path(wchar_t *str, size_t len)
-{
-       static const wchar_t dosdevices_prefix[] = L"\\\?\?\\";
-       static const wchar_t nt_prefix[] = L"\\\\?\\";
-       static const wchar_t unc_prefix[] = L"UNC\\";
-       size_t to_advance = 0;
-
-       /* "\??\" -- DOS Devices prefix */
-       if (len >= CONST_STRLEN(dosdevices_prefix) &&
-               !wcsncmp(str, dosdevices_prefix, CONST_STRLEN(dosdevices_prefix))) {
-               to_advance += CONST_STRLEN(dosdevices_prefix);
-               len -= CONST_STRLEN(dosdevices_prefix);
-       }
-       /* "\\?\" -- NT namespace prefix */
-       else if (len >= CONST_STRLEN(nt_prefix) &&
-               !wcsncmp(str, nt_prefix, CONST_STRLEN(nt_prefix))) {
-               to_advance += CONST_STRLEN(nt_prefix);
-               len -= CONST_STRLEN(nt_prefix);
-       }
-
-       /* "\??\UNC\", "\\?\UNC\" -- UNC prefix */
-       if (to_advance && len >= CONST_STRLEN(unc_prefix) &&
-               !wcsncmp(str + to_advance, unc_prefix, CONST_STRLEN(unc_prefix))) {
-               to_advance += CONST_STRLEN(unc_prefix);
-               len -= CONST_STRLEN(unc_prefix);
-       }
-
-       if (to_advance) {
-               memmove(str, str + to_advance, len * sizeof(wchar_t));
-               str[len] = L'\0';
-       }
-
-       return git_win32__path_trim_end(str, len);
-}
index 6531f47a7372b6974dbbfd22d01be5b9ad9a9489..3a7942563fc778c942dc7c234a53e1f7ce0ff9cc 100644 (file)
@@ -59,24 +59,6 @@ extern int git_win32__set_hidden(const char *path, bool hidden);
  */
 extern int git_win32__hidden(bool *hidden, const char *path);
 
-/**
- * Removes any trailing backslashes from a path, except in the case of a drive
- * letter path (C:\, D:\, etc.). This function cannot fail.
- *
- * @param path The path which should be trimmed.
- * @return The length of the modified string (<= the input length)
- */
-size_t git_win32__path_trim_end(wchar_t *str, size_t len);
-
-/**
- * Removes any of the following namespace prefixes from a path,
- * if found: "\??\", "\\?\", "\\?\UNC\". This function cannot fail.
- *
- * @param path The path which should be converted.
- * @return The length of the modified string (<= the input length)
- */
-size_t git_win32__canonicalize_path(wchar_t *str, size_t len);
-
 /**
  * Converts a FILETIME structure to a struct timespec.
  *
@@ -176,7 +158,7 @@ GIT_INLINE(int) git_win32__file_attribute_to_stat(
                        /* st_size gets the UTF-8 length of the target name, in bytes,
                         * not counting the NULL terminator */
                        if ((st->st_size = git__utf16_to_8(NULL, 0, target)) < 0) {
-                               giterr_set(GITERR_OS, "could not convert reparse point name for '%ls'", path);
+                               git_error_set(GIT_ERROR_OS, "could not convert reparse point name for '%ls'", path);
                                return -1;
                        }
                }
index 4acf61b8b81c5b4a9457a84ee6353a5fe935f61c..174a10736de802deff123ca31a1709d8051dbdd9 100644 (file)
@@ -25,7 +25,7 @@ static bool is_worktree_dir(const char *dir)
                && git_path_contains_file(&buf, "gitdir")
                && git_path_contains_file(&buf, "HEAD");
 
-       git_buf_free(&buf);
+       git_buf_dispose(&buf);
        return error;
 }
 
@@ -64,7 +64,7 @@ int git_worktree_list(git_strarray *wts, git_repository *repo)
        wts->strings = (char **)git_vector_detach(&wts->count, NULL, &worktrees);
 
 exit:
-       git_buf_free(&path);
+       git_buf_dispose(&path);
 
        return error;
 }
@@ -79,7 +79,7 @@ char *git_worktree__read_link(const char *base, const char *file)
                goto err;
        if (git_futils_readbuffer(&buf, path.ptr) < 0)
                goto err;
-       git_buf_free(&path);
+       git_buf_dispose(&path);
 
        git_buf_rtrim(&buf);
 
@@ -90,13 +90,13 @@ char *git_worktree__read_link(const char *base, const char *file)
                goto err;
        if (git_path_apply_relative(&path, buf.ptr) < 0)
                goto err;
-       git_buf_free(&buf);
+       git_buf_dispose(&buf);
 
        return git_buf_detach(&path);
 
 err:
-       git_buf_free(&buf);
-       git_buf_free(&path);
+       git_buf_dispose(&buf);
+       git_buf_dispose(&path);
 
        return NULL;
 }
@@ -115,7 +115,7 @@ static int write_wtfile(const char *base, const char *file, const git_buf *buf)
                goto out;
 
 out:
-       git_buf_free(&path);
+       git_buf_dispose(&path);
 
        return err;
 }
@@ -139,7 +139,8 @@ static int open_worktree_dir(git_worktree **out, const char *parent, const char
        if ((wt->name = git__strdup(name)) == NULL
            || (wt->commondir_path = git_worktree__read_link(dir, "commondir")) == NULL
            || (wt->gitlink_path = git_worktree__read_link(dir, "gitdir")) == NULL
-           || (parent && (wt->parent_path = git__strdup(parent)) == NULL)) {
+           || (parent && (wt->parent_path = git__strdup(parent)) == NULL)
+           || (wt->worktree_path = git_path_dirname(wt->gitlink_path)) == NULL) {
                error = -1;
                goto out;
        }
@@ -155,7 +156,7 @@ static int open_worktree_dir(git_worktree **out, const char *parent, const char
 out:
        if (error)
                git_worktree_free(wt);
-       git_buf_free(&gitdir);
+       git_buf_dispose(&gitdir);
 
        return error;
 }
@@ -177,7 +178,7 @@ int git_worktree_lookup(git_worktree **out, git_repository *repo, const char *na
                goto out;
 
 out:
-       git_buf_free(&path);
+       git_buf_dispose(&path);
 
        if (error)
                git_worktree_free(wt);
@@ -193,7 +194,7 @@ int git_worktree_open_from_repository(git_worktree **out, git_repository *repo)
        int error = 0;
 
        if (!git_repository_is_worktree(repo)) {
-               giterr_set(GITERR_WORKTREE, "cannot open worktree of a non-worktree repo");
+               git_error_set(GIT_ERROR_WORKTREE, "cannot open worktree of a non-worktree repo");
                error = -1;
                goto out;
        }
@@ -212,7 +213,7 @@ int git_worktree_open_from_repository(git_worktree **out, git_repository *repo)
 
 out:
        git__free(name);
-       git_buf_free(&parent);
+       git_buf_dispose(&parent);
 
        return error;
 }
@@ -223,6 +224,7 @@ void git_worktree_free(git_worktree *wt)
                return;
 
        git__free(wt->commondir_path);
+       git__free(wt->worktree_path);
        git__free(wt->gitlink_path);
        git__free(wt->gitdir_path);
        git__free(wt->parent_path);
@@ -232,40 +234,30 @@ void git_worktree_free(git_worktree *wt)
 
 int git_worktree_validate(const git_worktree *wt)
 {
-       git_buf buf = GIT_BUF_INIT;
-       int err = 0;
-
        assert(wt);
 
-       git_buf_puts(&buf, wt->gitdir_path);
-       if (!is_worktree_dir(buf.ptr)) {
-               giterr_set(GITERR_WORKTREE,
+       if (!is_worktree_dir(wt->gitdir_path)) {
+               git_error_set(GIT_ERROR_WORKTREE,
                        "Worktree gitdir ('%s') is not valid",
                        wt->gitlink_path);
-               err = -1;
-               goto out;
+               return GIT_ERROR;
        }
 
-       if (!git_path_exists(wt->parent_path)) {
-               giterr_set(GITERR_WORKTREE,
+       if (wt->parent_path && !git_path_exists(wt->parent_path)) {
+               git_error_set(GIT_ERROR_WORKTREE,
                        "Worktree parent directory ('%s') does not exist ",
                        wt->parent_path);
-               err = -2;
-               goto out;
+               return GIT_ERROR;
        }
 
        if (!git_path_exists(wt->commondir_path)) {
-               giterr_set(GITERR_WORKTREE,
+               git_error_set(GIT_ERROR_WORKTREE,
                        "Worktree common directory ('%s') does not exist ",
                        wt->commondir_path);
-               err = -3;
-               goto out;
+               return GIT_ERROR;
        }
 
-out:
-       git_buf_free(&buf);
-
-       return err;
+       return 0;
 }
 
 int git_worktree_add_init_options(git_worktree_add_options *opts,
@@ -288,7 +280,7 @@ int git_worktree_add(git_worktree **out, git_repository *repo,
        git_worktree_add_options wtopts = GIT_WORKTREE_ADD_OPTIONS_INIT;
        int err;
 
-       GITERR_CHECK_VERSION(
+       GIT_ERROR_CHECK_VERSION(
                opts, GIT_WORKTREE_ADD_OPTIONS_VERSION, "git_worktree_add_options");
 
        if (opts)
@@ -348,13 +340,30 @@ int git_worktree_add(git_worktree **out, git_repository *repo,
            || (err = write_wtfile(gitdir.ptr, "gitdir", &buf)) < 0)
                goto out;
 
-       /* Create new branch */
-       if ((err = git_repository_head(&head, repo)) < 0)
-               goto out;
-       if ((err = git_commit_lookup(&commit, repo, &head->target.oid)) < 0)
-               goto out;
-       if ((err = git_branch_create(&ref, repo, name, commit, false)) < 0)
-               goto out;
+       /* Set up worktree reference */
+       if (wtopts.ref) {
+               if (!git_reference_is_branch(wtopts.ref)) {
+                       git_error_set(GIT_ERROR_WORKTREE, "reference is not a branch");
+                       err = -1;
+                       goto out;
+               }
+
+               if (git_branch_is_checked_out(wtopts.ref)) {
+                       git_error_set(GIT_ERROR_WORKTREE, "reference is already checked out");
+                       err = -1;
+                       goto out;
+               }
+
+               if ((err = git_reference_dup(&ref, wtopts.ref)) < 0)
+                       goto out;
+       } else {
+               if ((err = git_repository_head(&head, repo)) < 0)
+                       goto out;
+               if ((err = git_commit_lookup(&commit, repo, &head->target.oid)) < 0)
+                       goto out;
+               if ((err = git_branch_create(&ref, repo, name, commit, false)) < 0)
+                       goto out;
+       }
 
        /* Set worktree's HEAD */
        if ((err = git_repository_create_head(gitdir.ptr, git_reference_name(ref))) < 0)
@@ -372,9 +381,9 @@ int git_worktree_add(git_worktree **out, git_repository *repo,
                goto out;
 
 out:
-       git_buf_free(&gitdir);
-       git_buf_free(&wddir);
-       git_buf_free(&buf);
+       git_buf_dispose(&gitdir);
+       git_buf_dispose(&wddir);
+       git_buf_dispose(&buf);
        git_reference_free(ref);
        git_reference_free(head);
        git_commit_free(commit);
@@ -405,7 +414,7 @@ int git_worktree_lock(git_worktree *wt, const char *reason)
        wt->locked = 1;
 
 out:
-       git_buf_free(&path);
+       git_buf_dispose(&path);
 
        return err;
 }
@@ -423,13 +432,13 @@ int git_worktree_unlock(git_worktree *wt)
                return -1;
 
        if (p_unlink(path.ptr) != 0) {
-               git_buf_free(&path);
+               git_buf_dispose(&path);
                return -1;
        }
 
        wt->locked = 0;
 
-       git_buf_free(&path);
+       git_buf_dispose(&path);
 
        return 0;
 }
@@ -450,11 +459,23 @@ int git_worktree_is_locked(git_buf *reason, const git_worktree *wt)
                git_futils_readbuffer(reason, path.ptr);
 
 out:
-       git_buf_free(&path);
+       git_buf_dispose(&path);
 
        return ret;
 }
 
+const char *git_worktree_name(const git_worktree *wt)
+{
+       assert(wt);
+       return wt->name;
+}
+
+const char *git_worktree_path(const git_worktree *wt)
+{
+       assert(wt);
+       return wt->worktree_path;
+}
+
 int git_worktree_prune_init_options(
        git_worktree_prune_options *opts,
        unsigned int version)
@@ -470,7 +491,7 @@ int git_worktree_is_prunable(git_worktree *wt,
        git_buf reason = GIT_BUF_INIT;
        git_worktree_prune_options popts = GIT_WORKTREE_PRUNE_OPTIONS_INIT;
 
-       GITERR_CHECK_VERSION(
+       GIT_ERROR_CHECK_VERSION(
                opts, GIT_WORKTREE_PRUNE_OPTIONS_VERSION,
                "git_worktree_prune_options");
 
@@ -482,8 +503,8 @@ int git_worktree_is_prunable(git_worktree *wt,
        {
                if (!reason.size)
                        git_buf_attach_notowned(&reason, "no reason given", 15);
-               giterr_set(GITERR_WORKTREE, "Not pruning locked working tree: '%s'", reason.ptr);
-               git_buf_free(&reason);
+               git_error_set(GIT_ERROR_WORKTREE, "Not pruning locked working tree: '%s'", reason.ptr);
+               git_buf_dispose(&reason);
 
                return 0;
        }
@@ -491,7 +512,7 @@ int git_worktree_is_prunable(git_worktree *wt,
        if ((popts.flags & GIT_WORKTREE_PRUNE_VALID) == 0 &&
                git_worktree_validate(wt) == 0)
        {
-               giterr_set(GITERR_WORKTREE, "Not pruning valid working tree");
+               git_error_set(GIT_ERROR_WORKTREE, "Not pruning valid working tree");
                return 0;
        }
 
@@ -506,7 +527,7 @@ int git_worktree_prune(git_worktree *wt,
        char *wtpath;
        int err;
 
-       GITERR_CHECK_VERSION(
+       GIT_ERROR_CHECK_VERSION(
                opts, GIT_WORKTREE_PRUNE_OPTIONS_VERSION,
                "git_worktree_prune_options");
 
@@ -523,7 +544,7 @@ int git_worktree_prune(git_worktree *wt,
                goto out;
        if (!git_path_exists(path.ptr))
        {
-               giterr_set(GITERR_WORKTREE, "Worktree gitdir '%s' does not exist", path.ptr);
+               git_error_set(GIT_ERROR_WORKTREE, "Worktree gitdir '%s' does not exist", path.ptr);
                err = -1;
                goto out;
        }
@@ -543,7 +564,7 @@ int git_worktree_prune(git_worktree *wt,
        git_buf_attach(&path, wtpath, 0);
        if (!git_path_exists(path.ptr))
        {
-               giterr_set(GITERR_WORKTREE, "Working tree '%s' does not exist", path.ptr);
+               git_error_set(GIT_ERROR_WORKTREE, "Working tree '%s' does not exist", path.ptr);
                err = -1;
                goto out;
        }
@@ -551,7 +572,7 @@ int git_worktree_prune(git_worktree *wt,
                goto out;
 
 out:
-       git_buf_free(&path);
+       git_buf_dispose(&path);
 
        return err;
 }
index 52d13cced669122f3c1debef3143e9a925f31ea0..1d40c3a5ddb3cd37537f504c442ca1e83ed1e76a 100644 (file)
@@ -18,6 +18,8 @@ struct git_worktree {
         * directory. */
        char *name;
 
+       /* Path to the where the worktree lives in the filesystem */
+       char *worktree_path;
        /* Path to the .git file in the working tree's repository */
        char *gitlink_path;
        /* Path to the .git directory inside the parent's
index 3a71ef678cdcafe94a2127529f880bba044c2781..9a7f53808bbb6b3500c59d6266f5a3213a97a1ec 100644 (file)
 /** Declare a function as always inlined. */
 #if defined(_MSC_VER)
 # define XDL_INLINE(type) static __inline type
+#elif defined(__GNUC__)
+# define XDL_INLINE(type) static __inline__ type
 #else
-# define XDL_INLINE(type) static inline type
+#define XDG_INLINE(type) static type
 #endif
 
 typedef struct s_xdpsplit {
@@ -348,10 +350,10 @@ int xdl_do_diff(mmfile_t *mf1, mmfile_t *mf2, xpparam_t const *xpp,
         * Allocate and setup K vectors to be used by the differential algorithm.
         * One is to store the forward path and one to store the backward path.
         */
-       GITERR_CHECK_ALLOC_ADD3(&ndiags, xe->xdf1.nreff, xe->xdf2.nreff, 3);
-       GITERR_CHECK_ALLOC_MULTIPLY(&allocsize, ndiags, 2);
-       GITERR_CHECK_ALLOC_ADD(&allocsize, allocsize, 2);
-       GITERR_CHECK_ALLOC_MULTIPLY(&allocsize, allocsize, sizeof(long));
+       GIT_ERROR_CHECK_ALLOC_ADD3(&ndiags, xe->xdf1.nreff, xe->xdf2.nreff, 3);
+       GIT_ERROR_CHECK_ALLOC_MULTIPLY(&allocsize, ndiags, 2);
+       GIT_ERROR_CHECK_ALLOC_ADD(&allocsize, allocsize, 2);
+       GIT_ERROR_CHECK_ALLOC_MULTIPLY(&allocsize, allocsize, sizeof(long));
 
        if (!(kvd = (long *) xdl_malloc(allocsize))) {
                xdl_free_env(xe);
index ca8605e31654d0932de84ee313ae34037246ac6a..00bbfcec4f02103edff65ad35daef03c25a24129 100644 (file)
@@ -302,7 +302,7 @@ static int histogram_diff(
 
        index.table_bits = xdl_hashbits(count1);
        sz = index.records_size = 1 << index.table_bits;
-       GITERR_CHECK_ALLOC_MULTIPLY(&sz, sz, sizeof(struct record *));
+       GIT_ERROR_CHECK_ALLOC_MULTIPLY(&sz, sz, sizeof(struct record *));
 
        if (!(index.records = (struct record **) xdl_malloc(sz)))
                goto cleanup;
index 6fec95aa315280912b9947d212e9e33556b83ca1..e6eaf24b5e79beef4d37e62777c216c6b8c0b70f 100644 (file)
@@ -125,7 +125,7 @@ static int xdl_recs_copy_0(size_t *out, int use_orig, xdfenv_t *xe, int i, int c
                if (dest)
                        memcpy(dest + size, recs[i]->ptr, recs[i]->size);
 
-               GITERR_CHECK_ALLOC_ADD(&size, size, recs[i++]->size);
+               GIT_ERROR_CHECK_ALLOC_ADD(&size, size, recs[i++]->size);
        }
 
        if (add_nl) {
@@ -134,13 +134,13 @@ static int xdl_recs_copy_0(size_t *out, int use_orig, xdfenv_t *xe, int i, int c
                        if (needs_cr) {
                                if (dest)
                                        dest[size] = '\r';
-                               GITERR_CHECK_ALLOC_ADD(&size, size, 1);
+                               GIT_ERROR_CHECK_ALLOC_ADD(&size, size, 1);
                        }
 
                        if (dest)
                                dest[size] = '\n';
 
-                       GITERR_CHECK_ALLOC_ADD(&size, size, 1);
+                       GIT_ERROR_CHECK_ALLOC_ADD(&size, size, 1);
                }
        }
 
@@ -224,10 +224,10 @@ static int fill_conflict_hunk(size_t *out, xdfenv_t *xe1, const char *name1,
                              dest ? dest + size : NULL) < 0)
                return -1;
 
-       GITERR_CHECK_ALLOC_ADD(&size, size, copied);
+       GIT_ERROR_CHECK_ALLOC_ADD(&size, size, copied);
 
        if (!dest) {
-               GITERR_CHECK_ALLOC_ADD5(&size, size, marker_size, 1, needs_cr,  marker1_size);
+               GIT_ERROR_CHECK_ALLOC_ADD5(&size, size, marker_size, 1, needs_cr,  marker1_size);
        } else {
                memset(dest + size, '<', marker_size);
                size += marker_size;
@@ -246,12 +246,12 @@ static int fill_conflict_hunk(size_t *out, xdfenv_t *xe1, const char *name1,
                              dest ? dest + size : NULL) < 0)
                return -1;
 
-       GITERR_CHECK_ALLOC_ADD(&size, size, copied);
+       GIT_ERROR_CHECK_ALLOC_ADD(&size, size, copied);
 
        if (style == XDL_MERGE_DIFF3) {
                /* Shared preimage */
                if (!dest) {
-                       GITERR_CHECK_ALLOC_ADD5(&size, size, marker_size, 1, needs_cr, marker3_size);
+                       GIT_ERROR_CHECK_ALLOC_ADD5(&size, size, marker_size, 1, needs_cr, marker3_size);
                } else {
                        memset(dest + size, '|', marker_size);
                        size += marker_size;
@@ -268,11 +268,11 @@ static int fill_conflict_hunk(size_t *out, xdfenv_t *xe1, const char *name1,
                if (xdl_orig_copy(&copied, xe1, m->i0, m->chg0, needs_cr, 1,
                                      dest ? dest + size : NULL) < 0)
                        return -1;
-               GITERR_CHECK_ALLOC_ADD(&size, size, copied);
+               GIT_ERROR_CHECK_ALLOC_ADD(&size, size, copied);
        }
 
        if (!dest) {
-               GITERR_CHECK_ALLOC_ADD4(&size, size, marker_size, 1, needs_cr);
+               GIT_ERROR_CHECK_ALLOC_ADD4(&size, size, marker_size, 1, needs_cr);
        } else {
                memset(dest + size, '=', marker_size);
                size += marker_size;
@@ -286,10 +286,10 @@ static int fill_conflict_hunk(size_t *out, xdfenv_t *xe1, const char *name1,
        if (xdl_recs_copy(&copied, xe2, m->i2, m->chg2, needs_cr, 1,
                              dest ? dest + size : NULL) < 0)
                return -1;
-       GITERR_CHECK_ALLOC_ADD(&size, size, copied);
+       GIT_ERROR_CHECK_ALLOC_ADD(&size, size, copied);
 
        if (!dest) {
-               GITERR_CHECK_ALLOC_ADD5(&size, size, marker_size, 1, needs_cr, marker2_size);
+               GIT_ERROR_CHECK_ALLOC_ADD5(&size, size, marker_size, 1, needs_cr, marker2_size);
        } else {
                memset(dest + size, '>', marker_size);
                size += marker_size;
@@ -336,7 +336,7 @@ static int xdl_fill_merge_buffer(size_t *out,
                        if (xdl_recs_copy(&copied, xe1, i, m->i1 - i, 0, 0,
                                              dest ? dest + size : NULL) < 0)
                                return -1;
-                       GITERR_CHECK_ALLOC_ADD(&size, size, copied);
+                       GIT_ERROR_CHECK_ALLOC_ADD(&size, size, copied);
 
                        /* Postimage from side #1 */
                        if (m->mode & 1) {
@@ -345,7 +345,7 @@ static int xdl_fill_merge_buffer(size_t *out,
                                if (xdl_recs_copy(&copied, xe1, m->i1, m->chg1, needs_cr, (m->mode & 2),
                                                      dest ? dest + size : NULL) < 0)
                                        return -1;
-                               GITERR_CHECK_ALLOC_ADD(&size, size, copied);
+                               GIT_ERROR_CHECK_ALLOC_ADD(&size, size, copied);
                        }
 
                        /* Postimage from side #2 */
@@ -353,7 +353,7 @@ static int xdl_fill_merge_buffer(size_t *out,
                                if (xdl_recs_copy(&copied, xe2, m->i2, m->chg2, 0, 0,
                                                      dest ? dest + size : NULL) < 0)
                                        return -1;
-                               GITERR_CHECK_ALLOC_ADD(&size, size, copied);
+                               GIT_ERROR_CHECK_ALLOC_ADD(&size, size, copied);
                        }
                } else
                        continue;
@@ -363,7 +363,7 @@ static int xdl_fill_merge_buffer(size_t *out,
        if (xdl_recs_copy(&copied, xe1, i, xe1->xdf2.nrec - i, 0, 0,
                              dest ? dest + size : NULL) < 0)
                return -1;
-       GITERR_CHECK_ALLOC_ADD(&size, size, copied);
+       GIT_ERROR_CHECK_ALLOC_ADD(&size, size, copied);
 
        *out = size;
        return 0;
index affa55653f428d056983ecb935cc224df3b436ac..fc8bfb86878d1a79916d709bdf432dd4fb54aac8 100644 (file)
@@ -22,13 +22,13 @@ GIT_INLINE(int) zstream_seterr(git_zstream *zs)
        case Z_BUF_ERROR: /* not fatal; we retry with a larger buffer */
                return 0;
        case Z_MEM_ERROR:
-               giterr_set_oom();
+               git_error_set_oom();
                break;
        default:
                if (zs->z.msg)
-                       giterr_set_str(GITERR_ZLIB, zs->z.msg);
+                       git_error_set_str(GIT_ERROR_ZLIB, zs->z.msg);
                else
-                       giterr_set(GITERR_ZLIB, "unknown compression error");
+                       git_error_set(GIT_ERROR_ZLIB, "unknown compression error");
        }
 
        return -1;
@@ -136,7 +136,7 @@ int git_zstream_get_output(void *out, size_t *out_len, git_zstream *zstream)
        size_t out_remain = *out_len;
 
        if (zstream->in_len && zstream->zerr == Z_STREAM_END) {
-               giterr_set(GITERR_ZLIB, "zlib input had trailing garbage");
+               git_error_set(GIT_ERROR_ZLIB, "zlib input had trailing garbage");
                return -1;
        }
 
index 02042df6d5a9e912851d591310cfd9fa23c7cc8d..aaa8ed109f768c4812283f9a697ab8b4a0faad11 100644 (file)
@@ -11,6 +11,9 @@ ADD_DEFINITIONS(-DCLAR_FIXTURE_PATH=\"${CLAR_FIXTURES}\")
 ADD_DEFINITIONS(-DCLAR_TMPDIR=\"libgit2_tests\")
 ADD_DEFINITIONS(-D_FILE_OFFSET_BITS=64)
 
+# Ensure that we do not use deprecated functions internally
+ADD_DEFINITIONS(-DGIT_DEPRECATE_HARD)
+
 INCLUDE_DIRECTORIES(${CLAR_PATH} ${libgit2_BINARY_DIR}/src)
 FILE(GLOB_RECURSE SRC_TEST ${CLAR_PATH}/*/*.c ${CLAR_PATH}/*/*.h)
 SET(SRC_CLAR "main.c" "clar_libgit2.c" "clar_libgit2_trace.c" "clar_libgit2_timer.c" "clar.c")
@@ -32,9 +35,11 @@ SET_SOURCE_FILES_PROPERTIES(
        PROPERTIES OBJECT_DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/clar.suite)
 
 INCLUDE_DIRECTORIES(${LIBGIT2_INCLUDES})
+INCLUDE_DIRECTORIES(SYSTEM ${LIBGIT2_SYSTEM_INCLUDES})
 
 ADD_EXECUTABLE(libgit2_clar ${SRC_CLAR} ${SRC_TEST} ${LIBGIT2_OBJECTS})
 
+SET_TARGET_PROPERTIES(libgit2_clar PROPERTIES C_STANDARD 90)
 SET_TARGET_PROPERTIES(libgit2_clar PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${libgit2_BINARY_DIR})
 
 IF (${CMAKE_VERSION} VERSION_LESS 2.8.12)
@@ -53,6 +58,7 @@ IF (MSVC_IDE)
 ENDIF ()
 
 ADD_TEST(offline   "${libgit2_BINARY_DIR}/libgit2_clar" -v -xonline)
+ADD_TEST(invasive  "${libgit2_BINARY_DIR}/libgit2_clar" -v -score::ftruncate -sfilter::stream::bigfile -sodb::largefiles -siterator::workdir::filesystem_gunk -srepo::init -srepo::init::at_filesystem_root)
 ADD_TEST(online    "${libgit2_BINARY_DIR}/libgit2_clar" -v -sonline)
 ADD_TEST(gitdaemon "${libgit2_BINARY_DIR}/libgit2_clar" -v -sonline::push)
 ADD_TEST(ssh       "${libgit2_BINARY_DIR}/libgit2_clar" -v -sonline::push -sonline::clone::ssh_cert -sonline::clone::ssh_with_paths)
diff --git a/tests/apply/apply_helpers.c b/tests/apply/apply_helpers.c
new file mode 100644 (file)
index 0000000..91cc51a
--- /dev/null
@@ -0,0 +1,135 @@
+#include "clar_libgit2.h"
+#include "apply_helpers.h"
+
+struct iterator_compare_data {
+       struct merge_index_entry *expected;
+       size_t cnt;
+       size_t idx;
+};
+
+static int iterator_compare(const git_index_entry *entry, void *_data)
+{
+       git_oid expected_id;
+
+       struct iterator_compare_data *data = (struct iterator_compare_data *)_data;
+
+       cl_assert_equal_i(GIT_INDEX_ENTRY_STAGE(entry), data->expected[data->idx].stage);
+       cl_git_pass(git_oid_fromstr(&expected_id, data->expected[data->idx].oid_str));
+       cl_assert_equal_oid(&entry->id, &expected_id);
+       cl_assert_equal_i(entry->mode, data->expected[data->idx].mode);
+       cl_assert_equal_s(entry->path, data->expected[data->idx].path);
+
+       if (data->idx >= data->cnt)
+               return -1;
+
+       data->idx++;
+
+       return 0;
+}
+
+void validate_apply_workdir(
+       git_repository *repo,
+       struct merge_index_entry *workdir_entries,
+       size_t workdir_cnt)
+{
+       git_index *index;
+       git_iterator *iterator;
+       git_iterator_options opts = GIT_ITERATOR_OPTIONS_INIT;
+       struct iterator_compare_data data = { workdir_entries, workdir_cnt };
+
+       opts.flags |= GIT_ITERATOR_INCLUDE_HASH;
+
+       cl_git_pass(git_repository_index(&index, repo));
+       cl_git_pass(git_iterator_for_workdir(&iterator, repo, index, NULL, &opts));
+
+       cl_git_pass(git_iterator_foreach(iterator, iterator_compare, &data));
+       cl_assert_equal_i(data.idx, data.cnt);
+
+       git_iterator_free(iterator);
+       git_index_free(index);
+}
+
+void validate_apply_index(
+       git_repository *repo,
+       struct merge_index_entry *index_entries,
+       size_t index_cnt)
+{
+       git_index *index;
+       git_iterator *iterator;
+       struct iterator_compare_data data = { index_entries, index_cnt };
+
+       cl_git_pass(git_repository_index(&index, repo));
+       cl_git_pass(git_iterator_for_index(&iterator, repo, index, NULL));
+
+       cl_git_pass(git_iterator_foreach(iterator, iterator_compare, &data));
+       cl_assert_equal_i(data.idx, data.cnt);
+
+       git_iterator_free(iterator);
+       git_index_free(index);
+}
+
+static int iterator_eq(const git_index_entry **entry, void *_data)
+{
+       GIT_UNUSED(_data);
+
+       if (!entry[0] || !entry[1])
+               return -1;
+
+       cl_assert_equal_i(GIT_INDEX_ENTRY_STAGE(entry[0]), GIT_INDEX_ENTRY_STAGE(entry[1]));
+       cl_assert_equal_oid(&entry[0]->id, &entry[1]->id);
+       cl_assert_equal_i(entry[0]->mode, entry[1]->mode);
+       cl_assert_equal_s(entry[0]->path, entry[1]->path);
+
+       return 0;
+}
+
+void validate_index_unchanged(git_repository *repo)
+{
+       git_tree *head;
+       git_index *index;
+       git_iterator *head_iterator, *index_iterator, *iterators[2];
+
+       cl_git_pass(git_repository_head_tree(&head, repo));
+       cl_git_pass(git_repository_index(&index, repo));
+
+       cl_git_pass(git_iterator_for_tree(&head_iterator, head, NULL));
+       cl_git_pass(git_iterator_for_index(&index_iterator, repo, index, NULL));
+
+       iterators[0] = head_iterator;
+       iterators[1] = index_iterator;
+
+       cl_git_pass(git_iterator_walk(iterators, 2, iterator_eq, NULL));
+
+       git_iterator_free(head_iterator);
+       git_iterator_free(index_iterator);
+
+       git_tree_free(head);
+       git_index_free(index);
+}
+
+void validate_workdir_unchanged(git_repository *repo)
+{
+       git_tree *head;
+       git_index *index;
+       git_iterator *head_iterator, *workdir_iterator, *iterators[2];
+       git_iterator_options workdir_opts = GIT_ITERATOR_OPTIONS_INIT;
+
+       cl_git_pass(git_repository_head_tree(&head, repo));
+       cl_git_pass(git_repository_index(&index, repo));
+
+       workdir_opts.flags |= GIT_ITERATOR_INCLUDE_HASH;
+
+       cl_git_pass(git_iterator_for_tree(&head_iterator, head, NULL));
+       cl_git_pass(git_iterator_for_workdir(&workdir_iterator, repo, index, NULL, &workdir_opts));
+
+       iterators[0] = head_iterator;
+       iterators[1] = workdir_iterator;
+
+       cl_git_pass(git_iterator_walk(iterators, 2, iterator_eq, NULL));
+
+       git_iterator_free(head_iterator);
+       git_iterator_free(workdir_iterator);
+
+       git_tree_free(head);
+       git_index_free(index);
+}
diff --git a/tests/apply/apply_helpers.h b/tests/apply/apply_helpers.h
new file mode 100644 (file)
index 0000000..364daf4
--- /dev/null
@@ -0,0 +1,467 @@
+#include "../merge/merge_helpers.h"
+
+#define TEST_REPO_PATH "merge-recursive"
+
+#define DIFF_MODIFY_TWO_FILES \
+       "diff --git a/asparagus.txt b/asparagus.txt\n" \
+       "index f516580..ffb36e5 100644\n" \
+       "--- a/asparagus.txt\n" \
+       "+++ b/asparagus.txt\n" \
+       "@@ -1 +1 @@\n" \
+       "-ASPARAGUS SOUP!\n" \
+       "+ASPARAGUS SOUP.\n" \
+       "diff --git a/veal.txt b/veal.txt\n" \
+       "index 94d2c01..a7b0665 100644\n" \
+       "--- a/veal.txt\n" \
+       "+++ b/veal.txt\n" \
+       "@@ -1 +1 @@\n" \
+       "-VEAL SOUP!\n" \
+       "+VEAL SOUP.\n" \
+       "@@ -7 +7 @@ occasionally, then put into it a shin of veal, let it boil two hours\n" \
+       "-longer. take out the slices of ham, and skim off the grease if any\n" \
+       "+longer; take out the slices of ham, and skim off the grease if any\n"
+
+#define DIFF_DELETE_FILE \
+       "diff --git a/gravy.txt b/gravy.txt\n" \
+       "deleted file mode 100644\n" \
+       "index c4e6cca..0000000\n" \
+       "--- a/gravy.txt\n" \
+       "+++ /dev/null\n" \
+       "@@ -1,8 +0,0 @@\n" \
+       "-GRAVY SOUP.\n" \
+       "-\n" \
+       "-Get eight pounds of coarse lean beef--wash it clean and lay it in your\n" \
+       "-pot, put in the same ingredients as for the shin soup, with the same\n" \
+       "-quantity of water, and follow the process directed for that. Strain the\n" \
+       "-soup through a sieve, and serve it up clear, with nothing more than\n" \
+       "-toasted bread in it; two table-spoonsful of mushroom catsup will add a\n" \
+       "-fine flavour to the soup.\n"
+
+#define DIFF_ADD_FILE \
+       "diff --git a/newfile.txt b/newfile.txt\n" \
+       "new file mode 100644\n" \
+       "index 0000000..6370543\n" \
+       "--- /dev/null\n" \
+       "+++ b/newfile.txt\n" \
+       "@@ -0,0 +1,2 @@\n" \
+       "+This is a new file!\n" \
+       "+Added by a patch.\n"
+
+#define DIFF_EXECUTABLE_FILE \
+       "diff --git a/beef.txt b/beef.txt\n" \
+       "old mode 100644\n" \
+       "new mode 100755\n"
+
+#define DIFF_MANY_CHANGES_ONE \
+       "diff --git a/veal.txt b/veal.txt\n" \
+       "index 94d2c01..c9d7d5d 100644\n" \
+       "--- a/veal.txt\n" \
+       "+++ b/veal.txt\n" \
+       "@@ -1,2 +1,2 @@\n" \
+       "-VEAL SOUP!\n" \
+       "+VEAL SOUP\n" \
+       " \n" \
+       "@@ -4,3 +4,2 @@\n" \
+       " spoonful of black pepper pounded, and two of salt, with two or three\n" \
+       "-slices of lean ham; let it boil steadily two hours; skim it\n" \
+       " occasionally, then put into it a shin of veal, let it boil two hours\n" \
+       "@@ -8,3 +7,3 @@\n" \
+       " should rise, take a gill of good cream, mix with it two table-spoonsful\n" \
+       "-of flour very nicely, and the yelks of two eggs beaten well, strain this\n" \
+       "+OF FLOUR very nicely, and the yelks of two eggs beaten well, strain this\n" \
+       " mixture, and add some chopped parsley; pour some soup on by degrees,\n" \
+       "@@ -12,2 +11,3 @@\n" \
+       " boiled two or three minutes to take off the raw taste of the eggs. If\n" \
+       "+Inserted line.\n" \
+       " the cream be not perfectly sweet, and the eggs quite new, the thickening\n" \
+       "@@ -15,3 +15,3 @@\n" \
+       " in, first taking off their skins, by letting them stand a few minutes in\n" \
+       "-hot water, when they may be easily peeled. When made in this way you\n" \
+       "+Changed line.\n" \
+       " must thicken it with the flour only. Any part of the veal may be used,\n"
+
+#define DIFF_MANY_CHANGES_TWO \
+       "diff --git a/veal.txt b/veal.txt\n" \
+       "index 94d2c01..6b943d6 100644\n" \
+       "--- a/veal.txt\n" \
+       "+++ b/veal.txt\n" \
+       "@@ -1,2 +1,2 @@\n" \
+       "-VEAL SOUP!\n" \
+       "+VEAL SOUP!!!\n" \
+       " \n" \
+       "@@ -4,3 +4,2 @@\n" \
+       " spoonful of black pepper pounded, and two of salt, with two or three\n" \
+       "-slices of lean ham; let it boil steadily two hours; skim it\n" \
+       " occasionally, then put into it a shin of veal, let it boil two hours\n" \
+       "@@ -8,3 +7,3 @@\n" \
+       " should rise, take a gill of good cream, mix with it two table-spoonsful\n" \
+       "-of flour very nicely, and the yelks of two eggs beaten well, strain this\n" \
+       "+of flour very nicely, AND the yelks of two eggs beaten well, strain this\n" \
+       " mixture, and add some chopped parsley; pour some soup on by degrees,\n" \
+       "@@ -12,2 +11,3 @@\n" \
+       " boiled two or three minutes to take off the raw taste of the eggs. If\n" \
+       "+New line.\n" \
+       " the cream be not perfectly sweet, and the eggs quite new, the thickening\n" \
+       "@@ -15,4 +15,5 @@\n" \
+       " in, first taking off their skins, by letting them stand a few minutes in\n" \
+       "-hot water, when they may be easily peeled. When made in this way you\n" \
+       "-must thicken it with the flour only. Any part of the veal may be used,\n" \
+       "-but the shin or knuckle is the nicest.\n" \
+       "+HOT water, when they may be easily peeled. When made in this way you\n" \
+       "+must THICKEN it with the flour only. Any part of the veal may be used,\n" \
+       "+but the shin OR knuckle is the nicest.\n" \
+       "+Another new line.\n" \
+
+#define DIFF_RENAME_FILE \
+       "diff --git a/beef.txt b/notbeef.txt\n" \
+       "similarity index 100%\n" \
+       "rename from beef.txt\n" \
+       "rename to notbeef.txt\n"
+
+#define DIFF_RENAME_AND_MODIFY_FILE \
+       "diff --git a/beef.txt b/notbeef.txt\n" \
+       "similarity index 97%\n" \
+       "rename from beef.txt\n" \
+       "rename to notbeef.txt\n" \
+       "index 68f6182..6fa1014 100644\n" \
+       "--- a/beef.txt\n" \
+       "+++ b/notbeef.txt\n" \
+       "@@ -1,4 +1,4 @@\n" \
+       "-BEEF SOUP.\n" \
+       "+THIS IS NOT BEEF SOUP, IT HAS A NEW NAME.\n" \
+       "\n" \
+       " Take the hind shin of beef, cut off all the flesh off the leg-bone,\n" \
+       " which must be taken away entirely, or the soup will be greasy. Wash the\n"
+
+#define DIFF_RENAME_A_TO_B_TO_C \
+       "diff --git a/asparagus.txt b/asparagus.txt\n" \
+       "deleted file mode 100644\n" \
+       "index f516580..0000000\n" \
+       "--- a/asparagus.txt\n" \
+       "+++ /dev/null\n" \
+       "@@ -1,10 +0,0 @@\n" \
+       "-ASPARAGUS SOUP!\n" \
+       "-\n" \
+       "-Take four large bunches of asparagus, scrape it nicely, cut off one inch\n" \
+       "-of the tops, and lay them in water, chop the stalks and put them on the\n" \
+       "-fire with a piece of bacon, a large onion cut up, and pepper and salt;\n" \
+       "-add two quarts of water, boil them till the stalks are quite soft, then\n" \
+       "-pulp them through a sieve, and strain the water to it, which must be put\n" \
+       "-back in the pot; put into it a chicken cut up, with the tops of\n" \
+       "-asparagus which had been laid by, boil it until these last articles are\n" \
+       "-sufficiently done, thicken with flour, butter and milk, and serve it up.\n" \
+       "diff --git a/beef.txt b/beef.txt\n" \
+       "index 68f6182..f516580 100644\n" \
+       "--- a/beef.txt\n" \
+       "+++ b/beef.txt\n" \
+       "@@ -1,22 +1,10 @@\n" \
+       "-BEEF SOUP.\n" \
+       "+ASPARAGUS SOUP!\n" \
+       "\n" \
+       "-Take the hind shin of beef, cut off all the flesh off the leg-bone,\n" \
+       "-which must be taken away entirely, or the soup will be greasy. Wash the\n" \
+       "-meat clean and lay it in a pot, sprinkle over it one small\n" \
+       "-table-spoonful of pounded black pepper, and two of salt; three onions\n" \
+       "-the size of a hen's egg, cut small, six small carrots scraped and cut\n" \
+       "-up, two small turnips pared and cut into dice; pour on three quarts of\n" \
+       "-water, cover the pot close, and keep it gently and steadily boiling five\n" \
+       "-hours, which will leave about three pints of clear soup; do not let the\n" \
+       "-pot boil over, but take off the scum carefully, as it rises. When it has\n" \
+       "-boiled four hours, put in a small bundle of thyme and parsley, and a\n" \
+       "-pint of celery cut small, or a tea-spoonful of celery seed pounded.\n" \
+       "-These latter ingredients would lose their delicate flavour if boiled too\n" \
+       "-much. Just before you take it up, brown it in the following manner: put\n" \
+       "-a small table-spoonful of nice brown sugar into an iron skillet, set it\n" \
+       "-on the fire and stir it till it melts and looks very dark, pour into it\n" \
+       "-a ladle full of the soup, a little at a time; stirring it all the while.\n" \
+       "-Strain this browning and mix it well with the soup; take out the bundle\n" \
+       "-of thyme and parsley, put the nicest pieces of meat in your tureen, and\n" \
+       "-pour on the soup and vegetables; put in some toasted bread cut in dice,\n" \
+       "-and serve it up.\n" \
+       "+Take four large bunches of asparagus, scrape it nicely, cut off one inch\n" \
+       "+of the tops, and lay them in water, chop the stalks and put them on the\n" \
+       "+fire with a piece of bacon, a large onion cut up, and pepper and salt;\n" \
+       "+add two quarts of water, boil them till the stalks are quite soft, then\n" \
+       "+pulp them through a sieve, and strain the water to it, which must be put\n" \
+       "+back in the pot; put into it a chicken cut up, with the tops of\n" \
+       "+asparagus which had been laid by, boil it until these last articles are\n" \
+       "+sufficiently done, thicken with flour, butter and milk, and serve it up.\n" \
+       "diff --git a/notbeef.txt b/notbeef.txt\n" \
+       "new file mode 100644\n" \
+       "index 0000000..68f6182\n" \
+       "--- /dev/null\n" \
+       "+++ b/notbeef.txt\n" \
+       "@@ -0,0 +1,22 @@\n" \
+       "+BEEF SOUP.\n" \
+       "+\n" \
+       "+Take the hind shin of beef, cut off all the flesh off the leg-bone,\n" \
+       "+which must be taken away entirely, or the soup will be greasy. Wash the\n" \
+       "+meat clean and lay it in a pot, sprinkle over it one small\n" \
+       "+table-spoonful of pounded black pepper, and two of salt; three onions\n" \
+       "+the size of a hen's egg, cut small, six small carrots scraped and cut\n" \
+       "+up, two small turnips pared and cut into dice; pour on three quarts of\n" \
+       "+water, cover the pot close, and keep it gently and steadily boiling five\n" \
+       "+hours, which will leave about three pints of clear soup; do not let the\n" \
+       "+pot boil over, but take off the scum carefully, as it rises. When it has\n" \
+       "+boiled four hours, put in a small bundle of thyme and parsley, and a\n" \
+       "+pint of celery cut small, or a tea-spoonful of celery seed pounded.\n" \
+       "+These latter ingredients would lose their delicate flavour if boiled too\n" \
+       "+much. Just before you take it up, brown it in the following manner: put\n" \
+       "+a small table-spoonful of nice brown sugar into an iron skillet, set it\n" \
+       "+on the fire and stir it till it melts and looks very dark, pour into it\n" \
+       "+a ladle full of the soup, a little at a time; stirring it all the while.\n" \
+       "+Strain this browning and mix it well with the soup; take out the bundle\n" \
+       "+of thyme and parsley, put the nicest pieces of meat in your tureen, and\n" \
+       "+pour on the soup and vegetables; put in some toasted bread cut in dice,\n" \
+       "+and serve it up.\n"
+
+#define DIFF_RENAME_A_TO_B_TO_C_EXACT \
+       "diff --git a/asparagus.txt b/beef.txt\n" \
+       "similarity index 100%\n" \
+       "rename from asparagus.txt\n" \
+       "rename to beef.txt\n" \
+       "diff --git a/beef.txt b/notbeef.txt\n" \
+       "similarity index 100%\n" \
+       "rename from beef.txt\n" \
+       "rename to notbeef.txt\n"
+
+#define DIFF_RENAME_CIRCULAR \
+       "diff --git a/asparagus.txt b/beef.txt\n" \
+       "similarity index 100%\n" \
+       "rename from asparagus.txt\n" \
+       "rename to beef.txt\n" \
+       "diff --git a/beef.txt b/notbeef.txt\n" \
+       "similarity index 100%\n" \
+       "rename from beef.txt\n" \
+       "rename to asparagus.txt\n"
+
+#define DIFF_RENAME_2_TO_1 \
+       "diff --git a/asparagus.txt b/2.txt\n" \
+       "similarity index 100%\n" \
+       "rename from asparagus.txt\n" \
+       "rename to 2.txt\n" \
+       "diff --git a/beef.txt b/2.txt\n" \
+       "similarity index 100%\n" \
+       "rename from beef.txt\n" \
+       "rename to 2.txt\n"
+
+#define DIFF_RENAME_1_TO_2 \
+       "diff --git a/asparagus.txt b/2.txt\n" \
+       "similarity index 100%\n" \
+       "rename from asparagus.txt\n" \
+       "rename to 1.txt\n" \
+       "diff --git a/asparagus.txt b/2.txt\n" \
+       "similarity index 100%\n" \
+       "rename from asparagus.txt\n" \
+       "rename to 2.txt\n"
+
+#define DIFF_TWO_DELTAS_ONE_FILE \
+       "diff --git a/beef.txt b/beef.txt\n" \
+       "index 68f6182..235069d 100644\n" \
+       "--- a/beef.txt\n" \
+       "+++ b/beef.txt\n" \
+       "@@ -1,4 +1,4 @@\n" \
+       "-BEEF SOUP.\n" \
+       "+BEEF SOUP!\n" \
+       "\n" \
+       " Take the hind shin of beef, cut off all the flesh off the leg-bone,\n" \
+       " which must be taken away entirely, or the soup will be greasy. Wash the\n" \
+       "diff --git a/beef.txt b/beef.txt\n" \
+       "index 68f6182..e059eb5 100644\n" \
+       "--- a/beef.txt\n" \
+       "+++ b/beef.txt\n" \
+       "@@ -19,4 +19,4 @@ a ladle full of the soup, a little at a time; stirring it all the while.\n" \
+       " Strain this browning and mix it well with the soup; take out the bundle\n" \
+       " of thyme and parsley, put the nicest pieces of meat in your tureen, and\n" \
+       " pour on the soup and vegetables; put in some toasted bread cut in dice,\n" \
+       "-and serve it up.\n" \
+       "+and serve it up!\n"
+
+#define DIFF_TWO_DELTAS_ONE_NEW_FILE \
+       "diff --git a/newfile.txt b/newfile.txt\n" \
+       "new file mode 100644\n" \
+       "index 0000000..6434b13\n" \
+       "--- /dev/null\n" \
+       "+++ b/newfile.txt\n" \
+       "@@ -0,0 +1 @@\n" \
+       "+This is a new file.\n" \
+       "diff --git a/newfile.txt b/newfile.txt\n" \
+       "index 6434b13..08d4c44 100644\n" \
+       "--- a/newfile.txt\n" \
+       "+++ b/newfile.txt\n" \
+       "@@ -1 +1,3 @@\n" \
+       " This is a new file.\n" \
+       "+\n" \
+       "+This is another change to a new file.\n"
+
+#define DIFF_RENAME_AND_MODIFY_DELTAS \
+       "diff --git a/veal.txt b/asdf.txt\n" \
+       "similarity index 96%\n" \
+       "rename from veal.txt\n" \
+       "rename to asdf.txt\n" \
+       "index 94d2c01..292cb60 100644\n" \
+       "--- a/veal.txt\n" \
+       "+++ b/asdf.txt\n" \
+       "@@ -15,4 +15,4 @@ will curdle in the soup. For a change you may put a dozen ripe tomatos\n" \
+       " in, first taking off their skins, by letting them stand a few minutes in\n" \
+       " hot water, when they may be easily peeled. When made in this way you\n" \
+       " must thicken it with the flour only. Any part of the veal may be used,\n" \
+       "-but the shin or knuckle is the nicest.\n" \
+       "+but the shin or knuckle is the nicest!\n" \
+       "diff --git a/asdf.txt b/asdf.txt\n" \
+       "index 292cb60..61c686b 100644\n" \
+       "--- a/asdf.txt\n" \
+       "+++ b/asdf.txt\n" \
+       "@@ -1,4 +1,4 @@\n" \
+       "-VEAL SOUP!\n" \
+       "+VEAL SOUP\n" \
+       "\n" \
+       " Put into a pot three quarts of water, three onions cut small, one\n" \
+       " spoonful of black pepper pounded, and two of salt, with two or three\n"
+
+#define DIFF_RENAME_AFTER_MODIFY \
+       "diff --git a/veal.txt b/veal.txt\n" \
+       "index 292cb60..61c686b 100644\n" \
+       "--- a/veal.txt\n" \
+       "+++ b/veal.txt\n" \
+       "@@ -1,4 +1,4 @@\n" \
+       "-VEAL SOUP!\n" \
+       "+VEAL SOUP\n" \
+       "\n" \
+       " Put into a pot three quarts of water, three onions cut small, one\n" \
+       " spoonful of black pepper pounded, and two of salt, with two or three\n" \
+       "diff --git a/veal.txt b/other.txt\n" \
+       "similarity index 96%\n" \
+       "rename from veal.txt\n" \
+       "rename to other.txt\n" \
+       "index 94d2c01..292cb60 100644\n" \
+       "--- a/veal.txt\n" \
+       "+++ b/other.txt\n" \
+       "@@ -15,4 +15,4 @@ will curdle in the soup. For a change you may put a dozen ripe tomatos\n" \
+       " in, first taking off their skins, by letting them stand a few minutes in\n" \
+       " hot water, when they may be easily peeled. When made in this way you\n" \
+       " must thicken it with the flour only. Any part of the veal may be used,\n" \
+       "-but the shin or knuckle is the nicest.\n" \
+       "+but the shin or knuckle is the nicest!\n"
+
+#define DIFF_RENAME_AFTER_MODIFY_TARGET_PATH \
+       "diff --git a/beef.txt b/beef.txt\n" \
+       "index 292cb60..61c686b 100644\n" \
+       "--- a/beef.txt\n" \
+       "+++ b/beef.txt\n" \
+       "@@ -1,4 +1,4 @@\n" \
+       "-VEAL SOUP!\n" \
+       "+VEAL SOUP\n" \
+       "\n" \
+       " Put into a pot three quarts of water, three onions cut small, one\n" \
+       " spoonful of black pepper pounded, and two of salt, with two or three\n" \
+       "diff --git a/veal.txt b/beef.txt\n" \
+       "similarity index 96%\n" \
+       "rename from veal.txt\n" \
+       "rename to beef.txt\n" \
+       "index 94d2c01..292cb60 100644\n" \
+       "--- a/veal.txt\n" \
+       "+++ b/beef.txt\n" \
+       "@@ -15,4 +15,4 @@ will curdle in the soup. For a change you may put a dozen ripe tomatos\n" \
+       " in, first taking off their skins, by letting them stand a few minutes in\n" \
+       " hot water, when they may be easily peeled. When made in this way you\n" \
+       " must thicken it with the flour only. Any part of the veal may be used,\n" \
+       "-but the shin or knuckle is the nicest.\n" \
+       "+but the shin or knuckle is the nicest!\n"
+
+#define DIFF_RENAME_AND_MODIFY_SOURCE_PATH \
+       "diff --git a/veal.txt b/asdf.txt\n" \
+       "similarity index 96%\n" \
+       "rename from veal.txt\n" \
+       "rename to asdf.txt\n" \
+       "index 94d2c01..292cb60 100644\n" \
+       "--- a/veal.txt\n" \
+       "+++ b/asdf.txt\n" \
+       "@@ -15,4 +15,4 @@ will curdle in the soup. For a change you may put a dozen ripe tomatos\n" \
+       " in, first taking off their skins, by letting them stand a few minutes in\n" \
+       " hot water, when they may be easily peeled. When made in this way you\n" \
+       " must thicken it with the flour only. Any part of the veal may be used,\n" \
+       "-but the shin or knuckle is the nicest.\n" \
+       "+but the shin or knuckle is the nicest!\n" \
+       "diff --git a/veal.txt b/veal.txt\n" \
+       "index 292cb60..61c686b 100644\n" \
+       "--- a/veal.txt\n" \
+       "+++ b/veal.txt\n" \
+       "@@ -1,4 +1,4 @@\n" \
+       "-VEAL SOUP!\n" \
+       "+VEAL SOUP\n" \
+       "\n" \
+       " Put into a pot three quarts of water, three onions cut small, one\n" \
+       " spoonful of black pepper pounded, and two of salt, with two or three\n"
+
+#define DIFF_DELETE_AND_READD_FILE \
+       "diff --git a/asparagus.txt b/asparagus.txt\n" \
+       "deleted file mode 100644\n" \
+       "index f516580..0000000\n" \
+       "--- a/asparagus.txt\n" \
+       "+++ /dev/null\n" \
+       "@@ -1,10 +0,0 @@\n" \
+       "-ASPARAGUS SOUP!\n" \
+       "-\n" \
+       "-Take four large bunches of asparagus, scrape it nicely, cut off one inch\n" \
+       "-of the tops, and lay them in water, chop the stalks and put them on the\n" \
+       "-fire with a piece of bacon, a large onion cut up, and pepper and salt;\n" \
+       "-add two quarts of water, boil them till the stalks are quite soft, then\n" \
+       "-pulp them through a sieve, and strain the water to it, which must be put\n" \
+       "-back in the pot; put into it a chicken cut up, with the tops of\n" \
+       "-asparagus which had been laid by, boil it until these last articles are\n" \
+       "-sufficiently done, thicken with flour, butter and milk, and serve it up.\n" \
+       "diff --git a/asparagus.txt b/asparagus.txt\n" \
+       "new file mode 100644\n" \
+       "index 0000000..2dc7f8b\n" \
+       "--- /dev/null\n" \
+       "+++ b/asparagus.txt\n" \
+       "@@ -0,0 +1 @@\n" \
+       "+New file.\n" \
+
+#define DIFF_REMOVE_FILE_TWICE \
+       "diff --git a/asparagus.txt b/asparagus.txt\n" \
+       "deleted file mode 100644\n" \
+       "index f516580..0000000\n" \
+       "--- a/asparagus.txt\n" \
+       "+++ /dev/null\n" \
+       "@@ -1,10 +0,0 @@\n" \
+       "-ASPARAGUS SOUP!\n" \
+       "-\n" \
+       "-Take four large bunches of asparagus, scrape it nicely, cut off one inch\n" \
+       "-of the tops, and lay them in water, chop the stalks and put them on the\n" \
+       "-fire with a piece of bacon, a large onion cut up, and pepper and salt;\n" \
+       "-add two quarts of water, boil them till the stalks are quite soft, then\n" \
+       "-pulp them through a sieve, and strain the water to it, which must be put\n" \
+       "-back in the pot; put into it a chicken cut up, with the tops of\n" \
+       "-asparagus which had been laid by, boil it until these last articles are\n" \
+       "-sufficiently done, thicken with flour, butter and milk, and serve it up.\n" \
+       "diff --git a/asparagus.txt b/asparagus.txt\n" \
+       "deleted file mode 100644\n" \
+       "index f516580..0000000\n" \
+       "--- a/asparagus.txt\n" \
+       "+++ /dev/null\n" \
+       "@@ -1,10 +0,0 @@\n" \
+       "-ASPARAGUS SOUP!\n" \
+       "-\n" \
+       "-Take four large bunches of asparagus, scrape it nicely, cut off one inch\n" \
+       "-of the tops, and lay them in water, chop the stalks and put them on the\n" \
+       "-fire with a piece of bacon, a large onion cut up, and pepper and salt;\n" \
+       "-add two quarts of water, boil them till the stalks are quite soft, then\n" \
+       "-pulp them through a sieve, and strain the water to it, which must be put\n" \
+       "-back in the pot; put into it a chicken cut up, with the tops of\n" \
+       "-asparagus which had been laid by, boil it until these last articles are\n" \
+       "-sufficiently done, thicken with flour, butter and milk, and serve it up.\n"
+
+void validate_apply_workdir(
+       git_repository *repo,
+       struct merge_index_entry *workdir_entries,
+       size_t workdir_cnt);
+
+void validate_apply_index(
+       git_repository *repo,
+       struct merge_index_entry *index_entries,
+       size_t index_cnt);
+
+void validate_index_unchanged(git_repository *repo);
+void validate_workdir_unchanged(git_repository *repo);
diff --git a/tests/apply/both.c b/tests/apply/both.c
new file mode 100644 (file)
index 0000000..400df5e
--- /dev/null
@@ -0,0 +1,736 @@
+#include "clar_libgit2.h"
+#include "apply_helpers.h"
+
+static git_repository *repo;
+
+#define TEST_REPO_PATH "merge-recursive"
+
+void test_apply_both__initialize(void)
+{
+       git_oid oid;
+       git_commit *commit;
+
+       repo = cl_git_sandbox_init(TEST_REPO_PATH);
+
+       git_oid_fromstr(&oid, "539bd011c4822c560c1d17cab095006b7a10f707");
+       cl_git_pass(git_commit_lookup(&commit, repo, &oid));
+       cl_git_pass(git_reset(repo, (git_object *)commit, GIT_RESET_HARD, NULL));
+       git_commit_free(commit);
+}
+
+void test_apply_both__cleanup(void)
+{
+       cl_git_sandbox_cleanup();
+}
+
+void test_apply_both__generated_diff(void)
+{
+       git_oid a_oid, b_oid;
+       git_commit *a_commit, *b_commit;
+       git_tree *a_tree, *b_tree;
+       git_diff *diff;
+       git_diff_options diff_opts = GIT_DIFF_OPTIONS_INIT;
+
+       struct merge_index_entry both_expected[] = {
+               { 0100644, "ffb36e513f5fdf8a6ba850a20142676a2ac4807d", 0, "asparagus.txt" },
+               { 0100644, "68f6182f4c85d39e1309d97c7e456156dc9c0096", 0, "beef.txt" },
+               { 0100644, "4b7c5650008b2e747fe1809eeb5a1dde0e80850a", 0, "bouilli.txt" },
+               { 0100644, "c4e6cca3ec6ae0148ed231f97257df8c311e015f", 0, "gravy.txt" },
+               { 0100644, "68af1fc7407fd9addf1701a87eb1c95c7494c598", 0, "oyster.txt" },
+               { 0100644, "a7b066537e6be7109abfe4ff97b675d4e077da20", 0, "veal.txt" },
+       };
+       size_t both_expected_cnt = sizeof(both_expected) /
+               sizeof(struct merge_index_entry);
+
+       git_oid_fromstr(&a_oid, "539bd011c4822c560c1d17cab095006b7a10f707");
+       git_oid_fromstr(&b_oid, "7c7bf85e978f1d18c0566f702d2cb7766b9c8d4f");
+       cl_git_pass(git_commit_lookup(&a_commit, repo, &a_oid));
+       cl_git_pass(git_commit_lookup(&b_commit, repo, &b_oid));
+
+       cl_git_pass(git_commit_tree(&a_tree, a_commit));
+       cl_git_pass(git_commit_tree(&b_tree, b_commit));
+
+       cl_git_pass(git_diff_tree_to_tree(&diff, repo, a_tree, b_tree, &diff_opts));
+       cl_git_pass(git_apply(repo, diff, GIT_APPLY_LOCATION_BOTH, NULL));
+
+       validate_apply_index(repo, both_expected, both_expected_cnt);
+       validate_apply_workdir(repo, both_expected, both_expected_cnt);
+
+       git_diff_free(diff);
+       git_tree_free(a_tree);
+       git_tree_free(b_tree);
+       git_commit_free(a_commit);
+       git_commit_free(b_commit);
+}
+
+void test_apply_both__parsed_diff(void)
+{
+       git_diff *diff;
+
+       struct merge_index_entry both_expected[] = {
+               { 0100644, "ffb36e513f5fdf8a6ba850a20142676a2ac4807d", 0, "asparagus.txt" },
+               { 0100644, "68f6182f4c85d39e1309d97c7e456156dc9c0096", 0, "beef.txt" },
+               { 0100644, "4b7c5650008b2e747fe1809eeb5a1dde0e80850a", 0, "bouilli.txt" },
+               { 0100644, "c4e6cca3ec6ae0148ed231f97257df8c311e015f", 0, "gravy.txt" },
+               { 0100644, "68af1fc7407fd9addf1701a87eb1c95c7494c598", 0, "oyster.txt" },
+               { 0100644, "a7b066537e6be7109abfe4ff97b675d4e077da20", 0, "veal.txt" },
+       };
+       size_t both_expected_cnt = sizeof(both_expected) /
+               sizeof(struct merge_index_entry);
+
+       cl_git_pass(git_diff_from_buffer(&diff,
+               DIFF_MODIFY_TWO_FILES, strlen(DIFF_MODIFY_TWO_FILES)));
+       cl_git_pass(git_apply(repo, diff, GIT_APPLY_LOCATION_BOTH, NULL));
+
+       validate_apply_index(repo, both_expected, both_expected_cnt);
+       validate_apply_workdir(repo, both_expected, both_expected_cnt);
+
+       git_diff_free(diff);
+}
+
+void test_apply_both__removes_file(void)
+{
+       git_diff *diff;
+
+       struct merge_index_entry both_expected[] = {
+               { 0100644, "f51658077d85f2264fa179b4d0848268cb3475c3", 0, "asparagus.txt" },
+               { 0100644, "68f6182f4c85d39e1309d97c7e456156dc9c0096", 0, "beef.txt" },
+               { 0100644, "4b7c5650008b2e747fe1809eeb5a1dde0e80850a", 0, "bouilli.txt" },
+               { 0100644, "68af1fc7407fd9addf1701a87eb1c95c7494c598", 0, "oyster.txt" },
+               { 0100644, "94d2c01087f48213bd157222d54edfefd77c9bba", 0, "veal.txt" },
+       };
+       size_t both_expected_cnt = sizeof(both_expected) /
+           sizeof(struct merge_index_entry);
+
+       cl_git_pass(git_diff_from_buffer(&diff, DIFF_DELETE_FILE,
+               strlen(DIFF_DELETE_FILE)));
+       cl_git_pass(git_apply(repo, diff, GIT_APPLY_LOCATION_BOTH, NULL));
+
+       validate_apply_index(repo, both_expected, both_expected_cnt);
+       validate_apply_workdir(repo, both_expected, both_expected_cnt);
+
+       git_diff_free(diff);
+}
+
+void test_apply_both__adds_file(void)
+{
+       git_diff *diff;
+
+       struct merge_index_entry both_expected[] = {
+               { 0100644, "f51658077d85f2264fa179b4d0848268cb3475c3", 0, "asparagus.txt" },
+               { 0100644, "68f6182f4c85d39e1309d97c7e456156dc9c0096", 0, "beef.txt" },
+               { 0100644, "4b7c5650008b2e747fe1809eeb5a1dde0e80850a", 0, "bouilli.txt" },
+               { 0100644, "c4e6cca3ec6ae0148ed231f97257df8c311e015f", 0, "gravy.txt" },
+               { 0100644, "6370543fcfedb3e6516ec53b06158f3687dc1447", 0, "newfile.txt" },
+               { 0100644, "68af1fc7407fd9addf1701a87eb1c95c7494c598", 0, "oyster.txt" },
+               { 0100644, "94d2c01087f48213bd157222d54edfefd77c9bba", 0, "veal.txt" },
+       };
+       size_t both_expected_cnt = sizeof(both_expected) /
+           sizeof(struct merge_index_entry);
+
+       cl_git_pass(git_diff_from_buffer(&diff,
+               DIFF_ADD_FILE, strlen(DIFF_ADD_FILE)));
+       cl_git_pass(git_apply(repo, diff, GIT_APPLY_LOCATION_BOTH, NULL));
+
+       validate_apply_index(repo, both_expected, both_expected_cnt);
+       validate_apply_workdir(repo, both_expected, both_expected_cnt);
+
+       git_diff_free(diff);
+}
+
+void test_apply_both__application_failure_leaves_index_unmodified(void)
+{
+       git_diff *diff;
+       git_index *index;
+
+       const char *diff_file = DIFF_MODIFY_TWO_FILES;
+
+       struct merge_index_entry index_expected[] = {
+               { 0100644, "f51658077d85f2264fa179b4d0848268cb3475c3", 0, "asparagus.txt" },
+               { 0100644, "68f6182f4c85d39e1309d97c7e456156dc9c0096", 0, "beef.txt" },
+               { 0100644, "4b7c5650008b2e747fe1809eeb5a1dde0e80850a", 0, "bouilli.txt" },
+               { 0100644, "c4e6cca3ec6ae0148ed231f97257df8c311e015f", 0, "gravy.txt" },
+               { 0100644, "68af1fc7407fd9addf1701a87eb1c95c7494c598", 0, "oyster.txt" },
+       };
+       size_t index_expected_cnt = sizeof(index_expected) /
+               sizeof(struct merge_index_entry);
+
+       /* mutate the index */
+       cl_git_pass(git_repository_index(&index, repo));
+       cl_git_pass(git_index_remove(index, "veal.txt", 0));
+       cl_git_pass(git_index_write(index));
+       git_index_free(index);
+
+       cl_git_pass(git_diff_from_buffer(&diff, diff_file, strlen(diff_file)));
+       cl_git_fail_with(GIT_EAPPLYFAIL, git_apply(repo, diff, GIT_APPLY_LOCATION_BOTH, NULL));
+
+       validate_apply_index(repo, index_expected, index_expected_cnt);
+       validate_workdir_unchanged(repo);
+
+       git_diff_free(diff);
+}
+
+void test_apply_both__index_must_match_workdir(void)
+{
+       git_diff *diff;
+       git_index *index;
+       git_index_entry idx_entry;
+
+       const char *diff_file = DIFF_MODIFY_TWO_FILES;
+
+       /*
+        * Append a line to the end of the file in both the index and the
+        * working directory.  Although the appended line would allow for
+        * patch application in each, the line appended is different in
+        * each, so the application should not be allowed.
+        */
+       cl_git_append2file("merge-recursive/asparagus.txt",
+           "This is a modification.\n");
+
+       cl_git_pass(git_repository_index(&index, repo));
+
+       memset(&idx_entry, 0, sizeof(git_index_entry));
+       idx_entry.mode = 0100644;
+       idx_entry.path = "asparagus.txt";
+       cl_git_pass(git_oid_fromstr(&idx_entry.id, "06d3fefb8726ab1099acc76e02dfb85e034b2538"));
+       cl_git_pass(git_index_add(index, &idx_entry));
+
+       cl_git_pass(git_index_write(index));
+       git_index_free(index);
+
+       cl_git_pass(git_diff_from_buffer(&diff, diff_file, strlen(diff_file)));
+       cl_git_fail_with(GIT_EAPPLYFAIL, git_apply(repo, diff, GIT_APPLY_LOCATION_BOTH, NULL));
+
+       git_diff_free(diff);
+}
+
+void test_apply_both__index_mode_must_match_workdir(void)
+{
+       git_diff *diff;
+
+       if (!cl_is_chmod_supported())
+               clar__skip();
+
+       /* Set a file in the working directory executable. */
+       cl_must_pass(p_chmod("merge-recursive/asparagus.txt", 0755));
+
+       cl_git_pass(git_diff_from_buffer(&diff, DIFF_MODIFY_TWO_FILES,
+           strlen(DIFF_MODIFY_TWO_FILES)));
+       cl_git_fail_with(GIT_EAPPLYFAIL, git_apply(repo, diff, GIT_APPLY_LOCATION_BOTH, NULL));
+
+       git_diff_free(diff);
+}
+
+void test_apply_both__application_failure_leaves_workdir_unmodified(void)
+{
+       git_diff *diff;
+       git_index *index;
+
+       const char *diff_file = DIFF_MODIFY_TWO_FILES;
+
+       struct merge_index_entry workdir_expected[] = {
+               { 0100644, "f51658077d85f2264fa179b4d0848268cb3475c3", 0, "asparagus.txt" },
+               { 0100644, "68f6182f4c85d39e1309d97c7e456156dc9c0096", 0, "beef.txt" },
+               { 0100644, "4b7c5650008b2e747fe1809eeb5a1dde0e80850a", 0, "bouilli.txt" },
+               { 0100644, "c4e6cca3ec6ae0148ed231f97257df8c311e015f", 0, "gravy.txt" },
+               { 0100644, "68af1fc7407fd9addf1701a87eb1c95c7494c598", 0, "oyster.txt" },
+               { 0100644, "8684724651336001c5dbce74bed6736d2443958d", 0, "veal.txt" },
+       };
+       size_t workdir_expected_cnt = sizeof(workdir_expected) /
+               sizeof(struct merge_index_entry);
+
+       /* mutate the workdir */
+       cl_git_rewritefile("merge-recursive/veal.txt",
+           "This is a modification.\n");
+
+       cl_git_pass(git_repository_index(&index, repo));
+       cl_git_pass(git_index_add_bypath(index, "veal.txt"));
+       cl_git_pass(git_index_write(index));
+       git_index_free(index);
+
+       cl_git_pass(git_diff_from_buffer(&diff, diff_file, strlen(diff_file)));
+       cl_git_fail_with(GIT_EAPPLYFAIL, git_apply(repo, diff, GIT_APPLY_LOCATION_BOTH, NULL));
+
+       validate_apply_workdir(repo, workdir_expected, workdir_expected_cnt);
+
+       git_diff_free(diff);
+}
+
+void test_apply_both__keeps_nonconflicting_changes(void)
+{
+       git_diff *diff;
+       git_index *index;
+       git_index_entry idx_entry;
+
+       const char *diff_file = DIFF_MODIFY_TWO_FILES;
+
+       struct merge_index_entry index_expected[] = {
+               { 0100644, "ffb36e513f5fdf8a6ba850a20142676a2ac4807d", 0, "asparagus.txt" },
+               { 0100644, "898d12687fb35be271c27c795a6b32c8b51da79e", 0, "beef.txt" },
+               { 0100644, "c4e6cca3ec6ae0148ed231f97257df8c311e015f", 0, "gravy.txt" },
+               { 0100644, "68af1fc7407fd9addf1701a87eb1c95c7494c598", 0, "oyster.txt" },
+               { 0100644, "a7b066537e6be7109abfe4ff97b675d4e077da20", 0, "veal.txt" },
+       };
+       size_t index_expected_cnt = sizeof(index_expected) /
+               sizeof(struct merge_index_entry);
+
+       struct merge_index_entry workdir_expected[] = {
+               { 0100644, "ffb36e513f5fdf8a6ba850a20142676a2ac4807d", 0, "asparagus.txt" },
+               { 0100644, "68f6182f4c85d39e1309d97c7e456156dc9c0096", 0, "beef.txt" },
+               { 0100644, "4b7c5650008b2e747fe1809eeb5a1dde0e80850a", 0, "bouilli.txt" },
+               { 0100644, "f75ba05f340c51065cbea2e1fdbfe5fe13144c97", 0, "gravy.txt" },
+               { 0100644, "a7b066537e6be7109abfe4ff97b675d4e077da20", 0, "veal.txt" },
+       };
+       size_t workdir_expected_cnt = sizeof(workdir_expected) /
+               sizeof(struct merge_index_entry);
+
+       /* mutate the index */
+       cl_git_pass(git_repository_index(&index, repo));
+
+       memset(&idx_entry, 0, sizeof(git_index_entry));
+       idx_entry.mode = 0100644;
+       idx_entry.path = "beef.txt";
+       cl_git_pass(git_oid_fromstr(&idx_entry.id, "898d12687fb35be271c27c795a6b32c8b51da79e"));
+       cl_git_pass(git_index_add(index, &idx_entry));
+
+       cl_git_pass(git_index_remove(index, "bouilli.txt", 0));
+       cl_git_pass(git_index_write(index));
+       git_index_free(index);
+
+       /* and mutate the working directory */
+       cl_git_rmfile("merge-recursive/oyster.txt");
+       cl_git_rewritefile("merge-recursive/gravy.txt", "Hello, world.\n");
+
+       cl_git_pass(git_diff_from_buffer(&diff, diff_file, strlen(diff_file)));
+       cl_git_pass(git_apply(repo, diff, GIT_APPLY_LOCATION_BOTH, NULL));
+
+       validate_apply_index(repo, index_expected, index_expected_cnt);
+       validate_apply_workdir(repo, workdir_expected, workdir_expected_cnt);
+
+       git_diff_free(diff);
+}
+
+void test_apply_both__can_apply_nonconflicting_file_changes(void)
+{
+       git_diff *diff;
+       git_index *index;
+
+       const char *diff_file = DIFF_MODIFY_TWO_FILES;
+
+       struct merge_index_entry both_expected[] = {
+               { 0100644, "f8a701c8a1a22c1729ee50faff1111f2d64f96fc", 0, "asparagus.txt" },
+               { 0100644, "68f6182f4c85d39e1309d97c7e456156dc9c0096", 0, "beef.txt" },
+               { 0100644, "4b7c5650008b2e747fe1809eeb5a1dde0e80850a", 0, "bouilli.txt" },
+               { 0100644, "c4e6cca3ec6ae0148ed231f97257df8c311e015f", 0, "gravy.txt" },
+               { 0100644, "68af1fc7407fd9addf1701a87eb1c95c7494c598", 0, "oyster.txt" },
+               { 0100644, "a7b066537e6be7109abfe4ff97b675d4e077da20", 0, "veal.txt" },
+       };
+       size_t both_expected_cnt = sizeof(both_expected) /
+               sizeof(struct merge_index_entry);
+
+       /*
+        * Replace the workdir file with a version that is different than
+        * HEAD but such that the patch still applies cleanly.  This item
+        * has a new line appended.
+        */
+       cl_git_append2file("merge-recursive/asparagus.txt",
+           "This line is added in the index and the workdir.\n");
+
+       cl_git_pass(git_repository_index(&index, repo));
+       cl_git_pass(git_index_add_bypath(index, "asparagus.txt"));
+       cl_git_pass(git_index_write(index));
+       git_index_free(index);
+
+       cl_git_pass(git_diff_from_buffer(&diff, diff_file, strlen(diff_file)));
+       cl_git_pass(git_apply(repo, diff, GIT_APPLY_LOCATION_BOTH, NULL));
+
+       validate_apply_index(repo, both_expected, both_expected_cnt);
+       validate_apply_workdir(repo, both_expected, both_expected_cnt);
+
+       git_diff_free(diff);
+}
+
+void test_apply_both__honors_crlf_attributes(void)
+{
+       git_diff *diff;
+       git_oid oid;
+       git_commit *commit;
+
+       const char *diff_file = DIFF_MODIFY_TWO_FILES;
+
+       struct merge_index_entry index_expected[] = {
+               { 0100644, "ffb36e513f5fdf8a6ba850a20142676a2ac4807d", 0, "asparagus.txt" },
+               { 0100644, "68f6182f4c85d39e1309d97c7e456156dc9c0096", 0, "beef.txt" },
+               { 0100644, "4b7c5650008b2e747fe1809eeb5a1dde0e80850a", 0, "bouilli.txt" },
+               { 0100644, "c4e6cca3ec6ae0148ed231f97257df8c311e015f", 0, "gravy.txt" },
+               { 0100644, "68af1fc7407fd9addf1701a87eb1c95c7494c598", 0, "oyster.txt" },
+               { 0100644, "a7b066537e6be7109abfe4ff97b675d4e077da20", 0, "veal.txt" },
+       };
+       size_t index_expected_cnt = sizeof(index_expected) /
+               sizeof(struct merge_index_entry);
+
+       struct merge_index_entry workdir_expected[] = {
+               { 0100644, "176a458f94e0ea5272ce67c36bf30b6be9caf623", 0, ".gitattributes" },
+               { 0100644, "ffb36e513f5fdf8a6ba850a20142676a2ac4807d", 0, "asparagus.txt" },
+               { 0100644, "68f6182f4c85d39e1309d97c7e456156dc9c0096", 0, "beef.txt" },
+               { 0100644, "4b7c5650008b2e747fe1809eeb5a1dde0e80850a", 0, "bouilli.txt" },
+               { 0100644, "c4e6cca3ec6ae0148ed231f97257df8c311e015f", 0, "gravy.txt" },
+               { 0100644, "68af1fc7407fd9addf1701a87eb1c95c7494c598", 0, "oyster.txt" },
+               { 0100644, "a7b066537e6be7109abfe4ff97b675d4e077da20", 0, "veal.txt" },
+       };
+       size_t workdir_expected_cnt = sizeof(workdir_expected) /
+               sizeof(struct merge_index_entry);
+
+       cl_git_mkfile("merge-recursive/.gitattributes", "* text=auto\n");
+
+       cl_git_rmfile("merge-recursive/asparagus.txt");
+       cl_git_rmfile("merge-recursive/veal.txt");
+
+       git_oid_fromstr(&oid, "539bd011c4822c560c1d17cab095006b7a10f707");
+       cl_git_pass(git_commit_lookup(&commit, repo, &oid));
+       cl_git_pass(git_reset(repo, (git_object *)commit, GIT_RESET_HARD, NULL));
+       git_commit_free(commit);
+
+       cl_git_pass(git_diff_from_buffer(&diff, diff_file, strlen(diff_file)));
+       cl_git_pass(git_apply(repo, diff, GIT_APPLY_LOCATION_BOTH, NULL));
+
+       validate_apply_index(repo, index_expected, index_expected_cnt);
+       validate_apply_workdir(repo, workdir_expected, workdir_expected_cnt);
+
+       git_diff_free(diff);
+}
+
+void test_apply_both__rename(void)
+{
+       git_diff *diff;
+
+       struct merge_index_entry both_expected[] = {
+               { 0100644, "f51658077d85f2264fa179b4d0848268cb3475c3", 0, "asparagus.txt" },
+               { 0100644, "4b7c5650008b2e747fe1809eeb5a1dde0e80850a", 0, "bouilli.txt" },
+               { 0100644, "c4e6cca3ec6ae0148ed231f97257df8c311e015f", 0, "gravy.txt" },
+               { 0100644, "68f6182f4c85d39e1309d97c7e456156dc9c0096", 0, "notbeef.txt" },
+               { 0100644, "68af1fc7407fd9addf1701a87eb1c95c7494c598", 0, "oyster.txt" },
+               { 0100644, "94d2c01087f48213bd157222d54edfefd77c9bba", 0, "veal.txt" },
+       };
+       size_t both_expected_cnt = sizeof(both_expected) /
+               sizeof(struct merge_index_entry);
+
+       cl_git_pass(git_diff_from_buffer(&diff, DIFF_RENAME_FILE,
+               strlen(DIFF_RENAME_FILE)));
+       cl_git_pass(git_apply(repo, diff, GIT_APPLY_LOCATION_BOTH, NULL));
+
+       validate_apply_index(repo, both_expected, both_expected_cnt);
+       validate_apply_workdir(repo, both_expected, both_expected_cnt);
+
+       git_diff_free(diff);
+}
+
+void test_apply_both__rename_and_modify(void)
+{
+       git_diff *diff;
+
+       struct merge_index_entry both_expected[] = {
+               { 0100644, "f51658077d85f2264fa179b4d0848268cb3475c3", 0, "asparagus.txt" },
+               { 0100644, "4b7c5650008b2e747fe1809eeb5a1dde0e80850a", 0, "bouilli.txt" },
+               { 0100644, "c4e6cca3ec6ae0148ed231f97257df8c311e015f", 0, "gravy.txt" },
+               { 0100644, "6fa10147f00fe1fab1d5e835529a9dad53db8552", 0, "notbeef.txt" },
+               { 0100644, "68af1fc7407fd9addf1701a87eb1c95c7494c598", 0, "oyster.txt" },
+               { 0100644, "94d2c01087f48213bd157222d54edfefd77c9bba", 0, "veal.txt" },
+       };
+       size_t both_expected_cnt = sizeof(both_expected) /
+               sizeof(struct merge_index_entry);
+
+       cl_git_pass(git_diff_from_buffer(&diff, DIFF_RENAME_AND_MODIFY_FILE,
+               strlen(DIFF_RENAME_AND_MODIFY_FILE)));
+       cl_git_pass(git_apply(repo, diff, GIT_APPLY_LOCATION_BOTH, NULL));
+
+    validate_apply_index(repo, both_expected, both_expected_cnt);
+       validate_apply_workdir(repo, both_expected, both_expected_cnt);
+
+       git_diff_free(diff);
+}
+
+void test_apply_both__rename_a_to_b_to_c(void)
+{
+       git_diff *diff;
+
+       struct merge_index_entry both_expected[] = {
+               { 0100644, "f51658077d85f2264fa179b4d0848268cb3475c3", 0, "beef.txt" },
+               { 0100644, "4b7c5650008b2e747fe1809eeb5a1dde0e80850a", 0, "bouilli.txt" },
+               { 0100644, "c4e6cca3ec6ae0148ed231f97257df8c311e015f", 0, "gravy.txt" },
+               { 0100644, "68f6182f4c85d39e1309d97c7e456156dc9c0096", 0, "notbeef.txt" },
+               { 0100644, "68af1fc7407fd9addf1701a87eb1c95c7494c598", 0, "oyster.txt" },
+               { 0100644, "94d2c01087f48213bd157222d54edfefd77c9bba", 0, "veal.txt" },
+       };
+       size_t both_expected_cnt = sizeof(both_expected) /
+               sizeof(struct merge_index_entry);
+
+       cl_git_pass(git_diff_from_buffer(&diff, DIFF_RENAME_A_TO_B_TO_C,
+               strlen(DIFF_RENAME_A_TO_B_TO_C)));
+       cl_git_pass(git_apply(repo, diff, GIT_APPLY_LOCATION_BOTH, NULL));
+
+       validate_apply_index(repo, both_expected, both_expected_cnt);
+       validate_apply_workdir(repo, both_expected, both_expected_cnt);
+
+       git_diff_free(diff);
+}
+
+void test_apply_both__rename_a_to_b_to_c_exact(void)
+{
+       git_diff *diff;
+
+       struct merge_index_entry both_expected[] = {
+               { 0100644, "f51658077d85f2264fa179b4d0848268cb3475c3", 0, "beef.txt" },
+               { 0100644, "4b7c5650008b2e747fe1809eeb5a1dde0e80850a", 0, "bouilli.txt" },
+               { 0100644, "c4e6cca3ec6ae0148ed231f97257df8c311e015f", 0, "gravy.txt" },
+               { 0100644, "68f6182f4c85d39e1309d97c7e456156dc9c0096", 0, "notbeef.txt" },
+               { 0100644, "68af1fc7407fd9addf1701a87eb1c95c7494c598", 0, "oyster.txt" },
+               { 0100644, "94d2c01087f48213bd157222d54edfefd77c9bba", 0, "veal.txt" },
+       };
+       size_t both_expected_cnt = sizeof(both_expected) /
+               sizeof(struct merge_index_entry);
+
+       cl_git_pass(git_diff_from_buffer(&diff, DIFF_RENAME_A_TO_B_TO_C_EXACT,
+               strlen(DIFF_RENAME_A_TO_B_TO_C_EXACT)));
+       cl_git_pass(git_apply(repo, diff, GIT_APPLY_LOCATION_BOTH, NULL));
+
+       validate_apply_index(repo, both_expected, both_expected_cnt);
+       validate_apply_workdir(repo, both_expected, both_expected_cnt);
+
+       git_diff_free(diff);
+}
+
+void test_apply_both__rename_circular(void)
+{
+       git_diff *diff;
+
+       struct merge_index_entry both_expected[] = {
+               { 0100644, "68f6182f4c85d39e1309d97c7e456156dc9c0096", 0, "asparagus.txt" },
+               { 0100644, "f51658077d85f2264fa179b4d0848268cb3475c3", 0, "beef.txt" },
+               { 0100644, "4b7c5650008b2e747fe1809eeb5a1dde0e80850a", 0, "bouilli.txt" },
+               { 0100644, "c4e6cca3ec6ae0148ed231f97257df8c311e015f", 0, "gravy.txt" },
+               { 0100644, "68af1fc7407fd9addf1701a87eb1c95c7494c598", 0, "oyster.txt" },
+               { 0100644, "94d2c01087f48213bd157222d54edfefd77c9bba", 0, "veal.txt" }
+       };
+       size_t both_expected_cnt = sizeof(both_expected) /
+               sizeof(struct merge_index_entry);
+
+       cl_git_pass(git_diff_from_buffer(&diff, DIFF_RENAME_CIRCULAR,
+               strlen(DIFF_RENAME_CIRCULAR)));
+       cl_git_pass(git_apply(repo, diff, GIT_APPLY_LOCATION_BOTH, NULL));
+
+       validate_apply_index(repo, both_expected, both_expected_cnt);
+       validate_apply_workdir(repo, both_expected, both_expected_cnt);
+
+       git_diff_free(diff);
+}
+
+void test_apply_both__rename_2_to_1(void)
+{
+       git_diff *diff;
+
+       struct merge_index_entry both_expected[] = {
+               { 0100644, "68f6182f4c85d39e1309d97c7e456156dc9c0096", 0, "2.txt" },
+               { 0100644, "4b7c5650008b2e747fe1809eeb5a1dde0e80850a", 0, "bouilli.txt" },
+               { 0100644, "c4e6cca3ec6ae0148ed231f97257df8c311e015f", 0, "gravy.txt" },
+               { 0100644, "68af1fc7407fd9addf1701a87eb1c95c7494c598", 0, "oyster.txt" },
+               { 0100644, "94d2c01087f48213bd157222d54edfefd77c9bba", 0, "veal.txt" }
+       };
+       size_t both_expected_cnt = sizeof(both_expected) /
+               sizeof(struct merge_index_entry);
+
+       cl_git_pass(git_diff_from_buffer(&diff, DIFF_RENAME_2_TO_1,
+               strlen(DIFF_RENAME_2_TO_1)));
+       cl_git_pass(git_apply(repo, diff, GIT_APPLY_LOCATION_BOTH, NULL));
+
+       validate_apply_index(repo, both_expected, both_expected_cnt);
+       validate_apply_workdir(repo, both_expected, both_expected_cnt);
+
+       git_diff_free(diff);
+}
+
+void test_apply_both__rename_1_to_2(void)
+{
+       git_diff *diff;
+
+       struct merge_index_entry both_expected[] = {
+               { 0100644, "f51658077d85f2264fa179b4d0848268cb3475c3", 0, "1.txt" },
+               { 0100644, "f51658077d85f2264fa179b4d0848268cb3475c3", 0, "2.txt" },
+               { 0100644, "68f6182f4c85d39e1309d97c7e456156dc9c0096", 0, "beef.txt" },
+               { 0100644, "4b7c5650008b2e747fe1809eeb5a1dde0e80850a", 0, "bouilli.txt" },
+               { 0100644, "c4e6cca3ec6ae0148ed231f97257df8c311e015f", 0, "gravy.txt" },
+               { 0100644, "68af1fc7407fd9addf1701a87eb1c95c7494c598", 0, "oyster.txt" },
+               { 0100644, "94d2c01087f48213bd157222d54edfefd77c9bba", 0, "veal.txt" }
+       };
+       size_t both_expected_cnt = sizeof(both_expected) /
+               sizeof(struct merge_index_entry);
+
+       cl_git_pass(git_diff_from_buffer(&diff, DIFF_RENAME_1_TO_2,
+               strlen(DIFF_RENAME_1_TO_2)));
+       cl_git_pass(git_apply(repo, diff, GIT_APPLY_LOCATION_BOTH, NULL));
+
+       validate_apply_index(repo, both_expected, both_expected_cnt);
+       validate_apply_workdir(repo, both_expected, both_expected_cnt);
+
+       git_diff_free(diff);
+}
+
+void test_apply_both__two_deltas_one_file(void)
+{
+       git_diff *diff;
+
+       struct merge_index_entry both_expected[] = {
+               { 0100644, "f51658077d85f2264fa179b4d0848268cb3475c3", 0, "asparagus.txt" },
+               { 0100644, "0a9fd4415635e72573f0f6b5e68084cfe18f5075", 0, "beef.txt" },
+               { 0100644, "4b7c5650008b2e747fe1809eeb5a1dde0e80850a", 0, "bouilli.txt" },
+               { 0100644, "c4e6cca3ec6ae0148ed231f97257df8c311e015f", 0, "gravy.txt" },
+               { 0100644, "68af1fc7407fd9addf1701a87eb1c95c7494c598", 0, "oyster.txt" },
+               { 0100644, "94d2c01087f48213bd157222d54edfefd77c9bba", 0, "veal.txt" }
+       };
+       size_t both_expected_cnt = sizeof(both_expected) /
+               sizeof(struct merge_index_entry);
+
+       cl_git_pass(git_diff_from_buffer(&diff, DIFF_TWO_DELTAS_ONE_FILE,
+               strlen(DIFF_TWO_DELTAS_ONE_FILE)));
+       cl_git_pass(git_apply(repo, diff, GIT_APPLY_LOCATION_BOTH, NULL));
+
+       validate_apply_index(repo, both_expected, both_expected_cnt);
+       validate_apply_workdir(repo, both_expected, both_expected_cnt);
+
+       git_diff_free(diff);
+}
+
+void test_apply_both__two_deltas_one_new_file(void)
+{
+       git_diff *diff;
+
+       struct merge_index_entry both_expected[] = {
+               { 0100644, "f51658077d85f2264fa179b4d0848268cb3475c3", 0, "asparagus.txt" },
+               { 0100644, "68f6182f4c85d39e1309d97c7e456156dc9c0096", 0, "beef.txt" },
+               { 0100644, "4b7c5650008b2e747fe1809eeb5a1dde0e80850a", 0, "bouilli.txt" },
+               { 0100644, "c4e6cca3ec6ae0148ed231f97257df8c311e015f", 0, "gravy.txt" },
+               { 0100644, "08d4c445cf0078f3d9b604b82f32f4d87e083325", 0, "newfile.txt" },
+               { 0100644, "68af1fc7407fd9addf1701a87eb1c95c7494c598", 0, "oyster.txt" },
+               { 0100644, "94d2c01087f48213bd157222d54edfefd77c9bba", 0, "veal.txt" }
+       };
+       size_t both_expected_cnt = sizeof(both_expected) /
+               sizeof(struct merge_index_entry);
+
+       cl_git_pass(git_diff_from_buffer(&diff, DIFF_TWO_DELTAS_ONE_NEW_FILE,
+               strlen(DIFF_TWO_DELTAS_ONE_NEW_FILE)));
+       cl_git_pass(git_apply(repo, diff, GIT_APPLY_LOCATION_BOTH, NULL));
+
+       validate_apply_index(repo, both_expected, both_expected_cnt);
+       validate_apply_workdir(repo, both_expected, both_expected_cnt);
+
+       git_diff_free(diff);
+}
+
+void test_apply_both__rename_and_modify_deltas(void)
+{
+       git_diff *diff;
+
+       struct merge_index_entry both_expected[] = {
+               { 0100644, "61c686bed39684eee8a2757ceb1291004a21333f", 0, "asdf.txt" },
+               { 0100644, "f51658077d85f2264fa179b4d0848268cb3475c3", 0, "asparagus.txt" },
+               { 0100644, "68f6182f4c85d39e1309d97c7e456156dc9c0096", 0, "beef.txt" },
+               { 0100644, "4b7c5650008b2e747fe1809eeb5a1dde0e80850a", 0, "bouilli.txt" },
+               { 0100644, "c4e6cca3ec6ae0148ed231f97257df8c311e015f", 0, "gravy.txt" },
+               { 0100644, "68af1fc7407fd9addf1701a87eb1c95c7494c598", 0, "oyster.txt" },
+       };
+       size_t both_expected_cnt = sizeof(both_expected) /
+               sizeof(struct merge_index_entry);
+
+       cl_git_pass(git_diff_from_buffer(&diff, DIFF_RENAME_AND_MODIFY_DELTAS,
+               strlen(DIFF_RENAME_AND_MODIFY_DELTAS)));
+       cl_git_pass(git_apply(repo, diff, GIT_APPLY_LOCATION_BOTH, NULL));
+
+       validate_apply_index(repo, both_expected, both_expected_cnt);
+       validate_apply_workdir(repo, both_expected, both_expected_cnt);
+
+       git_diff_free(diff);
+}
+
+void test_apply_both__rename_delta_after_modify_delta(void)
+{
+       git_diff *diff;
+
+       struct merge_index_entry both_expected[] = {
+               { 0100644, "f51658077d85f2264fa179b4d0848268cb3475c3", 0, "asparagus.txt" },
+               { 0100644, "68f6182f4c85d39e1309d97c7e456156dc9c0096", 0, "beef.txt" },
+               { 0100644, "4b7c5650008b2e747fe1809eeb5a1dde0e80850a", 0, "bouilli.txt" },
+               { 0100644, "c4e6cca3ec6ae0148ed231f97257df8c311e015f", 0, "gravy.txt" },
+               { 0100644, "292cb60ce5e25c337c5b6e12957bbbfe1be4bf49", 0, "other.txt" },
+               { 0100644, "68af1fc7407fd9addf1701a87eb1c95c7494c598", 0, "oyster.txt" },
+               { 0100644, "c8c120f466591bbe3b8867361d5ec3cdd9fda756", 0, "veal.txt" }
+       };
+       size_t both_expected_cnt = sizeof(both_expected) /
+               sizeof(struct merge_index_entry);
+
+       cl_git_pass(git_diff_from_buffer(&diff, DIFF_RENAME_AFTER_MODIFY,
+               strlen(DIFF_RENAME_AFTER_MODIFY)));
+       cl_git_pass(git_apply(repo, diff, GIT_APPLY_LOCATION_BOTH, NULL));
+
+       validate_apply_index(repo, both_expected, both_expected_cnt);
+       validate_apply_workdir(repo, both_expected, both_expected_cnt);
+
+       git_diff_free(diff);
+}
+
+void test_apply_both__cant_rename_after_modify_nonexistent_target_path(void)
+{
+       git_diff *diff;
+
+       cl_git_pass(git_diff_from_buffer(&diff, DIFF_RENAME_AFTER_MODIFY_TARGET_PATH,
+               strlen(DIFF_RENAME_AFTER_MODIFY_TARGET_PATH)));
+       cl_git_fail(git_apply(repo, diff, GIT_APPLY_LOCATION_BOTH, NULL));
+
+       git_diff_free(diff);
+}
+
+void test_apply_both__cant_modify_source_path_after_rename(void)
+{
+       git_diff *diff;
+
+       cl_git_pass(git_diff_from_buffer(&diff, DIFF_RENAME_AND_MODIFY_SOURCE_PATH,
+               strlen(DIFF_RENAME_AND_MODIFY_SOURCE_PATH)));
+       cl_git_fail(git_apply(repo, diff, GIT_APPLY_LOCATION_BOTH, NULL));
+
+       git_diff_free(diff);
+}
+
+void test_apply_both__readd_deleted_file(void)
+{
+       git_diff *diff;
+
+       struct merge_index_entry both_expected[] = {
+               { 0100644, "2dc7f8b24ba27f3888368bd180df03ff4c6c6fab", 0, "asparagus.txt" },
+               { 0100644, "68f6182f4c85d39e1309d97c7e456156dc9c0096", 0, "beef.txt" },
+               { 0100644, "4b7c5650008b2e747fe1809eeb5a1dde0e80850a", 0, "bouilli.txt" },
+               { 0100644, "c4e6cca3ec6ae0148ed231f97257df8c311e015f", 0, "gravy.txt" },
+               { 0100644, "68af1fc7407fd9addf1701a87eb1c95c7494c598", 0, "oyster.txt" },
+               { 0100644, "94d2c01087f48213bd157222d54edfefd77c9bba", 0, "veal.txt" }
+       };
+       size_t both_expected_cnt = sizeof(both_expected) /
+               sizeof(struct merge_index_entry);
+
+       cl_git_pass(git_diff_from_buffer(&diff, DIFF_DELETE_AND_READD_FILE,
+               strlen(DIFF_DELETE_AND_READD_FILE)));
+       cl_git_pass(git_apply(repo, diff, GIT_APPLY_LOCATION_BOTH, NULL));
+
+       validate_apply_index(repo, both_expected, both_expected_cnt);
+       validate_apply_workdir(repo, both_expected, both_expected_cnt);
+
+       git_diff_free(diff);
+}
+
+void test_apply_both__cant_remove_file_twice(void)
+{
+       git_diff *diff;
+
+       cl_git_pass(git_diff_from_buffer(&diff, DIFF_REMOVE_FILE_TWICE,
+               strlen(DIFF_REMOVE_FILE_TWICE)));
+       cl_git_fail(git_apply(repo, diff, GIT_APPLY_LOCATION_BOTH, NULL));
+
+       git_diff_free(diff);
+}
diff --git a/tests/apply/callbacks.c b/tests/apply/callbacks.c
new file mode 100644 (file)
index 0000000..1b759dc
--- /dev/null
@@ -0,0 +1,128 @@
+#include "clar_libgit2.h"
+#include "apply_helpers.h"
+
+static git_repository *repo;
+
+#define TEST_REPO_PATH "merge-recursive"
+
+void test_apply_callbacks__initialize(void)
+{
+       git_oid oid;
+       git_commit *commit;
+
+       repo = cl_git_sandbox_init(TEST_REPO_PATH);
+
+       git_oid_fromstr(&oid, "539bd011c4822c560c1d17cab095006b7a10f707");
+       cl_git_pass(git_commit_lookup(&commit, repo, &oid));
+       cl_git_pass(git_reset(repo, (git_object *)commit, GIT_RESET_HARD, NULL));
+       git_commit_free(commit);
+}
+
+void test_apply_callbacks__cleanup(void)
+{
+       cl_git_sandbox_cleanup();
+}
+
+static int delta_abort_cb(const git_diff_delta *delta, void *payload)
+{
+       GIT_UNUSED(payload);
+
+       if (!strcmp(delta->old_file.path, "veal.txt"))
+               return -99;
+
+       return 0;
+}
+
+void test_apply_callbacks__delta_aborts(void)
+{
+       git_diff *diff;
+       git_apply_options opts = GIT_APPLY_OPTIONS_INIT;
+
+       opts.delta_cb = delta_abort_cb;
+
+       cl_git_pass(git_diff_from_buffer(&diff,
+               DIFF_MODIFY_TWO_FILES, strlen(DIFF_MODIFY_TWO_FILES)));
+       cl_git_fail_with(-99,
+               git_apply(repo, diff, GIT_APPLY_LOCATION_INDEX, &opts));
+
+       validate_index_unchanged(repo);
+       validate_workdir_unchanged(repo);
+
+       git_diff_free(diff);
+}
+
+static int delta_skip_cb(const git_diff_delta *delta, void *payload)
+{
+       GIT_UNUSED(payload);
+
+       if (!strcmp(delta->old_file.path, "asparagus.txt"))
+               return 1;
+
+       return 0;
+}
+
+void test_apply_callbacks__delta_can_skip(void)
+{
+       git_diff *diff;
+       git_apply_options opts = GIT_APPLY_OPTIONS_INIT;
+
+       struct merge_index_entry workdir_expected[] = {
+               { 0100644, "f51658077d85f2264fa179b4d0848268cb3475c3", 0, "asparagus.txt" },
+               { 0100644, "68f6182f4c85d39e1309d97c7e456156dc9c0096", 0, "beef.txt" },
+               { 0100644, "4b7c5650008b2e747fe1809eeb5a1dde0e80850a", 0, "bouilli.txt" },
+               { 0100644, "c4e6cca3ec6ae0148ed231f97257df8c311e015f", 0, "gravy.txt" },
+               { 0100644, "68af1fc7407fd9addf1701a87eb1c95c7494c598", 0, "oyster.txt" },
+               { 0100644, "a7b066537e6be7109abfe4ff97b675d4e077da20", 0, "veal.txt" },
+       };
+       size_t workdir_expected_cnt = sizeof(workdir_expected) /
+           sizeof(struct merge_index_entry);
+
+       opts.delta_cb = delta_skip_cb;
+
+       cl_git_pass(git_diff_from_buffer(&diff,
+               DIFF_MODIFY_TWO_FILES, strlen(DIFF_MODIFY_TWO_FILES)));
+       cl_git_pass(git_apply(repo, diff, GIT_APPLY_LOCATION_WORKDIR, &opts));
+
+       validate_index_unchanged(repo);
+       validate_apply_workdir(repo, workdir_expected, workdir_expected_cnt);
+
+       git_diff_free(diff);
+}
+
+static int hunk_skip_odds_cb(const git_diff_hunk *hunk, void *payload)
+{
+       int *count = (int *)payload;
+       GIT_UNUSED(hunk);
+
+       return ((*count)++ % 2 == 1);
+}
+
+void test_apply_callbacks__hunk_can_skip(void)
+{
+       git_diff *diff;
+       git_apply_options opts = GIT_APPLY_OPTIONS_INIT;
+       int count = 0;
+
+       struct merge_index_entry workdir_expected[] = {
+               { 0100644, "f51658077d85f2264fa179b4d0848268cb3475c3", 0, "asparagus.txt" },
+               { 0100644, "68f6182f4c85d39e1309d97c7e456156dc9c0096", 0, "beef.txt" },
+               { 0100644, "4b7c5650008b2e747fe1809eeb5a1dde0e80850a", 0, "bouilli.txt" },
+               { 0100644, "c4e6cca3ec6ae0148ed231f97257df8c311e015f", 0, "gravy.txt" },
+               { 0100644, "68af1fc7407fd9addf1701a87eb1c95c7494c598", 0, "oyster.txt" },
+               { 0100644, "06f751b6ba4f017ddbf4248015768300268e092a", 0, "veal.txt" },
+       };
+       size_t workdir_expected_cnt = sizeof(workdir_expected) /
+           sizeof(struct merge_index_entry);
+
+       opts.hunk_cb = hunk_skip_odds_cb;
+       opts.payload = &count;
+
+       cl_git_pass(git_diff_from_buffer(&diff,
+               DIFF_MANY_CHANGES_ONE, strlen(DIFF_MANY_CHANGES_ONE)));
+       cl_git_pass(git_apply(repo, diff, GIT_APPLY_LOCATION_WORKDIR, &opts));
+
+       validate_index_unchanged(repo);
+       validate_apply_workdir(repo, workdir_expected, workdir_expected_cnt);
+
+       git_diff_free(diff);
+}
index 3497739649cf3e74a5e77925e6d7a288a65c1a98..8a6d8fa0a368c0ad8936859a48ed38692deab52a 100644 (file)
@@ -49,7 +49,7 @@ static int apply_gitbuf(
                cl_assert_equal_s(patch_expected, patchbuf.ptr);
        }
 
-       error = git_apply__patch(&result, &filename, &mode, old ? old->ptr : NULL, old ? old->size : 0, patch);
+       error = git_apply__patch(&result, &filename, &mode, old ? old->ptr : NULL, old ? old->size : 0, patch, NULL);
 
        if (error == 0 && new == NULL) {
                cl_assert_equal_i(0, result.size);
@@ -63,8 +63,8 @@ static int apply_gitbuf(
        }
 
        git__free(filename);
-       git_buf_free(&result);
-       git_buf_free(&patchbuf);
+       git_buf_dispose(&result);
+       git_buf_dispose(&patchbuf);
        git_patch_free(patch);
 
        return error;
@@ -150,6 +150,52 @@ void test_apply_fromdiff__prepend_nocontext(void)
                PATCH_ORIGINAL_TO_PREPEND_NOCONTEXT, &diff_opts));
 }
 
+void test_apply_fromdiff__prepend_and_change(void)
+{
+       cl_git_pass(apply_buf(
+               FILE_ORIGINAL, "file.txt",
+               FILE_PREPEND_AND_CHANGE, "file.txt",
+               PATCH_ORIGINAL_TO_PREPEND_AND_CHANGE, NULL));
+}
+
+void test_apply_fromdiff__prepend_and_change_nocontext(void)
+{
+       git_diff_options diff_opts = GIT_DIFF_OPTIONS_INIT;
+       diff_opts.context_lines = 0;
+
+       cl_git_pass(apply_buf(
+               FILE_ORIGINAL, "file.txt",
+               FILE_PREPEND_AND_CHANGE, "file.txt",
+               PATCH_ORIGINAL_TO_PREPEND_AND_CHANGE_NOCONTEXT, &diff_opts));
+}
+
+void test_apply_fromdiff__delete_and_change(void)
+{
+       cl_git_pass(apply_buf(
+               FILE_ORIGINAL, "file.txt",
+               FILE_DELETE_AND_CHANGE, "file.txt",
+               PATCH_ORIGINAL_TO_DELETE_AND_CHANGE, NULL));
+}
+
+void test_apply_fromdiff__delete_and_change_nocontext(void)
+{
+       git_diff_options diff_opts = GIT_DIFF_OPTIONS_INIT;
+       diff_opts.context_lines = 0;
+
+       cl_git_pass(apply_buf(
+               FILE_ORIGINAL, "file.txt",
+               FILE_DELETE_AND_CHANGE, "file.txt",
+               PATCH_ORIGINAL_TO_DELETE_AND_CHANGE_NOCONTEXT, &diff_opts));
+}
+
+void test_apply_fromdiff__delete_firstline(void)
+{
+       cl_git_pass(apply_buf(
+               FILE_ORIGINAL, "file.txt",
+               FILE_DELETE_FIRSTLINE, "file.txt",
+               PATCH_ORIGINAL_TO_DELETE_FIRSTLINE, NULL));
+}
+
 void test_apply_fromdiff__append(void)
 {
        cl_git_pass(apply_buf(
index 31fffa1a2bf47f8e62a8a078806c74b2bebd390a..477e283adcb008c8155513f4b1d019eccfb4cfd3 100644 (file)
@@ -39,19 +39,20 @@ static int apply_patchfile(
 
        cl_git_pass(git_patch_from_buffer(&patch, patchfile, strlen(patchfile), NULL));
 
-       error = git_apply__patch(&result, &filename, &mode, old, old_len, patch);
+       error = git_apply__patch(&result, &filename, &mode, old, old_len, patch, NULL);
 
        if (error == 0) {
                cl_assert_equal_i(new_len, result.size);
-               cl_assert(memcmp(new, result.ptr, new_len) == 0);
+               if (new_len)
+                       cl_assert(memcmp(new, result.ptr, new_len) == 0);
 
                cl_assert_equal_s(filename_expected, filename);
                cl_assert_equal_i(mode_expected, mode);
        }
 
        git__free(filename);
-       git_buf_free(&result);
-       git_buf_free(&patchbuf);
+       git_buf_dispose(&result);
+       git_buf_dispose(&patchbuf);
        git_patch_free(patch);
 
        return error;
@@ -81,7 +82,7 @@ static int validate_and_apply_patchfile(
 
        error = apply_patchfile(old, old_len, new, new_len, patchfile, filename_expected, mode_expected);
 
-       git_buf_free(&validated);
+       git_buf_dispose(&validated);
        git_patch_free(patch_fromdiff);
 
        return error;
diff --git a/tests/apply/index.c b/tests/apply/index.c
new file mode 100644 (file)
index 0000000..9c9094c
--- /dev/null
@@ -0,0 +1,321 @@
+#include "clar_libgit2.h"
+#include "apply_helpers.h"
+
+static git_repository *repo;
+
+#define TEST_REPO_PATH "merge-recursive"
+
+void test_apply_index__initialize(void)
+{
+       git_oid oid;
+       git_commit *commit;
+
+       repo = cl_git_sandbox_init(TEST_REPO_PATH);
+
+       git_oid_fromstr(&oid, "539bd011c4822c560c1d17cab095006b7a10f707");
+       cl_git_pass(git_commit_lookup(&commit, repo, &oid));
+       cl_git_pass(git_reset(repo, (git_object *)commit, GIT_RESET_HARD, NULL));
+       git_commit_free(commit);
+}
+
+void test_apply_index__cleanup(void)
+{
+       cl_git_sandbox_cleanup();
+}
+
+void test_apply_index__generate_diff(void)
+{
+       git_oid a_oid, b_oid;
+       git_commit *a_commit, *b_commit;
+       git_tree *a_tree, *b_tree;
+       git_diff *diff;
+       git_diff_options diff_opts = GIT_DIFF_OPTIONS_INIT;
+
+       struct merge_index_entry index_expected[] = {
+               { 0100644, "ffb36e513f5fdf8a6ba850a20142676a2ac4807d", 0, "asparagus.txt" },
+               { 0100644, "68f6182f4c85d39e1309d97c7e456156dc9c0096", 0, "beef.txt" },
+               { 0100644, "4b7c5650008b2e747fe1809eeb5a1dde0e80850a", 0, "bouilli.txt" },
+               { 0100644, "c4e6cca3ec6ae0148ed231f97257df8c311e015f", 0, "gravy.txt" },
+               { 0100644, "68af1fc7407fd9addf1701a87eb1c95c7494c598", 0, "oyster.txt" },
+               { 0100644, "a7b066537e6be7109abfe4ff97b675d4e077da20", 0, "veal.txt" },
+       };
+       size_t index_expected_cnt = sizeof(index_expected) /
+               sizeof(struct merge_index_entry);
+
+       git_oid_fromstr(&a_oid, "539bd011c4822c560c1d17cab095006b7a10f707");
+       git_oid_fromstr(&b_oid, "7c7bf85e978f1d18c0566f702d2cb7766b9c8d4f");
+       cl_git_pass(git_commit_lookup(&a_commit, repo, &a_oid));
+       cl_git_pass(git_commit_lookup(&b_commit, repo, &b_oid));
+
+       cl_git_pass(git_commit_tree(&a_tree, a_commit));
+       cl_git_pass(git_commit_tree(&b_tree, b_commit));
+
+       cl_git_pass(git_diff_tree_to_tree(&diff, repo, a_tree, b_tree, &diff_opts));
+       cl_git_pass(git_apply(repo, diff, GIT_APPLY_LOCATION_INDEX, NULL));
+
+       validate_apply_index(repo, index_expected, index_expected_cnt);
+       validate_workdir_unchanged(repo);
+
+       git_diff_free(diff);
+       git_tree_free(a_tree);
+       git_tree_free(b_tree);
+       git_commit_free(a_commit);
+       git_commit_free(b_commit);
+}
+
+void test_apply_index__parsed_diff(void)
+{
+       git_diff *diff;
+
+       struct merge_index_entry index_expected[] = {
+               { 0100644, "ffb36e513f5fdf8a6ba850a20142676a2ac4807d", 0, "asparagus.txt" },
+               { 0100644, "68f6182f4c85d39e1309d97c7e456156dc9c0096", 0, "beef.txt" },
+               { 0100644, "4b7c5650008b2e747fe1809eeb5a1dde0e80850a", 0, "bouilli.txt" },
+               { 0100644, "c4e6cca3ec6ae0148ed231f97257df8c311e015f", 0, "gravy.txt" },
+               { 0100644, "68af1fc7407fd9addf1701a87eb1c95c7494c598", 0, "oyster.txt" },
+               { 0100644, "a7b066537e6be7109abfe4ff97b675d4e077da20", 0, "veal.txt" },
+       };
+       size_t index_expected_cnt = sizeof(index_expected) /
+               sizeof(struct merge_index_entry);
+
+       cl_git_pass(git_diff_from_buffer(&diff,
+               DIFF_MODIFY_TWO_FILES, strlen(DIFF_MODIFY_TWO_FILES)));
+       cl_git_pass(git_apply(repo, diff, GIT_APPLY_LOCATION_INDEX, NULL));
+
+       validate_apply_index(repo, index_expected, index_expected_cnt);
+       validate_workdir_unchanged(repo);
+
+       git_diff_free(diff);
+}
+
+void test_apply_index__removes_file(void)
+{
+       git_diff *diff;
+
+       struct merge_index_entry index_expected[] = {
+               { 0100644, "f51658077d85f2264fa179b4d0848268cb3475c3", 0, "asparagus.txt" },
+               { 0100644, "68f6182f4c85d39e1309d97c7e456156dc9c0096", 0, "beef.txt" },
+               { 0100644, "4b7c5650008b2e747fe1809eeb5a1dde0e80850a", 0, "bouilli.txt" },
+               { 0100644, "68af1fc7407fd9addf1701a87eb1c95c7494c598", 0, "oyster.txt" },
+               { 0100644, "94d2c01087f48213bd157222d54edfefd77c9bba", 0, "veal.txt" },
+       };
+       size_t index_expected_cnt = sizeof(index_expected) /
+           sizeof(struct merge_index_entry);
+
+       cl_git_pass(git_diff_from_buffer(&diff, DIFF_DELETE_FILE,
+               strlen(DIFF_DELETE_FILE)));
+       cl_git_pass(git_apply(repo, diff, GIT_APPLY_LOCATION_INDEX, NULL));
+
+       validate_apply_index(repo, index_expected, index_expected_cnt);
+       validate_workdir_unchanged(repo);
+
+       git_diff_free(diff);
+}
+
+void test_apply_index__adds_file(void)
+{
+       git_diff *diff;
+
+       struct merge_index_entry index_expected[] = {
+               { 0100644, "f51658077d85f2264fa179b4d0848268cb3475c3", 0, "asparagus.txt" },
+               { 0100644, "68f6182f4c85d39e1309d97c7e456156dc9c0096", 0, "beef.txt" },
+               { 0100644, "4b7c5650008b2e747fe1809eeb5a1dde0e80850a", 0, "bouilli.txt" },
+               { 0100644, "c4e6cca3ec6ae0148ed231f97257df8c311e015f", 0, "gravy.txt" },
+               { 0100644, "6370543fcfedb3e6516ec53b06158f3687dc1447", 0, "newfile.txt" },
+               { 0100644, "68af1fc7407fd9addf1701a87eb1c95c7494c598", 0, "oyster.txt" },
+               { 0100644, "94d2c01087f48213bd157222d54edfefd77c9bba", 0, "veal.txt" },
+       };
+       size_t index_expected_cnt = sizeof(index_expected) /
+           sizeof(struct merge_index_entry);
+
+       cl_git_pass(git_diff_from_buffer(&diff,
+               DIFF_ADD_FILE, strlen(DIFF_ADD_FILE)));
+       cl_git_pass(git_apply(repo, diff, GIT_APPLY_LOCATION_INDEX, NULL));
+
+       validate_apply_index(repo, index_expected, index_expected_cnt);
+       validate_workdir_unchanged(repo);
+
+       git_diff_free(diff);
+}
+
+void test_apply_index__modified_workdir_with_unmodified_index_is_ok(void)
+{
+       git_diff *diff;
+
+       const char *diff_file = DIFF_MODIFY_TWO_FILES;
+
+       struct merge_index_entry index_expected[] = {
+               { 0100644, "ffb36e513f5fdf8a6ba850a20142676a2ac4807d", 0, "asparagus.txt" },
+               { 0100644, "68f6182f4c85d39e1309d97c7e456156dc9c0096", 0, "beef.txt" },
+               { 0100644, "4b7c5650008b2e747fe1809eeb5a1dde0e80850a", 0, "bouilli.txt" },
+               { 0100644, "c4e6cca3ec6ae0148ed231f97257df8c311e015f", 0, "gravy.txt" },
+               { 0100644, "68af1fc7407fd9addf1701a87eb1c95c7494c598", 0, "oyster.txt" },
+               { 0100644, "a7b066537e6be7109abfe4ff97b675d4e077da20", 0, "veal.txt" },
+       };
+       size_t index_expected_cnt = sizeof(index_expected) /
+               sizeof(struct merge_index_entry);
+
+       struct merge_index_entry workdir_expected[] = {
+               { 0100644, "68f6182f4c85d39e1309d97c7e456156dc9c0096", 0, "beef.txt" },
+               { 0100644, "4b7c5650008b2e747fe1809eeb5a1dde0e80850a", 0, "bouilli.txt" },
+               { 0100644, "c4e6cca3ec6ae0148ed231f97257df8c311e015f", 0, "gravy.txt" },
+               { 0100644, "68af1fc7407fd9addf1701a87eb1c95c7494c598", 0, "oyster.txt" },
+               { 0100644, "f75ba05f340c51065cbea2e1fdbfe5fe13144c97", 0, "veal.txt" }
+       };
+       size_t workdir_expected_cnt = sizeof(workdir_expected) /
+               sizeof(struct merge_index_entry);
+
+       /* mutate the workdir and leave the index matching HEAD */
+       cl_git_rmfile("merge-recursive/asparagus.txt");
+       cl_git_rewritefile("merge-recursive/veal.txt", "Hello, world.\n");
+
+       cl_git_pass(git_diff_from_buffer(&diff, diff_file, strlen(diff_file)));
+       cl_git_pass(git_apply(repo, diff, GIT_APPLY_LOCATION_INDEX, NULL));
+
+       validate_apply_index(repo, index_expected, index_expected_cnt);
+       validate_apply_workdir(repo, workdir_expected, workdir_expected_cnt);
+
+       git_diff_free(diff);
+}
+
+void test_apply_index__application_failure_leaves_index_unmodified(void)
+{
+       git_diff *diff;
+       git_index *index;
+
+       const char *diff_file = DIFF_MODIFY_TWO_FILES;
+
+       struct merge_index_entry index_expected[] = {
+               { 0100644, "f51658077d85f2264fa179b4d0848268cb3475c3", 0, "asparagus.txt" },
+               { 0100644, "68f6182f4c85d39e1309d97c7e456156dc9c0096", 0, "beef.txt" },
+               { 0100644, "4b7c5650008b2e747fe1809eeb5a1dde0e80850a", 0, "bouilli.txt" },
+               { 0100644, "c4e6cca3ec6ae0148ed231f97257df8c311e015f", 0, "gravy.txt" },
+               { 0100644, "68af1fc7407fd9addf1701a87eb1c95c7494c598", 0, "oyster.txt" },
+       };
+       size_t index_expected_cnt = sizeof(index_expected) /
+               sizeof(struct merge_index_entry);
+
+       /* mutate the index */
+       cl_git_pass(git_repository_index(&index, repo));
+       cl_git_pass(git_index_remove(index, "veal.txt", 0));
+       cl_git_pass(git_index_write(index));
+       git_index_free(index);
+
+       cl_git_pass(git_diff_from_buffer(&diff, diff_file, strlen(diff_file)));
+       cl_git_fail_with(GIT_EAPPLYFAIL, git_apply(repo, diff, GIT_APPLY_LOCATION_INDEX, NULL));
+
+       validate_apply_index(repo, index_expected, index_expected_cnt);
+
+       git_diff_free(diff);
+}
+
+void test_apply_index__keeps_nonconflicting_changes(void)
+{
+       git_diff *diff;
+       git_index *index;
+       git_index_entry idx_entry;
+
+       const char *diff_file = DIFF_MODIFY_TWO_FILES;
+
+       struct merge_index_entry index_expected[] = {
+               { 0100644, "ffb36e513f5fdf8a6ba850a20142676a2ac4807d", 0, "asparagus.txt" },
+               { 0100644, "898d12687fb35be271c27c795a6b32c8b51da79e", 0, "beef.txt" },
+               { 0100644, "c4e6cca3ec6ae0148ed231f97257df8c311e015f", 0, "gravy.txt" },
+               { 0100644, "68af1fc7407fd9addf1701a87eb1c95c7494c598", 0, "oyster.txt" },
+               { 0100644, "a7b066537e6be7109abfe4ff97b675d4e077da20", 0, "veal.txt" },
+       };
+       size_t index_expected_cnt = sizeof(index_expected) /
+               sizeof(struct merge_index_entry);
+
+       /* mutate the index */
+       cl_git_pass(git_repository_index(&index, repo));
+
+       memset(&idx_entry, 0, sizeof(git_index_entry));
+       idx_entry.mode = 0100644;
+       idx_entry.path = "beef.txt";
+       cl_git_pass(git_oid_fromstr(&idx_entry.id, "898d12687fb35be271c27c795a6b32c8b51da79e"));
+       cl_git_pass(git_index_add(index, &idx_entry));
+
+       cl_git_pass(git_index_remove(index, "bouilli.txt", 0));
+       cl_git_pass(git_index_write(index));
+       git_index_free(index);
+
+       cl_git_pass(git_diff_from_buffer(&diff, diff_file, strlen(diff_file)));
+       cl_git_pass(git_apply(repo, diff, GIT_APPLY_LOCATION_INDEX, NULL));
+
+       validate_apply_index(repo, index_expected, index_expected_cnt);
+       validate_workdir_unchanged(repo);
+
+       git_diff_free(diff);
+}
+
+void test_apply_index__can_apply_nonconflicting_file_changes(void)
+{
+       git_diff *diff;
+       git_index *index;
+       git_index_entry idx_entry;
+
+       const char *diff_file = DIFF_MODIFY_TWO_FILES;
+
+       struct merge_index_entry index_expected[] = {
+               { 0100644, "4f2d1645dee99ced096877911de540c65ade2ef8", 0, "asparagus.txt" },
+               { 0100644, "68f6182f4c85d39e1309d97c7e456156dc9c0096", 0, "beef.txt" },
+               { 0100644, "4b7c5650008b2e747fe1809eeb5a1dde0e80850a", 0, "bouilli.txt" },
+               { 0100644, "c4e6cca3ec6ae0148ed231f97257df8c311e015f", 0, "gravy.txt" },
+               { 0100644, "68af1fc7407fd9addf1701a87eb1c95c7494c598", 0, "oyster.txt" },
+               { 0100644, "a7b066537e6be7109abfe4ff97b675d4e077da20", 0, "veal.txt" },
+       };
+       size_t index_expected_cnt = sizeof(index_expected) /
+               sizeof(struct merge_index_entry);
+
+       /*
+        * Replace the index entry with a version that is different than
+        * HEAD but such that the patch still applies cleanly.  This item
+        * has a new line appended.
+        */
+
+       cl_git_pass(git_repository_index(&index, repo));
+
+       memset(&idx_entry, 0, sizeof(git_index_entry));
+       idx_entry.mode = 0100644;
+       idx_entry.path = "asparagus.txt";
+       cl_git_pass(git_oid_fromstr(&idx_entry.id, "06d3fefb8726ab1099acc76e02dfb85e034b2538"));
+       cl_git_pass(git_index_add(index, &idx_entry));
+
+       cl_git_pass(git_index_write(index));
+       git_index_free(index);
+
+       cl_git_pass(git_diff_from_buffer(&diff, diff_file, strlen(diff_file)));
+       cl_git_pass(git_apply(repo, diff, GIT_APPLY_LOCATION_INDEX, NULL));
+
+       validate_apply_index(repo, index_expected, index_expected_cnt);
+       validate_workdir_unchanged(repo);
+
+       git_diff_free(diff);
+}
+
+void test_apply_index__change_mode(void)
+{
+       git_diff *diff;
+
+       const char *diff_file = DIFF_EXECUTABLE_FILE;
+
+       struct merge_index_entry index_expected[] = {
+               { 0100644, "f51658077d85f2264fa179b4d0848268cb3475c3", 0, "asparagus.txt" },
+               { 0100755, "68f6182f4c85d39e1309d97c7e456156dc9c0096", 0, "beef.txt" },
+               { 0100644, "4b7c5650008b2e747fe1809eeb5a1dde0e80850a", 0, "bouilli.txt" },
+               { 0100644, "c4e6cca3ec6ae0148ed231f97257df8c311e015f", 0, "gravy.txt" },
+               { 0100644, "68af1fc7407fd9addf1701a87eb1c95c7494c598", 0, "oyster.txt" },
+               { 0100644, "94d2c01087f48213bd157222d54edfefd77c9bba", 0, "veal.txt" },
+       };
+       size_t index_expected_cnt = sizeof(index_expected) /
+               sizeof(struct merge_index_entry);
+
+       cl_git_pass(git_diff_from_buffer(&diff, diff_file, strlen(diff_file)));
+       cl_git_pass(git_apply(repo, diff, GIT_APPLY_LOCATION_INDEX, NULL));
+
+       validate_apply_index(repo, index_expected, index_expected_cnt);
+       validate_workdir_unchanged(repo);
+
+       git_diff_free(diff);
+}
diff --git a/tests/apply/partial.c b/tests/apply/partial.c
new file mode 100644 (file)
index 0000000..466a927
--- /dev/null
@@ -0,0 +1,232 @@
+#include "clar_libgit2.h"
+#include "git2/sys/repository.h"
+
+#include "apply.h"
+#include "repository.h"
+#include "buf_text.h"
+
+#include "../patch/patch_common.h"
+
+static git_repository *repo = NULL;
+
+void test_apply_partial__initialize(void)
+{
+       repo = cl_git_sandbox_init("renames");
+}
+
+void test_apply_partial__cleanup(void)
+{
+       cl_git_sandbox_cleanup();
+}
+
+static int skip_addition(
+       const git_diff_hunk *hunk,
+       void *payload)
+{
+       GIT_UNUSED(payload);
+
+       return (hunk->new_lines > hunk->old_lines) ? 1 : 0;
+}
+
+static int skip_deletion(
+       const git_diff_hunk *hunk,
+       void *payload)
+{
+       GIT_UNUSED(payload);
+
+       return (hunk->new_lines < hunk->old_lines) ? 1 : 0;
+}
+
+static int skip_change(
+       const git_diff_hunk *hunk,
+       void *payload)
+{
+       GIT_UNUSED(payload);
+
+       return (hunk->new_lines == hunk->old_lines) ? 1 : 0;
+}
+
+static int abort_addition(
+       const git_diff_hunk *hunk,
+       void *payload)
+{
+       GIT_UNUSED(payload);
+
+       return (hunk->new_lines > hunk->old_lines) ? GIT_EUSER : 0;
+}
+
+static int abort_deletion(
+       const git_diff_hunk *hunk,
+       void *payload)
+{
+       GIT_UNUSED(payload);
+
+       return (hunk->new_lines < hunk->old_lines) ? GIT_EUSER : 0;
+}
+
+static int abort_change(
+       const git_diff_hunk *hunk,
+       void *payload)
+{
+       GIT_UNUSED(payload);
+
+       return (hunk->new_lines == hunk->old_lines) ? GIT_EUSER : 0;
+}
+
+static int apply_buf(
+       const char *old,
+       const char *oldname,
+       const char *new,
+       const char *newname,
+       const char *expected,
+       const git_diff_options *diff_opts,
+       git_apply_hunk_cb hunk_cb,
+       void *payload)
+{
+       git_patch *patch;
+       git_buf result = GIT_BUF_INIT;
+       git_buf patchbuf = GIT_BUF_INIT;
+       git_apply_options opts = GIT_APPLY_OPTIONS_INIT;
+       char *filename;
+       unsigned int mode;
+       int error;
+       size_t oldsize = strlen(old);
+       size_t newsize = strlen(new);
+
+       opts.hunk_cb = hunk_cb;
+       opts.payload = payload;
+
+       cl_git_pass(git_patch_from_buffers(&patch, old, oldsize, oldname, new, newsize, newname, diff_opts));
+       if ((error = git_apply__patch(&result, &filename, &mode, old, oldsize, patch, &opts)) == 0) {
+               cl_assert_equal_s(expected, result.ptr);
+               cl_assert_equal_s(newname, filename);
+               cl_assert_equal_i(0100644, mode);
+       }
+
+       git__free(filename);
+       git_buf_dispose(&result);
+       git_buf_dispose(&patchbuf);
+       git_patch_free(patch);
+
+       return error;
+}
+
+void test_apply_partial__prepend_and_change_skip_addition(void)
+{
+       cl_git_pass(apply_buf(
+               FILE_ORIGINAL, "file.txt",
+               FILE_PREPEND_AND_CHANGE, "file.txt",
+               FILE_ORIGINAL, NULL, skip_addition, NULL));
+}
+
+void test_apply_partial__prepend_and_change_nocontext_skip_addition(void)
+{
+       git_diff_options diff_opts = GIT_DIFF_OPTIONS_INIT;
+       diff_opts.context_lines = 0;
+
+       cl_git_pass(apply_buf(
+               FILE_ORIGINAL, "file.txt",
+               FILE_PREPEND_AND_CHANGE, "file.txt",
+               FILE_CHANGE_MIDDLE, &diff_opts, skip_addition, NULL));
+}
+
+void test_apply_partial__prepend_and_change_nocontext_abort_addition(void)
+{
+       git_diff_options diff_opts = GIT_DIFF_OPTIONS_INIT;
+       diff_opts.context_lines = 0;
+
+       cl_git_fail(apply_buf(
+               FILE_ORIGINAL, "file.txt",
+               FILE_PREPEND_AND_CHANGE, "file.txt",
+               FILE_ORIGINAL, &diff_opts, abort_addition, NULL));
+}
+
+void test_apply_partial__prepend_and_change_skip_change(void)
+{
+       cl_git_pass(apply_buf(
+               FILE_ORIGINAL, "file.txt",
+               FILE_PREPEND_AND_CHANGE, "file.txt",
+               FILE_PREPEND_AND_CHANGE, NULL, skip_change, NULL));
+}
+
+void test_apply_partial__prepend_and_change_nocontext_skip_change(void)
+{
+       git_diff_options diff_opts = GIT_DIFF_OPTIONS_INIT;
+       diff_opts.context_lines = 0;
+
+       cl_git_pass(apply_buf(
+               FILE_ORIGINAL, "file.txt",
+               FILE_PREPEND_AND_CHANGE, "file.txt",
+               FILE_PREPEND, &diff_opts, skip_change, NULL));
+}
+
+void test_apply_partial__prepend_and_change_nocontext_abort_change(void)
+{
+       git_diff_options diff_opts = GIT_DIFF_OPTIONS_INIT;
+       diff_opts.context_lines = 0;
+
+       cl_git_fail(apply_buf(
+               FILE_ORIGINAL, "file.txt",
+               FILE_PREPEND_AND_CHANGE, "file.txt",
+               FILE_PREPEND, &diff_opts, abort_change, NULL));
+}
+
+void test_apply_partial__delete_and_change_skip_deletion(void)
+{
+       cl_git_pass(apply_buf(
+               FILE_ORIGINAL, "file.txt",
+               FILE_DELETE_AND_CHANGE, "file.txt",
+               FILE_ORIGINAL, NULL, skip_deletion, NULL));
+}
+
+void test_apply_partial__delete_and_change_nocontext_skip_deletion(void)
+{
+       git_diff_options diff_opts = GIT_DIFF_OPTIONS_INIT;
+       diff_opts.context_lines = 0;
+
+       cl_git_pass(apply_buf(
+               FILE_ORIGINAL, "file.txt",
+               FILE_DELETE_AND_CHANGE, "file.txt",
+               FILE_CHANGE_MIDDLE, &diff_opts, skip_deletion, NULL));
+}
+
+void test_apply_partial__delete_and_change_nocontext_abort_deletion(void)
+{
+       git_diff_options diff_opts = GIT_DIFF_OPTIONS_INIT;
+       diff_opts.context_lines = 0;
+
+       cl_git_fail(apply_buf(
+               FILE_ORIGINAL, "file.txt",
+               FILE_DELETE_AND_CHANGE, "file.txt",
+               FILE_ORIGINAL, &diff_opts, abort_deletion, NULL));
+}
+
+void test_apply_partial__delete_and_change_skip_change(void)
+{
+       cl_git_pass(apply_buf(
+               FILE_ORIGINAL, "file.txt",
+               FILE_DELETE_AND_CHANGE, "file.txt",
+               FILE_DELETE_AND_CHANGE, NULL, skip_change, NULL));
+}
+
+void test_apply_partial__delete_and_change_nocontext_skip_change(void)
+{
+       git_diff_options diff_opts = GIT_DIFF_OPTIONS_INIT;
+       diff_opts.context_lines = 0;
+
+       cl_git_pass(apply_buf(
+               FILE_ORIGINAL, "file.txt",
+               FILE_DELETE_AND_CHANGE, "file.txt",
+               FILE_DELETE_FIRSTLINE, &diff_opts, skip_change, NULL));
+}
+
+void test_apply_partial__delete_and_change_nocontext_abort_change(void)
+{
+       git_diff_options diff_opts = GIT_DIFF_OPTIONS_INIT;
+       diff_opts.context_lines = 0;
+
+       cl_git_fail(apply_buf(
+               FILE_ORIGINAL, "file.txt",
+               FILE_DELETE_AND_CHANGE, "file.txt",
+               FILE_DELETE_FIRSTLINE, &diff_opts, abort_change, NULL));
+}
diff --git a/tests/apply/tree.c b/tests/apply/tree.c
new file mode 100644 (file)
index 0000000..f35b13c
--- /dev/null
@@ -0,0 +1,58 @@
+#include "clar_libgit2.h"
+#include "../merge/merge_helpers.h"
+
+static git_repository *repo;
+
+#define TEST_REPO_PATH "merge-recursive"
+
+
+void test_apply_tree__initialize(void)
+{
+       repo = cl_git_sandbox_init(TEST_REPO_PATH);
+}
+
+void test_apply_tree__cleanup(void)
+{
+       cl_git_sandbox_cleanup();
+}
+
+void test_apply_tree__one(void)
+{
+       git_oid a_oid, b_oid;
+       git_commit *a_commit, *b_commit;
+       git_tree *a_tree, *b_tree;
+       git_diff *diff;
+       git_index *index = NULL;
+       git_diff_options opts = GIT_DIFF_OPTIONS_INIT;
+
+       struct merge_index_entry expected[] = {
+               { 0100644, "ffb36e513f5fdf8a6ba850a20142676a2ac4807d", 0, "asparagus.txt" },
+               { 0100644, "68f6182f4c85d39e1309d97c7e456156dc9c0096", 0, "beef.txt" },
+               { 0100644, "4b7c5650008b2e747fe1809eeb5a1dde0e80850a", 0, "bouilli.txt" },
+               { 0100644, "c4e6cca3ec6ae0148ed231f97257df8c311e015f", 0, "gravy.txt" },
+               { 0100644, "68af1fc7407fd9addf1701a87eb1c95c7494c598", 0, "oyster.txt" },
+               { 0100644, "a7b066537e6be7109abfe4ff97b675d4e077da20", 0, "veal.txt" },
+       };
+
+       git_oid_fromstr(&a_oid, "539bd011c4822c560c1d17cab095006b7a10f707");
+       git_oid_fromstr(&b_oid, "7c7bf85e978f1d18c0566f702d2cb7766b9c8d4f");
+
+       cl_git_pass(git_commit_lookup(&a_commit, repo, &a_oid));
+       cl_git_pass(git_commit_lookup(&b_commit, repo, &b_oid));
+
+       cl_git_pass(git_commit_tree(&a_tree, a_commit));
+       cl_git_pass(git_commit_tree(&b_tree, b_commit));
+
+       cl_git_pass(git_diff_tree_to_tree(&diff, repo, a_tree, b_tree, &opts));
+
+       cl_git_pass(git_apply_to_tree(&index, repo, a_tree, diff, NULL));
+       merge_test_index(index, expected, 6);
+
+       git_index_free(index);
+       git_diff_free(diff);
+       git_tree_free(a_tree);
+       git_tree_free(b_tree);
+       git_commit_free(a_commit);
+       git_commit_free(b_commit);
+}
+
diff --git a/tests/apply/workdir.c b/tests/apply/workdir.c
new file mode 100644 (file)
index 0000000..d0d9c1a
--- /dev/null
@@ -0,0 +1,358 @@
+#include "clar_libgit2.h"
+#include "apply_helpers.h"
+
+static git_repository *repo;
+
+#define TEST_REPO_PATH "merge-recursive"
+
+void test_apply_workdir__initialize(void)
+{
+       git_oid oid;
+       git_commit *commit;
+
+       repo = cl_git_sandbox_init(TEST_REPO_PATH);
+
+       git_oid_fromstr(&oid, "539bd011c4822c560c1d17cab095006b7a10f707");
+       cl_git_pass(git_commit_lookup(&commit, repo, &oid));
+       cl_git_pass(git_reset(repo, (git_object *)commit, GIT_RESET_HARD, NULL));
+       git_commit_free(commit);
+}
+
+void test_apply_workdir__cleanup(void)
+{
+       cl_git_sandbox_cleanup();
+}
+
+void test_apply_workdir__generated_diff(void)
+{
+       git_oid a_oid, b_oid;
+       git_commit *a_commit, *b_commit;
+       git_tree *a_tree, *b_tree;
+       git_diff *diff;
+       git_diff_options opts = GIT_DIFF_OPTIONS_INIT;
+
+       struct merge_index_entry workdir_expected[] = {
+               { 0100644, "ffb36e513f5fdf8a6ba850a20142676a2ac4807d", 0, "asparagus.txt" },
+               { 0100644, "68f6182f4c85d39e1309d97c7e456156dc9c0096", 0, "beef.txt" },
+               { 0100644, "4b7c5650008b2e747fe1809eeb5a1dde0e80850a", 0, "bouilli.txt" },
+               { 0100644, "c4e6cca3ec6ae0148ed231f97257df8c311e015f", 0, "gravy.txt" },
+               { 0100644, "68af1fc7407fd9addf1701a87eb1c95c7494c598", 0, "oyster.txt" },
+               { 0100644, "a7b066537e6be7109abfe4ff97b675d4e077da20", 0, "veal.txt" },
+       };
+       size_t workdir_expected_cnt = sizeof(workdir_expected) /
+               sizeof(struct merge_index_entry);
+
+       git_oid_fromstr(&a_oid, "539bd011c4822c560c1d17cab095006b7a10f707");
+       git_oid_fromstr(&b_oid, "7c7bf85e978f1d18c0566f702d2cb7766b9c8d4f"); cl_git_pass(git_commit_lookup(&a_commit, repo, &a_oid));
+       cl_git_pass(git_commit_lookup(&b_commit, repo, &b_oid));
+
+       cl_git_pass(git_commit_tree(&a_tree, a_commit));
+       cl_git_pass(git_commit_tree(&b_tree, b_commit));
+
+       cl_git_pass(git_diff_tree_to_tree(&diff, repo, a_tree, b_tree, &opts));
+       cl_git_pass(git_apply(repo, diff, GIT_APPLY_LOCATION_WORKDIR, NULL));
+
+       validate_index_unchanged(repo);
+       validate_apply_workdir(repo, workdir_expected, workdir_expected_cnt);
+
+       git_diff_free(diff);
+       git_tree_free(a_tree);
+       git_tree_free(b_tree);
+       git_commit_free(a_commit);
+       git_commit_free(b_commit);
+}
+
+void test_apply_workdir__parsed_diff(void)
+{
+       git_diff *diff;
+
+       struct merge_index_entry workdir_expected[] = {
+               { 0100644, "ffb36e513f5fdf8a6ba850a20142676a2ac4807d", 0, "asparagus.txt" },
+               { 0100644, "68f6182f4c85d39e1309d97c7e456156dc9c0096", 0, "beef.txt" },
+               { 0100644, "4b7c5650008b2e747fe1809eeb5a1dde0e80850a", 0, "bouilli.txt" },
+               { 0100644, "c4e6cca3ec6ae0148ed231f97257df8c311e015f", 0, "gravy.txt" },
+               { 0100644, "68af1fc7407fd9addf1701a87eb1c95c7494c598", 0, "oyster.txt" },
+               { 0100644, "a7b066537e6be7109abfe4ff97b675d4e077da20", 0, "veal.txt" },
+       };
+       size_t workdir_expected_cnt = sizeof(workdir_expected) /
+           sizeof(struct merge_index_entry);
+
+       cl_git_pass(git_diff_from_buffer(&diff,
+               DIFF_MODIFY_TWO_FILES, strlen(DIFF_MODIFY_TWO_FILES)));
+       cl_git_pass(git_apply(repo, diff, GIT_APPLY_LOCATION_WORKDIR, NULL));
+
+       validate_index_unchanged(repo);
+       validate_apply_workdir(repo, workdir_expected, workdir_expected_cnt);
+
+       git_diff_free(diff);
+}
+
+void test_apply_workdir__removes_file(void)
+{
+       git_diff *diff;
+
+       struct merge_index_entry workdir_expected[] = {
+               { 0100644, "f51658077d85f2264fa179b4d0848268cb3475c3", 0, "asparagus.txt" },
+               { 0100644, "68f6182f4c85d39e1309d97c7e456156dc9c0096", 0, "beef.txt" },
+               { 0100644, "4b7c5650008b2e747fe1809eeb5a1dde0e80850a", 0, "bouilli.txt" },
+               { 0100644, "68af1fc7407fd9addf1701a87eb1c95c7494c598", 0, "oyster.txt" },
+               { 0100644, "94d2c01087f48213bd157222d54edfefd77c9bba", 0, "veal.txt" },
+       };
+       size_t workdir_expected_cnt = sizeof(workdir_expected) /
+           sizeof(struct merge_index_entry);
+
+       cl_git_pass(git_diff_from_buffer(&diff, DIFF_DELETE_FILE,
+               strlen(DIFF_DELETE_FILE)));
+       cl_git_pass(git_apply(repo, diff, GIT_APPLY_LOCATION_WORKDIR, NULL));
+
+       validate_index_unchanged(repo);
+       validate_apply_workdir(repo, workdir_expected, workdir_expected_cnt);
+
+       git_diff_free(diff);
+}
+
+void test_apply_workdir__adds_file(void)
+{
+       git_diff *diff;
+
+       struct merge_index_entry workdir_expected[] = {
+               { 0100644, "f51658077d85f2264fa179b4d0848268cb3475c3", 0, "asparagus.txt" },
+               { 0100644, "68f6182f4c85d39e1309d97c7e456156dc9c0096", 0, "beef.txt" },
+               { 0100644, "4b7c5650008b2e747fe1809eeb5a1dde0e80850a", 0, "bouilli.txt" },
+               { 0100644, "c4e6cca3ec6ae0148ed231f97257df8c311e015f", 0, "gravy.txt" },
+               { 0100644, "6370543fcfedb3e6516ec53b06158f3687dc1447", 0, "newfile.txt" },
+               { 0100644, "68af1fc7407fd9addf1701a87eb1c95c7494c598", 0, "oyster.txt" },
+               { 0100644, "94d2c01087f48213bd157222d54edfefd77c9bba", 0, "veal.txt" },
+       };
+       size_t workdir_expected_cnt = sizeof(workdir_expected) /
+           sizeof(struct merge_index_entry);
+
+       cl_git_pass(git_diff_from_buffer(&diff,
+               DIFF_ADD_FILE, strlen(DIFF_ADD_FILE)));
+       cl_git_pass(git_apply(repo, diff, GIT_APPLY_LOCATION_WORKDIR, NULL));
+
+       validate_index_unchanged(repo);
+       validate_apply_workdir(repo, workdir_expected, workdir_expected_cnt);
+
+       git_diff_free(diff);
+}
+
+void test_apply_workdir__modified_index_with_unmodified_workdir_is_ok(void)
+{
+       git_index *index;
+       git_index_entry idx_entry = {{0}};
+       git_diff *diff;
+
+       const char *diff_file = DIFF_MODIFY_TWO_FILES;
+
+       struct merge_index_entry index_expected[] = {
+               { 0100644, "68f6182f4c85d39e1309d97c7e456156dc9c0096", 0, "beef.txt" },
+               { 0100644, "4b7c5650008b2e747fe1809eeb5a1dde0e80850a", 0, "bouilli.txt" },
+               { 0100644, "c4e6cca3ec6ae0148ed231f97257df8c311e015f", 0, "gravy.txt" },
+               { 0100644, "68af1fc7407fd9addf1701a87eb1c95c7494c598", 0, "oyster.txt" },
+               { 0100644, "ffb36e513f5fdf8a6ba850a20142676a2ac4807d", 0, "veal.txt" }
+       };
+       size_t index_expected_cnt = sizeof(index_expected) /
+               sizeof(struct merge_index_entry);
+
+       struct merge_index_entry workdir_expected[] = {
+               { 0100644, "ffb36e513f5fdf8a6ba850a20142676a2ac4807d", 0, "asparagus.txt" },
+               { 0100644, "68f6182f4c85d39e1309d97c7e456156dc9c0096", 0, "beef.txt" },
+               { 0100644, "4b7c5650008b2e747fe1809eeb5a1dde0e80850a", 0, "bouilli.txt" },
+               { 0100644, "c4e6cca3ec6ae0148ed231f97257df8c311e015f", 0, "gravy.txt" },
+               { 0100644, "68af1fc7407fd9addf1701a87eb1c95c7494c598", 0, "oyster.txt" },
+               { 0100644, "a7b066537e6be7109abfe4ff97b675d4e077da20", 0, "veal.txt" },
+       };
+       size_t workdir_expected_cnt = sizeof(workdir_expected) /
+               sizeof(struct merge_index_entry);
+
+       /* mutate the index and leave the workdir matching HEAD */
+       cl_git_pass(git_repository_index(&index, repo));
+
+       idx_entry.mode = 0100644;
+       idx_entry.path = "veal.txt";
+       cl_git_pass(git_oid_fromstr(&idx_entry.id, "ffb36e513f5fdf8a6ba850a20142676a2ac4807d"));
+
+       cl_git_pass(git_index_add(index, &idx_entry));
+       cl_git_pass(git_index_remove(index, "asparagus.txt", 0));
+       cl_git_pass(git_index_write(index));
+
+       cl_git_pass(git_diff_from_buffer(&diff, diff_file, strlen(diff_file)));
+       cl_git_pass(git_apply(repo, diff, GIT_APPLY_LOCATION_WORKDIR, NULL));
+
+       validate_apply_index(repo, index_expected, index_expected_cnt);
+       validate_apply_workdir(repo, workdir_expected, workdir_expected_cnt);
+
+       git_index_free(index);
+       git_diff_free(diff);
+}
+
+void test_apply_workdir__application_failure_leaves_workdir_unmodified(void)
+{
+       git_diff *diff;
+
+       const char *diff_file = DIFF_MODIFY_TWO_FILES;
+
+       struct merge_index_entry workdir_expected[] = {
+               { 0100644, "f51658077d85f2264fa179b4d0848268cb3475c3", 0, "asparagus.txt" },
+               { 0100644, "68f6182f4c85d39e1309d97c7e456156dc9c0096", 0, "beef.txt" },
+               { 0100644, "4b7c5650008b2e747fe1809eeb5a1dde0e80850a", 0, "bouilli.txt" },
+               { 0100644, "c4e6cca3ec6ae0148ed231f97257df8c311e015f", 0, "gravy.txt" },
+               { 0100644, "68af1fc7407fd9addf1701a87eb1c95c7494c598", 0, "oyster.txt" },
+               { 0100644, "8684724651336001c5dbce74bed6736d2443958d", 0, "veal.txt" },
+       };
+       size_t workdir_expected_cnt = sizeof(workdir_expected) /
+               sizeof(struct merge_index_entry);
+
+       /* mutate the workdir */
+       cl_git_rewritefile("merge-recursive/veal.txt",
+           "This is a modification.\n");
+
+       cl_git_pass(git_diff_from_buffer(&diff, diff_file, strlen(diff_file)));
+       cl_git_fail_with(GIT_EAPPLYFAIL, git_apply(repo, diff, GIT_APPLY_LOCATION_WORKDIR, NULL));
+
+       validate_apply_workdir(repo, workdir_expected, workdir_expected_cnt);
+
+       git_diff_free(diff);
+}
+
+void test_apply_workdir__keeps_nonconflicting_changes(void)
+{
+       git_diff *diff;
+
+       struct merge_index_entry workdir_expected[] = {
+               { 0100644, "ffb36e513f5fdf8a6ba850a20142676a2ac4807d", 0, "asparagus.txt" },
+               { 0100644, "68f6182f4c85d39e1309d97c7e456156dc9c0096", 0, "beef.txt" },
+               { 0100644, "4b7c5650008b2e747fe1809eeb5a1dde0e80850a", 0, "bouilli.txt" },
+               { 0100644, "f75ba05f340c51065cbea2e1fdbfe5fe13144c97", 0, "gravy.txt" },
+               { 0100644, "a7b066537e6be7109abfe4ff97b675d4e077da20", 0, "veal.txt" },
+       };
+       size_t workdir_expected_cnt = sizeof(workdir_expected) /
+           sizeof(struct merge_index_entry);
+
+       cl_git_rmfile("merge-recursive/oyster.txt");
+       cl_git_rewritefile("merge-recursive/gravy.txt", "Hello, world.\n");
+
+       cl_git_pass(git_diff_from_buffer(&diff,
+               DIFF_MODIFY_TWO_FILES, strlen(DIFF_MODIFY_TWO_FILES)));
+       cl_git_pass(git_apply(repo, diff, GIT_APPLY_LOCATION_WORKDIR, NULL));
+
+       validate_index_unchanged(repo);
+       validate_apply_workdir(repo, workdir_expected, workdir_expected_cnt);
+
+       git_diff_free(diff);
+}
+
+void test_apply_workdir__can_apply_nonconflicting_file_changes(void)
+{
+       git_diff *diff;
+
+       const char *diff_file = DIFF_MODIFY_TWO_FILES;
+
+       struct merge_index_entry workdir_expected[] = {
+               { 0100644, "5db1a0fef164cb66cc0c00d35cc5af979ddc1a64", 0, "asparagus.txt" },
+               { 0100644, "68f6182f4c85d39e1309d97c7e456156dc9c0096", 0, "beef.txt" },
+               { 0100644, "4b7c5650008b2e747fe1809eeb5a1dde0e80850a", 0, "bouilli.txt" },
+               { 0100644, "c4e6cca3ec6ae0148ed231f97257df8c311e015f", 0, "gravy.txt" },
+               { 0100644, "68af1fc7407fd9addf1701a87eb1c95c7494c598", 0, "oyster.txt" },
+               { 0100644, "a7b066537e6be7109abfe4ff97b675d4e077da20", 0, "veal.txt" },
+       };
+       size_t workdir_expected_cnt = sizeof(workdir_expected) /
+               sizeof(struct merge_index_entry);
+
+       /*
+        * Replace the workdir file with a version that is different than
+        * HEAD but such that the patch still applies cleanly.  This item
+        * has a new line appended.
+        */
+       cl_git_append2file("merge-recursive/asparagus.txt",
+           "This line is added in the workdir.\n");
+
+       cl_git_pass(git_diff_from_buffer(&diff, diff_file, strlen(diff_file)));
+       cl_git_pass(git_apply(repo, diff, GIT_APPLY_LOCATION_WORKDIR, NULL));
+
+       validate_index_unchanged(repo);
+       validate_apply_workdir(repo, workdir_expected, workdir_expected_cnt);
+
+       git_diff_free(diff);
+}
+
+void test_apply_workdir__change_mode(void)
+{
+#ifndef GIT_WIN32
+       git_diff *diff;
+
+       const char *diff_file = DIFF_EXECUTABLE_FILE;
+
+       struct merge_index_entry workdir_expected[] = {
+               { 0100644, "f51658077d85f2264fa179b4d0848268cb3475c3", 0, "asparagus.txt" },
+               { 0100755, "68f6182f4c85d39e1309d97c7e456156dc9c0096", 0, "beef.txt" },
+               { 0100644, "4b7c5650008b2e747fe1809eeb5a1dde0e80850a", 0, "bouilli.txt" },
+               { 0100644, "c4e6cca3ec6ae0148ed231f97257df8c311e015f", 0, "gravy.txt" },
+               { 0100644, "68af1fc7407fd9addf1701a87eb1c95c7494c598", 0, "oyster.txt" },
+               { 0100644, "94d2c01087f48213bd157222d54edfefd77c9bba", 0, "veal.txt" },
+       };
+       size_t workdir_expected_cnt = sizeof(workdir_expected) /
+               sizeof(struct merge_index_entry);
+
+       cl_git_pass(git_diff_from_buffer(&diff, diff_file, strlen(diff_file)));
+       cl_git_pass(git_apply(repo, diff, GIT_APPLY_LOCATION_WORKDIR, NULL));
+
+       validate_index_unchanged(repo);
+       validate_apply_workdir(repo, workdir_expected, workdir_expected_cnt);
+
+       git_diff_free(diff);
+#endif
+}
+
+void test_apply_workdir__apply_many_changes_one(void)
+{
+       git_diff *diff;
+       git_apply_options opts = GIT_APPLY_OPTIONS_INIT;
+
+       struct merge_index_entry workdir_expected[] = {
+               { 0100644, "f51658077d85f2264fa179b4d0848268cb3475c3", 0, "asparagus.txt" },
+               { 0100644, "68f6182f4c85d39e1309d97c7e456156dc9c0096", 0, "beef.txt" },
+               { 0100644, "4b7c5650008b2e747fe1809eeb5a1dde0e80850a", 0, "bouilli.txt" },
+               { 0100644, "c4e6cca3ec6ae0148ed231f97257df8c311e015f", 0, "gravy.txt" },
+               { 0100644, "68af1fc7407fd9addf1701a87eb1c95c7494c598", 0, "oyster.txt" },
+               { 0100644, "c9d7d5d58088bc91f6e06f17ca3a205091568d3a", 0, "veal.txt" },
+       };
+       size_t workdir_expected_cnt = sizeof(workdir_expected) /
+           sizeof(struct merge_index_entry);
+
+       cl_git_pass(git_diff_from_buffer(&diff,
+               DIFF_MANY_CHANGES_ONE, strlen(DIFF_MANY_CHANGES_ONE)));
+       cl_git_pass(git_apply(repo, diff, GIT_APPLY_LOCATION_WORKDIR, &opts));
+
+       validate_index_unchanged(repo);
+       validate_apply_workdir(repo, workdir_expected, workdir_expected_cnt);
+
+       git_diff_free(diff);
+}
+
+void test_apply_workdir__apply_many_changes_two(void)
+{
+       git_diff *diff;
+       git_apply_options opts = GIT_APPLY_OPTIONS_INIT;
+
+       struct merge_index_entry workdir_expected[] = {
+               { 0100644, "f51658077d85f2264fa179b4d0848268cb3475c3", 0, "asparagus.txt" },
+               { 0100644, "68f6182f4c85d39e1309d97c7e456156dc9c0096", 0, "beef.txt" },
+               { 0100644, "4b7c5650008b2e747fe1809eeb5a1dde0e80850a", 0, "bouilli.txt" },
+               { 0100644, "c4e6cca3ec6ae0148ed231f97257df8c311e015f", 0, "gravy.txt" },
+               { 0100644, "68af1fc7407fd9addf1701a87eb1c95c7494c598", 0, "oyster.txt" },
+               { 0100644, "6b943d65af6d8db74d747284fa4ca7d716ad5bbb", 0, "veal.txt" },
+       };
+       size_t workdir_expected_cnt = sizeof(workdir_expected) /
+           sizeof(struct merge_index_entry);
+
+       cl_git_pass(git_diff_from_buffer(&diff,
+               DIFF_MANY_CHANGES_TWO, strlen(DIFF_MANY_CHANGES_TWO)));
+       cl_git_pass(git_apply(repo, diff, GIT_APPLY_LOCATION_WORKDIR, &opts));
+
+       validate_index_unchanged(repo);
+       validate_apply_workdir(repo, workdir_expected, workdir_expected_cnt);
+
+       git_diff_free(diff);
+}
index 8baf50622770c7c1eff0efd6cbb55a9d2fc5e4f0..eb4300b4ea7301afd0a3fdc37252ccdcab9dd3e7 100644 (file)
@@ -303,7 +303,7 @@ static void add_to_workdir(const char *filename, const char *content)
        cl_git_pass(git_buf_joinpath(&buf, "attr", filename));
        cl_git_rewritefile(git_buf_cstr(&buf), content);
 
-       git_buf_free(&buf);
+       git_buf_dispose(&buf);
 }
 
 static void assert_proper_normalization(git_index *index, const char *filename, const char *expected_sha)
index 14ea3e7ce80d4453a8c9b1ec180b17db988a5e4f..f90c4c6ed0d0cfd95cb7e6eea28110646ed9a78b 100644 (file)
@@ -12,7 +12,7 @@ void test_buf_basic__resize(void)
 
        git_buf_puts(&buf1, test_string);
        cl_assert(strlen(git_buf_cstr(&buf1)) == strlen(test_string) * 2);
-       git_buf_free(&buf1);
+       git_buf_dispose(&buf1);
 }
 
 void test_buf_basic__resize_incremental(void)
@@ -34,7 +34,7 @@ void test_buf_basic__resize_incremental(void)
        cl_assert_equal_i(5, buf1.size);
        cl_assert(buf1.asize > 8);
 
-       git_buf_free(&buf1);
+       git_buf_dispose(&buf1);
 }
 
 void test_buf_basic__printf(void)
@@ -47,5 +47,5 @@ void test_buf_basic__printf(void)
        git_buf_printf(&buf2, "%s %d", "woop", 42);
        cl_assert(git_buf_oom(&buf2) == 0);
        cl_assert_equal_s(git_buf_cstr(&buf2), "shoop da 23 woop 42");
-       git_buf_free(&buf2);
+       git_buf_dispose(&buf2);
 }
index 16a03cc1a3a64734204e6fcab06c070ba7dbb5ba..726234ef89ea8f69bd51d2bedc55a230dc3b7c86 100644 (file)
@@ -1,53 +1,59 @@
 #include "clar_libgit2.h"
 #include "buffer.h"
 
-/*
- * We want to use some ridiculous size that `malloc` will fail with
- * but that does not otherwise interfere with testing.  On Linux, choose
- * a number that is large enough to fail immediately but small enough
- * that valgrind doesn't believe it to erroneously be a negative number.
- * On macOS, choose a number that is large enough to fail immediately
- * without having libc print warnings to stderr.
- */
-#if defined(GIT_ARCH_64) && defined(__linux__)
-# define TOOBIG 0x0fffffffffffffff
-#elif defined(__linux__)
-# define TOOBIG 0x0fffffff
-#elif defined(GIT_ARCH_64)
-# define TOOBIG 0xffffffffffffff00
-#else
-# define TOOBIG 0xffffff00
-#endif
-
-/**
- * If we make a ridiculously large request the first time we
- * actually allocate some space in the git_buf, the realloc()
- * will fail.  And because the git_buf_grow() wrapper always
- * sets mark_oom, the code in git_buf_try_grow() will free
- * the internal buffer and set it to git_buf__oom.
- * 
- * We initialized the internal buffer to (the static variable)
- * git_buf__initbuf.  The purpose of this test is to make sure
- * that we don't try to free the static buffer.
- */
+/* Override default allocators with ones that will fail predictably. */
+
+static git_allocator std_alloc;
+static git_allocator oom_alloc;
+
+static void *oom_malloc(size_t n, const char *file, int line)
+{
+       /* Reject any allocation of more than 100 bytes */
+       return (n > 100) ? NULL : std_alloc.gmalloc(n, file, line);
+}
+
+static void *oom_realloc(void *p, size_t n, const char *file, int line)
+{
+       /* Reject any allocation of more than 100 bytes */
+       return (n > 100) ? NULL : std_alloc.grealloc(p, n, file, line);
+}
+
+void test_buf_oom__initialize(void)
+{
+       git_stdalloc_init_allocator(&std_alloc);
+       git_stdalloc_init_allocator(&oom_alloc);
+
+       oom_alloc.gmalloc = oom_malloc;
+       oom_alloc.grealloc = oom_realloc;
+
+       cl_git_pass(git_libgit2_opts(GIT_OPT_SET_ALLOCATOR, &oom_alloc));
+}
+
+void test_buf_oom__cleanup(void)
+{
+       cl_git_pass(git_libgit2_opts(GIT_OPT_SET_ALLOCATOR, NULL));
+}
+
 void test_buf_oom__grow(void)
 {
        git_buf buf = GIT_BUF_INIT;
 
-       git_buf_clear(&buf);
+       cl_git_pass(git_buf_grow(&buf, 42));
+       cl_assert(!git_buf_oom(&buf));
 
-       cl_assert(git_buf_grow(&buf, TOOBIG) == -1);
+       cl_assert(git_buf_grow(&buf, 101) == -1);
        cl_assert(git_buf_oom(&buf));
 
-       git_buf_free(&buf);
+       git_buf_dispose(&buf);
 }
 
 void test_buf_oom__grow_by(void)
 {
        git_buf buf = GIT_BUF_INIT;
 
-       buf.size = SIZE_MAX-10;
+       cl_git_pass(git_buf_grow_by(&buf, 42));
+       cl_assert(!git_buf_oom(&buf));
 
-       cl_assert(git_buf_grow_by(&buf, 50) == -1);
+       cl_assert(git_buf_grow_by(&buf, 101) == -1);
        cl_assert(git_buf_oom(&buf));
 }
index 60534a053ab12e896bf07ce08b5e1b0fb82820b2..8c47b833de068e8543e470d7ad89e024f4d0658c 100644 (file)
@@ -18,8 +18,8 @@ static void expect_decode_pass(const char *expected, const char *encoded)
        cl_assert_equal_s(expected, git_buf_cstr(&out));
        cl_assert_equal_i(strlen(expected), git_buf_len(&out));
 
-       git_buf_free(&in);
-       git_buf_free(&out);
+       git_buf_dispose(&in);
+       git_buf_dispose(&out);
 }
 
 void test_buf_percent__decode_succeeds(void)
index 6f77ab9c1c98832689bbd02cf2108e19d9f0d8a5..8867ae7d6181a2e3f0500f9b58f6668a6a2d60f3 100644 (file)
@@ -11,7 +11,7 @@ static void expect_quote_pass(const char *expected, const char *str)
        cl_assert_equal_s(expected, git_buf_cstr(&buf));
        cl_assert_equal_i(strlen(expected), git_buf_len(&buf));
 
-       git_buf_free(&buf);
+       git_buf_dispose(&buf);
 }
 
 void test_buf_quote__quote_succeeds(void)
@@ -38,7 +38,7 @@ static void expect_unquote_pass(const char *expected, const char *quoted)
        cl_assert_equal_s(expected, git_buf_cstr(&buf));
        cl_assert_equal_i(strlen(expected), git_buf_len(&buf));
 
-       git_buf_free(&buf);
+       git_buf_dispose(&buf);
 }
 
 static void expect_unquote_fail(const char *quoted)
@@ -48,7 +48,7 @@ static void expect_unquote_fail(const char *quoted)
        cl_git_pass(git_buf_puts(&buf, quoted));
        cl_git_fail(git_buf_unquote(&buf));
 
-       git_buf_free(&buf);
+       git_buf_dispose(&buf);
 }
 
 void test_buf_quote__unquote_succeeds(void)
index e80c93105b34fe65ed53b6e511d40fd8937c3ef6..18c7c3f2bd062ee3330607077e520741b51ee8ca 100644 (file)
@@ -8,7 +8,7 @@ void test_buf_splice__initialize(void) {
 }
 
 void test_buf_splice__cleanup(void) {
-   git_buf_free(&_buf);
+   git_buf_dispose(&_buf);
 }
 
 void test_buf_splice__preprend(void)
index 27e70d3f103b80b9b36f9d3436121ee25e9a2018..5ba79213a7064fa96dbd0bec71f3abb0a343c646 100644 (file)
@@ -36,12 +36,12 @@ static void execute_test(void)
 
        /* Verify that the lenna.jpg file was checked out correctly */
        cl_git_pass(git_oid_fromstr(&check, "8ab005d890fe53f65eda14b23672f60d9f4ec5a1"));
-       cl_git_pass(git_odb_hashfile(&oid, "binaryunicode/lenna.jpg", GIT_OBJ_BLOB));
+       cl_git_pass(git_odb_hashfile(&oid, "binaryunicode/lenna.jpg", GIT_OBJECT_BLOB));
        cl_assert_equal_oid(&oid, &check);
 
        /* Verify that the text file was checked out correctly */
        cl_git_pass(git_oid_fromstr(&check, "965b223880dd4249e2c66a0cc0b4cffe1dc40f5a"));
-       cl_git_pass(git_odb_hashfile(&oid, "binaryunicode/utf16_withbom_noeol_crlf.txt", GIT_OBJ_BLOB));
+       cl_git_pass(git_odb_hashfile(&oid, "binaryunicode/utf16_withbom_noeol_crlf.txt", GIT_OBJECT_BLOB));
        cl_assert_equal_oid(&oid, &check);
 }
 
index d7d24f33f4ce8237323c7b5764916443e05036b1..8256644db041270aaa80abf30a1764e80c1af100 100644 (file)
@@ -10,13 +10,13 @@ void assert_on_branch(git_repository *repo, const char *branch)
        git_buf bname = GIT_BUF_INIT;
 
        cl_git_pass(git_reference_lookup(&head, repo, GIT_HEAD_FILE));
-       cl_assert_(git_reference_type(head) == GIT_REF_SYMBOLIC, branch);
+       cl_assert_(git_reference_type(head) == GIT_REFERENCE_SYMBOLIC, branch);
 
        cl_git_pass(git_buf_joinpath(&bname, "refs/heads", branch));
        cl_assert_equal_s(bname.ptr, git_reference_symbolic_target(head));
 
        git_reference_free(head);
-       git_buf_free(&bname);
+       git_buf_dispose(&bname);
 }
 
 void reset_index_to_treeish(git_object *treeish)
@@ -25,7 +25,7 @@ void reset_index_to_treeish(git_object *treeish)
        git_index *index;
        git_repository *repo = git_object_owner(treeish);
 
-       cl_git_pass(git_object_peel(&tree, treeish, GIT_OBJ_TREE));
+       cl_git_pass(git_object_peel(&tree, treeish, GIT_OBJECT_TREE));
 
        cl_git_pass(git_repository_index(&index, repo));
        cl_git_pass(git_index_read_tree(index, (git_tree *)tree));
index dd2dd3131d182783474ee64f4286f90116c77904..914b3c2de7c1f8530ff94e1643f90402c6f2ff7b 100644 (file)
@@ -2,6 +2,7 @@
 #include "git2/repository.h"
 #include "git2/sys/index.h"
 #include "fileops.h"
+#include "repository.h"
 
 static git_repository *g_repo;
 static git_index *g_index;
@@ -93,7 +94,7 @@ static void create_index(struct checkout_index_entry *entries, size_t entries_le
                if (entries[i].stage == 3 && (i == 0 || strcmp(entries[i-1].path, entries[i].path) != 0 || entries[i-1].stage != 2))
                        p_unlink(git_buf_cstr(&path));
 
-               git_index_remove_bypath(g_index, entries[i].path);
+               cl_git_pass(git_index_remove_bypath(g_index, entries[i].path));
        }
 
        for (i = 0; i < entries_len; i++) {
@@ -102,14 +103,14 @@ static void create_index(struct checkout_index_entry *entries, size_t entries_le
                memset(&entry, 0x0, sizeof(git_index_entry));
 
                entry.mode = entries[i].mode;
-               GIT_IDXENTRY_STAGE_SET(&entry, entries[i].stage);
+               GIT_INDEX_ENTRY_STAGE_SET(&entry, entries[i].stage);
                git_oid_fromstr(&entry.id, entries[i].oid_str);
                entry.path = entries[i].path;
 
                cl_git_pass(git_index_add(g_index, &entry));
        }
 
-       git_buf_free(&path);
+       git_buf_dispose(&path);
 }
 
 static void create_index_names(struct checkout_name_entry *entries, size_t entries_len)
@@ -133,7 +134,7 @@ static void create_conflicting_index(void)
        };
 
        create_index(checkout_index_entries, 3);
-       git_index_write(g_index);
+       cl_git_pass(git_index_write(g_index));
 }
 
 static void ensure_workdir_contents(const char *path, const char *contents)
@@ -146,8 +147,8 @@ static void ensure_workdir_contents(const char *path, const char *contents)
        cl_git_pass(git_futils_readbuffer(&data_buf, git_buf_cstr(&fullpath)));
        cl_assert(strcmp(git_buf_cstr(&data_buf), contents) == 0);
 
-       git_buf_free(&fullpath);
-       git_buf_free(&data_buf);
+       git_buf_dispose(&fullpath);
+       git_buf_dispose(&data_buf);
 }
 
 static void ensure_workdir_oid(const char *path, const char *oid_str)
@@ -155,7 +156,7 @@ static void ensure_workdir_oid(const char *path, const char *oid_str)
        git_oid expected, actual;
 
        cl_git_pass(git_oid_fromstr(&expected, oid_str));
-       cl_git_pass(git_repository_hashfile(&actual, g_repo, path, GIT_OBJ_BLOB, NULL));
+       cl_git_pass(git_repository_hashfile(&actual, g_repo, path, GIT_OBJECT_BLOB, NULL));
        cl_assert_equal_oid(&expected, &actual);
 }
 
@@ -174,7 +175,7 @@ static void ensure_workdir_mode(const char *path, int mode)
        cl_git_pass(p_stat(git_buf_cstr(&fullpath), &st));
        cl_assert_equal_i((mode & S_IRWXU), (st.st_mode & S_IRWXU));
 
-       git_buf_free(&fullpath);
+       git_buf_dispose(&fullpath);
 #endif
 }
 
@@ -184,28 +185,35 @@ static void ensure_workdir(const char *path, int mode, const char *oid_str)
        ensure_workdir_oid(path, oid_str);
 }
 
-static void ensure_workdir_link(const char *path, const char *target)
+static void ensure_workdir_link(
+       git_repository *repo,
+       const char *path,
+       const char *target)
 {
-#ifdef GIT_WIN32
-       ensure_workdir_contents(path, target);
-#else
-       git_buf fullpath = GIT_BUF_INIT;
-       char actual[1024];
-       struct stat st;
-       int len;
+       int symlinks;
 
-       cl_git_pass(
-               git_buf_joinpath(&fullpath, git_repository_workdir(g_repo), path));
+       cl_git_pass(git_repository__cvar(&symlinks, repo, GIT_CVAR_SYMLINKS));
 
-       cl_git_pass(p_lstat(git_buf_cstr(&fullpath), &st));
-       cl_assert(S_ISLNK(st.st_mode));
+       if (!symlinks) {
+               ensure_workdir_contents(path, target);
+       } else {
+               git_buf fullpath = GIT_BUF_INIT;
+               char actual[1024];
+               struct stat st;
+               int len;
 
-       cl_assert((len = p_readlink(git_buf_cstr(&fullpath), actual, 1024)) > 0);
-       actual[len] = '\0';
-       cl_assert(strcmp(actual, target) == 0);
+               cl_git_pass(
+                       git_buf_joinpath(&fullpath, git_repository_workdir(g_repo), path));
 
-       git_buf_free(&fullpath);
-#endif
+               cl_git_pass(p_lstat(git_buf_cstr(&fullpath), &st));
+               cl_assert(S_ISLNK(st.st_mode));
+
+               cl_assert((len = p_readlink(git_buf_cstr(&fullpath), actual, 1024)) > 0);
+               actual[len] = '\0';
+               cl_assert(strcmp(actual, target) == 0);
+
+               git_buf_dispose(&fullpath);
+       }
 }
 
 void test_checkout_conflict__ignored(void)
@@ -271,7 +279,7 @@ void test_checkout_conflict__automerge(void)
        };
 
        create_index(checkout_index_entries, 3);
-       git_index_write(g_index);
+       cl_git_pass(git_index_write(g_index));
 
        cl_git_pass(git_checkout_index(g_repo, g_index, &opts));
 
@@ -303,7 +311,7 @@ void test_checkout_conflict__directory_file(void)
        opts.checkout_strategy |= GIT_CHECKOUT_SAFE;
 
        create_index(checkout_index_entries, 12);
-       git_index_write(g_index);
+       cl_git_pass(git_index_write(g_index));
 
        cl_git_pass(git_checkout_index(g_repo, g_index, &opts));
 
@@ -344,7 +352,7 @@ void test_checkout_conflict__directory_file_with_custom_labels(void)
        opts.their_label = "branch";
 
        create_index(checkout_index_entries, 12);
-       git_index_write(g_index);
+       cl_git_pass(git_index_write(g_index));
 
        cl_git_pass(git_checkout_index(g_repo, g_index, &opts));
 
@@ -383,7 +391,7 @@ void test_checkout_conflict__link_file(void)
        opts.checkout_strategy |= GIT_CHECKOUT_SAFE;
 
        create_index(checkout_index_entries, 12);
-       git_index_write(g_index);
+       cl_git_pass(git_index_write(g_index));
 
        cl_git_pass(git_checkout_index(g_repo, g_index, &opts));
 
@@ -410,13 +418,13 @@ void test_checkout_conflict__links(void)
        opts.checkout_strategy |= GIT_CHECKOUT_SAFE;
 
        create_index(checkout_index_entries, 5);
-       git_index_write(g_index);
+       cl_git_pass(git_index_write(g_index));
 
        cl_git_pass(git_checkout_index(g_repo, g_index, &opts));
 
        /* Conflicts with links always keep the ours side (even with -Xtheirs) */
-       ensure_workdir_link("link-1", LINK_OURS_TARGET);
-       ensure_workdir_link("link-2", LINK_OURS_TARGET);
+       ensure_workdir_link(g_repo, "link-1", LINK_OURS_TARGET);
+       ensure_workdir_link(g_repo, "link-2", LINK_OURS_TARGET);
 }
 
 void test_checkout_conflict__add_add(void)
@@ -431,7 +439,7 @@ void test_checkout_conflict__add_add(void)
        opts.checkout_strategy |= GIT_CHECKOUT_SAFE;
 
        create_index(checkout_index_entries, 2);
-       git_index_write(g_index);
+       cl_git_pass(git_index_write(g_index));
 
        cl_git_pass(git_checkout_index(g_repo, g_index, &opts));
 
@@ -472,7 +480,7 @@ void test_checkout_conflict__mode_change(void)
        opts.checkout_strategy |= GIT_CHECKOUT_SAFE;
 
        create_index(checkout_index_entries, 18);
-       git_index_write(g_index);
+       cl_git_pass(git_index_write(g_index));
 
        cl_git_pass(git_checkout_index(g_repo, g_index, &opts));
 
@@ -604,7 +612,7 @@ void test_checkout_conflict__renames(void)
 
        create_index(checkout_index_entries, 41);
        create_index_names(checkout_name_entries, 9);
-       git_index_write(g_index);
+       cl_git_pass(git_index_write(g_index));
 
        cl_git_pass(git_checkout_index(g_repo, g_index, &opts));
 
@@ -684,7 +692,7 @@ void test_checkout_conflict__renames(void)
 void test_checkout_conflict__rename_keep_ours(void)
 {
        git_checkout_options opts = GIT_CHECKOUT_OPTIONS_INIT;
-       
+
        struct checkout_index_entry checkout_index_entries[] = {
                { 0100644, "68c6c84b091926c7d90aa6a79b2bc3bb6adccd8e", 0, "0a-no-change.txt" },
                { 0100644, "f0ce2b8e4986084d9b308fb72709e414c23eb5e6", 0, "0b-duplicated-in-ours.txt" },
@@ -728,122 +736,122 @@ void test_checkout_conflict__rename_keep_ours(void)
                { 0100644, "b42712cfe99a1a500b2a51fe984e0b8a7702ba11", 2, "7-both-renamed.txt" },
                { 0100644, "b69fe837e4cecfd4c9a40cdca7c138468687df07", 3, "7-both-renamed.txt" }
        };
-       
+
        struct checkout_name_entry checkout_name_entries[] = {
                {
                        "3a-renamed-in-ours-deleted-in-theirs.txt",
                        "3a-newname-in-ours-deleted-in-theirs.txt",
                        ""
                },
-               
+
                {
                        "3b-renamed-in-theirs-deleted-in-ours.txt",
                        "",
                        "3b-newname-in-theirs-deleted-in-ours.txt"
                },
-               
+
                {
                        "4a-renamed-in-ours-added-in-theirs.txt",
                        "4a-newname-in-ours-added-in-theirs.txt",
                        ""
                },
-               
+
                {
                        "4b-renamed-in-theirs-added-in-ours.txt",
                        "",
                        "4b-newname-in-theirs-added-in-ours.txt"
                },
-               
+
                {
                        "5a-renamed-in-ours-added-in-theirs.txt",
                        "5a-newname-in-ours-added-in-theirs.txt",
                        "5a-renamed-in-ours-added-in-theirs.txt"
                },
-               
+
                {
                        "5b-renamed-in-theirs-added-in-ours.txt",
                        "5b-renamed-in-theirs-added-in-ours.txt",
                        "5b-newname-in-theirs-added-in-ours.txt"
                },
-               
+
                {
                        "6-both-renamed-1-to-2.txt",
                        "6-both-renamed-1-to-2-ours.txt",
                        "6-both-renamed-1-to-2-theirs.txt"
                },
-               
+
                {
                        "7-both-renamed-side-1.txt",
                        "7-both-renamed.txt",
                        "7-both-renamed-side-1.txt"
                },
-               
+
                {
                        "7-both-renamed-side-2.txt",
                        "7-both-renamed-side-2.txt",
                        "7-both-renamed.txt"
                }
        };
-       
+
        opts.checkout_strategy |= GIT_CHECKOUT_SAFE | GIT_CHECKOUT_USE_OURS;
-       
+
        create_index(checkout_index_entries, 41);
        create_index_names(checkout_name_entries, 9);
-       git_index_write(g_index);
-       
+       cl_git_pass(git_index_write(g_index));
+
        cl_git_pass(git_checkout_index(g_repo, g_index, &opts));
-               
+
        ensure_workdir("0a-no-change.txt",
                                   0100644, "68c6c84b091926c7d90aa6a79b2bc3bb6adccd8e");
-       
+
        ensure_workdir("0b-duplicated-in-ours.txt",
                                   0100644, "f0ce2b8e4986084d9b308fb72709e414c23eb5e6");
-       
+
        ensure_workdir("0b-rewritten-in-ours.txt",
                                   0100644, "e376fbdd06ebf021c92724da9f26f44212734e3e");
-       
+
        ensure_workdir("0c-duplicated-in-theirs.txt",
                                   0100644, "2f56120107d680129a5d9791b521cb1e73a2ed31");
-       
+
        ensure_workdir("0c-rewritten-in-theirs.txt",
                                   0100644, "efc9121fdedaf08ba180b53ebfbcf71bd488ed09");
-       
+
        ensure_workdir("1a-newname-in-ours-edited-in-theirs.txt",
                                   0100644, "0d872f8e871a30208305978ecbf9e66d864f1638");
-       
+
        ensure_workdir("1a-newname-in-ours.txt",
                                   0100644, "d0d4594e16f2e19107e3fa7ea63e7aaaff305ffb");
-       
+
        ensure_workdir("1b-newname-in-theirs-edited-in-ours.txt",
                                   0100644, "ed9523e62e453e50dd9be1606af19399b96e397a");
-       
+
        ensure_workdir("1b-newname-in-theirs.txt",
                                   0100644, "2b5f1f181ee3b58ea751f5dd5d8f9b445520a136");
-       
+
        ensure_workdir("2-newname-in-both.txt",
                                   0100644, "178940b450f238a56c0d75b7955cb57b38191982");
 
        ensure_workdir("3a-newname-in-ours-deleted-in-theirs.txt",
                                   0100644, "18cb316b1cefa0f8a6946f0e201a8e1a6f845ab9");
-       
+
        ensure_workdir("3b-newname-in-theirs-deleted-in-ours.txt",
                                   0100644, "36219b49367146cb2e6a1555b5a9ebd4d0328495");
-       
+
        ensure_workdir("4a-newname-in-ours-added-in-theirs.txt",
                                   0100644, "227792b52aaa0b238bea00ec7e509b02623f168c");
-       
+
        ensure_workdir("4b-newname-in-theirs-added-in-ours.txt",
                                   0100644, "de872ee3618b894992e9d1e18ba2ebe256a112f9");
-       
+
        ensure_workdir("5a-newname-in-ours-added-in-theirs.txt",
                                   0100644, "d3719a5ae8e4d92276b5313ce976f6ee5af2b436");
-               
+
        ensure_workdir("5b-newname-in-theirs-added-in-ours.txt",
                                   0100644, "385c8a0f26ddf79e9041e15e17dc352ed2c4cced");
 
        ensure_workdir("6-both-renamed-1-to-2-ours.txt",
                                   0100644, "d8fa77b6833082c1ea36b7828a582d4c43882450");
-       
+
        ensure_workdir("7-both-renamed.txt",
                                   0100644, "b42712cfe99a1a500b2a51fe984e0b8a7702ba11");
 }
@@ -922,7 +930,7 @@ void test_checkout_conflict__name_mangled_file_exists_in_workdir(void)
 
        create_index(checkout_index_entries, 24);
        create_index_names(checkout_name_entries, 6);
-       git_index_write(g_index);
+       cl_git_pass(git_index_write(g_index));
 
        /* Add some files on disk that conflict with the names that would be chosen
         * for the files written for each side. */
@@ -1012,7 +1020,7 @@ void test_checkout_conflict__update_only(void)
        opts.checkout_strategy |= GIT_CHECKOUT_UPDATE_ONLY;
 
        create_index(checkout_index_entries, 3);
-       git_index_write(g_index);
+       cl_git_pass(git_index_write(g_index));
 
        cl_git_pass(p_mkdir("merge-resolve/directory_file-two", 0777));
        cl_git_rewritefile("merge-resolve/directory_file-two/file", CONFLICTING_OURS_FILE);
@@ -1063,7 +1071,7 @@ void test_checkout_conflict__path_filters(void)
        opts.paths = patharray;
 
        create_index(checkout_index_entries, 12);
-       git_index_write(g_index);
+       cl_git_pass(git_index_write(g_index));
 
        cl_git_pass(git_checkout_index(g_repo, g_index, &opts));
 
@@ -1120,7 +1128,7 @@ void test_checkout_conflict__report_progress(void)
 
 
        create_index(checkout_index_entries, 12);
-       git_index_write(g_index);
+       cl_git_pass(git_index_write(g_index));
 
        cl_git_pass(git_checkout_index(g_repo, g_index, &opts));
 
index d467eaadd4c9ddb4a36021a3bbdabebebc2f0be3..ff3a2dc64ec4440e545a9c0f9748d25c99c44d77 100644 (file)
@@ -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)
@@ -29,7 +55,7 @@ void test_checkout_crlf__cleanup(void)
 
        if (expected_fixture.size) {
                cl_fixture_cleanup(expected_fixture.ptr);
-               git_buf_free(&expected_fixture);
+               git_buf_dispose(&expected_fixture);
        }
 }
 
@@ -84,13 +110,13 @@ done:
                        git_path_basename(actual_path->ptr), systype, cd->autocrlf, cd->attrs);
                clar__fail(__FILE__, __LINE__,
                        "checked out contents did not match expected", details.ptr, 0);
-               git_buf_free(&details);
+               git_buf_dispose(&details);
        }
 
        git__free(basename);
-       git_buf_free(&expected_contents);
-       git_buf_free(&actual_contents);
-       git_buf_free(&expected_path);
+       git_buf_dispose(&expected_contents);
+       git_buf_dispose(&actual_contents);
+       git_buf_dispose(&expected_path);
 
        return 0;
 }
@@ -99,71 +125,77 @@ 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"));
 
-       git_buf_puts(&sandboxname, "autocrlf_");
-       git_buf_puts(&sandboxname, autocrlf);
+       cl_git_pass(git_buf_puts(&systype_and_direction, systype));
+       cl_git_pass(git_buf_puts(&systype_and_direction, "_to_workdir"));
+
+       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));
 
        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);
+       git_buf_dispose(&expected_fixture);
+
+       git_buf_dispose(&attrbuf);
+       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", "");
 
index 55ab3ab24baec69eee9636478128e2f59ef9241e..e6c640ef50f26cc313a76f2b6c0555fac09edf7a 100644 (file)
@@ -3,6 +3,7 @@
 #include "git2/checkout.h"
 #include "refs.h"
 #include "path.h"
+#include "repository.h"
 
 #ifdef GIT_WIN32
 # include <windows.h>
@@ -30,7 +31,7 @@ void test_checkout_icase__initialize(void)
                cl_skip();
 
        cl_git_pass(git_reference_name_to_id(&id, repo, "refs/heads/dir"));
-       cl_git_pass(git_object_lookup(&obj, repo, &id, GIT_OBJ_ANY));
+       cl_git_pass(git_object_lookup(&obj, repo, &id, GIT_OBJECT_ANY));
 
        git_checkout_init_options(&checkout_opts, GIT_CHECKOUT_OPTIONS_VERSION);
        checkout_opts.checkout_strategy = GIT_CHECKOUT_NONE;
@@ -44,29 +45,6 @@ void test_checkout_icase__cleanup(void)
 
 static char *get_filename(const char *in)
 {
-#ifdef GIT_WIN32
-       HANDLE fh;
-       HMODULE kerneldll;
-       char *filename;
-
-       typedef DWORD (__stdcall *getfinalpathname)(HANDLE, LPSTR, DWORD, DWORD);
-       getfinalpathname getfinalpathfn;
-
-       cl_assert(filename = malloc(MAX_PATH));
-       cl_assert(kerneldll = LoadLibrary("kernel32.dll"));
-       cl_assert(getfinalpathfn = (getfinalpathname)GetProcAddress(kerneldll, "GetFinalPathNameByHandleA"));
-
-       cl_assert(fh = CreateFileA(in, FILE_READ_ATTRIBUTES | STANDARD_RIGHTS_READ, FILE_SHARE_READ,
-               NULL, OPEN_EXISTING, FILE_FLAG_BACKUP_SEMANTICS, NULL));
-
-       cl_win32_pass(getfinalpathfn(fh, filename, MAX_PATH, VOLUME_NAME_DOS));
-
-       CloseHandle(fh);
-
-       git_path_mkposix(filename);
-
-       return filename;
-#else
        char *search_dirname, *search_filename, *filename = NULL;
        git_buf out = GIT_BUF_INIT;
        DIR *dir;
@@ -89,10 +67,9 @@ static char *get_filename(const char *in)
 
        git__free(search_dirname);
        git__free(search_filename);
-       git_buf_free(&out);
+       git_buf_dispose(&out);
 
        return filename;
-#endif
 }
 
 static void assert_name_is(const char *expected)
@@ -115,6 +92,18 @@ static void assert_name_is(const char *expected)
        free(actual);
 }
 
+static int symlink_or_fake(git_repository *repo, const char *a, const char *b)
+{
+       int symlinks;
+
+       cl_git_pass(git_repository__cvar(&symlinks, repo, GIT_CVAR_SYMLINKS));
+
+       if (symlinks)
+               return p_symlink(a, b);
+       else
+               return git_futils_fake_symlink(a, b);
+}
+
 void test_checkout_icase__refuses_to_overwrite_files_for_files(void)
 {
        checkout_opts.checkout_strategy = GIT_CHECKOUT_SAFE|GIT_CHECKOUT_RECREATE_MISSING;
@@ -141,7 +130,7 @@ void test_checkout_icase__refuses_to_overwrite_links_for_files(void)
 {
        checkout_opts.checkout_strategy = GIT_CHECKOUT_SAFE|GIT_CHECKOUT_RECREATE_MISSING;
 
-       cl_must_pass(p_symlink("../tmp", "testrepo/BRANCH_FILE.txt"));
+       cl_must_pass(symlink_or_fake(repo, "../tmp", "testrepo/BRANCH_FILE.txt"));
 
        cl_git_fail(git_checkout_tree(repo, obj, &checkout_opts));
 
@@ -153,7 +142,7 @@ void test_checkout_icase__overwrites_links_for_files_when_forced(void)
 {
        checkout_opts.checkout_strategy = GIT_CHECKOUT_FORCE;
 
-       cl_must_pass(p_symlink("../tmp", "testrepo/NEW.txt"));
+       cl_must_pass(symlink_or_fake(repo, "../tmp", "testrepo/NEW.txt"));
 
        cl_git_pass(git_checkout_tree(repo, obj, &checkout_opts));
 
@@ -229,7 +218,7 @@ void test_checkout_icase__refuses_to_overwrite_links_for_folders(void)
 {
        checkout_opts.checkout_strategy = GIT_CHECKOUT_SAFE|GIT_CHECKOUT_RECREATE_MISSING;
 
-       cl_must_pass(p_symlink("..", "testrepo/A"));
+       cl_must_pass(symlink_or_fake(repo, "..", "testrepo/A"));
 
        cl_git_fail(git_checkout_tree(repo, obj, &checkout_opts));
 
@@ -241,7 +230,7 @@ void test_checkout_icase__overwrites_links_for_folders_when_forced(void)
 {
        checkout_opts.checkout_strategy = GIT_CHECKOUT_FORCE;
 
-       cl_must_pass(p_symlink("..", "testrepo/A"));
+       cl_must_pass(symlink_or_fake(repo, "..", "testrepo/A"));
 
        cl_git_pass(git_checkout_tree(repo, obj, &checkout_opts));
 
@@ -284,7 +273,7 @@ void test_checkout_icase__conflicts_with_casechanged_subtrees(void)
        checkout_opts.checkout_strategy = GIT_CHECKOUT_SAFE;
 
        cl_git_pass(git_reference_lookup_resolved(&orig_ref, repo, "HEAD", 100));
-       cl_git_pass(git_object_lookup(&orig, repo, git_reference_target(orig_ref), GIT_OBJ_COMMIT));
+       cl_git_pass(git_object_lookup(&orig, repo, git_reference_target(orig_ref), GIT_OBJECT_COMMIT));
        cl_git_pass(git_reset(repo, (git_object *)orig, GIT_RESET_HARD, NULL));
 
        cl_must_pass(p_mkdir("testrepo/AB", 0777));
@@ -292,7 +281,7 @@ void test_checkout_icase__conflicts_with_casechanged_subtrees(void)
        cl_git_write2file("testrepo/AB/C/3.txt", "Foobar!\n", 8, O_RDWR|O_CREAT, 0666);
 
        cl_git_pass(git_reference_name_to_id(&oid, repo, "refs/heads/subtrees"));
-       cl_git_pass(git_object_lookup(&subtrees, repo, &oid, GIT_OBJ_ANY));
+       cl_git_pass(git_object_lookup(&subtrees, repo, &oid, GIT_OBJECT_ANY));
 
        cl_git_fail(git_checkout_tree(repo, subtrees, &checkout_opts));
 
index ca63dc3f86a4612308c4b0cf839c7c8dedb8a02d..8272c68b3fa768bfc0bf41f84d13d31effcd854b 100644 (file)
@@ -5,8 +5,10 @@
 #include "fileops.h"
 #include "repository.h"
 #include "remote.h"
+#include "repo/repo_helpers.h"
 
 static git_repository *g_repo;
+static git_buf g_global_path = GIT_BUF_INIT;
 
 void test_checkout_index__initialize(void)
 {
@@ -22,21 +24,29 @@ void test_checkout_index__initialize(void)
        cl_git_rewritefile(
                "./testrepo/.gitattributes",
                "* text eol=lf\n");
+
+       git_libgit2_opts(GIT_OPT_GET_SEARCH_PATH, GIT_CONFIG_LEVEL_GLOBAL,
+               &g_global_path);
 }
 
 void test_checkout_index__cleanup(void)
 {
+       git_libgit2_opts(GIT_OPT_SET_SEARCH_PATH, GIT_CONFIG_LEVEL_GLOBAL,
+               g_global_path.ptr);
+       git_buf_dispose(&g_global_path);
+
        cl_git_sandbox_cleanup();
 
-       /* try to remove alternative dir */
-       if (git_path_isdir("alternative"))
-               git_futils_rmdir_r("alternative", NULL, GIT_RMDIR_REMOVE_FILES);
+       /* try to remove directories created by tests */
+       cl_fixture_cleanup("alternative");
+       cl_fixture_cleanup("symlink");
+       cl_fixture_cleanup("symlink.git");
+       cl_fixture_cleanup("tmp_global_path");
 }
 
 void test_checkout_index__cannot_checkout_a_bare_repository(void)
 {
-       test_checkout_index__cleanup();
-
+       cl_git_sandbox_cleanup();
        g_repo = cl_git_sandbox_init("testrepo.git");
 
        cl_git_fail(git_checkout_index(g_repo, NULL, NULL));
@@ -136,23 +146,20 @@ void test_checkout_index__honor_coreautocrlf_setting_set_to_true(void)
 #endif
 }
 
-void test_checkout_index__honor_coresymlinks_default(void)
+static void populate_symlink_workdir(void)
 {
        git_repository *repo;
        git_remote *origin;
        git_object *target;
-       char cwd[GIT_PATH_MAX];
 
        const char *url = git_repository_path(g_repo);
 
-       cl_assert(getcwd(cwd, sizeof(cwd)) != NULL);
-       cl_assert_equal_i(0, p_mkdir("readonly", 0555)); // Read-only directory
-       cl_assert_equal_i(0, chdir("readonly"));
        cl_git_pass(git_repository_init(&repo, "../symlink.git", true));
-       cl_assert_equal_i(0, chdir(cwd));
-       cl_assert_equal_i(0, p_mkdir("symlink", 0777));
        cl_git_pass(git_repository_set_workdir(repo, "symlink", 1));
 
+       /* Delete the `origin` repo (if it exists) so we can recreate it. */
+       git_remote_delete(repo, GIT_REMOTE_ORIGIN);
+
        cl_git_pass(git_remote_create(&origin, repo, GIT_REMOTE_ORIGIN, url));
        cl_git_pass(git_remote_fetch(origin, NULL, NULL, NULL));
        git_remote_free(origin);
@@ -161,28 +168,79 @@ void test_checkout_index__honor_coresymlinks_default(void)
        cl_git_pass(git_reset(repo, target, GIT_RESET_HARD, NULL));
        git_object_free(target);
        git_repository_free(repo);
+}
+
+void test_checkout_index__honor_coresymlinks_default_true(void)
+{
+       char link_data[GIT_PATH_MAX];
+       int link_size = GIT_PATH_MAX;
+
+       cl_must_pass(p_mkdir("symlink", 0777));
+
+       if (!filesystem_supports_symlinks("symlink/test"))
+               cl_skip();
 
 #ifdef GIT_WIN32
+       /*
+        * Windows explicitly requires the global configuration to have
+        * core.symlinks=true in addition to actual filesystem support.
+        */
+       create_tmp_global_config("tmp_global_path", "core.symlinks", "true");
+#endif
+
+       populate_symlink_workdir();
+
+       link_size = p_readlink("./symlink/link_to_new.txt", link_data, link_size);
+       cl_assert(link_size >= 0);
+
+       link_data[link_size] = '\0';
+       cl_assert_equal_i(link_size, strlen("new.txt"));
+       cl_assert_equal_s(link_data, "new.txt");
+       check_file_contents("./symlink/link_to_new.txt", "my new file\n");
+}
+
+void test_checkout_index__honor_coresymlinks_default_false(void)
+{
+       cl_must_pass(p_mkdir("symlink", 0777));
+
+#ifndef GIT_WIN32
+       /*
+        * This test is largely for Windows platforms to ensure that
+        * we respect an unset core.symlinks even when the platform
+        * supports symlinks.  Bail entirely on POSIX platforms that
+        * do support symlinks.
+        */
+       if (filesystem_supports_symlinks("symlink/test"))
+               cl_skip();
+#endif
+
+       populate_symlink_workdir();
        check_file_contents("./symlink/link_to_new.txt", "new.txt");
-#else
-       {
-               char link_data[1024];
-               size_t link_size = 1024;
-
-               link_size = p_readlink("./symlink/link_to_new.txt", link_data, link_size);
-               link_data[link_size] = '\0';
-               cl_assert_equal_i(link_size, strlen("new.txt"));
-               cl_assert_equal_s(link_data, "new.txt");
-               check_file_contents("./symlink/link_to_new.txt", "my new file\n");
+}
+
+void test_checkout_index__coresymlinks_set_to_true_fails_when_unsupported(void)
+{
+       git_checkout_options opts = GIT_CHECKOUT_OPTIONS_INIT;
+
+       if (filesystem_supports_symlinks("testrepo/test")) {
+               cl_skip();
        }
-#endif
 
-       cl_fixture_cleanup("symlink");
+       cl_repo_set_bool(g_repo, "core.symlinks", true);
+
+       opts.checkout_strategy = GIT_CHECKOUT_SAFE | GIT_CHECKOUT_RECREATE_MISSING;
+       cl_git_fail(git_checkout_index(g_repo, NULL, &opts));
 }
 
 void test_checkout_index__honor_coresymlinks_setting_set_to_true(void)
 {
        git_checkout_options opts = GIT_CHECKOUT_OPTIONS_INIT;
+       char link_data[GIT_PATH_MAX];
+       size_t link_size = GIT_PATH_MAX;
+
+       if (!filesystem_supports_symlinks("testrepo/test")) {
+               cl_skip();
+       }
 
        cl_repo_set_bool(g_repo, "core.symlinks", true);
 
@@ -190,20 +248,11 @@ void test_checkout_index__honor_coresymlinks_setting_set_to_true(void)
 
        cl_git_pass(git_checkout_index(g_repo, NULL, &opts));
 
-#ifdef GIT_WIN32
-       check_file_contents("./testrepo/link_to_new.txt", "new.txt");
-#else
-       {
-               char link_data[1024];
-               size_t link_size = 1024;
-
-               link_size = p_readlink("./testrepo/link_to_new.txt", link_data, link_size);
-               link_data[link_size] = '\0';
-               cl_assert_equal_i(link_size, strlen("new.txt"));
-               cl_assert_equal_s(link_data, "new.txt");
-               check_file_contents("./testrepo/link_to_new.txt", "my new file\n");
-       }
-#endif
+       link_size = p_readlink("./testrepo/link_to_new.txt", link_data, link_size);
+       link_data[link_size] = '\0';
+       cl_assert_equal_i(link_size, strlen("new.txt"));
+       cl_assert_equal_s(link_data, "new.txt");
+       check_file_contents("./testrepo/link_to_new.txt", "my new file\n");
 }
 
 void test_checkout_index__honor_coresymlinks_setting_set_to_false(void)
@@ -474,7 +523,7 @@ void test_checkout_index__can_overcome_name_clashes(void)
        cl_assert(git_path_isfile("./testrepo/path0/file0"));
 
        opts.checkout_strategy =
-               GIT_CHECKOUT_SAFE | 
+               GIT_CHECKOUT_SAFE |
                GIT_CHECKOUT_RECREATE_MISSING |
                GIT_CHECKOUT_ALLOW_CONFLICTS;
        cl_git_pass(git_checkout_index(g_repo, index, &opts));
@@ -499,15 +548,15 @@ void test_checkout_index__validates_struct_version(void)
        opts.version = 1024;
        cl_git_fail(git_checkout_index(g_repo, NULL, &opts));
 
-       err = giterr_last();
-       cl_assert_equal_i(err->klass, GITERR_INVALID);
+       err = git_error_last();
+       cl_assert_equal_i(err->klass, GIT_ERROR_INVALID);
 
        opts.version = 0;
-       giterr_clear();
+       git_error_clear();
        cl_git_fail(git_checkout_index(g_repo, NULL, &opts));
 
-       err = giterr_last();
-       cl_assert_equal_i(err->klass, GITERR_INVALID);
+       err = git_error_last();
+       cl_assert_equal_i(err->klass, GIT_ERROR_INVALID);
 }
 
 void test_checkout_index__can_update_prefixed_files(void)
@@ -547,9 +596,9 @@ void test_checkout_index__can_update_prefixed_files(void)
 
 void test_checkout_index__can_checkout_a_newly_initialized_repository(void)
 {
-       test_checkout_index__cleanup();
-
+       cl_git_sandbox_cleanup();
        g_repo = cl_git_sandbox_init("empty_standard_repo");
+
        cl_git_remove_placeholders(git_repository_path(g_repo), "dummy-marker.txt");
 
        cl_git_pass(git_checkout_index(g_repo, NULL, NULL));
@@ -559,8 +608,7 @@ void test_checkout_index__issue_1397(void)
 {
        git_checkout_options opts = GIT_CHECKOUT_OPTIONS_INIT;
 
-       test_checkout_index__cleanup();
-
+       cl_git_sandbox_cleanup();
        g_repo = cl_git_sandbox_init("issue_1397");
 
        cl_repo_set_bool(g_repo, "core.autocrlf", true);
@@ -613,8 +661,7 @@ void test_checkout_index__target_directory_from_bare(void)
        checkout_counts cts;
        memset(&cts, 0, sizeof(cts));
 
-       test_checkout_index__cleanup();
-
+       cl_git_sandbox_cleanup();
        g_repo = cl_git_sandbox_init("testrepo.git");
        cl_assert(git_repository_is_bare(g_repo));
 
@@ -686,15 +733,15 @@ static void add_conflict(git_index *index, const char *path)
        entry.path = path;
 
        git_oid_fromstr(&entry.id, "d427e0b2e138501a3d15cc376077a3631e15bd46");
-       GIT_IDXENTRY_STAGE_SET(&entry, 1);
+       GIT_INDEX_ENTRY_STAGE_SET(&entry, 1);
        cl_git_pass(git_index_add(index, &entry));
 
        git_oid_fromstr(&entry.id, "4e886e602529caa9ab11d71f86634bd1b6e0de10");
-       GIT_IDXENTRY_STAGE_SET(&entry, 2);
+       GIT_INDEX_ENTRY_STAGE_SET(&entry, 2);
        cl_git_pass(git_index_add(index, &entry));
 
        git_oid_fromstr(&entry.id, "2bd0a343aeef7a2cf0d158478966a6e587ff3863");
-       GIT_IDXENTRY_STAGE_SET(&entry, 3);
+       GIT_INDEX_ENTRY_STAGE_SET(&entry, 3);
        cl_git_pass(git_index_add(index, &entry));
 }
 
@@ -718,7 +765,7 @@ void test_checkout_index__writes_conflict_file(void)
                "=======\n"
                "this file is changed in branch and master\n"
                ">>>>>>> theirs\n") == 0);
-       git_buf_free(&conflicting_buf);
+       git_buf_dispose(&conflicting_buf);
 
        git_index_free(index);
 }
@@ -768,7 +815,7 @@ void test_checkout_index__conflicts_honor_coreautocrlf(void)
                "=======\r\n"
                "this file is changed in branch and master\r\n"
                ">>>>>>> theirs\r\n") == 0);
-       git_buf_free(&conflicting_buf);
+       git_buf_dispose(&conflicting_buf);
 
        git_index_free(index);
 #endif
index d4d3c8fa466da8be4b086a24f8828a04481818f8..042fbba37617bb23cc1db61a5c4226d85fd6b965 100644 (file)
@@ -42,7 +42,7 @@ static void test_checkout_passes(const char *refname, const char *filename)
        cl_assert(!git_path_exists(path.ptr));
 
        git_commit_free(commit);
-       git_buf_free(&path);
+       git_buf_dispose(&path);
 }
 
 static void test_checkout_fails(const char *refname, const char *filename)
@@ -63,7 +63,7 @@ static void test_checkout_fails(const char *refname, const char *filename)
        cl_assert(!git_path_exists(path.ptr));
 
        git_commit_free(commit);
-       git_buf_free(&path);
+       git_buf_dispose(&path);
 }
 
 /* A tree that contains ".git" as a tree, with a blob inside
index a7e29b3db496fb99f4339b90929f6bce46fafba8..47ded0f7c569df68033d0566de1de8ee67d98794 100644 (file)
@@ -170,7 +170,7 @@ void test_checkout_tree__can_switch_branches(void)
        opts.checkout_strategy = GIT_CHECKOUT_FORCE;
 
        cl_git_pass(git_reference_name_to_id(&oid, g_repo, "refs/heads/dir"));
-       cl_git_pass(git_object_lookup(&obj, g_repo, &oid, GIT_OBJ_ANY));
+       cl_git_pass(git_object_lookup(&obj, g_repo, &oid, GIT_OBJECT_ANY));
 
        cl_git_pass(git_checkout_tree(g_repo, obj, &opts));
        cl_git_pass(git_repository_set_head(g_repo, "refs/heads/dir"));
@@ -190,7 +190,7 @@ void test_checkout_tree__can_switch_branches(void)
        opts.checkout_strategy = GIT_CHECKOUT_SAFE;
 
        cl_git_pass(git_reference_name_to_id(&oid, g_repo, "refs/heads/subtrees"));
-       cl_git_pass(git_object_lookup(&obj, g_repo, &oid, GIT_OBJ_ANY));
+       cl_git_pass(git_object_lookup(&obj, g_repo, &oid, GIT_OBJECT_ANY));
 
        cl_git_pass(git_checkout_tree(g_repo, obj, &opts));
        cl_git_pass(git_repository_set_head(g_repo, "refs/heads/subtrees"));
@@ -260,7 +260,7 @@ static int checkout_tree_with_blob_ignored_in_workdir(int strategy, bool isdir)
        opts.checkout_strategy = GIT_CHECKOUT_FORCE;
 
        cl_git_pass(git_reference_name_to_id(&oid, g_repo, "refs/heads/dir"));
-       cl_git_pass(git_object_lookup(&obj, g_repo, &oid, GIT_OBJ_ANY));
+       cl_git_pass(git_object_lookup(&obj, g_repo, &oid, GIT_OBJECT_ANY));
 
        cl_git_pass(git_checkout_tree(g_repo, obj, &opts));
        cl_git_pass(git_repository_set_head(g_repo, "refs/heads/dir"));
@@ -300,7 +300,7 @@ static int checkout_tree_with_blob_ignored_in_workdir(int strategy, bool isdir)
        cl_assert_equal_i(1, ignored);
 
        cl_git_pass(git_reference_name_to_id(&oid, g_repo, "refs/heads/subtrees"));
-       cl_git_pass(git_object_lookup(&obj, g_repo, &oid, GIT_OBJ_ANY));
+       cl_git_pass(git_object_lookup(&obj, g_repo, &oid, GIT_OBJECT_ANY));
 
        error = git_checkout_tree(g_repo, obj, &opts);
 
@@ -374,7 +374,7 @@ void test_checkout_tree__can_update_only(void)
        opts.checkout_strategy = GIT_CHECKOUT_SAFE | GIT_CHECKOUT_UPDATE_ONLY;
 
        cl_git_pass(git_reference_name_to_id(&oid, g_repo, "refs/heads/dir"));
-       cl_git_pass(git_object_lookup(&obj, g_repo, &oid, GIT_OBJ_ANY));
+       cl_git_pass(git_object_lookup(&obj, g_repo, &oid, GIT_OBJECT_ANY));
 
        cl_git_pass(git_checkout_tree(g_repo, obj, &opts));
        cl_git_pass(git_repository_set_head(g_repo, "refs/heads/dir"));
@@ -541,8 +541,9 @@ void assert_conflict(
        /* Hack-ishy workaound to ensure *all* the index entries
         * match the content of the tree
         */
-       cl_git_pass(git_object_peel(&hack_tree, g_object, GIT_OBJ_TREE));
+       cl_git_pass(git_object_peel(&hack_tree, g_object, GIT_OBJECT_TREE));
        cl_git_pass(git_index_read_tree(index, (git_tree *)hack_tree));
+       cl_git_pass(git_index_write(index));
        git_object_free(hack_tree);
        git_object_free(g_object);
        g_object = NULL;
@@ -550,7 +551,7 @@ void assert_conflict(
        /* Create a conflicting file */
        cl_git_pass(git_buf_joinpath(&file_path, "./testrepo", entry_path));
        cl_git_mkfile(git_buf_cstr(&file_path), new_content);
-       git_buf_free(&file_path);
+       git_buf_dispose(&file_path);
 
        /* Trying to checkout the original commit */
        cl_git_pass(git_revparse_single(&g_object, g_repo, commit_sha));
@@ -675,7 +676,7 @@ void test_checkout_tree__can_cancel_checkout_from_notify(void)
        assert_on_branch(g_repo, "master");
 
        cl_git_pass(git_reference_name_to_id(&oid, g_repo, "refs/heads/dir"));
-       cl_git_pass(git_object_lookup(&obj, g_repo, &oid, GIT_OBJ_ANY));
+       cl_git_pass(git_object_lookup(&obj, g_repo, &oid, GIT_OBJECT_ANY));
 
        ca.filename = "new.txt";
        ca.error = -5555;
@@ -739,7 +740,9 @@ void test_checkout_tree__can_checkout_with_last_workdir_item_missing(void)
        cl_git_mkfile("./testrepo/this-is-dir/contained_file", "content\n");
 
        cl_git_pass(git_index_add_bypath(index, "this-is-dir/contained_file"));
-       git_index_write_tree(&tree_id, index);
+       cl_git_pass(git_index_write(index));
+
+       cl_git_pass(git_index_write_tree(&tree_id, index));
        cl_git_pass(git_tree_lookup(&tree, g_repo, &tree_id));
 
        cl_git_pass(p_unlink("./testrepo/this-is-dir/contained_file"));
@@ -793,7 +796,7 @@ void test_checkout_tree__can_write_to_empty_dirs(void)
        opts.checkout_strategy = GIT_CHECKOUT_FORCE;
 
        cl_git_pass(git_reference_name_to_id(&oid, g_repo, "refs/heads/dir"));
-       cl_git_pass(git_object_lookup(&obj, g_repo, &oid, GIT_OBJ_ANY));
+       cl_git_pass(git_object_lookup(&obj, g_repo, &oid, GIT_OBJECT_ANY));
 
        cl_git_pass(git_checkout_tree(g_repo, obj, &opts));
 
@@ -812,7 +815,7 @@ void test_checkout_tree__fails_when_dir_in_use(void)
        opts.checkout_strategy = GIT_CHECKOUT_FORCE;
 
        cl_git_pass(git_reference_name_to_id(&oid, g_repo, "refs/heads/dir"));
-       cl_git_pass(git_object_lookup(&obj, g_repo, &oid, GIT_OBJ_ANY));
+       cl_git_pass(git_object_lookup(&obj, g_repo, &oid, GIT_OBJECT_ANY));
 
        cl_git_pass(git_checkout_tree(g_repo, obj, &opts));
 
@@ -823,7 +826,7 @@ void test_checkout_tree__fails_when_dir_in_use(void)
        cl_git_pass(p_chdir("testrepo/a"));
 
        cl_git_pass(git_reference_name_to_id(&oid, g_repo, "refs/heads/master"));
-       cl_git_pass(git_object_lookup(&obj, g_repo, &oid, GIT_OBJ_ANY));
+       cl_git_pass(git_object_lookup(&obj, g_repo, &oid, GIT_OBJECT_ANY));
 
        cl_git_fail(git_checkout_tree(g_repo, obj, &opts));
 
@@ -846,7 +849,7 @@ void test_checkout_tree__can_continue_when_dir_in_use(void)
                GIT_CHECKOUT_SKIP_LOCKED_DIRECTORIES;
 
        cl_git_pass(git_reference_name_to_id(&oid, g_repo, "refs/heads/dir"));
-       cl_git_pass(git_object_lookup(&obj, g_repo, &oid, GIT_OBJ_ANY));
+       cl_git_pass(git_object_lookup(&obj, g_repo, &oid, GIT_OBJECT_ANY));
 
        cl_git_pass(git_checkout_tree(g_repo, obj, &opts));
 
@@ -857,7 +860,7 @@ void test_checkout_tree__can_continue_when_dir_in_use(void)
        cl_git_pass(p_chdir("testrepo/a"));
 
        cl_git_pass(git_reference_name_to_id(&oid, g_repo, "refs/heads/master"));
-       cl_git_pass(git_object_lookup(&obj, g_repo, &oid, GIT_OBJ_ANY));
+       cl_git_pass(git_object_lookup(&obj, g_repo, &oid, GIT_OBJECT_ANY));
 
        cl_git_pass(git_checkout_tree(g_repo, obj, &opts));
 
@@ -889,7 +892,7 @@ void test_checkout_tree__target_directory_from_bare(void)
        opts.notify_payload = &cts;
 
        cl_git_pass(git_reference_name_to_id(&oid, g_repo, "HEAD"));
-       cl_git_pass(git_object_lookup(&g_object, g_repo, &oid, GIT_OBJ_ANY));
+       cl_git_pass(git_object_lookup(&g_object, g_repo, &oid, GIT_OBJECT_ANY));
 
        cl_git_fail(git_checkout_tree(g_repo, g_object, &opts));
 
@@ -912,7 +915,7 @@ void test_checkout_tree__target_directory_from_bare(void)
 
 void test_checkout_tree__extremely_long_file_name(void)
 {
-       // A utf-8 string with 83 characters, but 249 bytes.
+       /* A utf-8 string with 83 characters, but 249 bytes. */
        const char *longname = "\xe5\x8f\x97\xe5\x8f\x97\xe5\x8f\x97\xe5\x8f\x97\xe5\x8f\x97\xe5\x8f\x97\xe5\x8f\x97\xe5\x8f\x97\xe5\x8f\x97\xe5\x8f\x97\xe5\x8f\x97\xe5\x8f\x97\xe5\x8f\x97\xe5\x8f\x97\xe5\x8f\x97\xe5\x8f\x97\xe5\x8f\x97\xe5\x8f\x97\xe5\x8f\x97\xe5\x8f\x97\xe5\x8f\x97\xe5\x8f\x97\xe5\x8f\x97\xe5\x8f\x97\xe5\x8f\x97\xe5\x8f\x97\xe5\x8f\x97\xe5\x8f\x97\xe5\x8f\x97\xe5\x8f\x97\xe5\x8f\x97\xe5\x8f\x97\xe5\x8f\x97\xe5\x8f\x97\xe5\x8f\x97\xe5\x8f\x97\xe5\x8f\x97\xe5\x8f\x97\xe5\x8f\x97\xe5\x8f\x97\xe5\x8f\x97\xe5\x8f\x97\xe5\x8f\x97\xe5\x8f\x97\xe5\x8f\x97\xe5\x8f\x97\xe5\x8f\x97\xe5\x8f\x97\xe5\x8f\x97\xe5\x8f\x97\xe5\x8f\x97\xe5\x8f\x97\xe5\x8f\x97\xe5\x8f\x97\xe5\x8f\x97\xe5\x8f\x97\xe5\x8f\x97\xe5\x8f\x97\xe5\x8f\x97\xe5\x8f\x97\xe5\x8f\x97\xe5\x8f\x97\xe5\x8f\x97\xe5\x8f\x97\xe5\x8f\x97\xe5\x8f\x97\xe5\x8f\x97\xe5\x8f\x97\xe5\x8f\x97\xe5\x8f\x97\xe5\x8f\x97\xe5\x8f\x97\xe5\x8f\x97\xe5\x8f\x97\xe5\x8f\x97\xe5\x8f\x97\xe5\x8f\x97\xe5\x8f\x97\xe5\x8f\x97\xe5\x8f\x97\xe5\x8f\x97\xe5\x8f\x97\xe5\x8f\x97";
        char path[1024];
 
@@ -938,20 +941,20 @@ static void create_conflict(const char *path)
 
        memset(&entry, 0x0, sizeof(git_index_entry));
        entry.mode = 0100644;
-       GIT_IDXENTRY_STAGE_SET(&entry, 1);
+       GIT_INDEX_ENTRY_STAGE_SET(&entry, 1);
        git_oid_fromstr(&entry.id, "d427e0b2e138501a3d15cc376077a3631e15bd46");
        entry.path = path;
        cl_git_pass(git_index_add(index, &entry));
 
-       GIT_IDXENTRY_STAGE_SET(&entry, 2);
+       GIT_INDEX_ENTRY_STAGE_SET(&entry, 2);
        git_oid_fromstr(&entry.id, "ee3fa1b8c00aff7fe02065fdb50864bb0d932ccf");
        cl_git_pass(git_index_add(index, &entry));
 
-       GIT_IDXENTRY_STAGE_SET(&entry, 3);
+       GIT_INDEX_ENTRY_STAGE_SET(&entry, 3);
        git_oid_fromstr(&entry.id, "2bd0a343aeef7a2cf0d158478966a6e587ff3863");
        cl_git_pass(git_index_add(index, &entry));
 
-       git_index_write(index);
+       cl_git_pass(git_index_write(index));
        git_index_free(index);
 }
 
@@ -964,7 +967,7 @@ void test_checkout_tree__fails_when_conflicts_exist_in_index(void)
        opts.checkout_strategy = GIT_CHECKOUT_SAFE;
 
        cl_git_pass(git_reference_name_to_id(&oid, g_repo, "HEAD"));
-       cl_git_pass(git_object_lookup(&obj, g_repo, &oid, GIT_OBJ_ANY));
+       cl_git_pass(git_object_lookup(&obj, g_repo, &oid, GIT_OBJECT_ANY));
 
        create_conflict("conflicts.txt");
 
@@ -1044,7 +1047,7 @@ mode_t read_filemode(const char *path)
        result = GIT_PERMS_IS_EXEC(st.st_mode) ?
                GIT_FILEMODE_BLOB_EXECUTABLE : GIT_FILEMODE_BLOB;
 
-       git_buf_free(&fullpath);
+       git_buf_dispose(&fullpath);
 
        return result;
 }
@@ -1107,7 +1110,7 @@ void test_checkout_tree__removes_conflicts(void)
        git_commit *commit;
        git_checkout_options opts = GIT_CHECKOUT_OPTIONS_INIT;
        git_index *index;
-       
+
        cl_git_pass(git_oid_fromstr(&commit_id, "afe4393b2b2a965f06acf2ca9658eaa01e0cd6b6"));
        cl_git_pass(git_commit_lookup(&commit, g_repo, &commit_id));
 
@@ -1124,7 +1127,7 @@ void test_checkout_tree__removes_conflicts(void)
        create_conflict("other.txt");
        cl_git_mkfile("testrepo/other.txt", "This is another conflict file.\n");
 
-       git_index_write(index);
+       cl_git_pass(git_index_write(index));
 
        cl_git_pass(git_checkout_tree(g_repo, (const git_object *)commit, &opts));
 
@@ -1150,7 +1153,7 @@ void test_checkout_tree__removes_conflicts_only_by_pathscope(void)
        git_checkout_options opts = GIT_CHECKOUT_OPTIONS_INIT;
        git_index *index;
        const char *path = "executable.txt";
-       
+
        cl_git_pass(git_oid_fromstr(&commit_id, "afe4393b2b2a965f06acf2ca9658eaa01e0cd6b6"));
        cl_git_pass(git_commit_lookup(&commit, g_repo, &commit_id));
 
@@ -1169,7 +1172,7 @@ void test_checkout_tree__removes_conflicts_only_by_pathscope(void)
        create_conflict("other.txt");
        cl_git_mkfile("testrepo/other.txt", "This is another conflict file.\n");
 
-       git_index_write(index);
+       cl_git_pass(git_index_write(index));
 
        cl_git_pass(git_checkout_tree(g_repo, (const git_object *)commit, &opts));
 
@@ -1248,7 +1251,7 @@ void test_checkout_tree__case_changing_rename(void)
 
        cl_git_pass(git_checkout_tree(g_repo, (git_object *)master_commit, &opts));
        cl_git_pass(git_repository_set_head(g_repo, "refs/heads/master"));
-       
+
        assert_on_branch(g_repo, "master");
 
        cl_assert(git_path_isfile("testrepo/README"));
@@ -1284,7 +1287,7 @@ void test_checkout_tree__can_collect_perfdata(void)
        opts.checkout_strategy = GIT_CHECKOUT_FORCE;
 
        cl_git_pass(git_reference_name_to_id(&oid, g_repo, "refs/heads/dir"));
-       cl_git_pass(git_object_lookup(&obj, g_repo, &oid, GIT_OBJ_ANY));
+       cl_git_pass(git_object_lookup(&obj, g_repo, &oid, GIT_OBJECT_ANY));
 
        cl_git_pass(git_checkout_tree(g_repo, obj, &opts));
 
@@ -1325,7 +1328,7 @@ void test_checkout_tree__caches_attributes_during_checkout(void)
        opts.paths.count = 2;
 
        cl_git_pass(git_reference_name_to_id(&oid, g_repo, "refs/heads/ident"));
-       cl_git_pass(git_object_lookup(&obj, g_repo, &oid, GIT_OBJ_ANY));
+       cl_git_pass(git_object_lookup(&obj, g_repo, &oid, GIT_OBJECT_ANY));
 
        cl_git_pass(git_checkout_tree(g_repo, obj, &opts));
 
@@ -1343,8 +1346,8 @@ void test_checkout_tree__caches_attributes_during_checkout(void)
        cl_assert_equal_strn(ident1.ptr, "# $Id: ", 7);
        cl_assert_equal_strn(ident2.ptr, "# $Id: ", 7);
 
-       git_buf_free(&ident1);
-       git_buf_free(&ident2);
+       git_buf_dispose(&ident1);
+       git_buf_dispose(&ident2);
        git_object_free(obj);
 }
 
@@ -1360,7 +1363,7 @@ void test_checkout_tree__can_not_update_index(void)
                GIT_CHECKOUT_FORCE | GIT_CHECKOUT_DONT_UPDATE_INDEX;
 
        cl_git_pass(git_reference_name_to_id(&oid, g_repo, "HEAD"));
-       cl_git_pass(git_object_lookup(&head, g_repo, &oid, GIT_OBJ_ANY));
+       cl_git_pass(git_object_lookup(&head, g_repo, &oid, GIT_OBJECT_ANY));
 
        cl_git_pass(git_reset(g_repo, head, GIT_RESET_HARD, &g_opts));
 
@@ -1397,7 +1400,7 @@ void test_checkout_tree__can_update_but_not_write_index(void)
                GIT_CHECKOUT_FORCE | GIT_CHECKOUT_DONT_WRITE_INDEX;
 
        cl_git_pass(git_reference_name_to_id(&oid, g_repo, "HEAD"));
-       cl_git_pass(git_object_lookup(&head, g_repo, &oid, GIT_OBJ_ANY));
+       cl_git_pass(git_object_lookup(&head, g_repo, &oid, GIT_OBJECT_ANY));
 
        cl_git_pass(git_reset(g_repo, head, GIT_RESET_HARD, &g_opts));
 
@@ -1443,7 +1446,7 @@ void test_checkout_tree__safe_proceeds_if_no_index(void)
        opts.checkout_strategy = GIT_CHECKOUT_SAFE;
 
        cl_git_pass(git_reference_name_to_id(&oid, g_repo, "refs/heads/subtrees"));
-       cl_git_pass(git_object_lookup(&obj, g_repo, &oid, GIT_OBJ_ANY));
+       cl_git_pass(git_object_lookup(&obj, g_repo, &oid, GIT_OBJECT_ANY));
 
        cl_git_pass(git_checkout_tree(g_repo, obj, &opts));
        cl_git_pass(git_repository_set_head(g_repo, "refs/heads/subtrees"));
@@ -1495,8 +1498,9 @@ void test_checkout_tree__baseline_is_empty_when_no_index(void)
        size_t conflicts = 0;
 
        assert_on_branch(g_repo, "master");
+
        cl_git_pass(git_repository_head(&head, g_repo));
-       cl_git_pass(git_reference_peel(&obj, head, GIT_OBJ_COMMIT));
+       cl_git_pass(git_reference_peel(&obj, head, GIT_OBJECT_COMMIT));
 
        cl_git_pass(git_reset(g_repo, obj, GIT_RESET_HARD, NULL));
 
@@ -1535,7 +1539,7 @@ void test_checkout_tree__mode_change_is_force_updated(void)
        assert_on_branch(g_repo, "master");
        cl_git_pass(git_repository_index(&index, g_repo));
        cl_git_pass(git_repository_head(&head, g_repo));
-       cl_git_pass(git_reference_peel(&obj, head, GIT_OBJ_COMMIT));
+       cl_git_pass(git_reference_peel(&obj, head, GIT_OBJECT_COMMIT));
 
        cl_git_pass(git_reset(g_repo, obj, GIT_RESET_HARD, NULL));
        assert_status_entrycount(g_repo, 0);
@@ -1551,8 +1555,12 @@ void test_checkout_tree__mode_change_is_force_updated(void)
        cl_must_pass(p_chmod("testrepo/README", 0755));
        cl_must_pass(git_index_add_bypath(index, "README"));
 
+       cl_git_pass(git_index_write(index));
        assert_status_entrycount(g_repo, 1);
+
        cl_git_pass(git_checkout_tree(g_repo, obj, &g_opts));
+       cl_git_pass(git_index_write(index));
+
        assert_status_entrycount(g_repo, 0);
 
        git_object_free(obj);
@@ -1564,3 +1572,67 @@ void test_checkout_tree__nullopts(void)
 {
        cl_git_pass(git_checkout_tree(g_repo, NULL, NULL));
 }
+
+static void modify_index_ondisk(void)
+{
+       git_repository *other_repo;
+       git_index *other_index;
+       git_index_entry entry = {{0}};
+
+       cl_git_pass(git_repository_open(&other_repo, git_repository_workdir(g_repo)));
+       cl_git_pass(git_repository_index(&other_index, other_repo));
+
+       cl_git_pass(git_oid_fromstr(&entry.id, "1385f264afb75a56a5bec74243be9b367ba4ca08"));
+       entry.mode = 0100644;
+       entry.path = "README";
+
+       cl_git_pass(git_index_add(other_index, &entry));
+       cl_git_pass(git_index_write(other_index));
+
+       git_index_free(other_index);
+       git_repository_free(other_repo);
+}
+
+static void modify_index_and_checkout_tree(git_checkout_options *opts)
+{
+       git_index *index;
+       git_reference *head;
+       git_object *obj;
+
+       /* External changes to the index are maintained by default */
+       cl_git_pass(git_repository_index(&index, g_repo));
+       cl_git_pass(git_repository_head(&head, g_repo));
+       cl_git_pass(git_reference_peel(&obj, head, GIT_OBJECT_COMMIT));
+
+       cl_git_pass(git_reset(g_repo, obj, GIT_RESET_HARD, NULL));
+       assert_status_entrycount(g_repo, 0);
+
+       modify_index_ondisk();
+
+       /* The file in the index remains modified */
+       cl_git_pass(git_checkout_tree(g_repo, obj, opts));
+
+       git_object_free(obj);
+       git_reference_free(head);
+       git_index_free(index);
+}
+
+void test_checkout_tree__retains_external_index_changes(void)
+{
+       git_checkout_options opts = GIT_CHECKOUT_OPTIONS_INIT;
+
+       opts.checkout_strategy = GIT_CHECKOUT_SAFE;
+
+       modify_index_and_checkout_tree(&opts);
+       assert_status_entrycount(g_repo, 1);
+}
+
+void test_checkout_tree__no_index_refresh(void)
+{
+       git_checkout_options opts = GIT_CHECKOUT_OPTIONS_INIT;
+
+       opts.checkout_strategy = GIT_CHECKOUT_SAFE | GIT_CHECKOUT_NO_REFRESH;
+
+       modify_index_and_checkout_tree(&opts);
+       assert_status_entrycount(g_repo, 0);
+}
index 647b534b1e561b8361552dc54907a6b21dd90eb7..708af59566f495940a65a577d61a08c306b3c699 100644 (file)
@@ -96,8 +96,8 @@ static void assert_workdir_matches_tree(
                root = git_repository_workdir(repo);
        cl_assert(root);
 
-       cl_git_pass(git_object_lookup(&obj, repo, id, GIT_OBJ_ANY));
-       cl_git_pass(git_object_peel((git_object **)&tree, obj, GIT_OBJ_TREE));
+       cl_git_pass(git_object_lookup(&obj, repo, id, GIT_OBJECT_ANY));
+       cl_git_pass(git_object_peel((git_object **)&tree, obj, GIT_OBJECT_TREE));
        git_object_free(obj);
 
        max_i = git_tree_entrycount(tree);
@@ -109,16 +109,16 @@ static void assert_workdir_matches_tree(
                cl_git_pass(git_buf_joinpath(&path, root, git_tree_entry_name(te)));
 
                switch (git_tree_entry_type(te)) {
-               case GIT_OBJ_COMMIT:
+               case GIT_OBJECT_COMMIT:
                        assert_dir_exists(path.ptr);
                        break;
-               case GIT_OBJ_TREE:
+               case GIT_OBJECT_TREE:
                        assert_dir_exists(path.ptr);
                        if (recurse)
                                assert_workdir_matches_tree(
                                        repo, git_tree_entry_id(te), path.ptr, true);
                        break;
-               case GIT_OBJ_BLOB:
+               case GIT_OBJECT_BLOB:
                        switch (git_tree_entry_filemode(te)) {
                        case GIT_FILEMODE_BLOB:
                        case GIT_FILEMODE_BLOB_EXECUTABLE:
@@ -139,7 +139,7 @@ static void assert_workdir_matches_tree(
        }
 
        git_tree_free(tree);
-       git_buf_free(&path);
+       git_buf_dispose(&path);
 }
 
 void test_checkout_typechange__checkout_typechanges_safe(void)
@@ -249,8 +249,8 @@ static int make_submodule_dirty(git_submodule *sm, const char *name, void *paylo
                git_buf_joinpath(&dirtypath, git_repository_workdir(submodule_repo), "dirty"));
        force_create_file(git_buf_cstr(&dirtypath));
 
-       git_buf_free(&dirtypath);
-       git_buf_free(&submodulepath);
+       git_buf_dispose(&dirtypath);
+       git_buf_dispose(&submodulepath);
        git_repository_free(submodule_repo);
 
        return 0;
index 2b45f5a3312f35aaf3ec5f5d69c7335d5e3b1fd3..8f664499672cc03c1332c98f712a3fc5d2a649df 100644 (file)
@@ -12,7 +12,7 @@
 static git_repository *repo;
 static git_index *repo_index;
 
-// Fixture setup and teardown
+/* Fixture setup and teardown */
 void test_cherrypick_workdir__initialize(void)
 {
        repo = cl_git_sandbox_init(TEST_REPO_PATH);
@@ -228,8 +228,8 @@ void test_cherrypick_workdir__conflicts(void)
 
        git_commit_free(commit);
        git_commit_free(head);
-       git_buf_free(&mergemsg_buf);
-       git_buf_free(&conflicting_buf);
+       git_buf_dispose(&mergemsg_buf);
+       git_buf_dispose(&conflicting_buf);
 }
 
 /* git reset --hard bafbf6912c09505ac60575cd43d3f2aba3bd84d8
@@ -358,7 +358,7 @@ void test_cherrypick_workdir__both_renamed(void)
                "\tfile3.txt.renamed\n" \
                "\tfile3.txt.renamed_on_branch\n") == 0);
 
-       git_buf_free(&mergemsg_buf);
+       git_buf_dispose(&mergemsg_buf);
        git_commit_free(commit);
        git_commit_free(head);
 }
@@ -370,7 +370,7 @@ void test_cherrypick_workdir__nonmerge_fails_mainline_specified(void)
        git_cherrypick_options opts = GIT_CHERRYPICK_OPTIONS_INIT;
 
        cl_git_pass(git_repository_head(&head, repo));
-       cl_git_pass(git_reference_peel((git_object **)&commit, head, GIT_OBJ_COMMIT));
+       cl_git_pass(git_reference_peel((git_object **)&commit, head, GIT_OBJECT_COMMIT));
 
        opts.mainline = 1;
        cl_must_fail(git_cherrypick(repo, commit, &opts));
index bdaab09d78902df31a8ba262e51d4a35900350d3..2f9f96b3f103d3c921180bc0608f17364fe9a030 100644 (file)
@@ -75,6 +75,7 @@ void cl_trace_register(cl_trace_cb *cb, void *payload);
 const char *cl_fixture(const char *fixture_name);
 void cl_fixture_sandbox(const char *fixture_name);
 void cl_fixture_cleanup(const char *fixture_name);
+const char *cl_fixture_basename(const char *fixture_name);
 #endif
 
 /**
index f7b8d96af80ed1aaac846fbc33b1739348dc4967..77033d3650764d016863c041451b5d729d22dc05 100644 (file)
@@ -20,19 +20,6 @@ fixture_path(const char *base, const char *fixture_name)
        return _path;
 }
 
-static const char *
-fixture_basename(const char *fixture_name)
-{
-       const char *p;
-
-       for (p = fixture_name; *p; p++) {
-               if (p[0] == '/' && p[1] && p[1] != '/')
-                       fixture_name = p+1;
-       }
-
-       return fixture_name;
-}
-
 #ifdef CLAR_FIXTURE_PATH
 const char *cl_fixture(const char *fixture_name)
 {
@@ -44,8 +31,20 @@ void cl_fixture_sandbox(const char *fixture_name)
        fs_copy(cl_fixture(fixture_name), _clar_path);
 }
 
+const char *cl_fixture_basename(const char *fixture_name)
+{
+       const char *p;
+
+       for (p = fixture_name; *p; p++) {
+               if (p[0] == '/' && p[1] && p[1] != '/')
+                       fixture_name = p+1;
+       }
+
+       return fixture_name;
+}
+
 void cl_fixture_cleanup(const char *fixture_name)
 {
-       fs_rm(fixture_path(_clar_path, fixture_basename(fixture_name)));
+       fs_rm(fixture_path(_clar_path, cl_fixture_basename(fixture_name)));
 }
 #endif
index 4b83bf31d8507c93c1084b2202d3831a5bd6c095..2114819e4e77493bf0cf36952dc9883c3b4fea64 100644 (file)
@@ -1,3 +1,7 @@
+#ifdef __APPLE__
+#include <sys/syslimits.h>
+#endif
+
 static char _clar_path[4096];
 
 static int
@@ -31,6 +35,10 @@ find_tmp_path(char *buffer, size_t length)
                        continue;
 
                if (is_valid_tmp_path(env)) {
+#ifdef __APPLE__
+                       if (length >= PATH_MAX && realpath(env, buffer) != NULL)
+                               return 0;
+#endif
                        strncpy(buffer, env, length);
                        return 0;
                }
@@ -38,6 +46,10 @@ find_tmp_path(char *buffer, size_t length)
 
        /* If the environment doesn't say anything, try to use /tmp */
        if (is_valid_tmp_path("/tmp")) {
+#ifdef __APPLE__
+               if (length >= PATH_MAX && realpath("/tmp", buffer) != NULL)
+                       return 0;
+#endif
                strncpy(buffer, "/tmp", length);
                return 0;
        }
index bd10c009d490c26d2b40ec3ef1b809a0a2858bf5..4723a0632cd9593524d5508094426914f8286746 100644 (file)
@@ -7,7 +7,7 @@ void cl_git_report_failure(
        int error, int expected, const char *file, int line, const char *fncall)
 {
        char msg[4096];
-       const git_error *last = giterr_last();
+       const git_error *last = git_error_last();
 
        if (expected)
                p_snprintf(msg, 4096, "error %d (expected %d) - %s",
@@ -171,13 +171,16 @@ static git_repository *_cl_repo = NULL;
 
 git_repository *cl_git_sandbox_init(const char *sandbox)
 {
+       /* Get the name of the sandbox folder which will be created */
+       const char *basename = cl_fixture_basename(sandbox);
+
        /* Copy the whole sandbox folder from our fixtures to our test sandbox
         * area.  After this it can be accessed with `./sandbox`
         */
        cl_fixture_sandbox(sandbox);
        _cl_sandbox = sandbox;
 
-       cl_git_pass(p_chdir(sandbox));
+       cl_git_pass(p_chdir(basename));
 
        /* If this is not a bare repo, then rename `sandbox/.gitted` to
         * `sandbox/.git` which must be done since we cannot store a folder
@@ -200,7 +203,7 @@ git_repository *cl_git_sandbox_init(const char *sandbox)
        cl_git_pass(p_chdir(".."));
 
        /* Now open the sandbox repository and make it available for tests */
-       cl_git_pass(git_repository_open(&_cl_repo, sandbox));
+       cl_git_pass(git_repository_open(&_cl_repo, basename));
 
        /* Adjust configs after copying to new filesystem */
        cl_git_pass(git_repository_reinit_filesystem(_cl_repo, 0));
@@ -222,7 +225,8 @@ git_repository *cl_git_sandbox_reopen(void)
                git_repository_free(_cl_repo);
                _cl_repo = NULL;
 
-               cl_git_pass(git_repository_open(&_cl_repo, _cl_sandbox));
+               cl_git_pass(git_repository_open(
+                       &_cl_repo, cl_fixture_basename(_cl_sandbox)));
        }
 
        return _cl_repo;
@@ -310,11 +314,40 @@ const char* cl_git_path_url(const char *path)
        cl_assert(url_buf.size < 4096);
 
        strncpy(url, git_buf_cstr(&url_buf), 4096);
-       git_buf_free(&url_buf);
-       git_buf_free(&path_buf);
+       git_buf_dispose(&url_buf);
+       git_buf_dispose(&path_buf);
        return url;
 }
 
+const char *cl_git_sandbox_path(int is_dir, ...)
+{
+       const char *path = NULL;
+       static char _temp[GIT_PATH_MAX];
+       git_buf buf = GIT_BUF_INIT;
+       va_list arg;
+
+       cl_git_pass(git_buf_sets(&buf, clar_sandbox_path()));
+
+       va_start(arg, is_dir);
+
+       while ((path = va_arg(arg, const char *)) != NULL) {
+               cl_git_pass(git_buf_joinpath(&buf, buf.ptr, path));
+       }
+       va_end(arg);
+
+       cl_git_pass(git_path_prettify(&buf, buf.ptr, NULL));
+       if (is_dir)
+               git_path_to_dir(&buf);
+
+       /* make sure we won't truncate */
+       cl_assert(git_buf_len(&buf) < sizeof(_temp));
+       git_buf_copy_cstr(_temp, sizeof(_temp), &buf);
+
+       git_buf_dispose(&buf);
+
+       return _temp;
+}
+
 typedef struct {
        const char *filename;
        size_t filename_len;
@@ -359,7 +392,7 @@ int cl_git_remove_placeholders(const char *directory_path, const char *filename)
 
        error = remove_placeholders_recurs(&data, &buffer);
 
-       git_buf_free(&buffer);
+       git_buf_dispose(&buffer);
 
        return error;
 }
@@ -437,7 +470,7 @@ int cl_repo_get_bool(git_repository *repo, const char *cfg)
        git_config *config;
        cl_git_pass(git_repository_config(&config, repo));
        if (git_config_get_bool(&val, config, cfg) < 0)
-               giterr_clear();
+               git_error_clear();
        git_config_free(config);
        return val;
 }
@@ -544,7 +577,7 @@ void cl_fake_home(void)
        cl_git_pass(git_path_prettify(&path, "home", NULL));
        cl_git_pass(git_libgit2_opts(
                GIT_OPT_SET_SEARCH_PATH, GIT_CONFIG_LEVEL_GLOBAL, path.ptr));
-       git_buf_free(&path);
+       git_buf_dispose(&path);
 }
 
 void cl_sandbox_set_search_path_defaults(void)
@@ -565,7 +598,7 @@ void cl_sandbox_set_search_path_defaults(void)
        git_libgit2_opts(
                GIT_OPT_SET_SEARCH_PATH, GIT_CONFIG_LEVEL_PROGRAMDATA, path.ptr);
 
-       git_buf_free(&path);
+       git_buf_dispose(&path);
 }
 
 #ifdef GIT_WIN32
@@ -584,7 +617,7 @@ bool cl_sandbox_supports_8dot3(void)
        supported = (shortname != NULL);
 
        git__free(shortname);
-       git_buf_free(&longpath);
+       git_buf_dispose(&longpath);
 
        return supported;
 }
index c72d37db36343c6e4fc832a2496ecd8d858a3af8..da6ff2974d3d06cc3e4bac5698c87f0b2d1ca41b 100644 (file)
@@ -18,7 +18,7 @@
 
 #define cl_git_expect(expr, expected, file, line) do { \
        int _lg2_error; \
-       giterr_clear(); \
+       git_error_clear(); \
        if ((_lg2_error = (expr)) != expected) \
                cl_git_report_failure(_lg2_error, expected, file, line, "Function call failed: " #expr); \
        } while (0)
@@ -29,7 +29,7 @@
  * calls that are supposed to fail!
  */
 #define cl_git_fail(expr) do { \
-       giterr_clear(); \
+       git_error_clear(); \
        if ((expr) == 0) \
                cl_git_report_failure(0, 0, __FILE__, __LINE__, "Function call succeeded: " #expr); \
        } while (0)
@@ -40,7 +40,7 @@
 #define cl_win32_pass(expr) do { \
        int _win32_res; \
        if ((_win32_res = (expr)) == 0) { \
-               giterr_set(GITERR_OS, "Returned: %d, system error code: %d", _win32_res, GetLastError()); \
+               git_error_set(GIT_ERROR_OS, "Returned: %d, system error code: %lu", _win32_res, GetLastError()); \
                cl_git_report_failure(_win32_res, 0, __FILE__, __LINE__, "System call failed: " #expr); \
        } \
        } while(0)
@@ -70,9 +70,9 @@ typedef struct {
 #endif
 
 #define cl_git_thread_pass_(__threaderr, __expr, __file, __line) do { \
-       giterr_clear(); \
+       git_error_clear(); \
        if ((((cl_git_thread_err *)__threaderr)->error = (__expr)) != 0) { \
-               const git_error *_last = giterr_last(); \
+               const git_error *_last = git_error_last(); \
                ((cl_git_thread_err *)__threaderr)->file = __file; \
                ((cl_git_thread_err *)__threaderr)->line = __line; \
                ((cl_git_thread_err *)__threaderr)->expr = "Function call failed: " #__expr; \
@@ -181,6 +181,13 @@ git_repository *cl_git_sandbox_init_new(const char *name);
 void cl_git_sandbox_cleanup(void);
 git_repository *cl_git_sandbox_reopen(void);
 
+/*
+ * build a sandbox-relative from path segments
+ * is_dir will add a trailing slash
+ * vararg must be a NULL-terminated char * list
+ */
+const char *cl_git_sandbox_path(int is_dir, ...);
+
 /* Local-repo url helpers */
 const char* cl_git_fixture_url(const char *fixturename);
 const char* cl_git_path_url(const char *path);
index 2a6217580453b8170f1863ddbdad8a85914594ac..8e59d2b8c4d0773572589b3cd9f37b5bb6b90590 100644 (file)
@@ -53,13 +53,13 @@ void test_clone_empty__can_clone_an_empty_local_repo_barely(void)
        cl_git_pass(git_branch_upstream_name(&buf, g_repo_cloned, local_name));
 
        cl_assert_equal_s(expected_tracked_branch_name, buf.ptr);
-       git_buf_free(&buf);
+       git_buf_dispose(&buf);
 
        /* ...and the name of the remote... */
        cl_git_pass(git_branch_remote_name(&buf, g_repo_cloned, expected_tracked_branch_name));
 
        cl_assert_equal_s(expected_remote_name, buf.ptr);
-       git_buf_free(&buf);
+       git_buf_dispose(&buf);
 
        /* ...even when the remote HEAD is unborn as well */
        cl_assert_equal_i(GIT_ENOTFOUND, git_reference_lookup(&ref, g_repo_cloned,
index 7f54d05de2743e939936d8191301c638257ffb78..9416918141f0e5347ec0ba4284e406bda4f24179 100644 (file)
@@ -91,7 +91,7 @@ void test_clone_local__should_clone_local(void)
        cl_assert_equal_i(1,  git_clone__should_clone_local(path, GIT_CLONE_LOCAL_NO_LINKS));
        cl_assert_equal_i(0, git_clone__should_clone_local(path, GIT_CLONE_NO_LOCAL));
 
-       git_buf_free(&buf);
+       git_buf_dispose(&buf);
 }
 
 void test_clone_local__hardlinks(void)
@@ -149,7 +149,7 @@ void test_clone_local__hardlinks(void)
        cl_assert_equal_i(3, st.st_nlink);
 #endif
 
-       git_buf_free(&buf);
+       git_buf_dispose(&buf);
        git_repository_free(repo);
 
        cl_git_pass(git_futils_rmdir_r("./clone.git", NULL, GIT_RMDIR_REMOVE_FILES));
@@ -179,8 +179,8 @@ void test_clone_local__standard_unc_paths_are_written_git_style(void)
 
        git_remote_free(remote);
        git_repository_free(repo);
-       git_buf_free(&unc);
-       git_buf_free(&git_unc);
+       git_buf_dispose(&unc);
+       git_buf_dispose(&git_unc);
 
        cl_git_pass(git_futils_rmdir_r("./clone.git", NULL, GIT_RMDIR_REMOVE_FILES));
 #endif
@@ -206,7 +206,7 @@ void test_clone_local__git_style_unc_paths(void)
 
        git_remote_free(remote);
        git_repository_free(repo);
-       git_buf_free(&git_unc);
+       git_buf_dispose(&git_unc);
 
        cl_git_pass(git_futils_rmdir_r("./clone.git", NULL, GIT_RMDIR_REMOVE_FILES));
 #endif
index 7ebf19f46332ec06949a00ec0887e5841ff882f0..8a8337c04600070246003c2d007969d210f6e6ed 100644 (file)
@@ -154,7 +154,7 @@ void test_clone_nonetwork__can_prevent_the_checkout_of_a_standard_repo(void)
        cl_git_pass(git_buf_joinpath(&path, git_repository_workdir(g_repo), "master.txt"));
        cl_assert_equal_i(false, git_path_isfile(git_buf_cstr(&path)));
 
-       git_buf_free(&path);
+       git_buf_dispose(&path);
 }
 
 void test_clone_nonetwork__can_checkout_given_branch(void)
@@ -269,7 +269,7 @@ void test_clone_nonetwork__clone_tag_to_tree(void)
        memset(&entry, 0, sizeof(git_index_entry));
        entry.path = file_path;
        entry.mode = GIT_FILEMODE_BLOB;
-       cl_git_pass(git_odb_write(&entry.id, odb, file_content, strlen(file_content), GIT_OBJ_BLOB));
+       cl_git_pass(git_odb_write(&entry.id, odb, file_content, strlen(file_content), GIT_OBJECT_BLOB));
 
        cl_git_pass(git_index_add(index, &entry));
        cl_git_pass(git_index_write_tree_to(&tree_id, index, stage));
@@ -309,7 +309,7 @@ static void assert_correct_reflog(const char *name)
 
        git_reflog_free(log);
 
-       git_buf_free(&expected_message);
+       git_buf_dispose(&expected_message);
 }
 
 void test_clone_nonetwork__clone_updates_reflog_properly(void)
index 297fccc6b5337ee2ed987997607cc542997f8248..f0a31de9a4376356e63b0c5a1e06e2e2b63c3d90 100644 (file)
@@ -3,7 +3,7 @@
 #include "commit.h"
 #include "signature.h"
 
-// Fixture setup
+/* Fixture setup */
 static git_repository *g_repo;
 void test_commit_parse__initialize(void)
 {
@@ -15,7 +15,7 @@ void test_commit_parse__cleanup(void)
 }
 
 
-// Header parsing
+/* Header parsing */
 typedef struct {
        const char *line;
        const char *header;
@@ -70,7 +70,7 @@ void test_commit_parse__header(void)
 }
 
 
-// Signature parsing
+/* Signature parsing */
 typedef struct {
        const char *string;
        const char *header;
@@ -89,27 +89,27 @@ passing_signature_test_case passing_signature_cases[] = {
        {"committer Vicent Marti <tanoku@gmail.com> 123456 +0000 \n", "committer ", "Vicent Marti", "tanoku@gmail.com", 123456, 0},
        {"committer Vicent Marti <tanoku@gmail.com> 123456 +0100 \n", "committer ", "Vicent Marti", "tanoku@gmail.com", 123456, 60},
        {"committer Vicent Marti <tanoku@gmail.com> 123456 -0100 \n", "committer ", "Vicent Marti", "tanoku@gmail.com", 123456, -60},
-       // Parse a signature without an author field
+       /* Parse a signature without an author field */
        {"committer <tanoku@gmail.com> 123456 -0100 \n", "committer ", "", "tanoku@gmail.com", 123456, -60},
-       // Parse a signature without an author field
+       /* Parse a signature without an author field */
        {"committer  <tanoku@gmail.com> 123456 -0100 \n", "committer ", "", "tanoku@gmail.com", 123456, -60},
-       // Parse a signature with an empty author field
+       /* Parse a signature with an empty author field */
        {"committer   <tanoku@gmail.com> 123456 -0100 \n", "committer ", "", "tanoku@gmail.com", 123456, -60},
-       // Parse a signature with an empty email field
+       /* Parse a signature with an empty email field */
        {"committer Vicent Marti <> 123456 -0100 \n", "committer ", "Vicent Marti", "", 123456, -60},
-       // Parse a signature with an empty email field
+       /* Parse a signature with an empty email field */
        {"committer Vicent Marti < > 123456 -0100 \n", "committer ", "Vicent Marti", "", 123456, -60},
-       // Parse a signature with empty name and email
+       /* Parse a signature with empty name and email */
        {"committer <> 123456 -0100 \n", "committer ", "", "", 123456, -60},
-       // Parse a signature with empty name and email
+       /* Parse a signature with empty name and email */
        {"committer  <> 123456 -0100 \n", "committer ", "", "", 123456, -60},
-       // Parse a signature with empty name and email
+       /* Parse a signature with empty name and email */
        {"committer  < > 123456 -0100 \n", "committer ", "", "", 123456, -60},
-       // Parse an obviously invalid signature
+       /* Parse an obviously invalid signature */
        {"committer foo<@bar> 123456 -0100 \n", "committer ", "foo", "@bar", 123456, -60},
-       // Parse an obviously invalid signature
+       /* Parse an obviously invalid signature */
        {"committer    foo<@bar> 123456 -0100 \n", "committer ", "foo", "@bar", 123456, -60},
-       // Parse an obviously invalid signature
+       /* Parse an obviously invalid signature */
        {"committer <>\n", "committer ", "", "", 0, 0},
        {"committer Vicent Marti <tanoku@gmail.com> 123456 -1500 \n", "committer ", "Vicent Marti", "tanoku@gmail.com", 123456, 0},
        {"committer Vicent Marti <tanoku@gmail.com> 123456 +0163 \n", "committer ", "Vicent Marti", "tanoku@gmail.com", 123456, 0},
@@ -173,65 +173,65 @@ void test_commit_parse__signature(void)
 
 
 static char *failing_commit_cases[] = {
-// empty commit
+/* empty commit */
 "",
-// random garbage
+/* random garbage */
 "asd97sa9du902e9a0jdsuusad09as9du098709aweu8987sd\n",
-// broken endlines 1
+/* broken endlines 1 */
 "tree f6c0dad3c7b3481caa9d73db21f91964894a945b\r\n\
 parent 05452d6349abcd67aa396dfb28660d765d8b2a36\r\n\
 author Vicent Marti <tanoku@gmail.com> 1273848544 +0200\r\n\
 committer Vicent Marti <tanoku@gmail.com> 1273848544 +0200\r\n\
 \r\n\
 a test commit with broken endlines\r\n",
-// broken endlines 2
+/* broken endlines 2 */
 "tree f6c0dad3c7b3481caa9d73db21f91964894a945b\
 parent 05452d6349abcd67aa396dfb28660d765d8b2a36\
 author Vicent Marti <tanoku@gmail.com> 1273848544 +0200\
 committer Vicent Marti <tanoku@gmail.com> 1273848544 +0200\
 \
 another test commit with broken endlines",
-// starting endlines
+/* starting endlines */
 "\ntree f6c0dad3c7b3481caa9d73db21f91964894a945b\n\
 parent 05452d6349abcd67aa396dfb28660d765d8b2a36\n\
 author Vicent Marti <tanoku@gmail.com> 1273848544 +0200\n\
 committer Vicent Marti <tanoku@gmail.com> 1273848544 +0200\n\
 \n\
 a test commit with a starting endline\n",
-// corrupted commit 1
+/* corrupted commit 1 */
 "tree f6c0dad3c7b3481caa9d73db21f91964894a945b\n\
 parent 05452d6349abcd67aa396df",
-// corrupted commit 2
+/* corrupted commit 2 */
 "tree f6c0dad3c7b3481caa9d73db21f91964894a945b\n\
 parent ",
-// corrupted commit 3
+/* corrupted commit 3 */
 "tree f6c0dad3c7b3481caa9d73db21f91964894a945b\n\
 parent ",
-// corrupted commit 4
+/* corrupted commit 4 */
 "tree f6c0dad3c7b3481caa9d73db21f91964894a945b\n\
 par",
 };
 
 
 static char *passing_commit_cases[] = {
-// simple commit with no message
+/* simple commit with no message */
 "tree 1810dff58d8a660512d4832e740f692884338ccd\n\
 author Vicent Marti <tanoku@gmail.com> 1273848544 +0200\n\
 committer Vicent Marti <tanoku@gmail.com> 1273848544 +0200\n\
 \n",
-// simple commit, no parent
+/* simple commit, no parent */
 "tree 1810dff58d8a660512d4832e740f692884338ccd\n\
 author Vicent Marti <tanoku@gmail.com> 1273848544 +0200\n\
 committer Vicent Marti <tanoku@gmail.com> 1273848544 +0200\n\
 \n\
 a simple commit which works\n",
-// simple commit, no parent, no newline in message
+/* simple commit, no parent, no newline in message */
 "tree 1810dff58d8a660512d4832e740f692884338ccd\n\
 author Vicent Marti <tanoku@gmail.com> 1273848544 +0200\n\
 committer Vicent Marti <tanoku@gmail.com> 1273848544 +0200\n\
 \n\
 a simple commit which works",
-// simple commit, 1 parent
+/* simple commit, 1 parent */
 "tree 1810dff58d8a660512d4832e740f692884338ccd\n\
 parent e90810b8df3e80c413d903f631643c716887138d\n\
 author Vicent Marti <tanoku@gmail.com> 1273848544 +0200\n\
@@ -317,7 +317,7 @@ void test_commit_parse__entire_commit(void)
 }
 
 
-// query the details on a parsed commit
+/* query the details on a parsed commit */
 void test_commit_parse__details0(void) {
        static const char *commit_ids[] = {
                "a4a7dce85cf63874e984719f4fdd239f5145052f", /* 0 */
@@ -365,7 +365,7 @@ void test_commit_parse__details0(void) {
                        old_parent = parent;
                        cl_git_pass(git_commit_parent(&parent, commit, p));
                        cl_assert(parent != NULL);
-                       cl_assert(git_commit_author(parent) != NULL); // is it really a commit?
+                       cl_assert(git_commit_author(parent) != NULL); /* is it really a commit? */
                }
                git_commit_free(old_parent);
                git_commit_free(parent);
@@ -464,7 +464,7 @@ cpxtDQQMGYFpXK/71stq\n\
        cl_git_pass(git_commit_header_field(&buf, commit, "committer"));
        cl_assert_equal_s("Vicent Marti <tanoku@gmail.com> 1273848544 +0200", buf.ptr);
 
-       git_buf_free(&buf);
+       git_buf_dispose(&buf);
        git_commit__free(commit);
 }
 
@@ -515,7 +515,7 @@ corrupt signature\n";
 
 
        cl_git_pass(git_repository_odb__weakptr(&odb, g_repo));
-       cl_git_pass(git_odb_write(&commit_id, odb, passing_commit_cases[4], strlen(passing_commit_cases[4]), GIT_OBJ_COMMIT));
+       cl_git_pass(git_odb_write(&commit_id, odb, passing_commit_cases[4], strlen(passing_commit_cases[4]), GIT_OBJECT_COMMIT));
 
        cl_git_pass(git_commit_extract_signature(&signature, &signed_data, g_repo, &commit_id, NULL));
        cl_assert_equal_s(gpgsig, signature.ptr);
@@ -531,23 +531,23 @@ corrupt signature\n";
        /* Try to parse a tree */
        cl_git_pass(git_oid_fromstr(&commit_id, "45dd856fdd4d89b884c340ba0e047752d9b085d6"));
        cl_git_fail_with(GIT_ENOTFOUND, git_commit_extract_signature(&signature, &signed_data, g_repo, &commit_id, NULL));
-       cl_assert_equal_i(GITERR_INVALID, giterr_last()->klass);
+       cl_assert_equal_i(GIT_ERROR_INVALID, git_error_last()->klass);
 
        /* Try to parse an unsigned commit */
-       cl_git_pass(git_odb_write(&commit_id, odb, passing_commit_cases[1], strlen(passing_commit_cases[1]), GIT_OBJ_COMMIT));
+       cl_git_pass(git_odb_write(&commit_id, odb, passing_commit_cases[1], strlen(passing_commit_cases[1]), GIT_OBJECT_COMMIT));
        cl_git_fail_with(GIT_ENOTFOUND, git_commit_extract_signature(&signature, &signed_data, g_repo, &commit_id, NULL));
-       cl_assert_equal_i(GITERR_OBJECT, giterr_last()->klass);
+       cl_assert_equal_i(GIT_ERROR_OBJECT, git_error_last()->klass);
 
        /* Parse the commit with a single-line signature */
        git_buf_clear(&signature);
        git_buf_clear(&signed_data);
-       cl_git_pass(git_odb_write(&commit_id, odb, oneline_signature, strlen(oneline_signature), GIT_OBJ_COMMIT));
+       cl_git_pass(git_odb_write(&commit_id, odb, oneline_signature, strlen(oneline_signature), GIT_OBJECT_COMMIT));
        cl_git_pass(git_commit_extract_signature(&signature, &signed_data, g_repo, &commit_id, NULL));
        cl_assert_equal_s("bad", signature.ptr);
        cl_assert_equal_s(oneline_data, signed_data.ptr);
 
 
-       git_buf_free(&signature);
-       git_buf_free(&signed_data);
+       git_buf_dispose(&signature);
+       git_buf_dispose(&signed_data);
 
 }
index 286079fa2faa9ce0159b1515c7970f837fbafd46..a91551415d676c84c16c4c2222afe3a682612c15 100644 (file)
@@ -43,6 +43,26 @@ void test_commit_signature__leading_and_trailing_crud_is_trimmed(void)
        assert_name_and_email("nulltoken \xe2\x98\xba", "emeric.fermas@gmail.com", "nulltoken \xe2\x98\xba", "emeric.fermas@gmail.com");
 }
 
+void test_commit_signature__timezone_does_not_read_oob(void)
+{
+       const char *header = "A <a@example.com> 1461698487 +1234", *header_end;
+       git_signature *sig;
+
+       /* Let the buffer end midway between the timezone offeset's "+12" and "34" */
+       header_end = header + strlen(header) - 2;
+
+       sig = git__calloc(1, sizeof(git_signature));
+       cl_assert(sig);
+
+       cl_git_pass(git_signature__parse(sig, &header, header_end, NULL, '\0'));
+       cl_assert_equal_s(sig->name, "A");
+       cl_assert_equal_s(sig->email, "a@example.com");
+       cl_assert_equal_i(sig->when.time, 1461698487);
+       cl_assert_equal_i(sig->when.offset, 12);
+
+       git_signature_free(sig);
+}
+
 void test_commit_signature__angle_brackets_in_names_are_not_supported(void)
 {
        cl_git_fail(try_build_signature("<Phil Haack", "phil@haack", 1234567890, 60));
@@ -59,7 +79,7 @@ void test_commit_signature__angle_brackets_in_email_are_not_supported(void)
 
 void test_commit_signature__create_empties(void)
 {
-   // can not create a signature with empty name or email
+       /* can not create a signature with empty name or email */
        cl_git_pass(try_build_signature("nulltoken", "emeric.fermas@gmail.com", 1234567890, 60));
 
        cl_git_fail(try_build_signature("", "emeric.fermas@gmail.com", 1234567890, 60));
@@ -70,19 +90,19 @@ void test_commit_signature__create_empties(void)
 
 void test_commit_signature__create_one_char(void)
 {
-   // creating a one character signature
+       /* creating a one character signature */
        assert_name_and_email("x", "foo@bar.baz", "x", "foo@bar.baz");
 }
 
 void test_commit_signature__create_two_char(void)
 {
-   // creating a two character signature
+       /* creating a two character signature */
        assert_name_and_email("xx", "foo@bar.baz", "xx", "foo@bar.baz");
 }
 
 void test_commit_signature__create_zero_char(void)
 {
-   // creating a zero character signature
+       /* creating a zero character signature */
        git_signature *sign;
        cl_git_fail(git_signature_new(&sign, "", "x@y.z", 1234567890, 60));
        cl_assert(sign == NULL);
index 030d41578a8407d103862f4fb2b81fed65d02856..d829c973da61fc75662486bc5d4c34547f738888 100644 (file)
@@ -15,7 +15,7 @@ static char *head_old;
 static git_reference *head, *branch;
 static git_commit *commit;
 
-// Fixture setup
+/* Fixture setup */
 static git_repository *g_repo;
 void test_commit_write__initialize(void)
 {
@@ -42,7 +42,7 @@ void test_commit_write__cleanup(void)
 }
 
 
-// write a new commit object from memory to disk
+/* write a new commit object from memory to disk */
 void test_commit_write__from_memory(void)
 {
    git_oid tree_id, parent_id, commit_id;
@@ -130,14 +130,14 @@ This is a root commit\n\
    This is a root commit and should be the only one in this branch\n\
 ");
 
-       git_buf_free(&commit);
+       git_buf_dispose(&commit);
        git_tree_free(tree);
        git_commit_free(parent);
        git_signature_free(author);
        git_signature_free(committer);
 }
 
-// create a root commit
+/* create a root commit */
 void test_commit_write__root(void)
 {
        git_oid tree_id, commit_id;
@@ -157,7 +157,7 @@ void test_commit_write__root(void)
 
        /* First we need to update HEAD so it points to our non-existant branch */
        cl_git_pass(git_reference_lookup(&head, g_repo, "HEAD"));
-       cl_assert(git_reference_type(head) == GIT_REF_SYMBOLIC);
+       cl_assert(git_reference_type(head) == GIT_REFERENCE_SYMBOLIC);
        head_old = git__strdup(git_reference_symbolic_target(head));
        cl_assert(head_old != NULL);
        git_reference_free(head);
index 18c4ca59e3b83121cd13d18c67a79ba56fe013b2..96feecc4ac95d5f35101949426473d550ec2332a 100644 (file)
@@ -11,14 +11,14 @@ void test_config_backend__checks_version(void)
 
        cl_git_pass(git_config_new(&cfg));
        cl_git_fail(git_config_add_backend(cfg, &backend, 0, NULL, false));
-       err = giterr_last();
-       cl_assert_equal_i(GITERR_INVALID, err->klass);
+       err = git_error_last();
+       cl_assert_equal_i(GIT_ERROR_INVALID, err->klass);
 
-       giterr_clear();
+       git_error_clear();
        backend.version = 1024;
        cl_git_fail(git_config_add_backend(cfg, &backend, 0, NULL, false));
-       err = giterr_last();
-       cl_assert_equal_i(GITERR_INVALID, err->klass);
+       err = git_error_last();
+       cl_assert_equal_i(GIT_ERROR_INVALID, err->klass);
 
        git_config_free(cfg);
 }
index 3a87de21f11b847bedf60a3d9b26c73a26ba734f..cb1f916adc76e9ddd812ab3a1ea4ce2829d300ba 100644 (file)
@@ -43,7 +43,7 @@ static void assert_condition_includes(const char *keyword, const char *path, boo
                                 git_config_get_string_buf(&buf, cfg, "foo.bar"));
        }
 
-       git_buf_free(&buf);
+       git_buf_dispose(&buf);
        git_config_free(cfg);
 }
 
@@ -77,7 +77,7 @@ void test_config_conditionals__gitdir(void)
        assert_condition_includes("gitdir", path.ptr, false);
 
        git__free(sandbox_path);
-       git_buf_free(&path);
+       git_buf_dispose(&path);
 }
 
 void test_config_conditionals__gitdir_i(void)
@@ -94,7 +94,7 @@ void test_config_conditionals__gitdir_i(void)
        assert_condition_includes("gitdir/i", path.ptr, true);
 
        git__free(sandbox_path);
-       git_buf_free(&path);
+       git_buf_dispose(&path);
 }
 
 void test_config_conditionals__invalid_conditional_fails(void)
index 025838ad7ea189279962e69189c4106f7a9d0c16..d92ff1a4ee81d660127f5d1a092b1f64a8147239 100644 (file)
@@ -36,7 +36,7 @@ void assert_config_entry_value(
        cl_git_pass(git_config_get_string_buf(&buf, config, name));
 
        cl_assert_equal_s(expected_value, git_buf_cstr(&buf));
-       git_buf_free(&buf);
+       git_buf_dispose(&buf);
 }
 
 static int count_config_entries_cb(
index b73656cb93373488c48ca1047c016a02538f9fcc..15c469fcb83a4efeed9309e1074d5afdf01748b9 100644 (file)
@@ -33,7 +33,7 @@ void test_config_configlevel__can_replace_a_config_file_at_an_existing_level(voi
        cl_git_pass(git_config_get_string_buf(&buf, cfg, "core.stringglobal"));
        cl_assert_equal_s("don't find me!", buf.ptr);
 
-       git_buf_free(&buf);
+       git_buf_dispose(&buf);
        git_config_free(cfg);
 }
 
@@ -56,7 +56,7 @@ void test_config_configlevel__can_read_from_a_single_level_focused_file_after_pa
        cl_git_pass(git_config_get_string_buf(&buf, single_level_cfg, "core.stringglobal"));
        cl_assert_equal_s("don't find me!", buf.ptr);
 
-       git_buf_free(&buf);
+       git_buf_dispose(&buf);
        git_config_free(single_level_cfg);
 }
 
index a149dc0beb0f90ca0ee10e321258f46454199d72..9446d8de9f1b1edd33277ec653cacacfc603d5eb 100644 (file)
@@ -21,7 +21,7 @@ void test_config_global__initialize(void)
        cl_git_pass(git_libgit2_opts(
                GIT_OPT_SET_SEARCH_PATH, GIT_CONFIG_LEVEL_SYSTEM, path.ptr));
 
-       git_buf_free(&path);
+       git_buf_dispose(&path);
 }
 
 void test_config_global__cleanup(void)
@@ -60,7 +60,7 @@ void test_config_global__open_xdg(void)
        cl_git_pass(git_config_get_string_buf(&buf, selected, key));
        cl_assert_equal_s(str, buf.ptr);
 
-       git_buf_free(&buf);
+       git_buf_dispose(&buf);
        git_config_free(selected);
        git_config_free(xdg);
        git_config_free(cfg);
@@ -87,7 +87,7 @@ void test_config_global__open_programdata(void)
        cl_git_pass(git_config_open_ondisk(&cfg, config_path.ptr));
        cl_git_pass(git_config_set_string(cfg, "programdata.var", "even higher level"));
 
-       git_buf_free(&config_path);
+       git_buf_dispose(&config_path);
        git_config_free(cfg);
 
        git_config_open_default(&cfg);
@@ -95,7 +95,7 @@ void test_config_global__open_programdata(void)
        cl_assert_equal_s("even higher level", var_contents.ptr);
 
        git_config_free(cfg);
-       git_buf_free(&var_contents);
+       git_buf_dispose(&var_contents);
 
        cl_git_pass(git_repository_init(&repo, "./foo.git", true));
        cl_git_pass(git_repository_config(&cfg, repo));
@@ -103,7 +103,7 @@ void test_config_global__open_programdata(void)
        cl_assert_equal_s("even higher level", var_contents.ptr);
 
        git_config_free(cfg);
-       git_buf_free(&var_contents);
+       git_buf_dispose(&var_contents);
        git_repository_free(repo);
        cl_fixture_cleanup("./foo.git");
 }
index 87ef406e793688bd10bf9a5388d5f72c87195936..44546933bb77807df80425fd66036e9e9b1b51f1 100644 (file)
@@ -14,7 +14,7 @@ void test_config_include__initialize(void)
 void test_config_include__cleanup(void)
 {
     git_config_free(cfg);
-    git_buf_free(&buf);
+    git_buf_dispose(&buf);
 }
 
 void test_config_include__relative(void)
@@ -30,7 +30,7 @@ void test_config_include__absolute(void)
        cl_git_pass(git_buf_printf(&buf, "[include]\npath = %s/config-included", cl_fixture("config")));
 
        cl_git_mkfile("config-include-absolute", git_buf_cstr(&buf));
-       git_buf_free(&buf);
+       git_buf_dispose(&buf);
        cl_git_pass(git_config_open_ondisk(&cfg, "config-include-absolute"));
 
        cl_git_pass(git_config_get_string_buf(&buf, cfg, "foo.bar.baz"));
@@ -101,9 +101,9 @@ void test_config_include__missing(void)
 {
        cl_git_mkfile("including", "[include]\npath = nonexistentfile\n[foo]\nbar = baz");
 
-       giterr_clear();
+       git_error_clear();
        cl_git_pass(git_config_open_ondisk(&cfg, "including"));
-       cl_assert(giterr_last() == NULL);
+       cl_assert(git_error_last() == NULL);
        cl_git_pass(git_config_get_string_buf(&buf, cfg, "foo.bar"));
        cl_assert_equal_s("baz", git_buf_cstr(&buf));
 
@@ -115,9 +115,9 @@ void test_config_include__missing_homedir(void)
        cl_git_pass(git_libgit2_opts(GIT_OPT_SET_SEARCH_PATH, GIT_CONFIG_LEVEL_GLOBAL, cl_fixture("config")));
        cl_git_mkfile("including", "[include]\npath = ~/.nonexistentfile\n[foo]\nbar = baz");
 
-       giterr_clear();
+       git_error_clear();
        cl_git_pass(git_config_open_ondisk(&cfg, "including"));
-       cl_assert(giterr_last() == NULL);
+       cl_assert(git_error_last() == NULL);
        cl_git_pass(git_config_get_string_buf(&buf, cfg, "foo.bar"));
        cl_assert_equal_s("baz", git_buf_cstr(&buf));
 
diff --git a/tests/config/memory.c b/tests/config/memory.c
new file mode 100644 (file)
index 0000000..ae66189
--- /dev/null
@@ -0,0 +1,139 @@
+#include "clar_libgit2.h"
+
+#include "config_backend.h"
+
+static git_config_backend *backend;
+
+void test_config_memory__initialize(void)
+{
+       backend = NULL;
+}
+
+void test_config_memory__cleanup(void)
+{
+       git_config_backend_free(backend);
+}
+
+static void assert_config_contains(git_config_backend *backend,
+       const char *name, const char *value)
+{
+       git_config_entry *entry;
+       cl_git_pass(git_config_backend_get_string(&entry, backend, name));
+       cl_assert_equal_s(entry->value, value);
+}
+
+struct expected_entry {
+       const char *name;
+       const char *value;
+       int seen;
+};
+
+static int contains_all_cb(const git_config_entry *entry, void *payload)
+{
+       struct expected_entry *entries = (struct expected_entry *) payload;
+       int i;
+
+       for (i = 0; entries[i].name; i++) {
+               if (strcmp(entries[i].name, entry->name) ||
+                   strcmp(entries[i].value , entry->value))
+                       continue;
+
+               if (entries[i].seen)
+                       cl_fail("Entry seen more than once");
+               entries[i].seen = 1;
+               return 0;
+       }
+
+       cl_fail("Unexpected entry");
+       return -1;
+}
+
+static void assert_config_contains_all(git_config_backend *backend,
+       struct expected_entry *entries)
+{
+       int i;
+
+       cl_git_pass(git_config_backend_foreach(backend, contains_all_cb, entries));
+
+       for (i = 0; entries[i].name; i++)
+               cl_assert(entries[i].seen);
+}
+
+static void setup_backend(const char *cfg)
+{
+       cl_git_pass(git_config_backend_from_string(&backend, cfg, strlen(cfg)));
+       cl_git_pass(git_config_backend_open(backend, 0, NULL));
+}
+
+void test_config_memory__write_operations_fail(void)
+{
+       setup_backend("");
+       cl_git_fail(git_config_backend_set_string(backend, "general.foo", "var"));
+       cl_git_fail(git_config_backend_delete(backend, "general.foo"));
+       cl_git_fail(git_config_backend_lock(backend));
+       cl_git_fail(git_config_backend_unlock(backend, 0));
+}
+
+void test_config_memory__simple(void)
+{
+       setup_backend(
+               "[general]\n"
+               "foo=bar\n");
+
+       assert_config_contains(backend, "general.foo", "bar");
+}
+
+void test_config_memory__malformed_fails_to_open(void)
+{
+       const char *cfg =
+               "[general\n"
+               "foo=bar\n";
+       cl_git_pass(git_config_backend_from_string(&backend, cfg, strlen(cfg)));
+       cl_git_fail(git_config_backend_open(backend, 0, NULL));
+}
+
+void test_config_memory__multiple_vars(void)
+{
+       setup_backend(
+               "[general]\n"
+               "foo=bar\n"
+               "key=value\n");
+       assert_config_contains(backend, "general.foo", "bar");
+       assert_config_contains(backend, "general.key", "value");
+}
+
+void test_config_memory__multiple_sections(void)
+{
+       setup_backend(
+               "[general]\n"
+               "foo=bar\n"
+               "\n"
+               "[other]\n"
+               "key=value\n");
+       assert_config_contains(backend, "general.foo", "bar");
+       assert_config_contains(backend, "other.key", "value");
+}
+
+void test_config_memory__multivar_gets_correct_string(void)
+{
+       setup_backend(
+               "[general]\n"
+               "foo=bar1\n"
+               "foo=bar2\n");
+       assert_config_contains(backend, "general.foo", "bar2");
+}
+
+void test_config_memory__foreach_sees_multivar(void)
+{
+       struct expected_entry entries[] = {
+               { "general.foo", "bar1", 0 },
+               { "general.foo", "bar2", 0 },
+               { NULL, NULL, 0 },
+       };
+
+       setup_backend(
+               "[general]\n"
+               "foo=bar1\n"
+               "foo=bar2\n");
+       assert_config_contains_all(backend, entries);
+}
index b39baa0a590af10e39d44dfffda4dd97384b19ba..bb3a2d9a8764388f70f027a30715cc6f4d0b7648 100644 (file)
@@ -27,7 +27,7 @@ void test_config_new__write_new_config(void)
        cl_git_pass(git_config_get_string_buf(&buf, config, "core.editor"));
        cl_assert_equal_s("ed", git_buf_cstr(&buf));
 
-       git_buf_free(&buf);
+       git_buf_dispose(&buf);
        git_config_free(config);
 
        p_unlink(TEST_CONFIG);
index 6465671346338ea3c552604af26629a726aa8018..ccc479bc1c778d07ed5e76a78fe2ff27a4bd64c0 100644 (file)
@@ -6,7 +6,7 @@ static git_buf buf = GIT_BUF_INIT;
 
 void test_config_read__cleanup(void)
 {
-       git_buf_free(&buf);
+       git_buf_dispose(&buf);
 }
 
 void test_config_read__simple_read(void)
@@ -306,6 +306,15 @@ void test_config_read__foreach(void)
 
 void test_config_read__iterator(void)
 {
+       const char *keys[] = {
+               "core.dummy2",
+               "core.verylong",
+               "core.dummy",
+               "remote.ab.url",
+               "remote.abba.url",
+               "core.dummy2",
+               "core.global"
+       };
        git_config *cfg;
        git_config_iterator *iter;
        git_config_entry *entry;
@@ -321,6 +330,7 @@ void test_config_read__iterator(void)
        cl_git_pass(git_config_iterator_new(&iter, cfg));
 
        while ((ret = git_config_next(&entry, iter)) == 0) {
+               cl_assert_equal_s(entry->name, keys[count]);
                count++;
        }
 
@@ -524,6 +534,26 @@ void test_config_read__fallback_from_local_to_global_and_from_global_to_system(v
        git_config_free(cfg);
 }
 
+void test_config_read__parent_dir_is_file(void)
+{
+       git_config *cfg;
+       int count;
+
+       cl_git_pass(git_config_new(&cfg));
+       /*
+        * Verify we can add non-existing files when the parent directory is not
+        * a directory.
+        */
+       cl_git_pass(git_config_add_file_ondisk(cfg, "/dev/null/.gitconfig",
+               GIT_CONFIG_LEVEL_SYSTEM, NULL, 0));
+
+       count = 0;
+       cl_git_pass(git_config_foreach(cfg, count_cfg_entries_and_compare_levels, &count));
+       cl_assert_equal_i(0, count);
+
+       git_config_free(cfg);
+}
+
 /*
  * At the beginning of the test, config18 has:
  *     int32global = 28
@@ -678,29 +708,29 @@ void test_config_read__path(void)
        cl_git_pass(git_config_open_ondisk(&cfg, "./testconfig"));
        cl_git_pass(git_config_get_path(&path, cfg, "some.path"));
        cl_assert_equal_s(expected_path.ptr, path.ptr);
-       git_buf_free(&path);
+       git_buf_dispose(&path);
 
        cl_git_mkfile("./testconfig", "[some]\n path = ~/");
        cl_git_pass(git_path_join_unrooted(&expected_path, "", home_path.ptr, NULL));
 
        cl_git_pass(git_config_get_path(&path, cfg, "some.path"));
        cl_assert_equal_s(expected_path.ptr, path.ptr);
-       git_buf_free(&path);
+       git_buf_dispose(&path);
 
        cl_git_mkfile("./testconfig", "[some]\n path = ~");
        cl_git_pass(git_buf_sets(&expected_path, home_path.ptr));
 
        cl_git_pass(git_config_get_path(&path, cfg, "some.path"));
        cl_assert_equal_s(expected_path.ptr, path.ptr);
-       git_buf_free(&path);
+       git_buf_dispose(&path);
 
        cl_git_mkfile("./testconfig", "[some]\n path = ~user/foo");
        cl_git_fail(git_config_get_path(&path, cfg, "some.path"));
 
        cl_git_pass(git_libgit2_opts(GIT_OPT_SET_SEARCH_PATH, GIT_CONFIG_LEVEL_GLOBAL, old_path.ptr));
-       git_buf_free(&old_path);
-       git_buf_free(&home_path);
-       git_buf_free(&expected_path);
+       git_buf_dispose(&old_path);
+       git_buf_dispose(&home_path);
+       git_buf_dispose(&expected_path);
        git_config_free(cfg);
 }
 
@@ -716,7 +746,7 @@ void test_config_read__crlf_style_line_endings(void)
        cl_assert_equal_s(buf.ptr, "value");
 
        git_config_free(cfg);
-       git_buf_free(&buf);
+       git_buf_dispose(&buf);
 }
 
 void test_config_read__trailing_crlf(void)
@@ -731,7 +761,7 @@ void test_config_read__trailing_crlf(void)
        cl_assert_equal_s(buf.ptr, "value");
 
        git_config_free(cfg);
-       git_buf_free(&buf);
+       git_buf_dispose(&buf);
 }
 
 void test_config_read__bom(void)
@@ -746,7 +776,37 @@ void test_config_read__bom(void)
        cl_assert_equal_s(buf.ptr, "value");
 
        git_config_free(cfg);
-       git_buf_free(&buf);
+       git_buf_dispose(&buf);
+}
+
+void test_config_read__single_line(void)
+{
+       git_buf buf = GIT_BUF_INIT;
+       git_config *cfg;
+
+       cl_set_cleanup(&clean_test_config, NULL);
+       cl_git_mkfile("./testconfig", "[some] var = value\n[some \"OtheR\"] var = value");
+       cl_git_pass(git_config_open_ondisk(&cfg, "./testconfig"));
+       cl_git_pass(git_config_get_string_buf(&buf, cfg, "some.var"));
+       cl_assert_equal_s(buf.ptr, "value");
+
+       git_buf_clear(&buf);
+       cl_git_pass(git_config_get_string_buf(&buf, cfg, "some.OtheR.var"));
+       cl_assert_equal_s(buf.ptr, "value");
+
+       git_config_free(cfg);
+       cl_git_mkfile("./testconfig", "[some] var = value\n[some \"OtheR\"]var = value");
+       cl_git_pass(git_config_open_ondisk(&cfg, "./testconfig"));
+       git_buf_clear(&buf);
+       cl_git_pass(git_config_get_string_buf(&buf, cfg, "some.var"));
+       cl_assert_equal_s(buf.ptr, "value");
+
+       git_buf_clear(&buf);
+       cl_git_pass(git_config_get_string_buf(&buf, cfg, "some.OtheR.var"));
+       cl_assert_equal_s(buf.ptr, "value");
+
+       git_config_free(cfg);
+       git_buf_dispose(&buf);
 }
 
 static int read_nosection_cb(const git_config_entry *entry, void *payload) {
@@ -778,6 +838,6 @@ void test_config_read__nosection(void)
        cl_git_pass(git_config_foreach(cfg, read_nosection_cb, &seen));
        cl_assert_equal_i(seen, 1);
 
-       git_buf_free(&buf);
+       git_buf_dispose(&buf);
        git_config_free(cfg);
 }
index a424922c1cf114ddf7063869c558489ce4ee7d02..5d544b8cb4a08bb9bea67ce4ff1893d58f30c169 100644 (file)
@@ -1,5 +1,5 @@
 #include "clar_libgit2.h"
-#include "config_file.h"
+#include "config_backend.h"
 #include "config.h"
 #include "path.h"
 
@@ -20,7 +20,7 @@ void test_config_readonly__writing_to_readonly_fails(void)
 {
        git_config_backend *backend;
 
-       cl_git_pass(git_config_file__ondisk(&backend, "global"));
+       cl_git_pass(git_config_backend_from_file(&backend, "global"));
        backend->readonly = 1;
        cl_git_pass(git_config_add_backend(cfg, backend, GIT_CONFIG_LEVEL_GLOBAL, NULL, 0));
 
@@ -32,11 +32,11 @@ void test_config_readonly__writing_to_cfg_with_rw_precedence_succeeds(void)
 {
        git_config_backend *backend;
 
-       cl_git_pass(git_config_file__ondisk(&backend, "global"));
+       cl_git_pass(git_config_backend_from_file(&backend, "global"));
        backend->readonly = 1;
        cl_git_pass(git_config_add_backend(cfg, backend, GIT_CONFIG_LEVEL_GLOBAL, NULL, 0));
 
-       cl_git_pass(git_config_file__ondisk(&backend, "local"));
+       cl_git_pass(git_config_backend_from_file(&backend, "local"));
        cl_git_pass(git_config_add_backend(cfg, backend, GIT_CONFIG_LEVEL_LOCAL, NULL, 0));
 
        cl_git_pass(git_config_set_string(cfg, "foo.bar", "baz"));
@@ -50,11 +50,11 @@ void test_config_readonly__writing_to_cfg_with_ro_precedence_succeeds(void)
 {
        git_config_backend *backend;
 
-       cl_git_pass(git_config_file__ondisk(&backend, "local"));
+       cl_git_pass(git_config_backend_from_file(&backend, "local"));
        backend->readonly = 1;
        cl_git_pass(git_config_add_backend(cfg, backend, GIT_CONFIG_LEVEL_LOCAL, NULL, 0));
 
-       cl_git_pass(git_config_file__ondisk(&backend, "global"));
+       cl_git_pass(git_config_backend_from_file(&backend, "global"));
        cl_git_pass(git_config_add_backend(cfg, backend, GIT_CONFIG_LEVEL_GLOBAL, NULL, 0));
 
        cl_git_pass(git_config_set_string(cfg, "foo.bar", "baz"));
index a4614158a40305cb417e32f5acfc96ac5301217c..be620c3078eb50da55aad5a67614250fb708ca81 100644 (file)
@@ -66,7 +66,7 @@ void test_config_rename__prevent_overwrite(void)
        /* so, we don't currently prevent overwrite... */
        /* {
                const git_error *err;
-               cl_assert((err = giterr_last()) != NULL);
+               cl_assert((err = git_error_last()) != NULL);
                cl_assert(err->message != NULL);
        } */
 }
index a6b665590b276e1d0114aabd91191dbdb90d2bd1..d86a11d4a3307ab22246829e2a75be392b0c0e7c 100644 (file)
@@ -22,7 +22,7 @@ void test_config_stress__initialize(void)
 
 void test_config_stress__cleanup(void)
 {
-       git_buf_free(&buf);
+       git_buf_dispose(&buf);
        p_unlink(TEST_CONFIG);
 }
 
index 6687ba1f782c505793f743a7f342cbe203dfacc2..bd0f5b277c3a263c1e84e369567f3e3a1e4c9f1d 100644 (file)
@@ -2,7 +2,6 @@
 #include "buffer.h"
 #include "fileops.h"
 #include "git2/sys/config.h"
-#include "config_file.h"
 #include "config.h"
 
 void test_config_write__initialize(void)
@@ -293,7 +292,7 @@ void test_config_write__write_subsection(void)
        cl_git_pass(git_config_get_string_buf(&buf, cfg, "my.own.var"));
        cl_assert_equal_s("works", git_buf_cstr(&buf));
 
-       git_buf_free(&buf);
+       git_buf_dispose(&buf);
        git_config_free(cfg);
 }
 
@@ -335,7 +334,7 @@ void test_config_write__value_containing_quotes(void)
        cl_git_pass(git_config_open_ondisk(&cfg, "config9"));
        cl_git_pass(git_config_get_string_buf(&buf, cfg, "core.somevar"));
        cl_assert_equal_s("this also \"has\" quotes", git_buf_cstr(&buf));
-       git_buf_free(&buf);
+       git_buf_dispose(&buf);
        git_config_free(cfg);
 }
 
@@ -354,7 +353,7 @@ void test_config_write__escape_value(void)
        cl_git_pass(git_config_open_ondisk(&cfg, "config9"));
        cl_git_pass(git_config_get_string_buf(&buf, cfg, "core.somevar"));
        cl_assert_equal_s("this \"has\" quotes and \t", git_buf_cstr(&buf));
-       git_buf_free(&buf);
+       git_buf_dispose(&buf);
        git_config_free(cfg);
 }
 
@@ -365,7 +364,7 @@ void test_config_write__add_value_at_specific_level(void)
        int64_t l, expected = +9223372036854775803;
        git_buf buf = GIT_BUF_INIT;
 
-       // open config15 as global level config file
+       /* open config15 as global level config file */
        cl_git_pass(git_config_new(&cfg));
        cl_git_pass(git_config_add_file_ondisk(cfg, "config9",
                GIT_CONFIG_LEVEL_LOCAL, NULL, 0));
@@ -381,7 +380,7 @@ void test_config_write__add_value_at_specific_level(void)
        git_config_free(cfg_specific);
        git_config_free(cfg);
 
-       // open config15 as local level config file
+       /* open config15 as local level config file */
        cl_git_pass(git_config_open_ondisk(&cfg, "config15"));
 
        cl_git_pass(git_config_get_int32(&i, cfg, "core.int32global"));
@@ -393,7 +392,7 @@ void test_config_write__add_value_at_specific_level(void)
        cl_git_pass(git_config_get_string_buf(&buf, cfg, "core.stringglobal"));
        cl_assert_equal_s("I'm a global config value!", git_buf_cstr(&buf));
 
-       git_buf_free(&buf);
+       git_buf_dispose(&buf);
        git_config_free(cfg);
 }
 
@@ -489,7 +488,7 @@ void test_config_write__can_set_an_empty_value(void)
        cl_git_pass(git_config_get_string_buf(&buf, config, "core.somevar"));
        cl_assert_equal_s("", buf.ptr);
 
-       git_buf_free(&buf);
+       git_buf_dispose(&buf);
        git_config_free(config);
        cl_git_sandbox_cleanup();
 }
@@ -581,7 +580,7 @@ void test_config_write__preserves_whitespace_and_comments(void)
 
        cl_assert_equal_s("[newsection]\n\tnewname = new_value\n", n);
 
-       git_buf_free(&newfile);
+       git_buf_dispose(&newfile);
        git_config_free(cfg);
 }
 
@@ -600,7 +599,7 @@ void test_config_write__preserves_entry_with_name_only(void)
        cl_git_pass(git_futils_readbuffer(&newfile, file_name));
        cl_assert_equal_s("[section \"foo\"]\n\tname\n\tother = otherval\n[newsection]\n\tnewname = new_value\n", newfile.ptr);
 
-       git_buf_free(&newfile);
+       git_buf_dispose(&newfile);
        git_config_free(cfg);
 }
 
@@ -618,7 +617,7 @@ void test_config_write__to_empty_file(void)
        cl_git_pass(git_futils_readbuffer(&result, "config-file"));
        cl_assert_equal_s("[section]\n\tname = value\n", result.ptr);
 
-       git_buf_free(&result);
+       git_buf_dispose(&result);
 }
 
 void test_config_write__to_file_with_only_comment(void)
@@ -635,7 +634,7 @@ void test_config_write__to_file_with_only_comment(void)
        cl_git_pass(git_futils_readbuffer(&result, "config-file"));
        cl_assert_equal_s("\n\n[section]\n\tname = value\n", result.ptr);
 
-       git_buf_free(&result);
+       git_buf_dispose(&result);
 }
 
 void test_config_write__locking(void)
@@ -718,7 +717,7 @@ void test_config_write__repeated(void)
 
        cl_git_pass(git_futils_readbuffer(&result, filename));
        cl_assert_equal_s(expected, result.ptr);
-       git_buf_free(&result);
+       git_buf_dispose(&result);
 
        git_config_free(cfg);
 }
@@ -741,7 +740,7 @@ void test_config_write__preserve_case(void)
 
        cl_git_pass(git_futils_readbuffer(&result, filename));
        cl_assert_equal_s(expected, result.ptr);
-       git_buf_free(&result);
+       git_buf_dispose(&result);
 
        git_config_free(cfg);
 }
index c4308cbbfd291ffff90a83a879ee9b8bd014a31d..b8a76b39c9e7ba51ca279e607068c4fbcc08fd65 100644 (file)
@@ -28,7 +28,7 @@ void test_core_buffer__0(void)
        cl_assert(git_buf_oom(&buf) == 0);
        cl_assert_equal_s(test_string_x2, git_buf_cstr(&buf));
 
-       git_buf_free(&buf);
+       git_buf_dispose(&buf);
 }
 
 /* test git_buf_printf */
@@ -44,7 +44,7 @@ void test_core_buffer__1(void)
        cl_assert(git_buf_oom(&buf) == 0);
        cl_assert_equal_s("shoop da 23 woop 42", git_buf_cstr(&buf));
 
-       git_buf_free(&buf);
+       git_buf_dispose(&buf);
 }
 
 /* more thorough test of concatenation options */
@@ -57,7 +57,7 @@ void test_core_buffer__2(void)
        cl_assert(buf.size == 0);
 
        /* this must be safe to do */
-       git_buf_free(&buf);
+       git_buf_dispose(&buf);
        cl_assert(buf.size == 0);
        cl_assert(buf.asize == 0);
 
@@ -67,7 +67,7 @@ void test_core_buffer__2(void)
        /* cl_assert(buf.asize == 0); -- should not assume what git_buf does */
 
        /* free should set us back to the beginning */
-       git_buf_free(&buf);
+       git_buf_dispose(&buf);
        cl_assert(buf.size == 0);
        cl_assert(buf.asize == 0);
 
@@ -88,7 +88,7 @@ void test_core_buffer__2(void)
        }
        cl_assert_equal_s("++++++++++++++++++", git_buf_cstr(&buf));
 
-       git_buf_free(&buf);
+       git_buf_dispose(&buf);
 
        /* add data */
        git_buf_put(&buf, "xo", 2);
@@ -108,7 +108,7 @@ void test_core_buffer__2(void)
        cl_assert_equal_s("xoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxo",
                                           git_buf_cstr(&buf));
 
-       git_buf_free(&buf);
+       git_buf_dispose(&buf);
 
        /* set to string */
        git_buf_sets(&buf, test_string);
@@ -129,7 +129,7 @@ void test_core_buffer__2(void)
        git_buf_clear(&buf);
        cl_assert_equal_s("", git_buf_cstr(&buf));
 
-       git_buf_free(&buf);
+       git_buf_dispose(&buf);
 
        /* test extracting data into buffer */
        git_buf_puts(&buf, REP4("0123456789"));
@@ -153,7 +153,7 @@ void test_core_buffer__2(void)
        cl_assert_equal_s(REP4(REP16("x")) REP16("x") REP16("x")
                                           REP16("x") "xxxxxxxxxxxxxxx", data);
 
-       git_buf_free(&buf);
+       git_buf_dispose(&buf);
 
        git_buf_copy_cstr(data, sizeof(data), &buf);
        cl_assert_equal_s("", data);
@@ -179,7 +179,7 @@ void test_core_buffer__3(void)
        cl_assert(git_buf_oom(&buf) == 0);
        cl_assert_equal_s(test_4096, git_buf_cstr(&buf));
 
-       git_buf_free(&buf);
+       git_buf_dispose(&buf);
 }
 
 /* let's try some producer/consumer tests */
@@ -212,7 +212,7 @@ void test_core_buffer__4(void)
        git_buf_consume(&buf, buf.ptr + buf.size);
        cl_assert_equal_s("", git_buf_cstr(&buf));
 
-       git_buf_free(&buf);
+       git_buf_dispose(&buf);
 }
 
 
@@ -235,7 +235,7 @@ check_buf_append(
        if (expected_asize > 0)
                cl_assert(tgt.asize == expected_asize);
 
-       git_buf_free(&tgt);
+       git_buf_dispose(&tgt);
 }
 
 static void
@@ -275,7 +275,7 @@ check_buf_append_abc(
        cl_assert(git_buf_oom(&buf) == 0);
        cl_assert_equal_s(expected_abcabc, git_buf_cstr(&buf));
 
-       git_buf_free(&buf);
+       git_buf_dispose(&buf);
 }
 
 /* more variations on append tests */
@@ -340,8 +340,8 @@ void test_core_buffer__6(void)
        cl_assert_equal_s("bar", git_buf_cstr(&a));
        cl_assert_equal_s("foo", git_buf_cstr(&b));
 
-       git_buf_free(&a);
-       git_buf_free(&b);
+       git_buf_dispose(&a);
+       git_buf_dispose(&b);
 }
 
 
@@ -367,7 +367,7 @@ void test_core_buffer__7(void)
        cl_assert_equal_s(NULL, b);
        cl_assert_equal_s("", a.ptr);
 
-       git_buf_free(&a);
+       git_buf_dispose(&a);
 
        b = git__strdup(fun);
        git_buf_attach(&a, b, 0);
@@ -376,7 +376,7 @@ void test_core_buffer__7(void)
        cl_assert(a.size == strlen(fun));
        cl_assert(a.asize == strlen(fun) + 1);
 
-       git_buf_free(&a);
+       git_buf_dispose(&a);
 
        b = git__strdup(fun);
        git_buf_attach(&a, b, strlen(fun) + 1);
@@ -385,7 +385,7 @@ void test_core_buffer__7(void)
        cl_assert(a.size == strlen(fun));
        cl_assert(a.asize == strlen(fun) + 1);
 
-       git_buf_free(&a);
+       git_buf_dispose(&a);
 }
 
 
@@ -401,7 +401,7 @@ check_joinbuf_2(
        git_buf_join(&buf, sep, a, b);
        cl_assert(git_buf_oom(&buf) == 0);
        cl_assert_equal_s(expected, git_buf_cstr(&buf));
-       git_buf_free(&buf);
+       git_buf_dispose(&buf);
 }
 
 static void
@@ -418,7 +418,7 @@ check_joinbuf_overlapped(
        git_buf_join(&buf, sep, buf.ptr + ofs_a, b);
        cl_assert(git_buf_oom(&buf) == 0);
        cl_assert_equal_s(expected, git_buf_cstr(&buf));
-       git_buf_free(&buf);
+       git_buf_dispose(&buf);
 }
 
 static void
@@ -437,7 +437,7 @@ check_joinbuf_n_2(
        cl_assert(git_buf_oom(&buf) == 0);
        cl_assert_equal_s(expected, git_buf_cstr(&buf));
 
-       git_buf_free(&buf);
+       git_buf_dispose(&buf);
 }
 
 static void
@@ -453,7 +453,7 @@ check_joinbuf_n_4(
        git_buf_join_n(&buf, sep, 4, a, b, c, d);
        cl_assert(git_buf_oom(&buf) == 0);
        cl_assert_equal_s(expected, git_buf_cstr(&buf));
-       git_buf_free(&buf);
+       git_buf_dispose(&buf);
 }
 
 /* test join */
@@ -473,7 +473,7 @@ void test_core_buffer__8(void)
        cl_assert(git_buf_oom(&a) == 0);
        cl_assert_equal_s("foo/bar/baz", git_buf_cstr(&a));
 
-       git_buf_free(&a);
+       git_buf_dispose(&a);
 
        check_joinbuf_2(NULL, "", "");
        check_joinbuf_2(NULL, "a", "a");
@@ -578,7 +578,7 @@ void test_core_buffer__9(void)
                }
        }
 
-       git_buf_free(&buf);
+       git_buf_dispose(&buf);
 }
 
 void test_core_buffer__10(void)
@@ -595,7 +595,7 @@ void test_core_buffer__10(void)
        cl_git_pass(git_buf_join_n(&a, '/', 2, a.ptr, "more"));
        cl_assert_equal_s(a.ptr, "test/string/join/test/string/join/more");
 
-       git_buf_free(&a);
+       git_buf_dispose(&a);
 }
 
 void test_core_buffer__join3(void)
@@ -627,7 +627,7 @@ void test_core_buffer__join3(void)
        cl_git_pass(git_buf_join3(&a, '/', "string/", "", "/join"));
        cl_assert_equal_s("string/join", a.ptr);
 
-       git_buf_free(&a);
+       git_buf_dispose(&a);
 }
 
 void test_core_buffer__11(void)
@@ -677,7 +677,7 @@ void test_core_buffer__11(void)
        cl_git_pass(git_buf_text_common_prefix(&a, &t));
        cl_assert_equal_s(a.ptr, "");
 
-       git_buf_free(&a);
+       git_buf_dispose(&a);
 }
 
 void test_core_buffer__rfind_variants(void)
@@ -701,7 +701,7 @@ void test_core_buffer__rfind_variants(void)
        cl_assert(git_buf_rfind(&a, 'q') == -1);
        cl_assert(git_buf_rfind_next(&a, 'q') == -1);
 
-       git_buf_free(&a);
+       git_buf_dispose(&a);
 }
 
 void test_core_buffer__puts_escaped(void)
@@ -724,7 +724,7 @@ void test_core_buffer__puts_escaped(void)
        cl_git_pass(git_buf_text_puts_escape_regex(&a, "^match\\s*[A-Z]+.*"));
        cl_assert_equal_s("\\^match\\\\s\\*\\[A-Z\\]\\+\\.\\*", a.ptr);
 
-       git_buf_free(&a);
+       git_buf_dispose(&a);
 }
 
 static void assert_unescape(char *expected, char *to_unescape) {
@@ -735,7 +735,7 @@ static void assert_unescape(char *expected, char *to_unescape) {
        cl_assert_equal_s(expected, buf.ptr);
        cl_assert_equal_sz(strlen(expected), buf.size);
 
-       git_buf_free(&buf);
+       git_buf_dispose(&buf);
 }
 
 void test_core_buffer__unescape(void)
@@ -769,7 +769,7 @@ void test_core_buffer__encode_base64(void)
        cl_git_pass(git_buf_encode_base64(&buf, "this!\n", 6));
        cl_assert_equal_s("dGhpcyEK", buf.ptr);
 
-       git_buf_free(&buf);
+       git_buf_dispose(&buf);
 }
 
 void test_core_buffer__decode_base64(void)
@@ -790,7 +790,7 @@ void test_core_buffer__decode_base64(void)
        cl_git_fail(git_buf_decode_base64(&buf, "This is not a valid base64 string!!!", 36));
        cl_assert_equal_s("this!\n", buf.ptr);
 
-       git_buf_free(&buf);
+       git_buf_dispose(&buf);
 }
 
 void test_core_buffer__encode_base85(void)
@@ -810,7 +810,7 @@ void test_core_buffer__encode_base85(void)
        cl_assert_equal_s("bZBXFAZc?TVqtS-AUHK3Wo~0{WMyOk", buf.ptr);
        git_buf_clear(&buf);
 
-       git_buf_free(&buf);
+       git_buf_dispose(&buf);
 }
 
 void test_core_buffer__decode_base85(void)
@@ -832,7 +832,7 @@ void test_core_buffer__decode_base85(void)
        cl_assert_equal_s("this is base 85 encoded", buf.ptr);
        git_buf_clear(&buf);
 
-       git_buf_free(&buf);
+       git_buf_dispose(&buf);
 }
 
 void test_core_buffer__decode_base85_fails_gracefully(void)
@@ -848,7 +848,7 @@ void test_core_buffer__decode_base85_fails_gracefully(void)
        cl_assert_equal_sz(6, buf.size);
        cl_assert_equal_s("foobar", buf.ptr);
 
-       git_buf_free(&buf);
+       git_buf_dispose(&buf);
 }
 
 void test_core_buffer__classify_with_utf8(void)
@@ -977,7 +977,7 @@ void test_core_buffer__similarity_metric(void)
        git_hashsig_free(a);
        git_hashsig_free(b);
 
-       git_buf_free(&buf);
+       git_buf_dispose(&buf);
        git_futils_rmdir_r("scratch", NULL, GIT_RMDIR_REMOVE_FILES);
 }
 
@@ -1057,7 +1057,7 @@ void test_core_buffer__similarity_metric_whitespace(void)
                }
        }
 
-       git_buf_free(&buf);
+       git_buf_dispose(&buf);
 }
 
 #include "../filter/crlf.h"
@@ -1150,8 +1150,8 @@ void test_core_buffer__lf_and_crlf_conversions(void)
        cl_git_pass(git_buf_text_crlf_to_lf(&tgt, &src));
        check_buf("\rcr\r", tgt);
 
-       git_buf_free(&src);
-       git_buf_free(&tgt);
+       git_buf_dispose(&src);
+       git_buf_dispose(&tgt);
 
        /* blob correspondence tests */
 
@@ -1161,8 +1161,8 @@ void test_core_buffer__lf_and_crlf_conversions(void)
        git_buf_sets(&src, ALL_CRLF_TEXT_RAW);
        cl_git_pass(git_buf_text_crlf_to_lf(&tgt, &src));
        check_buf(ALL_CRLF_TEXT_AS_LF, tgt);
-       git_buf_free(&src);
-       git_buf_free(&tgt);
+       git_buf_dispose(&src);
+       git_buf_dispose(&tgt);
 
        git_buf_sets(&src, ALL_LF_TEXT_RAW);
        cl_git_pass(git_buf_text_lf_to_crlf(&tgt, &src));
@@ -1170,8 +1170,8 @@ void test_core_buffer__lf_and_crlf_conversions(void)
        git_buf_sets(&src, ALL_LF_TEXT_RAW);
        cl_git_pass(git_buf_text_crlf_to_lf(&tgt, &src));
        check_buf(ALL_LF_TEXT_AS_LF, tgt);
-       git_buf_free(&src);
-       git_buf_free(&tgt);
+       git_buf_dispose(&src);
+       git_buf_dispose(&tgt);
 
        git_buf_sets(&src, MORE_CRLF_TEXT_RAW);
        cl_git_pass(git_buf_text_lf_to_crlf(&tgt, &src));
@@ -1179,8 +1179,8 @@ void test_core_buffer__lf_and_crlf_conversions(void)
        git_buf_sets(&src, MORE_CRLF_TEXT_RAW);
        cl_git_pass(git_buf_text_crlf_to_lf(&tgt, &src));
        check_buf(MORE_CRLF_TEXT_AS_LF, tgt);
-       git_buf_free(&src);
-       git_buf_free(&tgt);
+       git_buf_dispose(&src);
+       git_buf_dispose(&tgt);
 
        git_buf_sets(&src, MORE_LF_TEXT_RAW);
        cl_git_pass(git_buf_text_lf_to_crlf(&tgt, &src));
@@ -1188,8 +1188,8 @@ void test_core_buffer__lf_and_crlf_conversions(void)
        git_buf_sets(&src, MORE_LF_TEXT_RAW);
        cl_git_pass(git_buf_text_crlf_to_lf(&tgt, &src));
        check_buf(MORE_LF_TEXT_AS_LF, tgt);
-       git_buf_free(&src);
-       git_buf_free(&tgt);
+       git_buf_dispose(&src);
+       git_buf_dispose(&tgt);
 }
 
 void test_core_buffer__dont_grow_borrowed(void)
index 2bd60269d7a6db763f1bafc511f02cdda4a708f7..a2448b498de8487b03cf141a527181f3985e3eab 100644 (file)
@@ -55,7 +55,7 @@ static void dirent_cleanup__cb(void *_d)
 
        cl_must_pass(p_rmdir(top_dir));
 
-       git_buf_free(&d->path);
+       git_buf_dispose(&d->path);
 }
 
 static void check_counts(walk_data *d)
index 1af0e6e5df15b40b7b64a3ff26535b61696da040..7e7b3274dec8997c03c87272f9207a5806eb7c98 100644 (file)
@@ -162,8 +162,8 @@ void test_core_env__0(void)
                (void)p_rmdir(*val);
        }
 
-       git_buf_free(&path);
-       git_buf_free(&found);
+       git_buf_dispose(&path);
+       git_buf_dispose(&found);
 }
 
 
@@ -206,7 +206,7 @@ void test_core_env__1(void)
                GIT_ENOTFOUND, git_sysdir_find_system_file(&path, "nonexistentfile"));
 #endif
 
-       git_buf_free(&path);
+       git_buf_dispose(&path);
 }
 
 static void check_global_searchpath(
@@ -245,7 +245,7 @@ static void check_global_searchpath(
        cl_assert_equal_i(
                GIT_ENOTFOUND, git_sysdir_find_global_file(temp, file));
 
-       git_buf_free(&out);
+       git_buf_dispose(&out);
 }
 
 void test_core_env__2(void)
@@ -295,8 +295,8 @@ void test_core_env__2(void)
                (void)p_rmdir(*val);
        }
 
-       git_buf_free(&path);
-       git_buf_free(&found);
+       git_buf_dispose(&path);
+       git_buf_dispose(&found);
 }
 
 void test_core_env__substitution(void)
@@ -316,6 +316,6 @@ void test_core_env__substitution(void)
   cl_git_pass(git_buf_join(&expected, GIT_PATH_LIST_SEPARATOR, "/tmp/a", "/tmp/b"));
   cl_assert_equal_s(expected.ptr, buf.ptr);
 
-  git_buf_free(&expected);
-  git_buf_free(&buf);
+  git_buf_dispose(&expected);
+  git_buf_dispose(&buf);
 }
index ab18951a667403347398043f053e514be92f1ee2..386ecdc5f4d32e57693739fa224c47a5b9fd7251 100644 (file)
@@ -4,26 +4,26 @@ void test_core_errors__public_api(void)
 {
        char *str_in_error;
 
-       giterr_clear();
-       cl_assert(giterr_last() == NULL);
+       git_error_clear();
+       cl_assert(git_error_last() == NULL);
 
-       giterr_set_oom();
+       git_error_set_oom();
 
-       cl_assert(giterr_last() != NULL);
-       cl_assert(giterr_last()->klass == GITERR_NOMEMORY);
-       str_in_error = strstr(giterr_last()->message, "memory");
+       cl_assert(git_error_last() != NULL);
+       cl_assert(git_error_last()->klass == GIT_ERROR_NOMEMORY);
+       str_in_error = strstr(git_error_last()->message, "memory");
        cl_assert(str_in_error != NULL);
 
-       giterr_clear();
+       git_error_clear();
 
-       giterr_set_str(GITERR_REPOSITORY, "This is a test");
+       git_error_set_str(GIT_ERROR_REPOSITORY, "This is a test");
 
-       cl_assert(giterr_last() != NULL);
-       str_in_error = strstr(giterr_last()->message, "This is a test");
+       cl_assert(git_error_last() != NULL);
+       str_in_error = strstr(git_error_last()->message, "This is a test");
        cl_assert(str_in_error != NULL);
 
-       giterr_clear();
-       cl_assert(giterr_last() == NULL);
+       git_error_clear();
+       cl_assert(git_error_last() == NULL);
 }
 
 #include "common.h"
@@ -34,26 +34,26 @@ void test_core_errors__new_school(void)
 {
        char *str_in_error;
 
-       giterr_clear();
-       cl_assert(giterr_last() == NULL);
+       git_error_clear();
+       cl_assert(git_error_last() == NULL);
 
-       giterr_set_oom(); /* internal fn */
+       git_error_set_oom(); /* internal fn */
 
-       cl_assert(giterr_last() != NULL);
-       cl_assert(giterr_last()->klass == GITERR_NOMEMORY);
-       str_in_error = strstr(giterr_last()->message, "memory");
+       cl_assert(git_error_last() != NULL);
+       cl_assert(git_error_last()->klass == GIT_ERROR_NOMEMORY);
+       str_in_error = strstr(git_error_last()->message, "memory");
        cl_assert(str_in_error != NULL);
 
-       giterr_clear();
+       git_error_clear();
 
-       giterr_set(GITERR_REPOSITORY, "This is a test"); /* internal fn */
+       git_error_set(GIT_ERROR_REPOSITORY, "This is a test"); /* internal fn */
 
-       cl_assert(giterr_last() != NULL);
-       str_in_error = strstr(giterr_last()->message, "This is a test");
+       cl_assert(git_error_last() != NULL);
+       str_in_error = strstr(git_error_last()->message, "This is a test");
        cl_assert(str_in_error != NULL);
 
-       giterr_clear();
-       cl_assert(giterr_last() == NULL);
+       git_error_clear();
+       cl_assert(git_error_last() == NULL);
 
        do {
                struct stat st;
@@ -61,74 +61,74 @@ void test_core_errors__new_school(void)
                cl_assert(p_lstat("this_file_does_not_exist", &st) < 0);
                GIT_UNUSED(st);
        } while (false);
-       giterr_set(GITERR_OS, "stat failed"); /* internal fn */
+       git_error_set(GIT_ERROR_OS, "stat failed"); /* internal fn */
 
-       cl_assert(giterr_last() != NULL);
-       str_in_error = strstr(giterr_last()->message, "stat failed");
+       cl_assert(git_error_last() != NULL);
+       str_in_error = strstr(git_error_last()->message, "stat failed");
        cl_assert(str_in_error != NULL);
        cl_assert(git__prefixcmp(str_in_error, "stat failed: ") == 0);
        cl_assert(strlen(str_in_error) > strlen("stat failed: "));
 
 #ifdef GIT_WIN32
-       giterr_clear();
+       git_error_clear();
 
        /* The MSDN docs use this to generate a sample error */
        cl_assert(GetProcessId(NULL) == 0);
-       giterr_set(GITERR_OS, "GetProcessId failed"); /* internal fn */
+       git_error_set(GIT_ERROR_OS, "GetProcessId failed"); /* internal fn */
 
-       cl_assert(giterr_last() != NULL);
-       str_in_error = strstr(giterr_last()->message, "GetProcessId failed");
+       cl_assert(git_error_last() != NULL);
+       str_in_error = strstr(git_error_last()->message, "GetProcessId failed");
        cl_assert(str_in_error != NULL);
        cl_assert(git__prefixcmp(str_in_error, "GetProcessId failed: ") == 0);
        cl_assert(strlen(str_in_error) > strlen("GetProcessId failed: "));
 #endif
 
-       giterr_clear();
+       git_error_clear();
 }
 
 void test_core_errors__restore(void)
 {
        git_error_state err_state = {0};
 
-       giterr_clear();
-       cl_assert(giterr_last() == NULL);
+       git_error_clear();
+       cl_assert(git_error_last() == NULL);
 
-       cl_assert_equal_i(0, giterr_state_capture(&err_state, 0));
+       cl_assert_equal_i(0, git_error_state_capture(&err_state, 0));
 
        memset(&err_state, 0x0, sizeof(git_error_state));
 
-       giterr_set(42, "Foo: %s", "bar");
-       cl_assert_equal_i(-1, giterr_state_capture(&err_state, -1));
+       git_error_set(42, "Foo: %s", "bar");
+       cl_assert_equal_i(-1, git_error_state_capture(&err_state, -1));
 
-       cl_assert(giterr_last() == NULL);
+       cl_assert(git_error_last() == NULL);
 
-       giterr_set(99, "Bar: %s", "foo");
+       git_error_set(99, "Bar: %s", "foo");
 
-       giterr_state_restore(&err_state);
+       git_error_state_restore(&err_state);
 
-       cl_assert_equal_i(42, giterr_last()->klass);
-       cl_assert_equal_s("Foo: bar", giterr_last()->message);
+       cl_assert_equal_i(42, git_error_last()->klass);
+       cl_assert_equal_s("Foo: bar", git_error_last()->message);
 }
 
 void test_core_errors__free_state(void)
 {
        git_error_state err_state = {0};
 
-       giterr_clear();
+       git_error_clear();
 
-       giterr_set(42, "Foo: %s", "bar");
-       cl_assert_equal_i(-1, giterr_state_capture(&err_state, -1));
+       git_error_set(42, "Foo: %s", "bar");
+       cl_assert_equal_i(-1, git_error_state_capture(&err_state, -1));
 
-       giterr_set(99, "Bar: %s", "foo");
+       git_error_set(99, "Bar: %s", "foo");
 
-       giterr_state_free(&err_state);
+       git_error_state_free(&err_state);
 
-       cl_assert_equal_i(99, giterr_last()->klass);
-       cl_assert_equal_s("Bar: foo", giterr_last()->message);
+       cl_assert_equal_i(99, git_error_last()->klass);
+       cl_assert_equal_s("Bar: foo", git_error_last()->message);
 
-       giterr_state_restore(&err_state);
+       git_error_state_restore(&err_state);
 
-       cl_assert(giterr_last() == NULL);
+       cl_assert(git_error_last() == NULL);
 }
 
 void test_core_errors__restore_oom(void)
@@ -136,30 +136,30 @@ void test_core_errors__restore_oom(void)
        git_error_state err_state = {0};
        const git_error *oom_error = NULL;
 
-       giterr_clear();
+       git_error_clear();
 
-       giterr_set_oom(); /* internal fn */
-       oom_error = giterr_last();
+       git_error_set_oom(); /* internal fn */
+       oom_error = git_error_last();
        cl_assert(oom_error);
 
-       cl_assert_equal_i(-1, giterr_state_capture(&err_state, -1));
+       cl_assert_equal_i(-1, git_error_state_capture(&err_state, -1));
 
-       cl_assert(giterr_last() == NULL);
-       cl_assert_equal_i(GITERR_NOMEMORY, err_state.error_msg.klass);
+       cl_assert(git_error_last() == NULL);
+       cl_assert_equal_i(GIT_ERROR_NOMEMORY, err_state.error_msg.klass);
        cl_assert_equal_s("Out of memory", err_state.error_msg.message);
 
-       giterr_state_restore(&err_state);
+       git_error_state_restore(&err_state);
 
-       cl_assert(giterr_last()->klass == GITERR_NOMEMORY);
-       cl_assert_(giterr_last() == oom_error, "static oom error not restored");
+       cl_assert(git_error_last()->klass == GIT_ERROR_NOMEMORY);
+       cl_assert_(git_error_last() == oom_error, "static oom error not restored");
 
-       giterr_clear();
+       git_error_clear();
 }
 
 static int test_arraysize_multiply(size_t nelem, size_t size)
 {
        size_t out;
-       GITERR_CHECK_ALLOC_MULTIPLY(&out, nelem, size);
+       GIT_ERROR_CHECK_ALLOC_MULTIPLY(&out, nelem, size);
        return 0;
 }
 
@@ -174,14 +174,14 @@ void test_core_errors__integer_overflow_alloc_multiply(void)
        cl_git_fail(test_arraysize_multiply(SIZE_MAX-1, sizeof(void *)));
        cl_git_fail(test_arraysize_multiply((SIZE_MAX/sizeof(void *))+1, sizeof(void *)));
 
-       cl_assert_equal_i(GITERR_NOMEMORY, giterr_last()->klass);
-       cl_assert_equal_s("Out of memory", giterr_last()->message);
+       cl_assert_equal_i(GIT_ERROR_NOMEMORY, git_error_last()->klass);
+       cl_assert_equal_s("Out of memory", git_error_last()->message);
 }
 
 static int test_arraysize_add(size_t one, size_t two)
 {
        size_t out;
-       GITERR_CHECK_ALLOC_ADD(&out, one, two);
+       GIT_ERROR_CHECK_ALLOC_ADD(&out, one, two);
        return 0;
 }
 
@@ -194,29 +194,29 @@ void test_core_errors__integer_overflow_alloc_add(void)
        cl_git_fail(test_arraysize_multiply(SIZE_MAX-1, 2));
        cl_git_fail(test_arraysize_multiply(SIZE_MAX, SIZE_MAX));
 
-       cl_assert_equal_i(GITERR_NOMEMORY, giterr_last()->klass);
-       cl_assert_equal_s("Out of memory", giterr_last()->message);
+       cl_assert_equal_i(GIT_ERROR_NOMEMORY, git_error_last()->klass);
+       cl_assert_equal_s("Out of memory", git_error_last()->message);
 }
 
 void test_core_errors__integer_overflow_sets_oom(void)
 {
        size_t out;
 
-       giterr_clear();
+       git_error_clear();
        cl_assert(!GIT_ADD_SIZET_OVERFLOW(&out, SIZE_MAX-1, 1));
-       cl_assert_equal_p(NULL, giterr_last());
+       cl_assert_equal_p(NULL, git_error_last());
 
-       giterr_clear();
+       git_error_clear();
        cl_assert(!GIT_ADD_SIZET_OVERFLOW(&out, 42, 69));
-       cl_assert_equal_p(NULL, giterr_last());
+       cl_assert_equal_p(NULL, git_error_last());
 
-       giterr_clear();
+       git_error_clear();
        cl_assert(GIT_ADD_SIZET_OVERFLOW(&out, SIZE_MAX, SIZE_MAX));
-       cl_assert_equal_i(GITERR_NOMEMORY, giterr_last()->klass);
-       cl_assert_equal_s("Out of memory", giterr_last()->message);
+       cl_assert_equal_i(GIT_ERROR_NOMEMORY, git_error_last()->klass);
+       cl_assert_equal_s("Out of memory", git_error_last()->message);
 
-       giterr_clear();
+       git_error_clear();
        cl_assert(GIT_ADD_SIZET_OVERFLOW(&out, SIZE_MAX, SIZE_MAX));
-       cl_assert_equal_i(GITERR_NOMEMORY, giterr_last()->klass);
-       cl_assert_equal_s("Out of memory", giterr_last()->message);
+       cl_assert_equal_i(GIT_ERROR_NOMEMORY, git_error_last()->klass);
+       cl_assert_equal_s("Out of memory", git_error_last()->message);
 }
index ef7ac6bd9d6882beb5ef30a3e4e110ef08244f51..8d1952f574f1954db959ae17b730f804fbf9747a 100644 (file)
@@ -8,7 +8,7 @@ void test_core_filebuf__0(void)
        int fd;
        char test[] = "test", testlock[] = "test.lock";
 
-       fd = p_creat(testlock, 0744); //-V536
+       fd = p_creat(testlock, 0744); /* -V536 */
 
        cl_must_pass(fd);
        cl_must_pass(p_close(fd));
@@ -210,8 +210,8 @@ void test_core_filebuf__symlink_follow_absolute_paths(void)
        cl_assert_equal_i(true, git_path_exists("linkdir/target"));
 
        git_filebuf_cleanup(&file);
-       git_buf_free(&source);
-       git_buf_free(&target);
+       git_buf_dispose(&source);
+       git_buf_dispose(&target);
 
        cl_git_pass(git_futils_rmdir_r("linkdir", NULL, GIT_RMDIR_REMOVE_FILES));
 }
index e7f7154ed2beebadaa2f5796fe06e8aaf219a6de..fce4848f5a7bc45744c87a93af9ab7cf96caa12b 100644 (file)
@@ -1,7 +1,7 @@
 #include "clar_libgit2.h"
 #include "fileops.h"
 
-// Fixture setup and teardown
+/* Fixture setup and teardown */
 void test_core_futils__initialize(void)
 {
        cl_must_pass(p_mkdir("futils", 0777));
@@ -33,8 +33,8 @@ void test_core_futils__writebuffer(void)
 
        cl_assert_equal_file(out.ptr, out.size, "futils/test-file");
 
-       git_buf_free(&out);
-       git_buf_free(&append);
+       git_buf_dispose(&out);
+       git_buf_dispose(&append);
 }
 
 void test_core_futils__write_hidden_file(void)
@@ -61,8 +61,8 @@ void test_core_futils__write_hidden_file(void)
        cl_git_pass(git_win32__hidden(&hidden, "futils/test-file"));
        cl_assert(hidden);
 
-       git_buf_free(&out);
-       git_buf_free(&append);
+       git_buf_dispose(&out);
+       git_buf_dispose(&append);
 #endif
 }
 
index ec85ec4e0bc3ba2bf8e201059282e11dd8473837..8cd6b01a98071af1e78e4795a414c9971e77d42a 100644 (file)
@@ -147,7 +147,7 @@ static void do_junction(const char *old, const char *new)
        CloseHandle(handle);
        LocalFree(reparse_buf);
 
-       git_buf_free(&unparsed_buf);
+       git_buf_dispose(&unparsed_buf);
 }
 
 static void do_custom_reparse(const char *path)
@@ -322,7 +322,7 @@ void test_core_link__lstat_symlink(void)
        cl_assert(S_ISLNK(st.st_mode));
        cl_assert_equal_i(git_buf_len(&target_path), st.st_size);
 
-       git_buf_free(&target_path);
+       git_buf_dispose(&target_path);
 }
 
 void test_core_link__lstat_symlink_directory(void)
@@ -345,7 +345,7 @@ void test_core_link__lstat_symlink_directory(void)
        cl_assert(S_ISLNK(st.st_mode));
        cl_assert_equal_i(git_buf_len(&target_path), st.st_size);
 
-       git_buf_free(&target_path);
+       git_buf_dispose(&target_path);
 }
 
 void test_core_link__lstat_dangling_symlink(void)
@@ -397,7 +397,7 @@ void test_core_link__stat_junction(void)
        cl_must_pass(p_stat("stat_junction", &st));
        cl_assert(S_ISDIR(st.st_mode));
 
-       git_buf_free(&target_path);
+       git_buf_dispose(&target_path);
 #endif
 }
 
@@ -417,7 +417,7 @@ void test_core_link__stat_dangling_junction(void)
        cl_must_fail(p_stat("stat_nonexistent_junctarget", &st));
        cl_must_fail(p_stat("stat_dangling_junction", &st));
 
-       git_buf_free(&target_path);
+       git_buf_dispose(&target_path);
 #endif
 }
 
@@ -438,7 +438,7 @@ void test_core_link__lstat_junction(void)
        cl_must_pass(p_lstat("lstat_junction", &st));
        cl_assert(S_ISLNK(st.st_mode));
 
-       git_buf_free(&target_path);
+       git_buf_dispose(&target_path);
 #endif
 }
 
@@ -461,7 +461,7 @@ void test_core_link__lstat_dangling_junction(void)
        cl_assert(S_ISLNK(st.st_mode));
        cl_assert_equal_i(git_buf_len(&target_path), st.st_size);
 
-       git_buf_free(&target_path);
+       git_buf_dispose(&target_path);
 #endif
 }
 
@@ -573,7 +573,7 @@ void test_core_link__readlink_symlink(void)
 
        cl_assert_equal_s(git_buf_cstr(&target_path), buf);
 
-       git_buf_free(&target_path);
+       git_buf_dispose(&target_path);
 }
 
 void test_core_link__readlink_dangling(void)
@@ -596,7 +596,7 @@ void test_core_link__readlink_dangling(void)
 
        cl_assert_equal_s(git_buf_cstr(&target_path), buf);
 
-       git_buf_free(&target_path);
+       git_buf_dispose(&target_path);
 }
 
 void test_core_link__readlink_multiple(void)
@@ -625,8 +625,8 @@ void test_core_link__readlink_multiple(void)
 
        cl_assert_equal_s(git_buf_cstr(&path2), buf);
 
-       git_buf_free(&path1);
-       git_buf_free(&path2);
-       git_buf_free(&path3);
-       git_buf_free(&target_path);
+       git_buf_dispose(&path1);
+       git_buf_dispose(&path2);
+       git_buf_dispose(&path3);
+       git_buf_dispose(&target_path);
 }
index 96c9723962b5247ad5af223cd3fb8ec109a49578..8e52efb1e10cb40ce5098e9d27227b169509a5da 100644 (file)
@@ -49,7 +49,7 @@ void test_core_mkdir__absolute(void)
        cl_git_fail(git_futils_mkdir(path.ptr, 0755, 0));
        cl_assert(!git_path_isdir(path.ptr));
 
-       git_buf_free(&path);
+       git_buf_dispose(&path);
 }
 
 void test_core_mkdir__basic(void)
@@ -256,7 +256,7 @@ void test_core_mkdir__keeps_parent_symlinks(void)
        cl_assert(git_path_isdir("d2/other/dir"));
        cl_assert(git_path_isdir("d0/other/dir"));
 
-       git_buf_free(&path);
+       git_buf_dispose(&path);
 #endif
 }
 
index 617da548319fc22bf62c332123aadd461c6dd1ed..b5f6f99e1c32ea2c169e64d9ec09d0de8869db3f 100644 (file)
@@ -28,7 +28,7 @@ void test_core_oidmap__basic(void)
        cl_assert(map != NULL);
 
        for (i = 0; i < NITEMS; ++i) {
-               khiter_t pos;
+               size_t pos;
                int ret;
 
                pos = git_oidmap_lookup_index(map, &items[i].oid);
@@ -42,7 +42,7 @@ void test_core_oidmap__basic(void)
 
 
        for (i = 0; i < NITEMS; ++i) {
-               khiter_t pos;
+               size_t pos;
 
                pos = git_oidmap_lookup_index(map, &items[i].oid);
                cl_assert(git_oidmap_valid_index(map, pos));
@@ -82,7 +82,7 @@ void test_core_oidmap__hash_collision(void)
        cl_assert(map != NULL);
 
        for (i = 0; i < NITEMS; ++i) {
-               khiter_t pos;
+               size_t pos;
                int ret;
 
                pos = git_oidmap_lookup_index(map, &items[i].oid);
@@ -96,7 +96,7 @@ void test_core_oidmap__hash_collision(void)
 
 
        for (i = 0; i < NITEMS; ++i) {
-               khiter_t pos;
+               size_t pos;
 
                pos = git_oidmap_lookup_index(map, &items[i].oid);
                cl_assert(git_oidmap_valid_index(map, pos));
index fefe2aeac6cf29e843f0d214dc4b5c4a7aca3225..058a710d09acff8012e1318d352c82b5cdac6fa8 100644 (file)
@@ -9,7 +9,7 @@ check_dirname(const char *A, const char *B)
 
        cl_assert(git_path_dirname_r(&dir, A) >= 0);
        cl_assert_equal_s(B, dir.ptr);
-       git_buf_free(&dir);
+       git_buf_dispose(&dir);
 
        cl_assert((dir2 = git_path_dirname(A)) != NULL);
        cl_assert_equal_s(B, dir2);
@@ -24,7 +24,7 @@ check_basename(const char *A, const char *B)
 
        cl_assert(git_path_basename_r(&base, A) >= 0);
        cl_assert_equal_s(B, base.ptr);
-       git_buf_free(&base);
+       git_buf_dispose(&base);
 
        cl_assert((base2 = git_path_basename(A)) != NULL);
        cl_assert_equal_s(B, base2);
@@ -48,7 +48,7 @@ check_joinpath(const char *path_a, const char *path_b, const char *expected_path
        cl_git_pass(git_buf_joinpath(&joined_path, path_a, path_b));
        cl_assert_equal_s(expected_path, joined_path.ptr);
 
-       git_buf_free(&joined_path);
+       git_buf_dispose(&joined_path);
 }
 
 static void
@@ -65,7 +65,7 @@ check_joinpath_n(
                                                           path_a, path_b, path_c, path_d));
        cl_assert_equal_s(expected_path, joined_path.ptr);
 
-       git_buf_free(&joined_path);
+       git_buf_dispose(&joined_path);
 }
 
 
@@ -204,7 +204,7 @@ check_path_to_dir(
        cl_git_pass(git_path_to_dir(&tgt));
        cl_assert_equal_s(expected, tgt.ptr);
 
-       git_buf_free(&tgt);
+       git_buf_dispose(&tgt);
 }
 
 static void
@@ -275,7 +275,7 @@ void test_core_path__08_self_join(void)
        cl_assert_equal_s(path.ptr, "/foo/this is a new string/grow the buffer, grow the buffer, grow the buffer");
        cl_assert(asize < path.asize);
 
-       git_buf_free(&path);
+       git_buf_dispose(&path);
        cl_git_pass(git_buf_sets(&path, "/foo/bar"));
 
        cl_git_pass(git_buf_joinpath(&path, path.ptr + 4, "baz"));
@@ -286,7 +286,7 @@ void test_core_path__08_self_join(void)
        cl_assert_equal_s(path.ptr, "/baz/somethinglongenoughtorealloc");
        cl_assert(asize < path.asize);
        
-       git_buf_free(&path);
+       git_buf_dispose(&path);
 }
 
 static void check_percent_decoding(const char *expected_result, const char *input)
@@ -296,7 +296,7 @@ static void check_percent_decoding(const char *expected_result, const char *inpu
        cl_git_pass(git__percent_decode(&buf, input));
        cl_assert_equal_s(expected_result, git_buf_cstr(&buf));
 
-       git_buf_free(&buf);
+       git_buf_dispose(&buf);
 }
 
 void test_core_path__09_percent_decode(void)
@@ -325,7 +325,7 @@ static void check_fromurl(const char *expected_result, const char *input, int sh
        } else
                cl_git_fail(git_path_fromurl(&buf, input));
 
-       git_buf_free(&buf);
+       git_buf_dispose(&buf);
 }
 
 #ifdef GIT_WIN32
@@ -436,7 +436,7 @@ void test_core_path__11_walkup(void)
                i = info.expect_idx;
        }
 
-       git_buf_free(&p);
+       git_buf_dispose(&p);
 }
 
 void test_core_path__11a_walkup_cancel(void)
@@ -472,7 +472,7 @@ void test_core_path__11a_walkup_cancel(void)
                while (expect[i] != NULL) i++;
        }
 
-       git_buf_free(&p);
+       git_buf_dispose(&p);
 }
 
 void test_core_path__12_offset_to_path_root(void)
@@ -500,7 +500,7 @@ void test_core_path__13_cannot_prettify_a_non_existing_file(void)
        cl_assert_equal_i(GIT_ENOTFOUND, git_path_prettify(&p, NON_EXISTING_FILEPATH, NULL));
        cl_assert_equal_i(GIT_ENOTFOUND, git_path_prettify(&p, NON_EXISTING_FILEPATH "/so-do-i", NULL));
 
-       git_buf_free(&p);
+       git_buf_dispose(&p);
 }
 
 void test_core_path__14_apply_relative(void)
@@ -561,7 +561,7 @@ void test_core_path__14_apply_relative(void)
 
        cl_git_pass(git_path_apply_relative(&p, "../there"));
        cl_assert_equal_s("../../there", p.ptr);
-       git_buf_free(&p);
+       git_buf_dispose(&p);
 }
 
 static void assert_resolve_relative(
@@ -654,7 +654,7 @@ void test_core_path__15_resolve_relative(void)
        assert_resolve_relative(&buf, "/", "//a/b/../..");
 #endif
 
-       git_buf_free(&buf);
+       git_buf_dispose(&buf);
 }
 
 #define assert_common_dirlen(i, p, q) \
@@ -676,3 +676,12 @@ void test_core_path__16_resolve_relative(void)
        assert_common_dirlen(6, "a/b/c/foo.txt", "a/b/c/d/e/bar.txt");
        assert_common_dirlen(7, "/a/b/c/foo.txt", "/a/b/c/d/e/bar.txt");
 }
+
+void test_core_path__git_path_is_file(void)
+{
+       cl_git_fail(git_path_is_gitfile("blob", 4, -1, GIT_PATH_FS_HFS));
+       cl_git_pass(git_path_is_gitfile("blob", 4, GIT_PATH_GITFILE_GITIGNORE, GIT_PATH_FS_HFS));
+       cl_git_pass(git_path_is_gitfile("blob", 4, GIT_PATH_GITFILE_GITMODULES, GIT_PATH_FS_HFS));
+       cl_git_pass(git_path_is_gitfile("blob", 4, GIT_PATH_GITFILE_GITATTRIBUTES, GIT_PATH_FS_HFS));
+       cl_git_fail(git_path_is_gitfile("blob", 4, 3, GIT_PATH_FS_HFS));
+}
index f0b0bfa42931b63d49d9d75f1b9e0b41dd96f664..e00ec5c721d679df6b355ff224b75c7bc4da2bdd 100644 (file)
@@ -24,13 +24,27 @@ void test_core_rmdir__initialize(void)
        cl_git_pass(git_buf_joinpath(&path, empty_tmp_dir, "/two"));
        cl_must_pass(p_mkdir(path.ptr, 0777));
 
-       git_buf_free(&path);
+       git_buf_dispose(&path);
+}
+
+void test_core_rmdir__cleanup(void)
+{
+       if (git_path_exists(empty_tmp_dir))
+               cl_git_pass(git_futils_rmdir_r(empty_tmp_dir, NULL, GIT_RMDIR_REMOVE_FILES));
 }
 
 /* make sure empty dir can be deleted recusively */
 void test_core_rmdir__delete_recursive(void)
 {
+       git_buf path = GIT_BUF_INIT;
+       cl_git_pass(git_buf_joinpath(&path, empty_tmp_dir, "/one"));
+       cl_assert(git_path_exists(git_buf_cstr(&path)));
+
        cl_git_pass(git_futils_rmdir_r(empty_tmp_dir, NULL, GIT_RMDIR_EMPTY_HIERARCHY));
+
+       cl_assert(!git_path_exists(git_buf_cstr(&path)));
+
+       git_buf_dispose(&path);
 }
 
 /* make sure non-empty dir cannot be deleted recusively */
@@ -47,7 +61,15 @@ void test_core_rmdir__fail_to_delete_non_empty_dir(void)
        cl_must_pass(p_unlink(file.ptr));
        cl_git_pass(git_futils_rmdir_r(empty_tmp_dir, NULL, GIT_RMDIR_EMPTY_HIERARCHY));
 
-       git_buf_free(&file);
+       cl_assert(!git_path_exists(empty_tmp_dir));
+
+       git_buf_dispose(&file);
+}
+
+void test_core_rmdir__keep_base(void)
+{
+       cl_git_pass(git_futils_rmdir_r(empty_tmp_dir, NULL, GIT_RMDIR_SKIP_ROOT));
+       cl_assert(git_path_exists(empty_tmp_dir));
 }
 
 void test_core_rmdir__can_skip_non_empty_dir(void)
@@ -64,7 +86,7 @@ void test_core_rmdir__can_skip_non_empty_dir(void)
        cl_git_pass(git_futils_rmdir_r(empty_tmp_dir, NULL, GIT_RMDIR_REMOVE_FILES));
        cl_assert(git_path_exists(empty_tmp_dir) == false);
 
-       git_buf_free(&file);
+       git_buf_dispose(&file);
 }
 
 void test_core_rmdir__can_remove_empty_parents(void)
@@ -92,7 +114,7 @@ void test_core_rmdir__can_remove_empty_parents(void)
 
        cl_assert(git_path_exists(empty_tmp_dir) == true);
 
-       git_buf_free(&file);
+       git_buf_dispose(&file);
 
        cl_git_pass(git_futils_rmdir_r(empty_tmp_dir, NULL, GIT_RMDIR_EMPTY_HIERARCHY));
 }
index c5b20f6e0887c8fd37a82764ff31a2d526cfff3d..f81d40854481fc025e82372e4bc51b386861f2e8 100644 (file)
@@ -54,7 +54,7 @@ void test_core_sha1__detect_collision_attack(void)
 #ifdef GIT_SHA1_COLLISIONDETECT
        GIT_UNUSED(expected);
        cl_git_fail(sha1_file(&oid, FIXTURE_DIR "/shattered-1.pdf"));
-       cl_assert_equal_s("SHA1 collision attack detected", giterr_last()->message);
+       cl_assert_equal_s("SHA1 collision attack detected", git_error_last()->message);
 #else
        cl_git_pass(sha1_file(&oid, FIXTURE_DIR "/shattered-1.pdf"));
        git_oid_fromstr(&expected, "38762cf7f55934b34d179ae6a4c80cadccbb7f0a");
index c1869bee06d5845d7dbace41b3f4efa2e8981340..35e92ece9ce09f450ddbfb46f764863aeb64d3d2 100644 (file)
@@ -266,7 +266,7 @@ static void sortedcache_test_reload(git_sortedcache *sc)
 
        git_sortedcache_wunlock(sc);
 
-       git_buf_free(&buf);
+       git_buf_dispose(&buf);
 }
 
 void test_core_sortedcache__on_disk(void)
index ef2e45a15bbeef73b28b0140c78457e761ebaf9a..59a13464938a2b74587831b22e0a000a20379b42 100644 (file)
@@ -110,5 +110,5 @@ void test_core_stat__root(void)
        cl_must_pass(p_stat(root.ptr, &st));
        cl_assert(S_ISDIR(st.st_mode));
 
-       git_buf_free(&root);
+       git_buf_dispose(&root);
 }
diff --git a/tests/core/stream.c b/tests/core/stream.c
deleted file mode 100644 (file)
index 9bed4ae..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-#include "clar_libgit2.h"
-#include "git2/sys/stream.h"
-#include "streams/tls.h"
-#include "stream.h"
-
-static git_stream test_stream;
-static int ctor_called;
-
-static int test_ctor(git_stream **out, const char *host, const char *port)
-{
-       GIT_UNUSED(host);
-       GIT_UNUSED(port);
-
-       ctor_called = 1;
-       *out = &test_stream;
-
-       return 0;
-}
-
-void test_core_stream__register_tls(void)
-{
-       git_stream *stream;
-       int error;
-
-       ctor_called = 0;
-       cl_git_pass(git_stream_register_tls(test_ctor));
-       cl_git_pass(git_tls_stream_new(&stream, "localhost", "443"));
-       cl_assert_equal_i(1, ctor_called);
-       cl_assert_equal_p(&test_stream, stream);
-
-       ctor_called = 0;
-       stream = NULL;
-       cl_git_pass(git_stream_register_tls(NULL));
-       error = git_tls_stream_new(&stream, "localhost", "443");
-
-       /* We don't have arbitrary TLS stream support on Windows
-        * or when openssl support is disabled (except on OSX
-        * with Security framework).
-        */
-#if defined(GIT_WIN32) || !defined(GIT_HTTPS)
-       cl_git_fail_with(-1, error);
-#else
-       cl_git_pass(error);
-#endif
-
-       cl_assert_equal_i(0, ctor_called);
-       cl_assert(&test_stream != stream);
-
-       git_stream_free(stream);
-}
index 2fa594d435c19d23cc999d83b7f521b47accc4b2..64f516452592c2755e0bf4545a3340cf4e114c68 100644 (file)
@@ -60,7 +60,7 @@ void test_core_strmap__1(void)
 
 void test_core_strmap__2(void)
 {
-       khiter_t pos;
+       size_t pos;
        int i;
        char *str;
 
index ba79fba51089f386cb7d74c44a9619ffc8314a58..25dbe467c1dd966d60e4eebbb9e48fc8cd1cacae 100644 (file)
@@ -64,6 +64,28 @@ void test_core_strtol__int64(void)
        assert_l64_fails("-0x8000000000000001", 16);
 }
 
+void test_core_strtol__base_autodetection(void)
+{
+       assert_l64_parses("0", 0, 0);
+       assert_l64_parses("00", 0, 0);
+       assert_l64_parses("0x", 0, 0);
+       assert_l64_parses("0foobar", 0, 0);
+       assert_l64_parses("07", 7, 0);
+       assert_l64_parses("017", 15, 0);
+       assert_l64_parses("0x8", 8, 0);
+       assert_l64_parses("0x18", 24, 0);
+}
+
+void test_core_strtol__buffer_length_with_autodetection_truncates(void)
+{
+       int64_t i64;
+
+       cl_git_pass(git__strntol64(&i64, "011", 2, NULL, 0));
+       cl_assert_equal_i(i64, 1);
+       cl_git_pass(git__strntol64(&i64, "0x11", 3, NULL, 0));
+       cl_assert_equal_i(i64, 1);
+}
+
 void test_core_strtol__buffer_length_truncates(void)
 {
        int32_t i32;
@@ -76,9 +98,29 @@ void test_core_strtol__buffer_length_truncates(void)
        cl_assert_equal_i(i64, 1);
 }
 
+void test_core_strtol__buffer_length_with_leading_ws_truncates(void)
+{
+       int64_t i64;
+
+       cl_git_fail(git__strntol64(&i64, " 1", 1, NULL, 10));
+
+       cl_git_pass(git__strntol64(&i64, " 11", 2, NULL, 10));
+       cl_assert_equal_i(i64, 1);
+}
+
+void test_core_strtol__buffer_length_with_leading_sign_truncates(void)
+{
+       int64_t i64;
+
+       cl_git_fail(git__strntol64(&i64, "-1", 1, NULL, 10));
+
+       cl_git_pass(git__strntol64(&i64, "-11", 2, NULL, 10));
+       cl_assert_equal_i(i64, -1);
+}
+
 void test_core_strtol__error_message_cuts_off(void)
 {
        assert_l32_fails("2147483657foobar", 10);
-       cl_assert(strstr(giterr_last()->message, "2147483657") != NULL);
-       cl_assert(strstr(giterr_last()->message, "foobar") == NULL);
+       cl_assert(strstr(git_error_last()->message, "2147483657") != NULL);
+       cl_assert(strstr(git_error_last()->message, "foobar") == NULL);
 }
index 5c09223bbf270acb4f00ed9415abd38148249013..c6c5220b2b2ea35e7d635925ca12ff5718798462 100644 (file)
@@ -13,5 +13,5 @@ void test_core_useragent__get(void)
        cl_git_pass(git_libgit2_opts(GIT_OPT_GET_USER_AGENT, &buf));
        cl_assert_equal_s(custom_name, buf.ptr);
 
-       git_buf_free(&buf);
+       git_buf_dispose(&buf);
 }
index 91452404c8b0e5044711141589f174ac00c11781..a7e1a03257c68617e8be1ace39d67674ec308501 100644 (file)
@@ -1,3 +1,5 @@
+#include <stdint.h>
+
 #include "clar_libgit2.h"
 #include "vector.h"
 
@@ -18,13 +20,13 @@ void test_core_vector__0(void)
 void test_core_vector__1(void)
 {
        git_vector x;
-       // make initial capacity exact for our insertions.
+       /* make initial capacity exact for our insertions. */
        git_vector_init(&x, 3, NULL);
        git_vector_insert(&x, (void*) 0xabc);
        git_vector_insert(&x, (void*) 0xdef);
        git_vector_insert(&x, (void*) 0x123);
 
-       git_vector_remove(&x, 0); // used to read past array bounds.
+       git_vector_remove(&x, 0); /* used to read past array bounds. */
        git_vector_free(&x);
 }
 
@@ -66,14 +68,14 @@ void test_core_vector__2(void)
 
 static int compare_them(const void *a, const void *b)
 {
-       return (int)((long)a - (long)b);
+       return (int)((intptr_t)a - (intptr_t)b);
 }
 
 /* insert_sorted */
 void test_core_vector__3(void)
 {
        git_vector x;
-       long i;
+       intptr_t i;
        git_vector_init(&x, 1, &compare_them);
 
        for (i = 0; i < 10; i += 2) {
@@ -96,7 +98,7 @@ void test_core_vector__3(void)
 void test_core_vector__4(void)
 {
        git_vector x;
-       long i;
+       intptr_t i;
        git_vector_init(&x, 1, &compare_them);
 
        for (i = 0; i < 10; i += 2) {
index 961904ec378d855076a4ddd094051ca00e0368d4..bcbb45fde331583f157f27af5e4ae54074ad9e06 100644 (file)
@@ -61,7 +61,7 @@ void test_core_zstream__basic(void)
 void test_core_zstream__fails_on_trailing_garbage(void)
 {
        git_buf deflated = GIT_BUF_INIT, inflated = GIT_BUF_INIT;
-       size_t i = 0;
+       char i = 0;
 
        /* compress a simple string */
        git_zstream_deflatebuf(&deflated, "foobar!!", 8);
@@ -73,8 +73,8 @@ void test_core_zstream__fails_on_trailing_garbage(void)
 
        cl_git_fail(git_zstream_inflatebuf(&inflated, deflated.ptr, deflated.size));
 
-       git_buf_free(&deflated);
-       git_buf_free(&inflated);
+       git_buf_dispose(&deflated);
+       git_buf_dispose(&inflated);
 }
 
 void test_core_zstream__buffer(void)
@@ -82,7 +82,7 @@ void test_core_zstream__buffer(void)
        git_buf out = GIT_BUF_INIT;
        cl_git_pass(git_zstream_deflatebuf(&out, data, strlen(data) + 1));
        assert_zlib_equal(data, strlen(data) + 1, out.ptr, out.size);
-       git_buf_free(&out);
+       git_buf_dispose(&out);
 }
 
 #define BIG_STRING_PART "Big Data IS Big - Long Data IS Long - We need a buffer larger than 1024 x 1024 to make sure we trigger chunked compression - Big Big Data IS Bigger than Big - Long Long Data IS Longer than Long"
@@ -129,15 +129,15 @@ static void compress_and_decompress_input_various_ways(git_buf *input)
                cl_assert_equal_sz(out1.size, out2.size);
                cl_assert(!memcmp(out1.ptr, out2.ptr, out1.size));
 
-               git_buf_free(&out2);
+               git_buf_dispose(&out2);
        }
 
        cl_git_pass(git_zstream_inflatebuf(&inflated, out1.ptr, out1.size));
        cl_assert_equal_i(input->size, inflated.size);
        cl_assert(memcmp(input->ptr, inflated.ptr, inflated.size) == 0);
 
-       git_buf_free(&out1);
-       git_buf_free(&inflated);
+       git_buf_dispose(&out1);
+       git_buf_dispose(&inflated);
        git__free(fixed);
 }
 
@@ -164,5 +164,5 @@ void test_core_zstream__big_data(void)
                compress_and_decompress_input_various_ways(&in);
        }
 
-       git_buf_free(&in);
+       git_buf_dispose(&in);
 }
index eda475ac98098c41c1b3e5f0d659b17134ce86e8..d98c1f05efa2a82bd7bd9566029055fcdab094cf 100644 (file)
@@ -31,7 +31,7 @@ void test_date_rfc2822__format_rfc2822_negative_offset(void)
 
 void test_date_rfc2822__format_rfc2822_buffer_too_small(void)
 {
-       // "Wed, 10 Apr 2014 08:21:03 +0000"
+       /* "Wed, 10 Apr 2014 08:21:03 +0000" */
        git_time t = {1397031663 + 86400, 0};
        char buf[GIT_DATE_RFC2822_SZ-1];
 
index a8c57d874144dea98a71d86cba5acb6703bced91..26ca4efd82598ec78aef60454f70da52084f4cbe 100644 (file)
@@ -50,6 +50,6 @@ void test_describe_describe__describe_a_repo_with_no_refs(void)
 
        git_describe_result_free(result);
        git_object_free(object);
-       git_buf_free(&buf);
+       git_buf_dispose(&buf);
        cl_git_sandbox_cleanup();
 }
index ad9c945c7df082a4408fc81406f5588239ddd2a9..2e6ad539e01ae293d6515eaadca67d93f138f9fa 100644 (file)
@@ -20,7 +20,7 @@ void assert_describe(
 
        git_describe_result_free(result);
        git_object_free(object);
-       git_buf_free(&label);
+       git_buf_dispose(&label);
 }
 
 void assert_describe_workdir(
@@ -38,5 +38,5 @@ void assert_describe_workdir(
        cl_must_pass(p_fnmatch(expected_output, git_buf_cstr(&label), 0));
 
        git_describe_result_free(result);
-       git_buf_free(&label);
+       git_buf_dispose(&label);
 }
index 6df397ec6192bbc80756e59a10400ecf1c2e0199..5ec176b87520fd96a7c1e59c444d2ab683d685b6 100644 (file)
@@ -2,7 +2,7 @@
 #include "describe_helpers.h"
 #include "repository.h"
 
-// Ported from https://github.com/git/git/blob/adfc1857bdb090786fd9d22c1acec39371c76048/t/t6120-describe.sh
+/* Ported from https://github.com/git/git/blob/adfc1857bdb090786fd9d22c1acec39371c76048/t/t6120-describe.sh */
 
 static git_repository *repo;
 
@@ -104,8 +104,8 @@ static void commit_and_tag(
 
        cl_git_append2file("describe/file", "\n");
        
-       git_index_add_bypath(index, "describe/file");
-       git_index_write(index);
+       cl_git_pass(git_index_add_bypath(index, "file"));
+       cl_git_pass(git_index_write(index));
 
        *time += 10;
        cl_repo_commit_from_index(&commit_id, repo, NULL, *time, commit_msg);
index c17ba5ef4e6ee7e832a1f1de65b3d828b4144ba8..7edf37b5129c8c46ff57aecbaa7e80d831774dc4 100644 (file)
@@ -58,7 +58,7 @@ void test_patch(
 
        cl_assert_equal_s(expected, actual.ptr);
 
-       git_buf_free(&actual);
+       git_buf_dispose(&actual);
        git_patch_free(patch);
        git_diff_free(diff);
        git_tree_free(tree_one);
@@ -239,7 +239,7 @@ void test_diff_binary__delta(void)
                expected);
 
        git_index_free(index);
-       git_buf_free(&contents);
+       git_buf_dispose(&contents);
 }
 
 void test_diff_binary__delta_append(void)
@@ -299,7 +299,7 @@ void test_diff_binary__empty_for_no_diff(void)
 
        cl_assert_equal_s("", actual.ptr);
 
-       git_buf_free(&actual);
+       git_buf_dispose(&actual);
        git_diff_free(diff);
        git_commit_free(commit);
        git_tree_free(tree);
@@ -347,7 +347,7 @@ void test_diff_binary__index_to_workdir(void)
                &opts,
                expected);
 
-       git_buf_free(&actual);
+       git_buf_dispose(&actual);
        git_patch_free(patch);
        git_diff_free(diff);
        git_index_free(index);
@@ -403,7 +403,7 @@ void test_diff_binary__print_patch_from_diff(void)
 
        cl_assert_equal_s(expected, actual.ptr);
 
-       git_buf_free(&actual);
+       git_buf_dispose(&actual);
        git_diff_free(diff);
        git_index_free(index);
 }
@@ -541,6 +541,6 @@ void test_diff_binary__blob_to_blob(void)
        git__free(diff_data.old_path);
        git__free(diff_data.new_path);
 
-       git_buf_free(&diff_data.old_binary_base85);
-       git_buf_free(&diff_data.new_binary_base85);
+       git_buf_dispose(&diff_data.old_binary_base85);
+       git_buf_dispose(&diff_data.new_binary_base85);
 }
index 05cc28218c2eef8d64d8101a8272b2f692e83a5a..37898adcffc53ad6340120a071307a95ee18515e 100644 (file)
@@ -101,7 +101,7 @@ void test_diff_blob__patch_with_freed_blobs(void)
        cl_assert_equal_s(buf.ptr, BLOB_DIFF);
 
        git_patch_free(p);
-       git_buf_free(&buf);
+       git_buf_dispose(&buf);
 }
 
 void test_diff_blob__can_compare_text_blobs(void)
@@ -582,8 +582,8 @@ void test_diff_blob__checks_options_version_too_low(void)
        cl_git_fail(git_diff_blobs(
                d, NULL, alien, NULL, &opts,
                diff_file_cb, diff_binary_cb, diff_hunk_cb, diff_line_cb, &expected));
-       err = giterr_last();
-       cl_assert_equal_i(GITERR_INVALID, err->klass);
+       err = git_error_last();
+       cl_assert_equal_i(GIT_ERROR_INVALID, err->klass);
 }
 
 void test_diff_blob__checks_options_version_too_high(void)
@@ -594,8 +594,8 @@ void test_diff_blob__checks_options_version_too_high(void)
        cl_git_fail(git_diff_blobs(
                d, NULL, alien, NULL, &opts,
                diff_file_cb, diff_binary_cb, diff_hunk_cb, diff_line_cb, &expected));
-       err = giterr_last();
-       cl_assert_equal_i(GITERR_INVALID, err->klass);
+       err = git_error_last();
+       cl_assert_equal_i(GIT_ERROR_INVALID, err->klass);
 }
 
 void test_diff_blob__can_correctly_detect_a_binary_blob_as_binary(void)
@@ -1016,7 +1016,7 @@ void test_diff_blob__using_path_and_attributes(void)
        git_buf_clear(&buf);
        git_patch_free(p);
 
-       git_buf_free(&buf);
+       git_buf_dispose(&buf);
        git_blob_free(nonbin);
        git_blob_free(bin);
 }
index 50752b203ad270a751c204584995e75a661f8ce6..e9900339f51d394f07aae2ee762482c97708b3f3 100644 (file)
@@ -12,9 +12,9 @@ git_tree *resolve_commit_oid_to_tree(
        git_tree *tree = NULL;
 
        if (git_oid_fromstrn(&oid, partial_oid, len) == 0)
-               cl_git_pass(git_object_lookup_prefix(&obj, repo, &oid, len, GIT_OBJ_ANY));
+               cl_git_pass(git_object_lookup_prefix(&obj, repo, &oid, len, GIT_OBJECT_ANY));
 
-       cl_git_pass(git_object_peel((git_object **) &tree, obj, GIT_OBJ_TREE));
+       cl_git_pass(git_object_peel((git_object **) &tree, obj, GIT_OBJECT_TREE));
        git_object_free(obj);
        return tree;
 }
@@ -224,7 +224,7 @@ int diff_foreach_via_iterator(
        return 0;
 
 abort:
-       giterr_clear();
+       git_error_clear();
        return GIT_EUSER;
 }
 
index c976e30e29ac178f021d055927de94a12277725b..991c73bf429b205556d64eade4148f78257e8641 100644 (file)
@@ -423,7 +423,7 @@ void test_diff_diffiter__iterate_and_generate_patch_text(void)
 
                cl_assert_equal_s(expected_patch_text[d], buf.ptr);
 
-               git_buf_free(&buf);
+               git_buf_dispose(&buf);
                git_patch_free(patch);
        }
 
@@ -441,13 +441,13 @@ void test_diff_diffiter__checks_options_version(void)
        opts.flags |= GIT_DIFF_INCLUDE_IGNORED | GIT_DIFF_INCLUDE_UNTRACKED;
 
        cl_git_fail(git_diff_index_to_workdir(&diff, repo, NULL, &opts));
-       err = giterr_last();
-       cl_assert_equal_i(GITERR_INVALID, err->klass);
+       err = git_error_last();
+       cl_assert_equal_i(GIT_ERROR_INVALID, err->klass);
 
-       giterr_clear();
+       git_error_clear();
        opts.version = 1024;
        cl_git_fail(git_diff_index_to_workdir(&diff, repo, NULL, &opts));
-       err = giterr_last();
-       cl_assert_equal_i(GITERR_INVALID, err->klass);
+       err = git_error_last();
+       cl_assert_equal_i(GIT_ERROR_INVALID, err->klass);
 }
 
index 42af38a9a44e3577916f8480af60822a74ed2b73..cace40967f8db337521c6fb89161801cef9a6ed2 100644 (file)
@@ -65,7 +65,7 @@ void test_diff_drivers__patterns(void)
        cl_git_pass(git_patch_to_buf(&actual, patch));
        cl_assert_equal_s(expected0, actual.ptr);
 
-       git_buf_free(&actual);
+       git_buf_dispose(&actual);
        git_patch_free(patch);
        git_diff_free(diff);
 
@@ -80,7 +80,7 @@ void test_diff_drivers__patterns(void)
        cl_git_pass(git_patch_to_buf(&actual, patch));
        cl_assert_equal_s(expected1, actual.ptr);
 
-       git_buf_free(&actual);
+       git_buf_dispose(&actual);
        git_patch_free(patch);
        git_diff_free(diff);
 
@@ -95,7 +95,7 @@ void test_diff_drivers__patterns(void)
        cl_git_pass(git_patch_to_buf(&actual, patch));
        cl_assert_equal_s(expected0, actual.ptr);
 
-       git_buf_free(&actual);
+       git_buf_dispose(&actual);
        git_patch_free(patch);
        git_diff_free(diff);
 
@@ -112,7 +112,7 @@ void test_diff_drivers__patterns(void)
        cl_git_pass(git_patch_to_buf(&actual, patch));
        cl_assert_equal_s(expected1, actual.ptr);
 
-       git_buf_free(&actual);
+       git_buf_dispose(&actual);
        git_patch_free(patch);
        git_diff_free(diff);
 
@@ -133,7 +133,7 @@ void test_diff_drivers__patterns(void)
        cl_git_pass(git_patch_to_buf(&actual, patch));
        cl_assert_equal_s(expected2, actual.ptr);
 
-       git_buf_free(&actual);
+       git_buf_dispose(&actual);
        git_patch_free(patch);
        git_diff_free(diff);
 
@@ -169,7 +169,7 @@ void test_diff_drivers__long_lines(void)
 
        cl_assert_equal_s(expected, actual.ptr);
 
-       git_buf_free(&actual);
+       git_buf_dispose(&actual);
        git_patch_free(patch);
        git_diff_free(diff);
 }
@@ -245,9 +245,9 @@ void test_diff_drivers__builtins(void)
                git__free(path);
        }
 
-       git_buf_free(&file);
-       git_buf_free(&actual);
-       git_buf_free(&expected);
+       git_buf_dispose(&file);
+       git_buf_dispose(&actual);
+       git_buf_dispose(&expected);
        git_vector_free(&files);
 }
 
index c3c04107befc79fa093a5afd42666edeeb795e15..28f840ab03f5eee9ab0ac134268247974b42df89 100644 (file)
@@ -49,7 +49,7 @@ static void assert_email_match(
 
        git_diff_free(diff);
        git_commit_free(commit);
-       git_buf_free(&buf);
+       git_buf_dispose(&buf);
 }
 
 void test_diff_format_email__simple(void)
@@ -255,7 +255,7 @@ void test_diff_format_email__multiple(void)
 
        git_diff_free(diff);
        git_commit_free(commit);
-       git_buf_free(&buf);
+       git_buf_dispose(&buf);
 }
 
 void test_diff_format_email__exclude_marker(void)
@@ -331,7 +331,7 @@ void test_diff_format_email__invalid_no(void)
 
        git_diff_free(diff);
        git_commit_free(commit);
-       git_buf_free(&buf);
+       git_buf_dispose(&buf);
 }
 
 void test_diff_format_email__mode_change(void)
index 0293b7821ecf27085921a96f8e0187f036157e5b..b616a372beae7334b068b4dbc2a3ccf84afe0bad 100644 (file)
@@ -149,15 +149,15 @@ void test_diff_index__checks_options_version(void)
 
        opts.version = 0;
        cl_git_fail(git_diff_tree_to_index(&diff, g_repo, a, NULL, &opts));
-       err = giterr_last();
-       cl_assert_equal_i(GITERR_INVALID, err->klass);
+       err = git_error_last();
+       cl_assert_equal_i(GIT_ERROR_INVALID, err->klass);
        cl_assert_equal_p(diff, NULL);
 
-       giterr_clear();
+       git_error_clear();
        opts.version = 1024;
        cl_git_fail(git_diff_tree_to_index(&diff, g_repo, a, NULL, &opts));
-       err = giterr_last();
-       cl_assert_equal_i(GITERR_INVALID, err->klass);
+       err = git_error_last();
+       cl_assert_equal_i(GIT_ERROR_INVALID, err->klass);
        cl_assert_equal_p(diff, NULL);
 
        git_tree_free(a);
index 74816f5709a8e17384295ff9737f0012e35f9dc6..9cdaa92fbc1da8eb7aed96b0c842bc2cde602603 100644 (file)
@@ -54,7 +54,7 @@ static void test_parse_invalid_diff(const char *invalid_diff)
        cl_git_fail_with(GIT_ERROR,
                git_diff_from_buffer(&diff, buf.ptr, buf.size));
 
-       git_buf_free(&buf);
+       git_buf_dispose(&buf);
 }
 
 void test_diff_parse__exact_rename(void)
@@ -125,7 +125,7 @@ static void test_tree_to_tree_computed_to_parsed(
        git_diff_free(computed);
        git_diff_free(parsed);
 
-       git_buf_free(&computed_buf);
+       git_buf_dispose(&computed_buf);
 
        cl_git_sandbox_cleanup();
 }
@@ -213,7 +213,7 @@ void test_diff_parse__get_patch_from_diff(void)
        git_diff_free(computed);
        git_diff_free(parsed);
 
-       git_buf_free(&computed_buf);
+       git_buf_dispose(&computed_buf);
 
        cl_git_sandbox_cleanup();
 }
@@ -265,7 +265,7 @@ void test_diff_parse__parsing_minimal_patch_succeeds(void)
        cl_assert_equal_s(patch, buf.ptr);
 
        git_diff_free(diff);
-       git_buf_free(&buf);
+       git_buf_dispose(&buf);
 }
 
 void test_diff_parse__patch_roundtrip_succeeds(void)
@@ -285,8 +285,8 @@ void test_diff_parse__patch_roundtrip_succeeds(void)
 
        git_patch_free(patch);
        git_diff_free(diff);
-       git_buf_free(&patchbuf);
-       git_buf_free(&diffbuf);
+       git_buf_dispose(&patchbuf);
+       git_buf_dispose(&diffbuf);
 }
 
 #define cl_assert_equal_i_src(i1,i2,file,line) clar__assert_equal(file,line,#i1 " != " #i2, 1, "%d", (int)(i1), (int)(i2))
index 1184d196879ff1c4ae317e0b4f7c9094679bb864..bc7976fe00732936f172c2876c59a6f70c5c2041 100644 (file)
@@ -25,6 +25,12 @@ void test_diff_patch__cleanup(void)
 
 #define EXPECTED_HUNK "@@ -1,2 +0,0 @@\n"
 
+#define UTF8_HUNK_HEADER "\xE6\x97\xA5\xE6\x9C\xAC\xE8\xAA\x9E\xE6\x97\xA5\xE6\x9C\xAC\xE8\xAA\x9E\xE6\x97\xA5\xE6\x9C\xAC\xE8\xAA\x9E\xE6\x97\xA5\xE6\x9C\xAC\xE8\xAA\x9E\xE6\x97\xA5\xE6\x9C\xAC\xE8\xAA\x9E\xE6\x97\xA5\xE6\x9C\xAC\xE8\xAA\x9E\xE6\x97\xA5\xE6\x9C\xAC\xE8\xAA\x9E\xE6\x97\xA5\xE6\x9C\xAC\xE8\xAA\x9E\xE6\x97\xA5\xE6\x9C\xAC\xE8\xAA\x9E\xE6\x97\xA5\xE6\x9C\xAC\xE8\xAA\x9E\xE6\x97\xA5\xE6\x9C\xAC\xE8\xAA\x9E\xE6\x97\xA5\xE6\x9C\xAC\xE8\xAA\x9E\xE6\x97\xA5\xE6\x9C\xAC\xE8\xAA\x9E\n"
+
+#define UTF8_TRUNCATED_A_HUNK_HEADER "\xE6\x97\xA5\xE6\x9C\xAC\xE8\xAA\x9E\xE6\x97\xA5\xE6\x9C\xAC\xE8\xAA\x9E\xE6\x97\xA5\xE6\x9C\xAC\xE8\xAA\x9E\xE6\x97\xA5\xE6\x9C\xAC\xE8\xAA\x9E\xE6\x97\xA5\xE6\x9C\xAC\xE8\xAA\x9E\xE6\x97\xA5\xE6\x9C\xAC\xE8\xAA\x9E\xE6\x97\xA5\xE6\x9C\xAC\xE8\xAA\x9E\xE6\x97\xA5\xE6\x9C\xAC\xE8\xAA\x9E\xE6\x97\xA5\xE6\x9C\xAC\n"
+
+#define UTF8_TRUNCATED_L_HUNK_HEADER "\xE6\x97\xA5\xE6\x9C\xAC\xE8\xAA\x9E\xE6\x97\xA5\xE6\x9C\xAC\xE8\xAA\x9E\xE6\x97\xA5\xE6\x9C\xAC\xE8\xAA\x9E\xE6\x97\xA5\xE6\x9C\xAC\xE8\xAA\x9E\xE6\x97\xA5\xE6\x9C\xAC\xE8\xAA\x9E\xE6\x97\xA5\xE6\x9C\xAC\xE8\xAA\x9E\xE6\x97\xA5\xE6\x9C\xAC\xE8\xAA\x9E\xE6\x97\xA5\xE6\x9C\xAC\xE8\xAA\x9E\xE6\x97\xA5\n"
+
 static int check_removal_cb(
        const git_diff_delta *delta,
        const git_diff_hunk *hunk,
@@ -165,7 +171,7 @@ void test_diff_patch__to_string(void)
        cl_assert_equal_sz(31 + 16, git_patch_size(patch, 1, 1, 0));
        cl_assert_equal_sz(strlen(expected), git_patch_size(patch, 1, 1, 1));
 
-       git_buf_free(&buf);
+       git_buf_dispose(&buf);
        git_patch_free(patch);
        git_diff_free(diff);
        git_tree_free(another);
@@ -246,7 +252,7 @@ void test_diff_patch__config_options(void)
        git_patch_free(patch);
        git_diff_free(diff);
 
-       git_buf_free(&buf);
+       git_buf_dispose(&buf);
        git_tree_free(one);
        git_config_free(cfg);
 }
@@ -434,8 +440,8 @@ void test_diff_patch__hunks_have_correct_line_numbers(void)
        git_patch_free(patch);
        git_diff_free(diff);
 
-       git_buf_free(&actual);
-       git_buf_free(&old_content);
+       git_buf_dispose(&actual);
+       git_buf_dispose(&old_content);
        git_tree_free(head);
 }
 
@@ -470,7 +476,7 @@ static void check_single_patch_stats(
                git_buf buf = GIT_BUF_INIT;
                cl_git_pass(git_patch_to_buf(&buf, patch));
                cl_assert_equal_s(expected, buf.ptr);
-               git_buf_free(&buf);
+               git_buf_dispose(&buf);
 
                cl_assert_equal_sz(
                        strlen(expected), git_patch_size(patch, 1, 1, 1));
@@ -608,5 +614,91 @@ void test_diff_patch__line_counts_with_eofnl(void)
        check_single_patch_stats(
                g_repo, 1, 1, 1, 6, expected_sizes, expected);
 
-       git_buf_free(&content);
+       git_buf_dispose(&content);
+}
+
+void test_diff_patch__can_strip_bad_utf8(void)
+{
+       const char *a = "A " UTF8_HUNK_HEADER
+               "  B\n"
+               "  C\n"
+               "  D\n"
+               "  E\n"
+               "  F\n"
+               "  G\n"
+               "  H\n"
+               "  I\n"
+               "  J\n"
+               "  K\n"
+               "L  " UTF8_HUNK_HEADER
+               "  M\n"
+               "  N\n"
+               "  O\n"
+               "  P\n"
+               "  Q\n"
+               "  R\n"
+               "  S\n"
+               "  T\n"
+               "  U\n"
+               "  V\n";
+
+       const char *b = "A " UTF8_HUNK_HEADER
+               "  B\n"
+               "  C\n"
+               "  D\n"
+               "  E modified\n"
+               "  F\n"
+               "  G\n"
+               "  H\n"
+               "  I\n"
+               "  J\n"
+               "  K\n"
+               "L  " UTF8_HUNK_HEADER
+               "  M\n"
+               "  N\n"
+               "  O\n"
+               "  P modified\n"
+               "  Q\n"
+               "  R\n"
+               "  S\n"
+               "  T\n"
+               "  U\n"
+               "  V\n";
+
+       const char *expected = "diff --git a/file b/file\n"
+               "index d0647c4..7827ce5 100644\n"
+               "--- a/file\n"
+               "+++ b/file\n"
+               "@@ -2,7 +2,7 @@ A " UTF8_TRUNCATED_A_HUNK_HEADER
+               "   B\n"
+               "   C\n"
+               "   D\n"
+               "-  E\n"
+               "+  E modified\n"
+               "   F\n"
+               "   G\n"
+               "   H\n"
+               "@@ -13,7 +13,7 @@ L  " UTF8_TRUNCATED_L_HUNK_HEADER
+               "   M\n"
+               "   N\n"
+               "   O\n"
+               "-  P\n"
+               "+  P modified\n"
+               "   Q\n"
+               "   R\n"
+               "   S\n";
+
+       git_diff_options opts;
+       git_patch *patch;
+       git_buf buf = GIT_BUF_INIT;
+
+       cl_git_pass(git_diff_init_options(&opts, GIT_DIFF_OPTIONS_VERSION));
+
+       cl_git_pass(git_patch_from_buffers(&patch, a, strlen(a), NULL, b, strlen(b), NULL, &opts));
+       cl_git_pass(git_patch_to_buf(&buf, patch));
+
+       cl_assert_equal_s(expected, buf.ptr);
+
+       git_patch_free(patch);
+       git_buf_dispose(&buf);
 }
index ddc1d5d78102e67bfc9835c19a11a58fc143b454..df32eebf247d0283eaae9777275c1af100eea82e 100644 (file)
@@ -172,14 +172,14 @@ void test_diff_rename__checks_options_version(void)
 
        opts.version = 0;
        cl_git_fail(git_diff_find_similar(diff, &opts));
-       err = giterr_last();
-       cl_assert_equal_i(GITERR_INVALID, err->klass);
+       err = git_error_last();
+       cl_assert_equal_i(GIT_ERROR_INVALID, err->klass);
 
-       giterr_clear();
+       git_error_clear();
        opts.version = 1024;
        cl_git_fail(git_diff_find_similar(diff, &opts));
-       err = giterr_last();
-       cl_assert_equal_i(GITERR_INVALID, err->klass);
+       err = git_error_last();
+       cl_assert_equal_i(GIT_ERROR_INVALID, err->klass);
 
        git_diff_free(diff);
        git_tree_free(old_tree);
@@ -418,7 +418,7 @@ void test_diff_rename__test_small_files(void)
        cl_git_pass(git_index_add_bypath(index, "small.txt"));
 
        cl_git_pass(git_repository_head(&head_reference, g_repo));
-       cl_git_pass(git_reference_peel((git_object**)&head_commit, head_reference, GIT_OBJ_COMMIT));
+       cl_git_pass(git_reference_peel((git_object**)&head_commit, head_reference, GIT_OBJECT_COMMIT));
        cl_git_pass(git_commit_tree(&head_tree, head_commit));
        cl_git_pass(git_index_write_tree(&oid, index));
        cl_git_pass(git_tree_lookup(&commit_tree, g_repo, &oid));
@@ -603,8 +603,8 @@ void test_diff_rename__working_directory_changes(void)
        git_diff_free(diff);
 
        git_tree_free(tree);
-       git_buf_free(&content);
-       git_buf_free(&old_content);
+       git_buf_dispose(&content);
+       git_buf_dispose(&old_content);
 }
 
 void test_diff_rename__patch(void)
@@ -645,7 +645,7 @@ void test_diff_rename__patch(void)
 
        cl_git_pass(git_patch_to_buf(&buf, patch));
        cl_assert_equal_s(expected, buf.ptr);
-       git_buf_free(&buf);
+       git_buf_dispose(&buf);
 
        git_patch_free(patch);
 
@@ -707,8 +707,8 @@ void test_diff_rename__file_exchange(void)
        git_tree_free(tree);
        git_index_free(index);
 
-       git_buf_free(&c1);
-       git_buf_free(&c2);
+       git_buf_dispose(&c1);
+       git_buf_dispose(&c2);
 }
 
 void test_diff_rename__file_exchange_three(void)
@@ -759,9 +759,9 @@ void test_diff_rename__file_exchange_three(void)
        git_tree_free(tree);
        git_index_free(index);
 
-       git_buf_free(&c1);
-       git_buf_free(&c2);
-       git_buf_free(&c3);
+       git_buf_dispose(&c1);
+       git_buf_dispose(&c2);
+       git_buf_dispose(&c3);
 }
 
 void test_diff_rename__file_partial_exchange(void)
@@ -812,8 +812,8 @@ void test_diff_rename__file_partial_exchange(void)
        git_tree_free(tree);
        git_index_free(index);
 
-       git_buf_free(&c1);
-       git_buf_free(&c2);
+       git_buf_dispose(&c1);
+       git_buf_dispose(&c2);
 }
 
 void test_diff_rename__rename_and_copy_from_same_source(void)
@@ -869,8 +869,8 @@ void test_diff_rename__rename_and_copy_from_same_source(void)
        git_tree_free(tree);
        git_index_free(index);
 
-       git_buf_free(&c1);
-       git_buf_free(&c2);
+       git_buf_dispose(&c1);
+       git_buf_dispose(&c2);
 }
 
 void test_diff_rename__from_deleted_to_split(void)
@@ -923,7 +923,7 @@ void test_diff_rename__from_deleted_to_split(void)
        git_tree_free(tree);
        git_index_free(index);
 
-       git_buf_free(&c1);
+       git_buf_dispose(&c1);
 }
 
 struct rename_expected
@@ -1023,8 +1023,8 @@ void test_diff_rename__rejected_match_can_match_others(void)
        git_index_free(index);
        git_reference_free(head);
        git_reference_free(selfsimilar);
-       git_buf_free(&one);
-       git_buf_free(&two);
+       git_buf_dispose(&one);
+       git_buf_dispose(&two);
 }
 
 static void write_similarity_file_two(const char *filename, size_t b_lines)
@@ -1041,7 +1041,7 @@ static void write_similarity_file_two(const char *filename, size_t b_lines)
        cl_git_pass(
                git_futils_writebuffer(&contents, filename, O_RDWR|O_CREAT, 0777));
 
-       git_buf_free(&contents);
+       git_buf_dispose(&contents);
 }
 
 void test_diff_rename__rejected_match_can_match_others_two(void)
@@ -1389,7 +1389,7 @@ void test_diff_rename__can_find_copy_to_split(void)
        git_tree_free(tree);
        git_index_free(index);
 
-       git_buf_free(&c1);
+       git_buf_dispose(&c1);
 }
 
 void test_diff_rename__can_delete_unmodified_deltas(void)
@@ -1437,7 +1437,7 @@ void test_diff_rename__can_delete_unmodified_deltas(void)
        git_tree_free(tree);
        git_index_free(index);
 
-       git_buf_free(&c1);
+       git_buf_dispose(&c1);
 }
 
 void test_diff_rename__matches_config_behavior(void)
@@ -1759,7 +1759,7 @@ void test_diff_rename__identical(void)
 
        cl_assert_equal_s(expected, diff_buf.ptr);
 
-       git_buf_free(&diff_buf);
+       git_buf_dispose(&diff_buf);
        git_diff_free(diff);
        git_tree_free(old_tree);
        git_tree_free(new_tree);
@@ -1910,7 +1910,7 @@ void test_diff_rename__rewrite_and_delete(void)
 
        cl_assert_equal_s(expected, diff_buf.ptr);
 
-       git_buf_free(&diff_buf);
+       git_buf_dispose(&diff_buf);
        git_diff_free(diff);
        git_tree_free(old_tree);
        git_tree_free(new_tree);
@@ -1973,7 +1973,7 @@ void test_diff_rename__delete_and_rename(void)
 
        cl_assert_equal_s(expected, diff_buf.ptr);
 
-       git_buf_free(&diff_buf);
+       git_buf_dispose(&diff_buf);
        git_diff_free(diff);
        git_tree_free(old_tree);
        git_tree_free(new_tree);
index 347d0d75701964f7e13cd58e9a1874f0850cc0a1..1503556863cfec864c0fe0023cc718362c7dbea2 100644 (file)
@@ -54,11 +54,11 @@ void test_diff_stats__stat(void)
 
        cl_git_pass(git_diff_stats_to_buf(&buf, _stats, GIT_DIFF_STATS_FULL, 0));
        cl_assert(strcmp(git_buf_cstr(&buf), stat) == 0);
-       git_buf_free(&buf);
+       git_buf_dispose(&buf);
 
        cl_git_pass(git_diff_stats_to_buf(&buf, _stats, GIT_DIFF_STATS_FULL, 80));
        cl_assert(strcmp(git_buf_cstr(&buf), stat) == 0);
-       git_buf_free(&buf);
+       git_buf_dispose(&buf);
 }
 
 void test_diff_stats__multiple_hunks(void)
@@ -78,7 +78,7 @@ void test_diff_stats__multiple_hunks(void)
 
        cl_git_pass(git_diff_stats_to_buf(&buf, _stats, GIT_DIFF_STATS_FULL, 0));
        cl_assert_equal_s(stat, git_buf_cstr(&buf));
-       git_buf_free(&buf);
+       git_buf_dispose(&buf);
 }
 
 void test_diff_stats__numstat(void)
@@ -93,7 +93,7 @@ void test_diff_stats__numstat(void)
 
        cl_git_pass(git_diff_stats_to_buf(&buf, _stats, GIT_DIFF_STATS_NUMBER, 0));
        cl_assert_equal_s(stat, git_buf_cstr(&buf));
-       git_buf_free(&buf);
+       git_buf_dispose(&buf);
 }
 
 void test_diff_stats__shortstat(void)
@@ -111,7 +111,7 @@ void test_diff_stats__shortstat(void)
 
        cl_git_pass(git_diff_stats_to_buf(&buf, _stats, GIT_DIFF_STATS_SHORT, 0));
        cl_assert_equal_s(stat, git_buf_cstr(&buf));
-       git_buf_free(&buf);
+       git_buf_dispose(&buf);
 }
 
 void test_diff_stats__shortstat_noinsertions(void)
@@ -129,7 +129,7 @@ void test_diff_stats__shortstat_noinsertions(void)
 
        cl_git_pass(git_diff_stats_to_buf(&buf, _stats, GIT_DIFF_STATS_SHORT, 0));
        cl_assert_equal_s(stat, git_buf_cstr(&buf));
-       git_buf_free(&buf);
+       git_buf_dispose(&buf);
 }
 
 void test_diff_stats__shortstat_nodeletions(void)
@@ -147,7 +147,7 @@ void test_diff_stats__shortstat_nodeletions(void)
 
        cl_git_pass(git_diff_stats_to_buf(&buf, _stats, GIT_DIFF_STATS_SHORT, 0));
        cl_assert_equal_s(stat, git_buf_cstr(&buf));
-       git_buf_free(&buf);
+       git_buf_dispose(&buf);
 }
 
 void test_diff_stats__rename(void)
@@ -167,7 +167,7 @@ void test_diff_stats__rename(void)
 
        cl_git_pass(git_diff_stats_to_buf(&buf, _stats, GIT_DIFF_STATS_FULL, 0));
        cl_assert_equal_s(stat, git_buf_cstr(&buf));
-       git_buf_free(&buf);
+       git_buf_dispose(&buf);
 }
 
 void test_diff_stats__rename_nochanges(void)
@@ -187,7 +187,7 @@ void test_diff_stats__rename_nochanges(void)
 
        cl_git_pass(git_diff_stats_to_buf(&buf, _stats, GIT_DIFF_STATS_FULL, 0));
        cl_assert_equal_s(stat, git_buf_cstr(&buf));
-       git_buf_free(&buf);
+       git_buf_dispose(&buf);
 }
 
 void test_diff_stats__rename_and_modifiy(void)
@@ -207,7 +207,26 @@ void test_diff_stats__rename_and_modifiy(void)
 
        cl_git_pass(git_diff_stats_to_buf(&buf, _stats, GIT_DIFF_STATS_FULL, 0));
        cl_assert_equal_s(stat, git_buf_cstr(&buf));
-       git_buf_free(&buf);
+       git_buf_dispose(&buf);
+}
+
+void test_diff_stats__rename_in_subdirectory(void)
+{
+       git_buf buf = GIT_BUF_INIT;
+       const char *stat =
+       " dir/{orig.txt => renamed.txt} | 0\n"
+       " 1 file changed, 0 insertions(+), 0 deletions(-)\n";
+
+       diff_stats_from_commit_oid(
+               &_stats, "0db2a262bc8c5c3cba55254730045a8258da7a37", true);
+
+       cl_assert_equal_sz(1, git_diff_stats_files_changed(_stats));
+       cl_assert_equal_sz(0, git_diff_stats_insertions(_stats));
+       cl_assert_equal_sz(0, git_diff_stats_deletions(_stats));
+
+       cl_git_pass(git_diff_stats_to_buf(&buf, _stats, GIT_DIFF_STATS_FULL, 0));
+       cl_assert_equal_s(stat, git_buf_cstr(&buf));
+       git_buf_dispose(&buf);
 }
 
 void test_diff_stats__rename_no_find(void)
@@ -229,7 +248,7 @@ void test_diff_stats__rename_no_find(void)
 
        cl_git_pass(git_diff_stats_to_buf(&buf, _stats, GIT_DIFF_STATS_FULL, 0));
        cl_assert_equal_s(stat, git_buf_cstr(&buf));
-       git_buf_free(&buf);
+       git_buf_dispose(&buf);
 }
 
 void test_diff_stats__rename_nochanges_no_find(void)
@@ -251,7 +270,7 @@ void test_diff_stats__rename_nochanges_no_find(void)
 
        cl_git_pass(git_diff_stats_to_buf(&buf, _stats, GIT_DIFF_STATS_FULL, 0));
        cl_assert_equal_s(stat, git_buf_cstr(&buf));
-       git_buf_free(&buf);
+       git_buf_dispose(&buf);
 }
 
 void test_diff_stats__rename_and_modify_no_find(void)
@@ -272,7 +291,7 @@ void test_diff_stats__rename_and_modify_no_find(void)
 
        cl_git_pass(git_diff_stats_to_buf(&buf, _stats, GIT_DIFF_STATS_FULL, 0));
        cl_assert_equal_s(stat, git_buf_cstr(&buf));
-       git_buf_free(&buf);
+       git_buf_dispose(&buf);
 }
 
 void test_diff_stats__binary(void)
@@ -292,7 +311,7 @@ void test_diff_stats__binary(void)
 
        cl_git_pass(git_diff_stats_to_buf(&buf, _stats, GIT_DIFF_STATS_FULL, 0));
        cl_assert_equal_s(stat, git_buf_cstr(&buf));
-       git_buf_free(&buf);
+       git_buf_dispose(&buf);
 }
 
 void test_diff_stats__binary_numstat(void)
@@ -306,7 +325,7 @@ void test_diff_stats__binary_numstat(void)
 
        cl_git_pass(git_diff_stats_to_buf(&buf, _stats, GIT_DIFF_STATS_NUMBER, 0));
        cl_assert_equal_s(stat, git_buf_cstr(&buf));
-       git_buf_free(&buf);
+       git_buf_dispose(&buf);
 }
 
 void test_diff_stats__mode_change(void)
@@ -322,5 +341,5 @@ void test_diff_stats__mode_change(void)
 
        cl_git_pass(git_diff_stats_to_buf(&buf, _stats, GIT_DIFF_STATS_FULL | GIT_DIFF_STATS_INCLUDE_SUMMARY, 0));
        cl_assert_equal_s(stat, git_buf_cstr(&buf));
-       git_buf_free(&buf);
+       git_buf_dispose(&buf);
 }
index eebfef3a2d6c03058e54768d7910448a4b1c23e7..8899d3f9cfdc7e804f9ad79d4695717a38651c4a 100644 (file)
@@ -50,7 +50,7 @@ static void check_diff_patches_at_line(
                clar__assert_equal(
                        file, line, "expected diff did not match actual diff", 1,
                        "%s", expected[d], get_buf_ptr(&buf));
-               git_buf_free(&buf);
+               git_buf_dispose(&buf);
        }
 
        cl_assert_at_line(expected[d] && !strcmp(expected[d], "<END>"), file, line);
index e4b2a8bbeeb0ae85471630f998c773155d197584..a3b00ec08e2f63be012ae875d9c2d919838b15bd 100644 (file)
@@ -311,13 +311,13 @@ void test_diff_tree__checks_options_version(void)
 
        opts.version = 0;
        cl_git_fail(git_diff_tree_to_tree(&diff, g_repo, a, b, &opts));
-       err = giterr_last();
-       cl_assert_equal_i(GITERR_INVALID, err->klass);
+       err = git_error_last();
+       cl_assert_equal_i(GIT_ERROR_INVALID, err->klass);
 
-       giterr_clear();
+       git_error_clear();
        opts.version = 1024;
        cl_git_fail(git_diff_tree_to_tree(&diff, g_repo, a, b, &opts));
-       err = giterr_last();
+       err = git_error_last();
 }
 
 void process_tree_to_tree_diffing(
index e1bbce8fb1333b1bd6b83fc3f4f314fe8f7bdafe..7a045b4feb2586f0fd7a13ca13226039707fcd1c 100644 (file)
@@ -145,12 +145,12 @@ void test_diff_workdir__to_index_with_assume_unchanged(void)
 
        cl_assert((iep = git_index_get_bypath(idx, "modified_file", 0)) != NULL);
        memcpy(&ie, iep, sizeof(ie));
-       ie.flags |= GIT_IDXENTRY_VALID;
+       ie.flags |= GIT_INDEX_ENTRY_VALID;
        cl_git_pass(git_index_add(idx, &ie));
 
        cl_assert((iep = git_index_get_bypath(idx, "file_deleted", 0)) != NULL);
        memcpy(&ie, iep, sizeof(ie));
-       ie.flags |= GIT_IDXENTRY_VALID;
+       ie.flags |= GIT_INDEX_ENTRY_VALID;
        cl_git_pass(git_index_add(idx, &ie));
 
        cl_git_pass(git_index_write(idx));
@@ -749,7 +749,7 @@ void test_diff_workdir__filemode_changes_with_filemode_false(void)
        cl_git_pass(git_diff_index_to_workdir(&diff, g_repo, NULL, NULL));
 
        memset(&exp, 0, sizeof(exp));
-       cl_git_pass(git_diff_foreach(diff, 
+       cl_git_pass(git_diff_foreach(diff,
                diff_file_cb, diff_binary_cb, diff_hunk_cb, diff_line_cb, &exp));
 
        cl_assert_equal_i(0, exp.files);
@@ -1221,14 +1221,14 @@ void test_diff_workdir__checks_options_version(void)
 
        opts.version = 0;
        cl_git_fail(git_diff_tree_to_workdir(&diff, g_repo, NULL, &opts));
-       err = giterr_last();
-       cl_assert_equal_i(GITERR_INVALID, err->klass);
+       err = git_error_last();
+       cl_assert_equal_i(GIT_ERROR_INVALID, err->klass);
 
-       giterr_clear();
+       git_error_clear();
        opts.version = 1024;
        cl_git_fail(git_diff_tree_to_workdir(&diff, g_repo, NULL, &opts));
-       err = giterr_last();
-       cl_assert_equal_i(GITERR_INVALID, err->klass);
+       err = git_error_last();
+       cl_assert_equal_i(GIT_ERROR_INVALID, err->klass);
 }
 
 void test_diff_workdir__can_diff_empty_file(void)
@@ -1677,7 +1677,7 @@ void test_diff_workdir__patience_diff(void)
        cl_assert_equal_s(expected_patience, buf.ptr);
        git_buf_clear(&buf);
 
-       git_buf_free(&buf);
+       git_buf_dispose(&buf);
        git_patch_free(patch);
        git_diff_free(diff);
 }
@@ -1807,7 +1807,7 @@ void test_diff_workdir__can_update_index(void)
                git_buf path = GIT_BUF_INIT;
                cl_git_pass(git_buf_sets(&path, "status"));
                cl_git_pass(git_path_direach(&path, 0, touch_file, NULL));
-               git_buf_free(&path);
+               git_buf_dispose(&path);
        }
 
        opts.flags |= GIT_DIFF_INCLUDE_IGNORED | GIT_DIFF_INCLUDE_UNTRACKED;
@@ -1910,7 +1910,7 @@ void test_diff_workdir__binary_detection(void)
                cl_git_write2file(
                        b.ptr, data[i].ptr, data[i].size, O_WRONLY|O_TRUNC, 0664);
        }
-       git_index_write(idx);
+       cl_git_pass(git_index_write(idx));
 
        cl_git_pass(git_diff_index_to_workdir(&diff, g_repo, NULL, NULL));
 
@@ -1938,7 +1938,7 @@ void test_diff_workdir__binary_detection(void)
 
                cl_git_write2file(b.ptr, "baseline\n", 9, O_WRONLY|O_TRUNC, 0664);
        }
-       git_index_write(idx);
+       cl_git_pass(git_index_write(idx));
 
        cl_git_pass(git_diff_index_to_workdir(&diff, g_repo, NULL, NULL));
 
@@ -1959,7 +1959,7 @@ void test_diff_workdir__binary_detection(void)
        git_diff_free(diff);
 
        git_index_free(idx);
-       git_buf_free(&b);
+       git_buf_dispose(&b);
 }
 
 void test_diff_workdir__to_index_conflicted(void) {
@@ -2016,7 +2016,7 @@ void test_diff_workdir__only_writes_index_when_necessary(void)
 
        cl_git_pass(git_repository_index(&index, g_repo));
        cl_git_pass(git_repository_head(&head, g_repo));
-       cl_git_pass(git_reference_peel(&head_object, head, GIT_OBJ_COMMIT));
+       cl_git_pass(git_reference_peel(&head_object, head, GIT_OBJECT_COMMIT));
 
        cl_git_pass(git_reset(g_repo, head_object, GIT_RESET_HARD, NULL));
 
@@ -2050,7 +2050,7 @@ void test_diff_workdir__only_writes_index_when_necessary(void)
        git_oid_cpy(&second, git_index_checksum(index));
        cl_assert(!git_oid_equal(&first, &second));
 
-       git_buf_free(&path);
+       git_buf_dispose(&path);
        git_object_free(head_object);
        git_reference_free(head);
        git_index_free(index);
index a6394600af3c82bd9de278490426fd1b8d90d6cc..658943273145c2e885b61be661440354675b2ea8 100644 (file)
@@ -94,7 +94,7 @@ void test_fetchhead_nonetwork__write(void)
 
        equals = (strcmp(fetchhead_buf.ptr, FETCH_HEAD_WILDCARD_DATA_LOCAL) == 0);
 
-       git_buf_free(&fetchhead_buf);
+       git_buf_dispose(&fetchhead_buf);
 
        git_vector_foreach(&fetchhead_vector, i, fetchhead_ref) {
                git_fetchhead_ref_free(fetchhead_ref);
@@ -293,7 +293,7 @@ void test_fetchhead_nonetwork__invalid_for_merge(void)
        cl_git_rewritefile("./test1/.git/FETCH_HEAD", "49322bb17d3acc9146f98c97d078513228bbf3c0\tinvalid-merge\t\n");
        cl_git_fail(git_repository_fetchhead_foreach(g_repo, read_noop, NULL));
 
-       cl_assert(git__prefixcmp(giterr_last()->message, "invalid for-merge") == 0);
+       cl_assert(git__prefixcmp(git_error_last()->message, "invalid for-merge") == 0);
 }
 
 void test_fetchhead_nonetwork__invalid_description(void)
@@ -304,7 +304,7 @@ void test_fetchhead_nonetwork__invalid_description(void)
        cl_git_rewritefile("./test1/.git/FETCH_HEAD", "49322bb17d3acc9146f98c97d078513228bbf3c0\tnot-for-merge\n");
        cl_git_fail(git_repository_fetchhead_foreach(g_repo, read_noop, NULL));
 
-       cl_assert(git__prefixcmp(giterr_last()->message, "invalid description") == 0);
+       cl_assert(git__prefixcmp(git_error_last()->message, "invalid description") == 0);
 }
 
 static int assert_master_for_merge(const char *ref, const char *url, const git_oid *id, unsigned int is_merge, void *data)
@@ -427,7 +427,7 @@ void test_fetchhead_nonetwork__create_when_refpecs_given(void)
        cl_assert(found_haacked);
 
        git_remote_free(remote);
-       git_buf_free(&path);
+       git_buf_dispose(&path);
 }
 
 static bool count_refs_called;
@@ -491,5 +491,5 @@ void test_fetchhead_nonetwork__create_with_multiple_refspecs(void)
        }
 
        git_remote_free(remote);
-       git_buf_free(&path);
+       git_buf_dispose(&path);
 }
index bb2528d39d7dd0a4136c4fb7c483c5bf0434aa03..6e30e20a30fa480d40452a8698b80e083d10d3d7 100644 (file)
@@ -44,7 +44,7 @@ void test_filter_blob__all_crlf(void)
        /* we never convert CRLF -> LF on platforms that have LF */
        cl_assert_equal_s(ALL_CRLF_TEXT_AS_CRLF, buf.ptr);
 
-       git_buf_free(&buf);
+       git_buf_dispose(&buf);
        git_blob_free(blob);
 }
 
@@ -63,19 +63,19 @@ void test_filter_blob__sanitizes(void)
        cl_git_pass(git_blob_filtered_content(&buf, blob, "file.bin", 1));
        cl_assert_equal_sz(0, buf.size);
        cl_assert_equal_s("", buf.ptr);
-       git_buf_free(&buf);
+       git_buf_dispose(&buf);
 
        memset(&buf, 0, sizeof(git_buf));
        cl_git_pass(git_blob_filtered_content(&buf, blob, "file.crlf", 1));
        cl_assert_equal_sz(0, buf.size);
        cl_assert_equal_s("", buf.ptr);
-       git_buf_free(&buf);
+       git_buf_dispose(&buf);
 
        memset(&buf, 0, sizeof(git_buf));
        cl_git_pass(git_blob_filtered_content(&buf, blob, "file.lf", 1));
        cl_assert_equal_sz(0, buf.size);
        cl_assert_equal_s("", buf.ptr);
-       git_buf_free(&buf);
+       git_buf_dispose(&buf);
 
        git_blob_free(blob);
 }
@@ -111,7 +111,7 @@ void test_filter_blob__ident(void)
        cl_assert_equal_s(
                "Some text\n$Id: 3164f585d548ac68027d22b104f2d8100b2b6845 $\nGoes there\n", buf.ptr);
 
-       git_buf_free(&buf);
+       git_buf_dispose(&buf);
        git_blob_free(blob);
 
 }
index a8ebd949f384274e500dbc9d4d0468b04e2bc0c0..a266005d4de325fe42df74afe57b204e151dc7bb 100644 (file)
@@ -41,7 +41,7 @@ void test_filter_crlf__to_worktree(void)
        cl_assert_equal_s("Some text\r\nRight here\r\n", out.ptr);
 
        git_filter_list_free(fl);
-       git_buf_free(&out);
+       git_buf_dispose(&out);
 }
 
 void test_filter_crlf__to_odb(void)
@@ -66,7 +66,7 @@ void test_filter_crlf__to_odb(void)
        cl_assert_equal_s("Some text\nRight here\n", out.ptr);
 
        git_filter_list_free(fl);
-       git_buf_free(&out);
+       git_buf_dispose(&out);
 }
 
 void test_filter_crlf__with_safecrlf(void)
@@ -97,17 +97,24 @@ void test_filter_crlf__with_safecrlf(void)
        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);
+       cl_assert_equal_i(git_error_last()->klass, GIT_ERROR_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(git_error_last()->klass, GIT_ERROR_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_free(&out);
+       git_buf_dispose(&out);
 }
 
 void test_filter_crlf__with_safecrlf_and_unsafe_allowed(void)
@@ -150,7 +157,7 @@ void test_filter_crlf__with_safecrlf_and_unsafe_allowed(void)
        cl_assert_equal_s("Normal\nLF\nonly\nline-endings.\n", out.ptr);
 
        git_filter_list_free(fl);
-       git_buf_free(&out);
+       git_buf_dispose(&out);
 }
 
 void test_filter_crlf__no_safecrlf(void)
@@ -189,7 +196,7 @@ void test_filter_crlf__no_safecrlf(void)
        cl_assert_equal_s("Normal\nLF\nonly\nline-endings.\n", out.ptr);
 
        git_filter_list_free(fl);
-       git_buf_free(&out);
+       git_buf_dispose(&out);
 }
 
 void test_filter_crlf__safecrlf_warn(void)
@@ -231,5 +238,5 @@ void test_filter_crlf__safecrlf_warn(void)
        cl_assert_equal_s(in.ptr, out.ptr);
 
        git_filter_list_free(fl);
-       git_buf_free(&out);
+       git_buf_dispose(&out);
 }
index 799beef62961ec7fc7fde3dba5084df7ce82e525..b9e4f7345099dd32d9ceee59fdcb92d4c9ccd2c4 100644 (file)
@@ -109,7 +109,7 @@ void test_filter_custom__to_odb(void)
                0, memcmp(bitflipped_and_reversed_data, out.ptr, out.size));
 
        git_filter_list_free(fl);
-       git_buf_free(&out);
+       git_buf_dispose(&out);
 }
 
 void test_filter_custom__to_workdir(void)
@@ -130,7 +130,7 @@ void test_filter_custom__to_workdir(void)
                0, memcmp(workdir_data, out.ptr, out.size));
 
        git_filter_list_free(fl);
-       git_buf_free(&out);
+       git_buf_dispose(&out);
 }
 
 void test_filter_custom__can_register_a_custom_filter_in_the_repository(void)
@@ -228,7 +228,7 @@ void test_filter_custom__order_dependency(void)
                git_blob_id(blob), "8ca0df630d728c0c72072b6101b301391ef10095"));
        git_blob_free(blob);
 
-       git_buf_free(&buf);
+       git_buf_dispose(&buf);
 }
 
 void test_filter_custom__filter_registry_failure_cases(void)
@@ -254,5 +254,5 @@ void test_filter_custom__erroneous_filter_fails(void)
        cl_git_fail(git_filter_list_apply_to_data(&out, filters, &in));
 
        git_filter_list_free(filters);
-       git_buf_free(&out);
+       git_buf_dispose(&out);
 }
index 599f4e54b5bbbe3c50f89836fc3992548a21c7b0..521c01c02e3ba86377a021474d4b9cd17944fffe 100644 (file)
@@ -18,7 +18,7 @@ void test_filter_file__initialize(void)
        cl_repo_set_bool(g_repo, "core.autocrlf", true);
 
        cl_git_pass(git_repository_head(&head_ref, g_repo));
-       cl_git_pass(git_reference_peel((git_object **)&head, head_ref, GIT_OBJ_COMMIT));
+       cl_git_pass(git_reference_peel((git_object **)&head, head_ref, GIT_OBJECT_COMMIT));
        cl_git_pass(git_reset(g_repo, (git_object *)head, GIT_RESET_HARD, NULL));
 
        git_commit_free(head);
@@ -47,7 +47,7 @@ void test_filter_file__apply(void)
        cl_git_pass(git_filter_list_apply_to_file(&buf, fl, g_repo, "all-crlf"));
        cl_assert_equal_s("crlf\ncrlf\ncrlf\ncrlf\n", buf.ptr);
 
-       git_buf_free(&buf);
+       git_buf_dispose(&buf);
        git_filter_list_free(fl);
 }
 
@@ -71,7 +71,7 @@ int buf_writestream_close(git_writestream *s)
 void buf_writestream_free(git_writestream *s)
 {
        struct buf_writestream *stream = (struct buf_writestream *)s;
-       git_buf_free(&stream->buf);
+       git_buf_dispose(&stream->buf);
 }
 
 void test_filter_file__apply_stream(void)
index c54b6214cc2d03a58de3b2034680e77299c12264..cee0cc26b7f14c76754a98fd7c56e0caf4987f1b 100644 (file)
@@ -31,7 +31,7 @@ static void add_blob_and_filter(
        cl_assert_equal_s(expected, out.ptr);
 
        git_blob_free(blob);
-       git_buf_free(&out);
+       git_buf_dispose(&out);
 }
 
 void test_filter_ident__to_worktree(void)
index 30f5e5027179b133ad3b42622736ffb2353c2bdd..226092c3f32343e504cdd18a844f6e1b6455b03a 100644 (file)
@@ -157,7 +157,7 @@ static void writefile(const char *filename, size_t numchunks)
        }
        p_close(fd);
 
-       git_buf_free(&path);
+       git_buf_dispose(&path);
 }
 
 static void test_stream(size_t numchunks)
index 999b33653acfd44033a9a6ab93ccbd40fa4b0ebc..3c25ea266138386ff5077981be4b656d9c6d83be 100644 (file)
@@ -69,7 +69,7 @@ static int wildcard_filter_check(
        if (strcmp(attr_values[0], "wcflip") == 0 ||
                strcmp(attr_values[0], "wcreverse") == 0) {
                *payload = git__strdup(attr_values[0]);
-               GITERR_CHECK_ALLOC(*payload);
+               GIT_ERROR_CHECK_ALLOC(*payload);
                return 0;
        }
 
@@ -137,8 +137,8 @@ void test_filter_wildcard__reverse(void)
                0, memcmp(reversed, out.ptr, out.size));
 
        git_filter_list_free(fl);
-       git_buf_free(&out);
-       git_buf_free(&in);
+       git_buf_dispose(&out);
+       git_buf_dispose(&in);
 }
 
 void test_filter_wildcard__flip(void)
@@ -158,8 +158,8 @@ void test_filter_wildcard__flip(void)
                0, memcmp(flipped, out.ptr, out.size));
 
        git_filter_list_free(fl);
-       git_buf_free(&out);
-       git_buf_free(&in);
+       git_buf_dispose(&out);
+       git_buf_dispose(&in);
 }
 
 void test_filter_wildcard__none(void)
@@ -179,6 +179,6 @@ void test_filter_wildcard__none(void)
                0, memcmp(input, out.ptr, out.size));
 
        git_filter_list_free(fl);
-       git_buf_free(&out);
-       git_buf_free(&in);
+       git_buf_dispose(&out);
+       git_buf_dispose(&in);
 }
diff --git a/tests/generate_crlf.sh b/tests/generate_crlf.sh
deleted file mode 100644 (file)
index d3fd1bb..0000000
+++ /dev/null
@@ -1,73 +0,0 @@
-#!/usr/bin/env bash
-
-set -e
-
-if [ "$1" == "" -o "$2" == "" ]; then
-       echo "usage: $0 crlfrepo directory [tempdir]"
-       exit 1
-fi
-
-input=$1
-output=$2
-tempdir=$3
-
-set -u
-
-create_repo() {
-       local input=$1
-       local output=$2
-       local tempdir=$3
-       local systype=$4
-       local autocrlf=$5
-       local attr=$6
-
-       local worktree="${output}/${systype}/autocrlf_${autocrlf}"
-
-       if [ "$attr" != "" ]; then
-               local attrdir=`echo $attr | sed -e "s/ /,/g" | sed -e "s/=/_/g"`
-               worktree="${worktree},${attrdir}"
-       fi
-
-       if [ "$tempdir" = "" ]; then
-               local gitdir="${worktree}/.git"
-       else
-               local gitdir="${tempdir}/generate_crlf_${RANDOM}"
-       fi
-
-       echo "Creating ${worktree}"
-       mkdir -p "${worktree}"
-
-       git clone --no-checkout --quiet --bare "${input}/.gitted" "${gitdir}"
-       git --work-tree="${worktree}" --git-dir="${gitdir}" config core.autocrlf ${autocrlf}
-
-       if [ "$attr" != "" ]; then
-               echo "* ${attr}" >> "${worktree}/.gitattributes"
-       fi
-
-       git --work-tree="${worktree}" --git-dir="${gitdir}" checkout HEAD
-
-       if [ "$attr" != "" ]; then
-               rm "${worktree}/.gitattributes"
-       fi
-
-       if [ "$tempdir" != "" ]; then
-               rm -rf "${gitdir}"
-       fi
-}
-
-if [[ `uname -s` == MINGW* ]]; then
-       systype="windows"
-else
-       systype="posix"
-fi
-
-for autocrlf in true false input; do
-       for attr in "" text text=auto -text crlf -crlf eol=lf eol=crlf \
-               "text eol=lf" "text eol=crlf" \
-               "text=auto eol=lf" "text=auto eol=crlf"; do
-
-               create_repo "${input}" "${output}" "${tempdir}" \
-                       "${systype}" "${autocrlf}" "${attr}"
-       done
-done
-
index 7b7a178d1b658734f2b498163f0dc6ea7de47eb8..992cd873789787fe071317766993e5bd05b3b3f2 100644 (file)
@@ -123,8 +123,8 @@ static void check_stat_data(git_index *index, const char *path, bool match)
                cl_assert(st.st_ctime == entry->ctime.seconds);
                cl_assert(st.st_mtime == entry->mtime.seconds);
                cl_assert(st.st_size == entry->file_size);
-               cl_assert(st.st_uid  == entry->uid);
-               cl_assert(st.st_gid  == entry->gid);
+               cl_assert((uint32_t)st.st_uid  == entry->uid);
+               cl_assert((uint32_t)st.st_gid  == entry->gid);
                cl_assert_equal_i_fmt(
                        GIT_MODE_TYPE(st.st_mode), GIT_MODE_TYPE(entry->mode), "%07o");
                if (cl_is_chmod_supported())
@@ -173,6 +173,7 @@ void test_index_addall__repo_lifecycle(void)
        paths.count   = 1;
 
        cl_git_pass(git_index_add_all(index, &paths, 0, NULL, NULL));
+       cl_git_pass(git_index_write(index));
        check_stat_data(index, TEST_DIR "/file.bar", true);
        check_status(g_repo, 1, 0, 0, 1, 0, 0, 1, 0);
 
@@ -190,6 +191,7 @@ void test_index_addall__repo_lifecycle(void)
        check_status(g_repo, 1, 0, 0, 4, 0, 0, 1, 0);
 
        cl_git_pass(git_index_add_all(index, &paths, 0, NULL, NULL));
+       cl_git_pass(git_index_write(index));
        check_stat_data(index, TEST_DIR "/file.zzz", true);
        check_status(g_repo, 2, 0, 0, 3, 0, 0, 1, 0);
 
@@ -212,17 +214,20 @@ void test_index_addall__repo_lifecycle(void)
        /* attempt to add an ignored file - does nothing */
        strs[0] = "file.foo";
        cl_git_pass(git_index_add_all(index, &paths, 0, NULL, NULL));
+       cl_git_pass(git_index_write(index));
        check_status(g_repo, 0, 0, 0, 3, 0, 0, 1, 0);
 
        /* add with check - should generate error */
        error = git_index_add_all(
                index, &paths, GIT_INDEX_ADD_CHECK_PATHSPEC, NULL, NULL);
        cl_assert_equal_i(GIT_EINVALIDSPEC, error);
+       cl_git_pass(git_index_write(index));
        check_status(g_repo, 0, 0, 0, 3, 0, 0, 1, 0);
 
        /* add with force - should allow */
        cl_git_pass(git_index_add_all(
                index, &paths, GIT_INDEX_ADD_FORCE, NULL, NULL));
+       cl_git_pass(git_index_write(index));
        check_stat_data(index, TEST_DIR "/file.foo", true);
        check_status(g_repo, 1, 0, 0, 3, 0, 0, 0, 0);
 
@@ -232,6 +237,7 @@ void test_index_addall__repo_lifecycle(void)
        check_status(g_repo, 1, 0, 0, 3, 0, 1, 0, 0);
 
        cl_git_pass(git_index_add_all(index, &paths, 0, NULL, NULL));
+       cl_git_pass(git_index_write(index));
        check_stat_data(index, TEST_DIR "/file.foo", true);
        check_status(g_repo, 1, 0, 0, 3, 0, 0, 0, 0);
 
@@ -265,6 +271,7 @@ void test_index_addall__repo_lifecycle(void)
 
        strs[0] = "*";
        cl_git_pass(git_index_add_all(index, &paths, 0, NULL, NULL));
+       cl_git_pass(git_index_write(index));
        check_status(g_repo, 3, 1, 0, 0, 0, 0, 0, 0);
 
        /* must be able to remove at any position while still updating other files */
@@ -294,6 +301,7 @@ void test_index_addall__files_in_folders(void)
        cl_git_pass(git_repository_index(&index, g_repo));
 
        cl_git_pass(git_index_add_all(index, NULL, 0, NULL, NULL));
+       cl_git_pass(git_index_write(index));
        check_stat_data(index, TEST_DIR "/file.bar", true);
        check_status(g_repo, 2, 0, 0, 0, 0, 0, 1, 0);
 
@@ -302,6 +310,7 @@ void test_index_addall__files_in_folders(void)
        check_status(g_repo, 2, 0, 0, 1, 0, 0, 1, 0);
 
        cl_git_pass(git_index_add_all(index, NULL, 0, NULL, NULL));
+       cl_git_pass(git_index_write(index));
        check_status(g_repo, 3, 0, 0, 0, 0, 0, 1, 0);
 
        git_index_free(index);
@@ -319,6 +328,7 @@ void test_index_addall__hidden_files(void)
        cl_git_pass(git_repository_index(&index, g_repo));
 
        cl_git_pass(git_index_add_all(index, NULL, 0, NULL, NULL));
+       cl_git_pass(git_index_write(index));
        check_stat_data(index, TEST_DIR "/file.bar", true);
        check_status(g_repo, 2, 0, 0, 0, 0, 0, 1, 0);
 
@@ -335,6 +345,7 @@ void test_index_addall__hidden_files(void)
        check_status(g_repo, 2, 0, 0, 3, 0, 0, 1, 0);
 
        cl_git_pass(git_index_add_all(index, NULL, 0, NULL, NULL));
+       cl_git_pass(git_index_write(index));
        check_stat_data(index, TEST_DIR "/file.bar", true);
        check_status(g_repo, 5, 0, 0, 0, 0, 0, 1, 0);
 
@@ -373,6 +384,7 @@ void test_index_addall__callback_filtering(void)
 
        cl_git_pass(
                git_index_add_all(index, NULL, 0, addall_match_prefix, "file."));
+       cl_git_pass(git_index_write(index));
        check_stat_data(index, TEST_DIR "/file.bar", true);
        check_status(g_repo, 1, 0, 0, 1, 0, 0, 1, 0);
 
@@ -386,11 +398,13 @@ void test_index_addall__callback_filtering(void)
 
        cl_git_pass(
                git_index_add_all(index, NULL, 0, addall_match_prefix, "other"));
+       cl_git_pass(git_index_write(index));
        check_stat_data(index, TEST_DIR "/other.zzz", true);
        check_status(g_repo, 2, 0, 0, 3, 0, 0, 1, 0);
 
        cl_git_pass(
                git_index_add_all(index, NULL, 0, addall_match_suffix, ".zzz"));
+       cl_git_pass(git_index_write(index));
        check_status(g_repo, 4, 0, 0, 1, 0, 0, 1, 0);
 
        cl_git_pass(
@@ -407,6 +421,7 @@ void test_index_addall__callback_filtering(void)
 
        cl_git_pass(
                git_index_add_all(index, NULL, 0, addall_match_suffix, ".zzz"));
+       cl_git_pass(git_index_write(index));
        check_status(g_repo, 5, 0, 0, 0, 0, 0, 1, 0);
 
        cl_must_pass(p_unlink(TEST_DIR "/file.zzz"));
@@ -446,6 +461,7 @@ void test_index_addall__adds_conflicts(void)
        check_status(g_repo, 0, 1, 2, 0, 0, 0, 0, 1);
 
        cl_git_pass(git_index_add_all(index, NULL, 0, NULL, NULL));
+       cl_git_pass(git_index_write(index));
        check_status(g_repo, 0, 1, 3, 0, 0, 0, 0, 0);
 
        git_annotated_commit_free(annotated);
@@ -473,6 +489,7 @@ void test_index_addall__removes_deleted_conflicted_files(void)
        cl_git_rmfile("merge-resolve/conflicting.txt");
 
        cl_git_pass(git_index_add_all(index, NULL, 0, NULL, NULL));
+       cl_git_pass(git_index_write(index));
        check_status(g_repo, 0, 2, 2, 0, 0, 0, 0, 0);
 
        git_annotated_commit_free(annotated);
index 34a7412a886bf16f6f48ec843521804973f25c26..f911ffb515d25ba738f8cad3227a7b14fb45afc9 100644 (file)
@@ -285,7 +285,7 @@ void test_index_bypath__add_honors_conflict_mode(void)
        cl_git_pass(git_index_remove_bypath(g_idx, "README.txt"));
 
        for (stage = 1; stage <= 3; stage++) {
-               new_entry.flags = stage << GIT_IDXENTRY_STAGESHIFT;
+               new_entry.flags = stage << GIT_INDEX_ENTRY_STAGESHIFT;
                cl_git_pass(git_index_add(g_idx, &new_entry));
        }
 
@@ -317,7 +317,7 @@ void test_index_bypath__add_honors_conflict_case(void)
        cl_git_pass(git_index_remove_bypath(g_idx, "README.txt"));
 
        for (stage = 1; stage <= 3; stage++) {
-               new_entry.flags = stage << GIT_IDXENTRY_STAGESHIFT;
+               new_entry.flags = stage << GIT_INDEX_ENTRY_STAGESHIFT;
                cl_git_pass(git_index_add(g_idx, &new_entry));
        }
 
index 41eb7bfdc02231f680d5ec9ee89ce2fe5df7a302..18d2664f0427c02cbc21f7cc3d2820221ff9d212 100644 (file)
@@ -13,7 +13,7 @@ void test_index_collision__initialize(void)
        cl_git_pass(git_repository_odb(&g_odb, g_repo));
        cl_git_pass(git_repository_index(&g_index, g_repo));
 
-       cl_git_pass(git_odb_write(&g_empty_id, g_odb, "", 0, GIT_OBJ_BLOB));
+       cl_git_pass(git_odb_write(&g_empty_id, g_odb, "", 0, GIT_OBJECT_BLOB));
 }
 
 void test_index_collision__cleanup(void)
@@ -23,9 +23,10 @@ void test_index_collision__cleanup(void)
        cl_git_sandbox_cleanup();
 }
 
-void test_index_collision__add(void)
+void test_index_collision__add_blob_with_conflicting_file(void)
 {
        git_index_entry entry;
+       git_tree_entry *tentry;
        git_oid tree_id;
        git_tree *tree;
 
@@ -39,13 +40,59 @@ void test_index_collision__add(void)
        entry.path = "a/b";
        cl_git_pass(git_index_add(g_index, &entry));
 
+       /* Check a/b exists here */
+       cl_git_pass(git_index_write_tree(&tree_id, g_index));
+       cl_git_pass(git_tree_lookup(&tree, g_repo, &tree_id));
+       cl_git_pass(git_tree_entry_bypath(&tentry, tree, "a/b"));
+       git_tree_entry_free(tentry);
+       git_tree_free(tree);
+
        /* create a tree/blob collision */
        entry.path = "a/b/c";
-       cl_git_fail(git_index_add(g_index, &entry));
+       cl_git_pass(git_index_add(g_index, &entry));
 
+       /* a/b should now be a tree and a/b/c a blob */
        cl_git_pass(git_index_write_tree(&tree_id, g_index));
        cl_git_pass(git_tree_lookup(&tree, g_repo, &tree_id));
+       cl_git_pass(git_tree_entry_bypath(&tentry, tree, "a/b/c"));
+       git_tree_entry_free(tentry);
+       git_tree_free(tree);
+}
+
+void test_index_collision__add_blob_with_conflicting_dir(void)
+{
+       git_index_entry entry;
+       git_tree_entry *tentry;
+       git_oid tree_id;
+       git_tree *tree;
 
+       memset(&entry, 0, sizeof(entry));
+       entry.ctime.seconds = 12346789;
+       entry.mtime.seconds = 12346789;
+       entry.mode  = 0100644;
+       entry.file_size = 0;
+       git_oid_cpy(&entry.id, &g_empty_id);
+
+       entry.path = "a/b/c";
+       cl_git_pass(git_index_add(g_index, &entry));
+
+       /* Check a/b/c exists here */
+       cl_git_pass(git_index_write_tree(&tree_id, g_index));
+       cl_git_pass(git_tree_lookup(&tree, g_repo, &tree_id));
+       cl_git_pass(git_tree_entry_bypath(&tentry, tree, "a/b/c"));
+       git_tree_entry_free(tentry);
+       git_tree_free(tree);
+
+       /* create a blob/tree collision */
+       entry.path = "a/b";
+       cl_git_pass(git_index_add(g_index, &entry));
+
+       /* a/b should now be a tree and a/b/c a blob */
+       cl_git_pass(git_index_write_tree(&tree_id, g_index));
+       cl_git_pass(git_tree_lookup(&tree, g_repo, &tree_id));
+       cl_git_pass(git_tree_entry_bypath(&tentry, tree, "a/b"));
+       cl_git_fail(git_tree_entry_bypath(&tentry, tree, "a/b/c"));
+       git_tree_entry_free(tentry);
        git_tree_free(tree);
 }
 
@@ -61,7 +108,7 @@ void test_index_collision__add_with_highstage_1(void)
        git_oid_cpy(&entry.id, &g_empty_id);
 
        entry.path = "a/b";
-       GIT_IDXENTRY_STAGE_SET(&entry, 2);
+       GIT_INDEX_ENTRY_STAGE_SET(&entry, 2);
        cl_git_pass(git_index_add(g_index, &entry));
 
        /* create a blob beneath the previous tree entry */
@@ -71,7 +118,7 @@ void test_index_collision__add_with_highstage_1(void)
 
        /* create another tree entry above the blob */
        entry.path = "a/b";
-       GIT_IDXENTRY_STAGE_SET(&entry, 1);
+       GIT_INDEX_ENTRY_STAGE_SET(&entry, 1);
        cl_git_pass(git_index_add(g_index, &entry));
 }
 
@@ -87,16 +134,16 @@ void test_index_collision__add_with_highstage_2(void)
        git_oid_cpy(&entry.id, &g_empty_id);
 
        entry.path = "a/b/c";
-       GIT_IDXENTRY_STAGE_SET(&entry, 1);
+       GIT_INDEX_ENTRY_STAGE_SET(&entry, 1);
        cl_git_pass(git_index_add(g_index, &entry));
 
        /* create a blob beneath the previous tree entry */
        entry.path = "a/b/c";
-       GIT_IDXENTRY_STAGE_SET(&entry, 2);
+       GIT_INDEX_ENTRY_STAGE_SET(&entry, 2);
        cl_git_pass(git_index_add(g_index, &entry));
 
        /* create another tree entry above the blob */
        entry.path = "a/b";
-       GIT_IDXENTRY_STAGE_SET(&entry, 3);
+       GIT_INDEX_ENTRY_STAGE_SET(&entry, 3);
        cl_git_pass(git_index_add(g_index, &entry));
 }
index cabef888cff9ef49c2ca355258c106cd635ebf99..41d0e219cfa3ef5842225f6a9abb088b2151257e 100644 (file)
@@ -9,7 +9,7 @@ static git_index *repo_index;
 #define TEST_REPO_PATH "mergedrepo"
 #define TEST_INDEX_PATH TEST_REPO_PATH "/.git/index"
 
-// Fixture setup and teardown
+/* Fixture setup and teardown */
 void test_index_conflicts__initialize(void)
 {
        repo = cl_git_sandbox_init("mergedrepo");
@@ -36,17 +36,17 @@ void test_index_conflicts__add(void)
 
        ancestor_entry.path = "test-one.txt";
        ancestor_entry.mode = 0100644;
-       GIT_IDXENTRY_STAGE_SET(&ancestor_entry, 1);
+       GIT_INDEX_ENTRY_STAGE_SET(&ancestor_entry, 1);
        git_oid_fromstr(&ancestor_entry.id, CONFLICTS_ONE_ANCESTOR_OID);
 
        our_entry.path = "test-one.txt";
        our_entry.mode = 0100644;
-       GIT_IDXENTRY_STAGE_SET(&our_entry, 2);
+       GIT_INDEX_ENTRY_STAGE_SET(&our_entry, 2);
        git_oid_fromstr(&our_entry.id, CONFLICTS_ONE_OUR_OID);
 
        their_entry.path = "test-one.txt";
        their_entry.mode = 0100644;
-       GIT_IDXENTRY_STAGE_SET(&ancestor_entry, 2);
+       GIT_INDEX_ENTRY_STAGE_SET(&ancestor_entry, 2);
        git_oid_fromstr(&their_entry.id, CONFLICTS_ONE_THEIR_OID);
 
        cl_git_pass(git_index_conflict_add(repo_index, &ancestor_entry, &our_entry, &their_entry));
@@ -67,17 +67,17 @@ void test_index_conflicts__add_fixes_incorrect_stage(void)
 
        ancestor_entry.path = "test-one.txt";
        ancestor_entry.mode = 0100644;
-       GIT_IDXENTRY_STAGE_SET(&ancestor_entry, 3);
+       GIT_INDEX_ENTRY_STAGE_SET(&ancestor_entry, 3);
        git_oid_fromstr(&ancestor_entry.id, CONFLICTS_ONE_ANCESTOR_OID);
 
        our_entry.path = "test-one.txt";
        our_entry.mode = 0100644;
-       GIT_IDXENTRY_STAGE_SET(&our_entry, 1);
+       GIT_INDEX_ENTRY_STAGE_SET(&our_entry, 1);
        git_oid_fromstr(&our_entry.id, CONFLICTS_ONE_OUR_OID);
 
        their_entry.path = "test-one.txt";
        their_entry.mode = 0100644;
-       GIT_IDXENTRY_STAGE_SET(&their_entry, 2);
+       GIT_INDEX_ENTRY_STAGE_SET(&their_entry, 2);
        git_oid_fromstr(&their_entry.id, CONFLICTS_ONE_THEIR_OID);
 
        cl_git_pass(git_index_conflict_add(repo_index, &ancestor_entry, &our_entry, &their_entry));
@@ -91,6 +91,48 @@ void test_index_conflicts__add_fixes_incorrect_stage(void)
        cl_assert(git_index_entry_stage(conflict_entry[2]) == 3);
 }
 
+void test_index_conflicts__add_detects_invalid_filemode(void)
+{
+       git_index_entry ancestor_entry, our_entry, their_entry;
+       git_index_entry *conflict_entry[3];
+       int i;
+
+       cl_assert(git_index_entrycount(repo_index) == 8);
+
+       memset(&ancestor_entry, 0x0, sizeof(git_index_entry));
+       memset(&our_entry, 0x0, sizeof(git_index_entry));
+       memset(&their_entry, 0x0, sizeof(git_index_entry));
+
+       conflict_entry[0] = &ancestor_entry;
+       conflict_entry[1] = &our_entry;
+       conflict_entry[2] = &their_entry;
+
+       for (i = 0; i < 3; i++) {
+               ancestor_entry.path = "test-one.txt";
+               ancestor_entry.mode = 0100644;
+               GIT_INDEX_ENTRY_STAGE_SET(&ancestor_entry, 3);
+               git_oid_fromstr(&ancestor_entry.id, CONFLICTS_ONE_ANCESTOR_OID);
+
+               our_entry.path = "test-one.txt";
+               our_entry.mode = 0100644;
+               GIT_INDEX_ENTRY_STAGE_SET(&our_entry, 1);
+               git_oid_fromstr(&our_entry.id, CONFLICTS_ONE_OUR_OID);
+
+               their_entry.path = "test-one.txt";
+               their_entry.mode = 0100644;
+               GIT_INDEX_ENTRY_STAGE_SET(&their_entry, 2);
+               git_oid_fromstr(&their_entry.id, CONFLICTS_ONE_THEIR_OID);
+
+               /* Corrupt the conflict entry's mode */
+               conflict_entry[i]->mode = 027431745;
+
+               cl_git_fail(git_index_conflict_add(repo_index, &ancestor_entry, &our_entry, &their_entry));
+       }
+
+       cl_assert(git_index_entrycount(repo_index) == 8);
+}
+
+
 void test_index_conflicts__add_removes_stage_zero(void)
 {
        git_index_entry ancestor_entry, our_entry, their_entry;
@@ -108,17 +150,17 @@ void test_index_conflicts__add_removes_stage_zero(void)
 
        ancestor_entry.path = "test-one.txt";
        ancestor_entry.mode = 0100644;
-       GIT_IDXENTRY_STAGE_SET(&ancestor_entry, 3);
+       GIT_INDEX_ENTRY_STAGE_SET(&ancestor_entry, 3);
        git_oid_fromstr(&ancestor_entry.id, CONFLICTS_ONE_ANCESTOR_OID);
 
        our_entry.path = "test-one.txt";
        our_entry.mode = 0100644;
-       GIT_IDXENTRY_STAGE_SET(&our_entry, 1);
+       GIT_INDEX_ENTRY_STAGE_SET(&our_entry, 1);
        git_oid_fromstr(&our_entry.id, CONFLICTS_ONE_OUR_OID);
 
        their_entry.path = "test-one.txt";
        their_entry.mode = 0100644;
-       GIT_IDXENTRY_STAGE_SET(&their_entry, 2);
+       GIT_INDEX_ENTRY_STAGE_SET(&their_entry, 2);
        git_oid_fromstr(&their_entry.id, CONFLICTS_ONE_THEIR_OID);
 
        cl_git_pass(git_index_conflict_add(repo_index, &ancestor_entry, &our_entry, &their_entry));
@@ -314,7 +356,7 @@ void test_index_conflicts__partial(void)
 
        ancestor_entry.path = "test-one.txt";
        ancestor_entry.mode = 0100644;
-       GIT_IDXENTRY_STAGE_SET(&ancestor_entry, 1);
+       GIT_INDEX_ENTRY_STAGE_SET(&ancestor_entry, 1);
        git_oid_fromstr(&ancestor_entry.id, CONFLICTS_ONE_ANCESTOR_OID);
 
        cl_git_pass(git_index_conflict_add(repo_index, &ancestor_entry, NULL, NULL));
@@ -344,17 +386,17 @@ void test_index_conflicts__case_matters(void)
        memset(&their_entry, 0x0, sizeof(git_index_entry));
 
        ancestor_entry.path = upper_case;
-       GIT_IDXENTRY_STAGE_SET(&ancestor_entry, GIT_INDEX_STAGE_ANCESTOR);
+       GIT_INDEX_ENTRY_STAGE_SET(&ancestor_entry, GIT_INDEX_STAGE_ANCESTOR);
        git_oid_fromstr(&ancestor_entry.id, CONFLICTS_ONE_ANCESTOR_OID);
        ancestor_entry.mode = GIT_FILEMODE_BLOB;
 
        our_entry.path = upper_case;
-       GIT_IDXENTRY_STAGE_SET(&our_entry, GIT_INDEX_STAGE_OURS);
+       GIT_INDEX_ENTRY_STAGE_SET(&our_entry, GIT_INDEX_STAGE_OURS);
        git_oid_fromstr(&our_entry.id, CONFLICTS_ONE_OUR_OID);
        our_entry.mode = GIT_FILEMODE_BLOB;
 
        their_entry.path = upper_case;
-       GIT_IDXENTRY_STAGE_SET(&their_entry, GIT_INDEX_STAGE_THEIRS);
+       GIT_INDEX_ENTRY_STAGE_SET(&their_entry, GIT_INDEX_STAGE_THEIRS);
        git_oid_fromstr(&their_entry.id, CONFLICTS_ONE_THEIR_OID);
        their_entry.mode = GIT_FILEMODE_BLOB;
 
@@ -362,17 +404,17 @@ void test_index_conflicts__case_matters(void)
                &ancestor_entry, &our_entry, &their_entry));
 
        ancestor_entry.path = mixed_case;
-       GIT_IDXENTRY_STAGE_SET(&ancestor_entry, GIT_INDEX_STAGE_ANCESTOR);
+       GIT_INDEX_ENTRY_STAGE_SET(&ancestor_entry, GIT_INDEX_STAGE_ANCESTOR);
        git_oid_fromstr(&ancestor_entry.id, CONFLICTS_TWO_ANCESTOR_OID);
        ancestor_entry.mode = GIT_FILEMODE_BLOB;
 
        our_entry.path = mixed_case;
-       GIT_IDXENTRY_STAGE_SET(&ancestor_entry, GIT_INDEX_STAGE_ANCESTOR);
+       GIT_INDEX_ENTRY_STAGE_SET(&ancestor_entry, GIT_INDEX_STAGE_ANCESTOR);
        git_oid_fromstr(&our_entry.id, CONFLICTS_TWO_OUR_OID);
        ancestor_entry.mode = GIT_FILEMODE_BLOB;
 
        their_entry.path = mixed_case;
-       GIT_IDXENTRY_STAGE_SET(&their_entry, GIT_INDEX_STAGE_THEIRS);
+       GIT_INDEX_ENTRY_STAGE_SET(&their_entry, GIT_INDEX_STAGE_THEIRS);
        git_oid_fromstr(&their_entry.id, CONFLICTS_TWO_THEIR_OID);
        their_entry.mode = GIT_FILEMODE_BLOB;
 
index 23f47932f7b5c36dad454e415ed6b1c18933c7fd..7aa6be4296b42a17e534c8917cc14460f6d77993 100644 (file)
 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_dispose(&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 ||
+                       git_error_last()->klass != GIT_ERROR_FILTER ||
+                       strcmp(expected_contents.ptr, git_error_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_dispose(&expected_fixture);
+
+       git_buf_dispose(&attrbuf);
+       git_buf_dispose(&expected_fixture);
+       git_buf_dispose(&expected_dirname);
+       git_buf_dispose(&sandboxname);
+       git_buf_dispose(&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_dispose(&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,57 @@ 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_assert(entry);
+
+       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_assert(entry);
+
+       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"));
index 2693b1312500d2c3f2e124896e53a0ef9d20ae9a..f2ca4564be2dd889819562dcdd2f90563aa5ea39 100644 (file)
@@ -47,8 +47,8 @@ static void replace_file_with_mode(
                path.ptr, content.ptr, content.size,
                O_WRONLY|O_CREAT|O_TRUNC, create_mode);
 
-       git_buf_free(&path);
-       git_buf_free(&content);
+       git_buf_dispose(&path);
+       git_buf_dispose(&content);
 }
 
 #define add_and_check_mode(I,F,X) add_and_check_mode_(I,F,X,__FILE__,__LINE__)
@@ -78,7 +78,7 @@ void test_index_filemodes__untrusted(void)
        cl_repo_set_bool(g_repo, "core.filemode", false);
 
        cl_git_pass(git_repository_index(&index, g_repo));
-       cl_assert((git_index_caps(index) & GIT_INDEXCAP_NO_FILEMODE) != 0);
+       cl_assert((git_index_caps(index) & GIT_INDEX_CAPABILITY_NO_FILEMODE) != 0);
 
        /* 1 - add 0644 over existing 0644 -> expect 0644 */
        replace_file_with_mode("exec_off", "filemodes/exec_off.0", 0644);
@@ -122,7 +122,7 @@ void test_index_filemodes__trusted(void)
        cl_repo_set_bool(g_repo, "core.filemode", true);
 
        cl_git_pass(git_repository_index(&index, g_repo));
-       cl_assert((git_index_caps(index) & GIT_INDEXCAP_NO_FILEMODE) == 0);
+       cl_assert((git_index_caps(index) & GIT_INDEX_CAPABILITY_NO_FILEMODE) == 0);
 
        /* 1 - add 0644 over existing 0644 -> expect 0644 */
        replace_file_with_mode("exec_off", "filemodes/exec_off.0", 0644);
@@ -245,9 +245,9 @@ void test_index_filemodes__invalid(void)
        cl_git_pass(git_index_add_bypath(index, "dummy-file.txt"));
        cl_assert((dummy = git_index_get_bypath(index, "dummy-file.txt", 0)));
 
-       GIT_IDXENTRY_STAGE_SET(&entry, 0);
+       GIT_INDEX_ENTRY_STAGE_SET(&entry, 0);
        entry.path = "foo";
-       entry.mode = GIT_OBJ_BLOB;
+       entry.mode = GIT_OBJECT_BLOB;
        git_oid_cpy(&entry.id, &dummy->id);
        cl_git_fail(git_index_add(index, &entry));
 
index d462088b28541eb2d2e06a62349da4813f882d5f..369318b031ab99852ef640f76aa94d0b8aa150ba 100644 (file)
@@ -10,7 +10,7 @@ static git_index *repo_index;
 #define TEST_REPO_PATH "mergedrepo"
 #define TEST_INDEX_PATH TEST_REPO_PATH "/.git/index"
 
-// Fixture setup and teardown
+/* Fixture setup and teardown */
 void test_index_names__initialize(void)
 {
        repo = cl_git_sandbox_init("mergedrepo");
@@ -25,10 +25,47 @@ void test_index_names__cleanup(void)
        cl_git_sandbox_cleanup();
 }
 
+static void index_add_conflicts(void)
+{
+       git_index_entry entry = {{0}};
+       const char *paths[][3] = {
+               { "ancestor", "ours", "theirs" },
+               { "ancestor2", "ours2", "theirs2" },
+               { "ancestor3", "ours3", "theirs3" } };
+       const char **conflict;
+       size_t i;
+
+       for (i = 0; i < ARRAY_SIZE(paths); i++) {
+               conflict = paths[i];
+
+               /* ancestor */
+               entry.path = conflict[0];
+               entry.mode = GIT_FILEMODE_BLOB;
+               GIT_INDEX_ENTRY_STAGE_SET(&entry, GIT_INDEX_STAGE_ANCESTOR);
+               git_oid_fromstr(&entry.id, "1f85ca51b8e0aac893a621b61a9c2661d6aa6d81");
+               cl_git_pass(git_index_add(repo_index, &entry));
+
+               /* ours */
+               entry.path = conflict[1];
+               entry.mode = GIT_FILEMODE_BLOB;
+               GIT_INDEX_ENTRY_STAGE_SET(&entry, GIT_INDEX_STAGE_OURS);
+               git_oid_fromstr(&entry.id, "1f85ca51b8e0aac893a621b61a9c2661d6aa6d81");
+               cl_git_pass(git_index_add(repo_index, &entry));
+
+               /* theirs */
+               entry.path = conflict[2];
+               entry.mode = GIT_FILEMODE_BLOB;
+               GIT_INDEX_ENTRY_STAGE_SET(&entry, GIT_INDEX_STAGE_THEIRS);
+               git_oid_fromstr(&entry.id, "1f85ca51b8e0aac893a621b61a9c2661d6aa6d81");
+               cl_git_pass(git_index_add(repo_index, &entry));
+       }
+}
+
 void test_index_names__add(void)
 {
        const git_index_name_entry *conflict_name;
 
+       index_add_conflicts();
        cl_git_pass(git_index_name_add(repo_index, "ancestor", "ours", "theirs"));
        cl_git_pass(git_index_name_add(repo_index, "ancestor2", "ours2", NULL));
        cl_git_pass(git_index_name_add(repo_index, "ancestor3", NULL, "theirs3"));
@@ -49,6 +86,8 @@ void test_index_names__add(void)
        cl_assert(strcmp(conflict_name->ancestor, "ancestor3") == 0);
        cl_assert(conflict_name->ours == NULL);
        cl_assert(strcmp(conflict_name->theirs, "theirs3") == 0);
+
+       cl_git_pass(git_index_write(repo_index));
 }
 
 void test_index_names__roundtrip(void)
@@ -114,12 +153,12 @@ void test_index_names__cleaned_on_checkout_tree(void)
        git_object *obj;
        git_checkout_options opts = GIT_CHECKOUT_OPTIONS_INIT;
 
-       opts.checkout_strategy = GIT_CHECKOUT_SAFE | GIT_CHECKOUT_UPDATE_ONLY;
+       opts.checkout_strategy = GIT_CHECKOUT_FORCE | GIT_CHECKOUT_UPDATE_ONLY;
 
        test_index_names__add();
-       git_reference_name_to_id(&oid, repo, "refs/heads/master");
-       git_object_lookup(&obj, repo, &oid, GIT_OBJ_ANY);
-       git_checkout_tree(repo, obj, &opts);
+       cl_git_pass(git_reference_name_to_id(&oid, repo, "refs/heads/master"));
+       cl_git_pass(git_object_lookup(&obj, repo, &oid, GIT_OBJECT_ANY));
+       cl_git_pass(git_checkout_tree(repo, obj, &opts));
        cl_assert_equal_sz(0, git_index_name_entrycount(repo_index));
 
        git_object_free(obj);
@@ -129,10 +168,10 @@ void test_index_names__cleaned_on_checkout_head(void)
 {
        git_checkout_options opts = GIT_CHECKOUT_OPTIONS_INIT;
 
-       opts.checkout_strategy = GIT_CHECKOUT_SAFE | GIT_CHECKOUT_UPDATE_ONLY;
+       opts.checkout_strategy = GIT_CHECKOUT_FORCE | GIT_CHECKOUT_UPDATE_ONLY;
 
        test_index_names__add();
-       git_checkout_head(repo, &opts);
+       cl_git_pass(git_checkout_head(repo, &opts));
        cl_assert_equal_sz(0, git_index_name_entrycount(repo_index));
 }
 
@@ -140,9 +179,9 @@ void test_index_names__retained_on_checkout_index(void)
 {
        git_checkout_options opts = GIT_CHECKOUT_OPTIONS_INIT;
 
-       opts.checkout_strategy = GIT_CHECKOUT_SAFE | GIT_CHECKOUT_UPDATE_ONLY;
+       opts.checkout_strategy = GIT_CHECKOUT_FORCE | GIT_CHECKOUT_UPDATE_ONLY;
 
        test_index_names__add();
-       git_checkout_index(repo, repo_index, &opts);
+       cl_git_pass(git_checkout_index(repo, repo_index, &opts));
        cl_assert(git_index_name_entrycount(repo_index) > 0);
 }
index ea8a267431ece454a0deb77a132ae6c55a203159..dee1509e19fba06822d49be19b290e4cac001dfb 100644 (file)
@@ -9,7 +9,7 @@ static git_index *repo_index;
 
 #define TEST_REPO_PATH "nsecs"
 
-// Fixture setup and teardown
+/* Fixture setup and teardown */
 void test_index_nsec__initialize(void)
 {
        repo = cl_git_sandbox_init("nsecs");
@@ -56,7 +56,7 @@ static bool should_expect_nsecs(void)
 
        p_unlink(nsec_path.ptr);
 
-       git_buf_free(&nsec_path);
+       git_buf_dispose(&nsec_path);
 
        return expect;
 }
index 1768f5efddb5ff3c0fd63d9dd05539d1e6b6a9e4..88b37e10d0c91fea6f50b6718ed2006a2dbc7ccd 100644 (file)
@@ -46,7 +46,7 @@ void test_index_racy__diff(void)
 
        git_index_free(index);
        git_diff_free(diff);
-       git_buf_free(&path);
+       git_buf_dispose(&path);
 }
 
 void test_index_racy__write_index_just_after_file(void)
@@ -95,7 +95,7 @@ void test_index_racy__write_index_just_after_file(void)
        cl_git_pass(git_diff_index_to_workdir(&diff, g_repo, index, NULL));
        cl_assert_equal_i(1, git_diff_num_deltas(diff));
 
-       git_buf_free(&path);
+       git_buf_dispose(&path);
        git_diff_free(diff);
        git_index_free(index);
 }
@@ -126,10 +126,10 @@ static void setup_race(void)
        cl_assert(entry = (git_index_entry *)git_index_get_bypath(index, "A", 0));
 
        /* force a race */
-       entry->mtime.seconds = st.st_mtime;
-       entry->mtime.nanoseconds = st.st_mtime_nsec;
+       entry->mtime.seconds = (int32_t)st.st_mtime;
+       entry->mtime.nanoseconds = (int32_t)st.st_mtime_nsec;
 
-       git_buf_free(&path);
+       git_buf_dispose(&path);
 }
 
 void test_index_racy__smudges_index_entry_on_save(void)
@@ -196,7 +196,7 @@ static void setup_uptodate_files(void)
        cl_git_pass(git_index_add_frombuffer(index, &new_entry, "hello!\n", 7));
 
        git_index_free(index);
-       git_buf_free(&path);
+       git_buf_dispose(&path);
 }
 
 void test_index_racy__adding_to_index_is_uptodate(void)
@@ -210,13 +210,13 @@ void test_index_racy__adding_to_index_is_uptodate(void)
 
        /* ensure that they're all uptodate */
        cl_assert((entry = git_index_get_bypath(index, "A", 0)));
-       cl_assert_equal_i(GIT_IDXENTRY_UPTODATE, (entry->flags_extended & GIT_IDXENTRY_UPTODATE));
+       cl_assert_equal_i(GIT_INDEX_ENTRY_UPTODATE, (entry->flags_extended & GIT_INDEX_ENTRY_UPTODATE));
 
        cl_assert((entry = git_index_get_bypath(index, "B", 0)));
-       cl_assert_equal_i(GIT_IDXENTRY_UPTODATE, (entry->flags_extended & GIT_IDXENTRY_UPTODATE));
+       cl_assert_equal_i(GIT_INDEX_ENTRY_UPTODATE, (entry->flags_extended & GIT_INDEX_ENTRY_UPTODATE));
 
        cl_assert((entry = git_index_get_bypath(index, "C", 0)));
-       cl_assert_equal_i(GIT_IDXENTRY_UPTODATE, (entry->flags_extended & GIT_IDXENTRY_UPTODATE));
+       cl_assert_equal_i(GIT_INDEX_ENTRY_UPTODATE, (entry->flags_extended & GIT_INDEX_ENTRY_UPTODATE));
 
        cl_git_pass(git_index_write(index));
 
@@ -237,13 +237,13 @@ void test_index_racy__reading_clears_uptodate_bit(void)
 
        /* ensure that no files are uptodate */
        cl_assert((entry = git_index_get_bypath(index, "A", 0)));
-       cl_assert_equal_i(0, (entry->flags_extended & GIT_IDXENTRY_UPTODATE));
+       cl_assert_equal_i(0, (entry->flags_extended & GIT_INDEX_ENTRY_UPTODATE));
 
        cl_assert((entry = git_index_get_bypath(index, "B", 0)));
-       cl_assert_equal_i(0, (entry->flags_extended & GIT_IDXENTRY_UPTODATE));
+       cl_assert_equal_i(0, (entry->flags_extended & GIT_INDEX_ENTRY_UPTODATE));
 
        cl_assert((entry = git_index_get_bypath(index, "C", 0)));
-       cl_assert_equal_i(0, (entry->flags_extended & GIT_IDXENTRY_UPTODATE));
+       cl_assert_equal_i(0, (entry->flags_extended & GIT_INDEX_ENTRY_UPTODATE));
 
        git_index_free(index);
 }
@@ -264,13 +264,13 @@ void test_index_racy__read_tree_clears_uptodate_bit(void)
 
        /* ensure that no files are uptodate */
        cl_assert((entry = git_index_get_bypath(index, "A", 0)));
-       cl_assert_equal_i(0, (entry->flags_extended & GIT_IDXENTRY_UPTODATE));
+       cl_assert_equal_i(0, (entry->flags_extended & GIT_INDEX_ENTRY_UPTODATE));
 
        cl_assert((entry = git_index_get_bypath(index, "B", 0)));
-       cl_assert_equal_i(0, (entry->flags_extended & GIT_IDXENTRY_UPTODATE));
+       cl_assert_equal_i(0, (entry->flags_extended & GIT_INDEX_ENTRY_UPTODATE));
 
        cl_assert((entry = git_index_get_bypath(index, "C", 0)));
-       cl_assert_equal_i(0, (entry->flags_extended & GIT_IDXENTRY_UPTODATE));
+       cl_assert_equal_i(0, (entry->flags_extended & GIT_INDEX_ENTRY_UPTODATE));
 
        git_tree_free(tree);
        git_index_free(index);
@@ -311,13 +311,13 @@ void test_index_racy__read_index_clears_uptodate_bit(void)
 
        /* ensure that files brought in from the other index are not uptodate */
        cl_assert((entry = git_index_get_bypath(newindex, "A", 0)));
-       cl_assert_equal_i(0, (entry->flags_extended & GIT_IDXENTRY_UPTODATE));
+       cl_assert_equal_i(0, (entry->flags_extended & GIT_INDEX_ENTRY_UPTODATE));
 
        cl_assert((entry = git_index_get_bypath(newindex, "B", 0)));
-       cl_assert_equal_i(0, (entry->flags_extended & GIT_IDXENTRY_UPTODATE));
+       cl_assert_equal_i(0, (entry->flags_extended & GIT_INDEX_ENTRY_UPTODATE));
 
        cl_assert((entry = git_index_get_bypath(newindex, "C", 0)));
-       cl_assert_equal_i(0, (entry->flags_extended & GIT_IDXENTRY_UPTODATE));
+       cl_assert_equal_i(0, (entry->flags_extended & GIT_INDEX_ENTRY_UPTODATE));
 
        git_index_free(index);
        git_index_free(newindex);
index 2df7cc8eb9a38943efc3c671ce9d91259f9d3ae2..836c12b0e856b69c0d50a6d1f45261552112f7ab 100644 (file)
@@ -147,17 +147,17 @@ static void add_conflicts(git_index *index, const char *filename)
 
        ancestor_entry.path = filename;
        ancestor_entry.mode = 0100644;
-       GIT_IDXENTRY_STAGE_SET(&ancestor_entry, 1);
+       GIT_INDEX_ENTRY_STAGE_SET(&ancestor_entry, 1);
        git_oid_fromstr(&ancestor_entry.id, ancestor_ids[conflict_idx]);
 
        our_entry.path = filename;
        our_entry.mode = 0100644;
-       GIT_IDXENTRY_STAGE_SET(&our_entry, 2);
+       GIT_INDEX_ENTRY_STAGE_SET(&our_entry, 2);
        git_oid_fromstr(&our_entry.id, our_ids[conflict_idx]);
 
        their_entry.path = filename;
        their_entry.mode = 0100644;
-       GIT_IDXENTRY_STAGE_SET(&ancestor_entry, 2);
+       GIT_INDEX_ENTRY_STAGE_SET(&ancestor_entry, 2);
        git_oid_fromstr(&their_entry.id, their_ids[conflict_idx]);
 
        cl_git_pass(git_index_conflict_add(index, &ancestor_entry,
index e57facc0c9c28714607c0ae619301da15e056795..1f95c4136c143782f106c7195494cda4482b2a55 100644 (file)
@@ -18,7 +18,7 @@ static git_index *repo_index;
 #define TWO_OUR_OID "8f3c06cff9a83757cec40c80bc9bf31a2582bde9"
 #define TWO_THEIR_OID "887b153b165d32409c70163e0f734c090f12f673"
 
-// Fixture setup and teardown
+/* Fixture setup and teardown */
 void test_index_reuc__initialize(void)
 {
        repo = cl_git_sandbox_init("mergedrepo");
@@ -56,6 +56,8 @@ void test_index_reuc__add(void)
        cl_assert_equal_oid(&reuc->oid[0], &ancestor_oid);
        cl_assert_equal_oid(&reuc->oid[1], &our_oid);
        cl_assert_equal_oid(&reuc->oid[2], &their_oid);
+
+       cl_git_pass(git_index_write(repo_index));
 }
 
 void test_index_reuc__add_no_ancestor(void)
@@ -81,6 +83,8 @@ void test_index_reuc__add_no_ancestor(void)
        cl_assert_equal_oid(&reuc->oid[0], &ancestor_oid);
        cl_assert_equal_oid(&reuc->oid[1], &our_oid);
        cl_assert_equal_oid(&reuc->oid[2], &their_oid);
+
+       cl_git_pass(git_index_write(repo_index));
 }
 
 void test_index_reuc__read_bypath(void)
@@ -125,12 +129,12 @@ void test_index_reuc__ignore_case(void)
 
        index_caps = git_index_caps(repo_index);
 
-       index_caps &= ~GIT_INDEXCAP_IGNORE_CASE;
+       index_caps &= ~GIT_INDEX_CAPABILITY_IGNORE_CASE;
        cl_git_pass(git_index_set_caps(repo_index, index_caps));
 
        cl_assert(!git_index_reuc_get_bypath(repo_index, "TWO.txt"));
 
-       index_caps |= GIT_INDEXCAP_IGNORE_CASE;
+       index_caps |= GIT_INDEX_CAPABILITY_IGNORE_CASE;
        cl_git_pass(git_index_set_caps(repo_index, index_caps));
 
        cl_assert_equal_i(2, git_index_reuc_entrycount(repo_index));
@@ -193,7 +197,7 @@ void test_index_reuc__updates_existing(void)
 
        index_caps = git_index_caps(repo_index);
 
-       index_caps |= GIT_INDEXCAP_IGNORE_CASE;
+       index_caps |= GIT_INDEX_CAPABILITY_IGNORE_CASE;
        cl_git_pass(git_index_set_caps(repo_index, index_caps));
 
        git_oid_fromstr(&ancestor_oid, TWO_ANCESTOR_OID);
@@ -338,12 +342,12 @@ void test_index_reuc__cleaned_on_checkout_tree(void)
        git_object *obj;
        git_checkout_options opts = GIT_CHECKOUT_OPTIONS_INIT;
 
-       opts.checkout_strategy = GIT_CHECKOUT_SAFE | GIT_CHECKOUT_UPDATE_ONLY;
+       opts.checkout_strategy = GIT_CHECKOUT_FORCE;
 
        test_index_reuc__add();
-       git_reference_name_to_id(&oid, repo, "refs/heads/master");
-       git_object_lookup(&obj, repo, &oid, GIT_OBJ_ANY);
-       git_checkout_tree(repo, obj, &opts);
+       cl_git_pass(git_reference_name_to_id(&oid, repo, "refs/heads/master"));
+       cl_git_pass(git_object_lookup(&obj, repo, &oid, GIT_OBJECT_ANY));
+       cl_git_pass(git_checkout_tree(repo, obj, &opts));
        cl_assert(reuc_entry_exists() == false);
 
        git_object_free(obj);
@@ -353,10 +357,10 @@ void test_index_reuc__cleaned_on_checkout_head(void)
 {
        git_checkout_options opts = GIT_CHECKOUT_OPTIONS_INIT;
 
-       opts.checkout_strategy = GIT_CHECKOUT_SAFE | GIT_CHECKOUT_UPDATE_ONLY;
+       opts.checkout_strategy = GIT_CHECKOUT_FORCE;
 
        test_index_reuc__add();
-       git_checkout_head(repo, &opts);
+       cl_git_pass(git_checkout_head(repo, &opts));
        cl_assert(reuc_entry_exists() == false);
 }
 
@@ -364,9 +368,9 @@ void test_index_reuc__retained_on_checkout_index(void)
 {
        git_checkout_options opts = GIT_CHECKOUT_OPTIONS_INIT;
 
-       opts.checkout_strategy = GIT_CHECKOUT_SAFE | GIT_CHECKOUT_UPDATE_ONLY;
+       opts.checkout_strategy = GIT_CHECKOUT_FORCE;
 
        test_index_reuc__add();
-       git_checkout_index(repo, repo_index, &opts);
+       cl_git_pass(git_checkout_index(repo, repo_index, &opts));
        cl_assert(reuc_entry_exists() == true);
 }
diff --git a/tests/index/splitindex.c b/tests/index/splitindex.c
new file mode 100644 (file)
index 0000000..d32ed10
--- /dev/null
@@ -0,0 +1,21 @@
+#include "clar_libgit2.h"
+#include "index.h"
+
+static git_repository *g_repo;
+
+void test_index_splitindex__initialize(void)
+{
+       g_repo = cl_git_sandbox_init("splitindex");
+}
+
+void test_index_splitindex__cleanup(void)
+{
+       cl_git_sandbox_cleanup();
+}
+
+void test_index_splitindex__fail_on_open(void)
+{
+       git_index *idx;
+       cl_git_fail_with(-1, git_repository_index(&idx, g_repo));
+       cl_assert_equal_s(git_error_last()->message, "unsupported mandatory extension: 'link'");
+}
index 58dc1fb5ee57c240f4bffa7ea94f3bead7492c49..cdfe3a811295293af6ec190e2cf6afa83ae0c2bb 100644 (file)
@@ -8,7 +8,7 @@ static git_index *repo_index;
 #define TEST_REPO_PATH "mergedrepo"
 #define TEST_INDEX_PATH TEST_REPO_PATH "/.git/index"
 
-// Fixture setup and teardown
+/* Fixture setup and teardown */
 void test_index_stage__initialize(void)
 {
        repo = cl_git_sandbox_init("mergedrepo");
index ea8335b48594e0839889ec37af0cf2d7d6a7e4d6..7c29ef389fc22b5cb8b525192a130c6c4bbcb3ca 100644 (file)
@@ -19,10 +19,10 @@ struct test_entry {
 
 static struct test_entry test_entries[] = {
    {4, "Makefile", 5064, 0x4C3F7F33},
-   {62, "tests/Makefile", 2631, 0x4C3F7F33},
-   {36, "src/index.c", 10014, 0x4C43368D},
    {6, "git.git-authors", 2709, 0x4C3F7F33},
-   {48, "src/revobject.h", 1448, 0x4C3F7FE2}
+   {36, "src/index.c", 10014, 0x4C43368D},
+   {48, "src/revobject.h", 1448, 0x4C3F7FE2},
+   {62, "tests/Makefile", 2631, 0x4C3F7F33}
 };
 
 /* Helpers */
@@ -40,7 +40,7 @@ static void copy_file(const char *src, const char *dst)
        cl_git_pass(p_write(dst_fd, source_buf.ptr, source_buf.size));
 
 cleanup:
-       git_buf_free(&source_buf);
+       git_buf_dispose(&source_buf);
        p_close(dst_fd);
 }
 
@@ -54,14 +54,14 @@ static void files_are_equal(const char *a, const char *b)
                cl_assert(0);
 
        if (git_futils_readbuffer(&buf_b, b) < 0) {
-               git_buf_free(&buf_a);
+               git_buf_dispose(&buf_a);
                cl_assert(0);
        }
 
        pass = (buf_a.size == buf_b.size && !memcmp(buf_a.ptr, buf_b.ptr, buf_a.size));
 
-       git_buf_free(&buf_a);
-       git_buf_free(&buf_b);
+       git_buf_dispose(&buf_a);
+       git_buf_dispose(&buf_b);
 
        cl_assert(pass);
 }
@@ -72,6 +72,11 @@ void test_index_tests__initialize(void)
 {
 }
 
+void test_index_tests__cleanup(void)
+{
+       cl_git_pass(git_libgit2_opts(GIT_OPT_ENABLE_UNSAVED_INDEX_SAFETY, 0));
+}
+
 void test_index_tests__empty_index(void)
 {
    git_index *index;
@@ -331,6 +336,90 @@ void test_index_tests__add_frombuffer(void)
        git_repository_free(repo);
 }
 
+void test_index_tests__dirty_and_clean(void)
+{
+       git_repository *repo;
+       git_index *index;
+       git_index_entry entry = {{0}};
+
+       /* Index is not dirty after opening */
+       cl_git_pass(git_repository_init(&repo, "./myrepo", 0));
+       cl_git_pass(git_repository_index(&index, repo));
+
+       cl_assert(git_index_entrycount(index) == 0);
+       cl_assert(!git_index_is_dirty(index));
+
+       /* Index is dirty after adding an entry */
+       entry.mode = GIT_FILEMODE_BLOB;
+       entry.path = "test.txt";
+       cl_git_pass(git_index_add_frombuffer(index, &entry, "Hi.\n", 4));
+       cl_assert(git_index_entrycount(index) == 1);
+       cl_assert(git_index_is_dirty(index));
+
+       /* Index is not dirty after write */
+       cl_git_pass(git_index_write(index));
+       cl_assert(!git_index_is_dirty(index));
+
+       /* Index is dirty after removing an entry */
+       cl_git_pass(git_index_remove_bypath(index, "test.txt"));
+       cl_assert(git_index_entrycount(index) == 0);
+       cl_assert(git_index_is_dirty(index));
+
+       /* Index is not dirty after write */
+       cl_git_pass(git_index_write(index));
+       cl_assert(!git_index_is_dirty(index));
+
+       /* Index remains not dirty after read */
+       cl_git_pass(git_index_read(index, 0));
+       cl_assert(!git_index_is_dirty(index));
+
+       /* Index is dirty when we do an unforced read with dirty content */
+       cl_git_pass(git_index_add_frombuffer(index, &entry, "Hi.\n", 4));
+       cl_assert(git_index_entrycount(index) == 1);
+       cl_assert(git_index_is_dirty(index));
+
+       cl_git_pass(git_index_read(index, 0));
+       cl_assert(git_index_is_dirty(index));
+
+       /* Index is clean when we force a read with dirty content */
+       cl_git_pass(git_index_read(index, 1));
+       cl_assert(!git_index_is_dirty(index));
+
+       git_index_free(index);
+       git_repository_free(repo);
+}
+
+void test_index_tests__dirty_fails_optionally(void)
+{
+       git_repository *repo;
+       git_index *index;
+       git_index_entry entry = {{0}};
+
+       /* Index is not dirty after opening */
+       repo = cl_git_sandbox_init("testrepo");
+       cl_git_pass(git_repository_index(&index, repo));
+
+       /* Index is dirty after adding an entry */
+       entry.mode = GIT_FILEMODE_BLOB;
+       entry.path = "test.txt";
+       cl_git_pass(git_index_add_frombuffer(index, &entry, "Hi.\n", 4));
+       cl_assert(git_index_is_dirty(index));
+
+       cl_git_pass(git_checkout_head(repo, NULL));
+
+       /* Index is dirty (again) after adding an entry */
+       entry.mode = GIT_FILEMODE_BLOB;
+       entry.path = "test.txt";
+       cl_git_pass(git_index_add_frombuffer(index, &entry, "Hi.\n", 4));
+       cl_assert(git_index_is_dirty(index));
+
+       cl_git_pass(git_libgit2_opts(GIT_OPT_ENABLE_UNSAVED_INDEX_SAFETY, 1));
+       cl_git_fail_with(GIT_EINDEXDIRTY, git_checkout_head(repo, NULL));
+
+       git_index_free(index);
+       cl_git_sandbox_cleanup();
+}
+
 void test_index_tests__add_frombuffer_reset_entry(void)
 {
        git_index *index;
@@ -468,7 +557,7 @@ static void add_invalid_filename(git_repository *repo, const char *fn)
 
        cl_assert(git_index_entrycount(index) == 0);
 
-       git_buf_free(&path);
+       git_buf_dispose(&path);
        git_index_free(index);
 }
 
@@ -545,11 +634,35 @@ static void write_invalid_filename(git_repository *repo, const char *fn_orig)
        p_unlink(path.ptr);
 
        cl_git_pass(git_index_remove_all(index, NULL, NULL, NULL));
-       git_buf_free(&path);
+       git_buf_dispose(&path);
        git_index_free(index);
        git__free(fn);
 }
 
+void test_index_tests__write_tree_invalid_unowned_index(void)
+{
+       git_index *idx;
+       git_repository *repo;
+       git_index_entry entry = {{0}};
+       git_oid tree_id;
+
+       cl_git_pass(git_index_new(&idx));
+
+       cl_git_pass(git_oid_fromstr(&entry.id, "8312e0a89a9cbab77c732b6bc39b51a783e3a318"));
+       entry.path = "foo";
+       entry.mode = GIT_FILEMODE_BLOB;
+       cl_git_pass(git_index_add(idx, &entry));
+
+       cl_git_pass(git_repository_init(&repo, "./invalid-id", 0));
+
+       cl_git_fail(git_index_write_tree_to(&tree_id, idx, repo));
+
+       git_index_free(idx);
+       git_repository_free(repo);
+
+       cl_fixture_cleanup("invalid-id");
+}
+
 /* Test that writing an invalid filename fails */
 void test_index_tests__write_invalid_filename(void)
 {
@@ -697,7 +810,7 @@ void test_index_tests__preserves_case(void)
        cl_git_rewritefile("myrepo/TEST.txt", "hello again\n");
        cl_git_pass(git_index_add_bypath(index, "TEST.txt"));
 
-       if (index_caps & GIT_INDEXCAP_IGNORE_CASE)
+       if (index_caps & GIT_INDEX_CAPABILITY_IGNORE_CASE)
                cl_assert_equal_i(1, (int)git_index_entrycount(index));
        else
                cl_assert_equal_i(2, (int)git_index_entrycount(index));
@@ -708,7 +821,7 @@ void test_index_tests__preserves_case(void)
        cl_assert(git__strcmp(entry->path, "test.txt") == 0);
 
        cl_assert((entry = git_index_get_bypath(index, "TEST.txt", 0)) != NULL);
-       if (index_caps & GIT_INDEXCAP_IGNORE_CASE)
+       if (index_caps & GIT_INDEX_CAPABILITY_IGNORE_CASE)
                /* The path should *not* have changed without an explicit remove */
                cl_assert(git__strcmp(entry->path, "test.txt") == 0);
        else
@@ -736,8 +849,8 @@ void test_index_tests__elocked(void)
        error = git_index_write(index);
        cl_assert_equal_i(GIT_ELOCKED, error);
 
-       err = giterr_last();
-       cl_assert_equal_i(err->klass, GITERR_INDEX);
+       err = git_error_last();
+       cl_assert_equal_i(err->klass, GIT_ERROR_INDEX);
 
        git_filebuf_cleanup(&file);
        git_index_free(index);
@@ -810,13 +923,13 @@ void test_index_tests__reload_while_ignoring_case(void)
        cl_git_pass(git_vector_verify_sorted(&index->entries));
 
        caps = git_index_caps(index);
-       cl_git_pass(git_index_set_caps(index, caps &= ~GIT_INDEXCAP_IGNORE_CASE));
+       cl_git_pass(git_index_set_caps(index, caps &= ~GIT_INDEX_CAPABILITY_IGNORE_CASE));
        cl_git_pass(git_index_read(index, true));
        cl_git_pass(git_vector_verify_sorted(&index->entries));
        cl_assert(git_index_get_bypath(index, ".HEADER", 0));
        cl_assert_equal_p(NULL, git_index_get_bypath(index, ".header", 0));
 
-       cl_git_pass(git_index_set_caps(index, caps | GIT_INDEXCAP_IGNORE_CASE));
+       cl_git_pass(git_index_set_caps(index, caps | GIT_INDEX_CAPABILITY_IGNORE_CASE));
        cl_git_pass(git_index_read(index, true));
        cl_git_pass(git_vector_verify_sorted(&index->entries));
        cl_assert(git_index_get_bypath(index, ".HEADER", 0));
@@ -835,7 +948,7 @@ void test_index_tests__change_icase_on_instance(void)
        cl_git_pass(git_vector_verify_sorted(&index->entries));
 
        caps = git_index_caps(index);
-       cl_git_pass(git_index_set_caps(index, caps &= ~GIT_INDEXCAP_IGNORE_CASE));
+       cl_git_pass(git_index_set_caps(index, caps &= ~GIT_INDEX_CAPABILITY_IGNORE_CASE));
        cl_assert_equal_i(false, index->ignore_case);
        cl_git_pass(git_vector_verify_sorted(&index->entries));
        cl_assert(e = git_index_get_bypath(index, "src/common.h", 0));
@@ -843,7 +956,7 @@ void test_index_tests__change_icase_on_instance(void)
        cl_assert(e = git_index_get_bypath(index, "COPYING", 0));
        cl_assert_equal_p(NULL, e = git_index_get_bypath(index, "copying", 0));
 
-       cl_git_pass(git_index_set_caps(index, caps | GIT_INDEXCAP_IGNORE_CASE));
+       cl_git_pass(git_index_set_caps(index, caps | GIT_INDEX_CAPABILITY_IGNORE_CASE));
        cl_assert_equal_i(true, index->ignore_case);
        cl_git_pass(git_vector_verify_sorted(&index->entries));
        cl_assert(e = git_index_get_bypath(index, "COPYING", 0));
@@ -878,3 +991,90 @@ void test_index_tests__can_lock_index(void)
        git_index_free(index);
        cl_git_sandbox_cleanup();
 }
+
+void test_index_tests__can_iterate(void)
+{
+       git_index *index;
+       git_index_iterator *iterator;
+       const git_index_entry *entry;
+       size_t i, iterator_idx = 0, found = 0;
+       int ret;
+
+       cl_git_pass(git_index_open(&index, TEST_INDEX_PATH));
+       cl_git_pass(git_index_iterator_new(&iterator, index));
+
+       cl_assert(git_vector_is_sorted(&iterator->snap));
+
+       for (i = 0; i < ARRAY_SIZE(test_entries); i++) {
+               /* Advance iterator to next test entry index */
+               do {
+                       ret = git_index_iterator_next(&entry, iterator);
+
+                       if (ret == GIT_ITEROVER)
+                               cl_fail("iterator did not contain all test entries");
+
+                       cl_git_pass(ret);
+               } while (iterator_idx++ < test_entries[i].index);
+
+               cl_assert_equal_s(entry->path, test_entries[i].path);
+               cl_assert_equal_i(entry->mtime.seconds, test_entries[i].mtime);
+               cl_assert_equal_i(entry->file_size, test_entries[i].file_size);
+               found++;
+       }
+
+       while ((ret = git_index_iterator_next(&entry, iterator)) == 0)
+               ;
+
+       if (ret != GIT_ITEROVER)
+               cl_git_fail(ret);
+
+       cl_assert_equal_i(found, ARRAY_SIZE(test_entries));
+
+       git_index_iterator_free(iterator);
+       git_index_free(index);
+}
+
+void test_index_tests__can_modify_while_iterating(void)
+{
+       git_index *index;
+       git_index_iterator *iterator;
+       const git_index_entry *entry;
+       git_index_entry new_entry = {{0}};
+       size_t expected = 0, seen = 0;
+       int ret;
+
+       cl_git_pass(git_index_open(&index, TEST_INDEX_PATH));
+       cl_git_pass(git_index_iterator_new(&iterator, index));
+
+       expected = git_index_entrycount(index);
+       cl_assert(git_vector_is_sorted(&iterator->snap));
+
+       /*
+        * After we've counted the entries, add a new one and change another;
+        * ensure that our iterator is backed by a snapshot and thus returns
+        * the number of entries from when the iterator was created.
+        */
+       cl_git_pass(git_oid_fromstr(&new_entry.id, "8312e0a89a9cbab77c732b6bc39b51a783e3a318"));
+       new_entry.path = "newfile";
+       new_entry.mode = GIT_FILEMODE_BLOB;
+       cl_git_pass(git_index_add(index, &new_entry));
+
+       cl_git_pass(git_oid_fromstr(&new_entry.id, "4141414141414141414141414141414141414141"));
+       new_entry.path = "Makefile";
+       new_entry.mode = GIT_FILEMODE_BLOB;
+       cl_git_pass(git_index_add(index, &new_entry));
+
+       while (true) {
+               ret = git_index_iterator_next(&entry, iterator);
+
+               if (ret == GIT_ITEROVER)
+                       break;
+
+               seen++;
+       }
+
+       cl_assert_equal_i(expected, seen);
+
+       git_index_iterator_free(iterator);
+       git_index_free(index);
+}
index b609d5990f936955dd6e0d5e24e8f0aafc08ca80..8c7efb2535f72d35dbfcfb724c92ff0cd18c3eb5 100644 (file)
@@ -222,10 +222,10 @@ static void check_index_range(
        cl_git_pass(git_repository_index(&index, repo));
 
        caps = git_index_caps(index);
-       is_ignoring_case = ((caps & GIT_INDEXCAP_IGNORE_CASE) != 0);
+       is_ignoring_case = ((caps & GIT_INDEX_CAPABILITY_IGNORE_CASE) != 0);
 
        if (ignore_case != is_ignoring_case)
-               cl_git_pass(git_index_set_caps(index, caps ^ GIT_INDEXCAP_IGNORE_CASE));
+               cl_git_pass(git_index_set_caps(index, caps ^ GIT_INDEX_CAPABILITY_IGNORE_CASE));
 
        i_opts.flags = 0;
        i_opts.start = start;
@@ -284,7 +284,7 @@ void test_iterator_index__case_folding(void)
 
        cl_git_pass(git_buf_joinpath(&path, cl_fixture("icase"), ".gitted/CoNfIg"));
        fs_is_ci = git_path_exists(path.ptr);
-       git_buf_free(&path);
+       git_buf_dispose(&path);
 
        index_iterator_test(
                "icase", NULL, NULL, 0, ARRAY_SIZE(expected_index_cs),
@@ -363,7 +363,7 @@ void test_iterator_index__icase_1(void)
        caps = git_index_caps(index);
 
        /* force case sensitivity */
-       cl_git_pass(git_index_set_caps(index, caps & ~GIT_INDEXCAP_IGNORE_CASE));
+       cl_git_pass(git_index_set_caps(index, caps & ~GIT_INDEX_CAPABILITY_IGNORE_CASE));
 
        /* autoexpand with no tree entries over range */
        i_opts.start = "c";
@@ -409,7 +409,7 @@ void test_iterator_index__icase_1(void)
        git_iterator_free(i);
 
        /* force case insensitivity */
-       cl_git_pass(git_index_set_caps(index, caps | GIT_INDEXCAP_IGNORE_CASE));
+       cl_git_pass(git_index_set_caps(index, caps | GIT_INDEX_CAPABILITY_IGNORE_CASE));
 
        /* autoexpand with no tree entries over range */
        i_opts.flags = 0;
@@ -783,7 +783,7 @@ void test_iterator_index__pathlist_1(void)
        cl_git_pass(git_vector_insert(&filelist, "k/a"));
 
        /* In this test we DO NOT force a case setting on the index. */
-       default_icase = ((git_index_caps(index) & GIT_INDEXCAP_IGNORE_CASE) != 0);
+       default_icase = ((git_index_caps(index) & GIT_INDEX_CAPABILITY_IGNORE_CASE) != 0);
 
        i_opts.pathlist.strings = (char **)filelist.contents;
        i_opts.pathlist.count = filelist.length;
@@ -825,7 +825,7 @@ void test_iterator_index__pathlist_2(void)
        cl_git_pass(git_vector_insert(&filelist, "kZZZZZZZ"));
 
        /* In this test we DO NOT force a case setting on the index. */
-       default_icase = ((git_index_caps(index) & GIT_INDEXCAP_IGNORE_CASE) != 0);
+       default_icase = ((git_index_caps(index) & GIT_INDEX_CAPABILITY_IGNORE_CASE) != 0);
 
        i_opts.pathlist.strings = (char **)filelist.contents;
        i_opts.pathlist.count = filelist.length;
@@ -867,7 +867,7 @@ void test_iterator_index__pathlist_four(void)
        cl_git_pass(git_vector_insert(&filelist, "kZZZZZZZ"));
 
        /* In this test we DO NOT force a case setting on the index. */
-       default_icase = ((git_index_caps(index) & GIT_INDEXCAP_IGNORE_CASE) != 0);
+       default_icase = ((git_index_caps(index) & GIT_INDEX_CAPABILITY_IGNORE_CASE) != 0);
 
        i_opts.pathlist.strings = (char **)filelist.contents;
        i_opts.pathlist.count = filelist.length;
@@ -910,7 +910,7 @@ void test_iterator_index__pathlist_icase(void)
        caps = git_index_caps(index);
 
        /* force case sensitivity */
-       cl_git_pass(git_index_set_caps(index, caps & ~GIT_INDEXCAP_IGNORE_CASE));
+       cl_git_pass(git_index_set_caps(index, caps & ~GIT_INDEX_CAPABILITY_IGNORE_CASE));
 
        /* All indexfilelist iterator tests are "autoexpand with no tree entries" */
 
@@ -930,7 +930,7 @@ void test_iterator_index__pathlist_icase(void)
        git_iterator_free(i);
 
        /* force case insensitivity */
-       cl_git_pass(git_index_set_caps(index, caps | GIT_INDEXCAP_IGNORE_CASE));
+       cl_git_pass(git_index_set_caps(index, caps | GIT_INDEX_CAPABILITY_IGNORE_CASE));
 
        i_opts.start = "c";
        i_opts.end = "k/D";
@@ -1007,7 +1007,7 @@ static void create_paths(git_index *index, const char *root, int depth)
                }
        }
 
-       git_buf_free(&fullpath);
+       git_buf_dispose(&fullpath);
 }
 
 void test_iterator_index__pathlist_for_deeply_nested_item(void)
@@ -1297,17 +1297,17 @@ static void add_conflict(
        ancestor.path = ancestor_path;
        ancestor.mode = GIT_FILEMODE_BLOB;
        git_oid_fromstr(&ancestor.id, "d44e18fb93b7107b5cd1b95d601591d77869a1b6");
-       GIT_IDXENTRY_STAGE_SET(&ancestor, 1);
+       GIT_INDEX_ENTRY_STAGE_SET(&ancestor, 1);
 
        ours.path = our_path;
        ours.mode = GIT_FILEMODE_BLOB;
        git_oid_fromstr(&ours.id, "d44e18fb93b7107b5cd1b95d601591d77869a1b6");
-       GIT_IDXENTRY_STAGE_SET(&ours, 2);
+       GIT_INDEX_ENTRY_STAGE_SET(&ours, 2);
 
        theirs.path = their_path;
        theirs.mode = GIT_FILEMODE_BLOB;
        git_oid_fromstr(&theirs.id, "d44e18fb93b7107b5cd1b95d601591d77869a1b6");
-       GIT_IDXENTRY_STAGE_SET(&theirs, 3);
+       GIT_INDEX_ENTRY_STAGE_SET(&theirs, 3);
 
        cl_git_pass(git_index_conflict_add(index, &ancestor, &ours, &theirs));
 }
index 07da58371b36c9390dea8758320d0ed0639c22ad..08df909a395e0e4f451505d8b27e0621f5bcd4d4 100644 (file)
@@ -653,7 +653,7 @@ static void build_test_tree(
        cl_git_pass(git_treebuilder_write(out, builder));
 
        git_treebuilder_free(builder);
-       git_buf_free(&name);
+       git_buf_dispose(&name);
 }
 
 void test_iterator_tree__case_conflicts_0(void)
index 81016752cbcba52e6def75d845f9b45fa0f97b36..87ac1e5d49d7a3351e9333e91d709f51bda0ab2d 100644 (file)
@@ -3,6 +3,7 @@
 #include "repository.h"
 #include "fileops.h"
 #include "../submodule/submodule_helpers.h"
+#include "../merge/merge_helpers.h"
 #include "iterator_helpers.h"
 #include <stdarg.h>
 
@@ -460,7 +461,7 @@ void test_iterator_workdir__icase_starts_and_ends(void)
 static void build_workdir_tree(const char *root, int dirs, int subs)
 {
        int i, j;
-       char buf[64], sub[64];
+       char buf[64], sub[80];
 
        for (i = 0; i < dirs; ++i) {
                if (i % 2 == 0) {
@@ -660,12 +661,12 @@ void test_iterator_workdir__filesystem_gunk(void)
 
        cl_git_pass(git_iterator_for_filesystem(&i, "testrepo/.git/refs", NULL));
 
-       /* should only have 13 items, since we're not asking for trees to be
+       /* should only have 16 items, since we're not asking for trees to be
         * returned.  the goal of this test is simply to not crash.
         */
-       expect_iterator_items(i, 15, NULL, 15, NULL);
+       expect_iterator_items(i, 16, NULL, 15, NULL);
        git_iterator_free(i);
-       git_buf_free(&parent);
+       git_buf_dispose(&parent);
 }
 
 void test_iterator_workdir__skips_unreadable_dirs(void)
@@ -1041,7 +1042,7 @@ static void create_paths(const char *root, int depth)
                }
        }
 
-       git_buf_free(&fullpath);
+       git_buf_dispose(&fullpath);
 }
 
 void test_iterator_workdir__pathlist_for_deeply_nested_item(void)
@@ -1474,3 +1475,48 @@ void test_iterator_workdir__pathlist_with_directory_include_trees(void)
        git_vector_free(&filelist);
 }
 
+void test_iterator_workdir__hash_when_requested(void)
+{
+       git_iterator *iter;
+       const git_index_entry *entry;
+       git_iterator_options iter_opts = GIT_ITERATOR_OPTIONS_INIT;
+       git_oid expected_id = {{0}};
+       size_t i;
+
+       struct merge_index_entry expected[] = {
+               { 0100644, "ffb36e513f5fdf8a6ba850a20142676a2ac4807d", 0, "asparagus.txt" },
+               { 0100644, "68f6182f4c85d39e1309d97c7e456156dc9c0096", 0, "beef.txt" },
+               { 0100644, "4b7c5650008b2e747fe1809eeb5a1dde0e80850a", 0, "bouilli.txt" },
+               { 0100644, "c4e6cca3ec6ae0148ed231f97257df8c311e015f", 0, "gravy.txt" },
+               { 0100644, "7c7e08f9559d9e1551b91e1cf68f1d0066109add", 0, "oyster.txt" },
+               { 0100644, "898d12687fb35be271c27c795a6b32c8b51da79e", 0, "veal.txt" },
+       };
+
+       g_repo = cl_git_sandbox_init("merge-recursive");
+
+       /* do the iteration normally, ensure there are no hashes */
+       cl_git_pass(git_iterator_for_workdir(&iter, g_repo, NULL, NULL, &iter_opts));
+
+       for (i = 0; i < sizeof(expected) / sizeof(struct merge_index_entry); i++) {
+               cl_git_pass(git_iterator_advance(&entry, iter));
+
+               cl_assert_equal_oid(&expected_id, &entry->id);
+               cl_assert_equal_s(expected[i].path, entry->path);
+       }
+       cl_assert_equal_i(GIT_ITEROVER, git_iterator_advance(&entry, iter));
+       git_iterator_free(iter);
+
+       /* do the iteration requesting hashes */
+       iter_opts.flags |= GIT_ITERATOR_INCLUDE_HASH;
+       cl_git_pass(git_iterator_for_workdir(&iter, g_repo, NULL, NULL, &iter_opts));
+
+       for (i = 0; i < sizeof(expected) / sizeof(struct merge_index_entry); i++) {
+               cl_git_pass(git_iterator_advance(&entry, iter));
+
+               cl_git_pass(git_oid_fromstr(&expected_id, expected[i].oid_str));
+               cl_assert_equal_oid(&expected_id, &entry->id);
+               cl_assert_equal_s(expected[i].path, entry->path);
+       }
+       cl_assert_equal_i(GIT_ITEROVER, git_iterator_advance(&entry, iter));
+       git_iterator_free(iter);
+}
diff --git a/tests/mailmap/basic.c b/tests/mailmap/basic.c
new file mode 100644 (file)
index 0000000..1f8ca56
--- /dev/null
@@ -0,0 +1,101 @@
+#include "clar.h"
+#include "clar_libgit2.h"
+
+#include "common.h"
+#include "mailmap.h"
+
+static git_mailmap *mailmap = NULL;
+
+const char TEST_MAILMAP[] =
+       "Foo bar <foo@bar.com> <foo@baz.com>  \n"
+       "Blatantly invalid line\n"
+       "Foo bar <foo@bar.com> <foo@bal.com>\n"
+       "<email@foo.com> <otheremail@foo.com>\n"
+       "<email@foo.com> Other Name <yetanotheremail@foo.com>\n";
+
+struct {
+       const char *real_name;
+       const char *real_email;
+       const char *replace_name;
+       const char *replace_email;
+} expected[] = {
+       { "Foo bar", "foo@bar.com", NULL, "foo@baz.com" },
+       { "Foo bar", "foo@bar.com", NULL, "foo@bal.com" },
+       { NULL, "email@foo.com", NULL, "otheremail@foo.com" },
+       { NULL, "email@foo.com", "Other Name", "yetanotheremail@foo.com" }
+};
+
+void test_mailmap_basic__initialize(void)
+{
+       cl_git_pass(git_mailmap_from_buffer(
+               &mailmap, TEST_MAILMAP, strlen(TEST_MAILMAP)));
+}
+
+void test_mailmap_basic__cleanup(void)
+{
+       git_mailmap_free(mailmap);
+       mailmap = NULL;
+}
+
+void test_mailmap_basic__entry(void)
+{
+       size_t idx;
+       const git_mailmap_entry *entry;
+
+       /* Check that we have the expected # of entries */
+       cl_assert_equal_sz(ARRAY_SIZE(expected), git_vector_length(&mailmap->entries));
+
+       for (idx = 0; idx < ARRAY_SIZE(expected); ++idx) {
+               /* Try to look up each entry and make sure they match */
+               entry = git_mailmap_entry_lookup(
+                       mailmap, expected[idx].replace_name, expected[idx].replace_email);
+
+               cl_assert(entry);
+               cl_assert_equal_s(entry->real_name, expected[idx].real_name);
+               cl_assert_equal_s(entry->real_email, expected[idx].real_email);
+               cl_assert_equal_s(entry->replace_name, expected[idx].replace_name);
+               cl_assert_equal_s(entry->replace_email, expected[idx].replace_email);
+       }
+}
+
+void test_mailmap_basic__lookup_not_found(void)
+{
+       const git_mailmap_entry *entry = git_mailmap_entry_lookup(
+               mailmap, "Whoever", "doesnotexist@fo.com");
+       cl_assert(!entry);
+}
+
+void test_mailmap_basic__lookup(void)
+{
+       const git_mailmap_entry *entry = git_mailmap_entry_lookup(
+               mailmap, "Typoed the name once", "foo@baz.com");
+       cl_assert(entry);
+       cl_assert_equal_s(entry->real_name, "Foo bar");
+}
+
+void test_mailmap_basic__empty_email_query(void)
+{
+       const char *name;
+       const char *email;
+       cl_git_pass(git_mailmap_resolve(
+               &name, &email, mailmap, "Author name", "otheremail@foo.com"));
+       cl_assert_equal_s(name, "Author name");
+       cl_assert_equal_s(email, "email@foo.com");
+}
+
+void test_mailmap_basic__name_matching(void)
+{
+       const char *name;
+       const char *email;
+       cl_git_pass(git_mailmap_resolve(
+               &name, &email, mailmap, "Other Name", "yetanotheremail@foo.com"));
+
+       cl_assert_equal_s(name, "Other Name");
+       cl_assert_equal_s(email, "email@foo.com");
+
+       cl_git_pass(git_mailmap_resolve(
+               &name, &email, mailmap,
+               "Other Name That Doesn't Match", "yetanotheremail@foo.com"));
+       cl_assert_equal_s(name, "Other Name That Doesn't Match");
+       cl_assert_equal_s(email, "yetanotheremail@foo.com");
+}
diff --git a/tests/mailmap/blame.c b/tests/mailmap/blame.c
new file mode 100644 (file)
index 0000000..e6bc1a4
--- /dev/null
@@ -0,0 +1,64 @@
+#include "clar_libgit2.h"
+#include "git2/repository.h"
+#include "git2/blame.h"
+#include "mailmap.h"
+#include "mailmap_testdata.h"
+
+static git_repository *g_repo;
+static git_blame *g_blame;
+
+void test_mailmap_blame__initialize(void)
+{
+       g_repo = NULL;
+       g_blame = NULL;
+}
+
+void test_mailmap_blame__cleanup(void)
+{
+       git_blame_free(g_blame);
+       cl_git_sandbox_cleanup();
+}
+
+void test_mailmap_blame__hunks(void)
+{
+       size_t idx = 0;
+       const git_blame_hunk *hunk = NULL;
+       git_blame_options opts = GIT_BLAME_OPTIONS_INIT;
+
+       g_repo = cl_git_sandbox_init("mailmap");
+
+       opts.flags |= GIT_BLAME_USE_MAILMAP;
+
+       cl_git_pass(git_blame_file(&g_blame, g_repo, "file.txt", &opts));
+       cl_assert(g_blame);
+
+       for (idx = 0; idx < ARRAY_SIZE(resolved); ++idx) {
+               hunk = git_blame_get_hunk_byline(g_blame, idx + 1);
+
+               cl_assert(hunk->final_signature != NULL);
+               cl_assert(hunk->orig_signature != NULL);
+               cl_assert_equal_s(hunk->final_signature->name, resolved[idx].real_name);
+               cl_assert_equal_s(hunk->final_signature->email, resolved[idx].real_email);
+       }
+}
+
+void test_mailmap_blame__hunks_no_mailmap(void)
+{
+       size_t idx = 0;
+       const git_blame_hunk *hunk = NULL;
+       git_blame_options opts = GIT_BLAME_OPTIONS_INIT;
+
+       g_repo = cl_git_sandbox_init("mailmap");
+
+       cl_git_pass(git_blame_file(&g_blame, g_repo, "file.txt", &opts));
+       cl_assert(g_blame);
+
+       for (idx = 0; idx < ARRAY_SIZE(resolved); ++idx) {
+               hunk = git_blame_get_hunk_byline(g_blame, idx + 1);
+
+               cl_assert(hunk->final_signature != NULL);
+               cl_assert(hunk->orig_signature != NULL);
+               cl_assert_equal_s(hunk->final_signature->name, resolved[idx].replace_name);
+               cl_assert_equal_s(hunk->final_signature->email, resolved[idx].replace_email);
+       }
+}
diff --git a/tests/mailmap/mailmap_testdata.h b/tests/mailmap/mailmap_testdata.h
new file mode 100644 (file)
index 0000000..a06606b
--- /dev/null
@@ -0,0 +1,21 @@
+#include "mailmap.h"
+
+typedef struct mailmap_entry {
+       const char *real_name;
+       const char *real_email;
+       const char *replace_name;
+       const char *replace_email;
+} mailmap_entry;
+
+static const mailmap_entry resolved[] = {
+       { "Brad", "cto@company.xx", "Brad", "cto@coompany.xx" },
+       { "Brad L", "cto@company.xx", "Brad L", "cto@coompany.xx" },
+       { "Some Dude", "some@dude.xx", "nick1", "bugs@company.xx" },
+       { "Other Author", "other@author.xx", "nick2", "bugs@company.xx" },
+       { "nick3", "bugs@company.xx", "nick3", "bugs@company.xx" },
+       { "Other Author", "other@author.xx", "Some Garbage", "nick2@company.xx" },
+       { "Phil Hill", "phil@company.xx", "unknown", "phil@company.xx" },
+       { "Joseph", "joseph@company.xx", "Joseph", "bugs@company.xx" },
+       { "Santa Claus", "santa.claus@northpole.xx", "Clause", "me@company.xx" },
+       { "Charles", "charles@charles.xx", "Charles", "charles@charles.xx" }
+};
diff --git a/tests/mailmap/parsing.c b/tests/mailmap/parsing.c
new file mode 100644 (file)
index 0000000..e2ab05c
--- /dev/null
@@ -0,0 +1,270 @@
+#include "clar_libgit2.h"
+#include "repository.h"
+#include "git2/sys/repository.h"
+#include "mailmap_testdata.h"
+#include "buf_text.h"
+
+static git_repository *g_repo;
+static git_mailmap *g_mailmap;
+static git_config *g_config;
+
+static const char string_mailmap[] =
+       "# Simple Comment line\n"
+       "<cto@company.xx>                       <cto@coompany.xx>\n"
+       "Some Dude <some@dude.xx>         nick1 <bugs@company.xx>\n"
+       "Other Author <other@author.xx>   nick2 <bugs@company.xx>\n"
+       "Other Author <other@author.xx>         <nick2@company.xx>\n"
+       "Phil Hill <phil@company.xx>  # Comment at end of line\n"
+       "<joseph@company.xx>             Joseph <bugs@company.xx>\n"
+       "Santa Claus <santa.claus@northpole.xx> <me@company.xx>\n"
+       "Untracked <untracked@company.xx>";
+
+static const mailmap_entry entries[] = {
+       { NULL, "cto@company.xx", NULL, "cto@coompany.xx" },
+       { "Some Dude", "some@dude.xx", "nick1", "bugs@company.xx" },
+       { "Other Author", "other@author.xx", "nick2", "bugs@company.xx" },
+       { "Other Author", "other@author.xx", NULL, "nick2@company.xx" },
+       { "Phil Hill", NULL, NULL, "phil@company.xx" },
+       { NULL, "joseph@company.xx", "Joseph", "bugs@company.xx" },
+       { "Santa Claus", "santa.claus@northpole.xx", NULL, "me@company.xx" },
+       /* This entry isn't in the bare repository */
+       { "Untracked", NULL, NULL, "untracked@company.xx" }
+};
+
+void test_mailmap_parsing__initialize(void)
+{
+       g_repo = NULL;
+       g_mailmap = NULL;
+       g_config = NULL;
+}
+
+void test_mailmap_parsing__cleanup(void)
+{
+       git_mailmap_free(g_mailmap);
+       git_config_free(g_config);
+       cl_git_sandbox_cleanup();
+}
+
+static void check_mailmap_entries(
+       const git_mailmap *mailmap, const mailmap_entry *entries, size_t entries_size)
+{
+       const git_mailmap_entry *parsed;
+       size_t idx;
+
+       /* Check the correct # of entries were parsed */
+       cl_assert_equal_sz(entries_size, git_vector_length(&mailmap->entries));
+
+       /* Make sure looking up each entry succeeds */
+       for (idx = 0; idx < entries_size; ++idx) {
+               parsed = git_mailmap_entry_lookup(
+                       mailmap, entries[idx].replace_name, entries[idx].replace_email);
+
+               cl_assert(parsed);
+               cl_assert_equal_s(parsed->real_name, entries[idx].real_name);
+               cl_assert_equal_s(parsed->real_email, entries[idx].real_email);
+               cl_assert_equal_s(parsed->replace_name, entries[idx].replace_name);
+               cl_assert_equal_s(parsed->replace_email, entries[idx].replace_email);
+       }
+}
+
+static void check_mailmap_resolve(
+       const git_mailmap *mailmap, const mailmap_entry *resolved, size_t resolved_size)
+{
+       const char *resolved_name = NULL;
+       const char *resolved_email = NULL;
+       size_t idx;
+
+       /* Check that the resolver behaves correctly */
+       for (idx = 0; idx < resolved_size; ++idx) {
+               cl_git_pass(git_mailmap_resolve(
+                       &resolved_name, &resolved_email, mailmap,
+                       resolved[idx].replace_name, resolved[idx].replace_email));
+               cl_assert_equal_s(resolved_name, resolved[idx].real_name);
+               cl_assert_equal_s(resolved_email, resolved[idx].real_email);
+       }
+}
+
+static const mailmap_entry resolved_untracked[] = {
+       { "Untracked", "untracked@company.xx", "xx", "untracked@company.xx" }
+};
+
+void test_mailmap_parsing__string(void)
+{
+       cl_git_pass(git_mailmap_from_buffer(
+               &g_mailmap, string_mailmap, strlen(string_mailmap)));
+
+       /* We should have parsed all of the entries */
+       check_mailmap_entries(g_mailmap, entries, ARRAY_SIZE(entries));
+
+       /* Check that resolving the entries works */
+       check_mailmap_resolve(g_mailmap, resolved, ARRAY_SIZE(resolved));
+       check_mailmap_resolve(
+               g_mailmap, resolved_untracked, ARRAY_SIZE(resolved_untracked));
+}
+
+void test_mailmap_parsing__windows_string(void)
+{
+       git_buf unixbuf = GIT_BUF_INIT;
+       git_buf winbuf = GIT_BUF_INIT;
+
+       /* Parse with windows-style line endings */
+       git_buf_attach_notowned(&unixbuf, string_mailmap, strlen(string_mailmap));
+       cl_git_pass(git_buf_text_lf_to_crlf(&winbuf, &unixbuf));
+
+       cl_git_pass(git_mailmap_from_buffer(&g_mailmap, winbuf.ptr, winbuf.size));
+       git_buf_dispose(&winbuf);
+
+       /* We should have parsed all of the entries */
+       check_mailmap_entries(g_mailmap, entries, ARRAY_SIZE(entries));
+
+       /* Check that resolving the entries works */
+       check_mailmap_resolve(g_mailmap, resolved, ARRAY_SIZE(resolved));
+       check_mailmap_resolve(
+               g_mailmap, resolved_untracked, ARRAY_SIZE(resolved_untracked));
+}
+
+void test_mailmap_parsing__fromrepo(void)
+{
+       g_repo = cl_git_sandbox_init("mailmap");
+       cl_check(!git_repository_is_bare(g_repo));
+
+       cl_git_pass(git_mailmap_from_repository(&g_mailmap, g_repo));
+
+       /* We should have parsed all of the entries */
+       check_mailmap_entries(g_mailmap, entries, ARRAY_SIZE(entries));
+
+       /* Check that resolving the entries works */
+       check_mailmap_resolve(g_mailmap, resolved, ARRAY_SIZE(resolved));
+       check_mailmap_resolve(
+               g_mailmap, resolved_untracked, ARRAY_SIZE(resolved_untracked));
+}
+
+static const mailmap_entry resolved_bare[] = {
+       { "xx", "untracked@company.xx", "xx", "untracked@company.xx" }
+};
+
+void test_mailmap_parsing__frombare(void)
+{
+       g_repo = cl_git_sandbox_init("mailmap/.gitted");
+       cl_git_pass(git_repository_set_bare(g_repo));
+       cl_check(git_repository_is_bare(g_repo));
+
+       cl_git_pass(git_mailmap_from_repository(&g_mailmap, g_repo));
+
+       /* We should have parsed all of the entries, except for the untracked one */
+       check_mailmap_entries(g_mailmap, entries, ARRAY_SIZE(entries) - 1);
+
+       /* Check that resolving the entries works */
+       check_mailmap_resolve(g_mailmap, resolved, ARRAY_SIZE(resolved));
+       check_mailmap_resolve(
+               g_mailmap, resolved_bare, ARRAY_SIZE(resolved_bare));
+}
+
+static const mailmap_entry resolved_with_file_override[] = {
+       { "Brad", "cto@company.xx", "Brad", "cto@coompany.xx" },
+       { "Brad L", "cto@company.xx", "Brad L", "cto@coompany.xx" },
+       { "Some Dude", "some@dude.xx", "nick1", "bugs@company.xx" },
+       { "Other Author", "other@author.xx", "nick2", "bugs@company.xx" },
+       { "nick3", "bugs@company.xx", "nick3", "bugs@company.xx" },
+       { "Other Author", "other@author.xx", "Some Garbage", "nick2@company.xx" },
+       { "Joseph", "joseph@company.xx", "Joseph", "bugs@company.xx" },
+       { "Santa Claus", "santa.claus@northpole.xx", "Clause", "me@company.xx" },
+       { "Charles", "charles@charles.xx", "Charles", "charles@charles.xx" },
+
+       /* This name is overridden by file_override */
+       { "File Override", "phil@company.xx", "unknown", "phil@company.xx" },
+       { "Other Name", "fileoverridename@company.xx", "override", "fileoverridename@company.xx" }
+};
+
+void test_mailmap_parsing__file_config(void)
+{
+       g_repo = cl_git_sandbox_init("mailmap");
+       cl_git_pass(git_repository_config(&g_config, g_repo));
+
+       cl_git_pass(git_config_set_string(
+               g_config, "mailmap.file", cl_fixture("mailmap/file_override")));
+
+       cl_git_pass(git_mailmap_from_repository(&g_mailmap, g_repo));
+
+       /* Check we don't have duplicate entries */
+       cl_assert_equal_sz(git_vector_length(&g_mailmap->entries), 9);
+
+       /* Check that resolving the entries works */
+       check_mailmap_resolve(
+               g_mailmap, resolved_with_file_override,
+               ARRAY_SIZE(resolved_with_file_override));
+}
+
+static const mailmap_entry resolved_with_blob_override[] = {
+       { "Brad", "cto@company.xx", "Brad", "cto@coompany.xx" },
+       { "Brad L", "cto@company.xx", "Brad L", "cto@coompany.xx" },
+       { "Some Dude", "some@dude.xx", "nick1", "bugs@company.xx" },
+       { "Other Author", "other@author.xx", "nick2", "bugs@company.xx" },
+       { "nick3", "bugs@company.xx", "nick3", "bugs@company.xx" },
+       { "Other Author", "other@author.xx", "Some Garbage", "nick2@company.xx" },
+       { "Joseph", "joseph@company.xx", "Joseph", "bugs@company.xx" },
+       { "Santa Claus", "santa.claus@northpole.xx", "Clause", "me@company.xx" },
+       { "Charles", "charles@charles.xx", "Charles", "charles@charles.xx" },
+
+       /* This name is overridden by blob_override */
+       { "Blob Override", "phil@company.xx", "unknown", "phil@company.xx" },
+       { "Other Name", "bloboverridename@company.xx", "override", "bloboverridename@company.xx" }
+};
+
+void test_mailmap_parsing__blob_config(void)
+{
+       g_repo = cl_git_sandbox_init("mailmap");
+       cl_git_pass(git_repository_config(&g_config, g_repo));
+
+       cl_git_pass(git_config_set_string(
+               g_config, "mailmap.blob", "HEAD:blob_override"));
+
+       cl_git_pass(git_mailmap_from_repository(&g_mailmap, g_repo));
+
+       /* Check we don't have duplicate entries */
+       cl_assert_equal_sz(git_vector_length(&g_mailmap->entries), 9);
+
+       /* Check that resolving the entries works */
+       check_mailmap_resolve(
+               g_mailmap, resolved_with_blob_override,
+               ARRAY_SIZE(resolved_with_blob_override));
+}
+
+static const mailmap_entry bare_resolved_with_blob_override[] = {
+       /* As mailmap.blob is set, we won't load HEAD:.mailmap */
+       { "Brad", "cto@coompany.xx", "Brad", "cto@coompany.xx" },
+       { "Brad L", "cto@coompany.xx", "Brad L", "cto@coompany.xx" },
+       { "nick1", "bugs@company.xx", "nick1", "bugs@company.xx" },
+       { "nick2", "bugs@company.xx", "nick2", "bugs@company.xx" },
+       { "nick3", "bugs@company.xx", "nick3", "bugs@company.xx" },
+       { "Some Garbage", "nick2@company.xx", "Some Garbage", "nick2@company.xx" },
+       { "Joseph", "bugs@company.xx", "Joseph", "bugs@company.xx" },
+       { "Clause", "me@company.xx", "Clause", "me@company.xx" },
+       { "Charles", "charles@charles.xx", "Charles", "charles@charles.xx" },
+
+       /* This name is overridden by blob_override */
+       { "Blob Override", "phil@company.xx", "unknown", "phil@company.xx" },
+       { "Other Name", "bloboverridename@company.xx", "override", "bloboverridename@company.xx" }
+};
+
+void test_mailmap_parsing__bare_blob_config(void)
+{
+       g_repo = cl_git_sandbox_init("mailmap/.gitted");
+       cl_git_pass(git_repository_set_bare(g_repo));
+       cl_check(git_repository_is_bare(g_repo));
+
+       cl_git_pass(git_repository_config(&g_config, g_repo));
+
+       cl_git_pass(git_config_set_string(
+               g_config, "mailmap.blob", "HEAD:blob_override"));
+
+       cl_git_pass(git_mailmap_from_repository(&g_mailmap, g_repo));
+
+       /* Check that we only have the 2 entries */
+       cl_assert_equal_sz(git_vector_length(&g_mailmap->entries), 2);
+
+       /* Check that resolving the entries works */
+       check_mailmap_resolve(
+               g_mailmap, bare_resolved_with_blob_override,
+               ARRAY_SIZE(bare_resolved_with_blob_override));
+}
index b4fccecc4461350c03d7ce9df8a6da9b8eb59f5d..00b2bae024ab5e7ba78f3c9982d1e4539f5db66c 100644 (file)
@@ -8,6 +8,7 @@ int main(int argc, char *argv[])
 #endif
 {
        int res;
+       char *at_exit_cmd;
 
        clar_test_init(argc, argv);
 
@@ -28,5 +29,11 @@ int main(int argc, char *argv[])
        cl_global_trace_disable();
        git_libgit2_shutdown();
 
+       at_exit_cmd = getenv("CLAR_AT_EXIT");
+       if (at_exit_cmd != NULL) {
+               int at_exit = system(at_exit_cmd);
+               return res || at_exit;
+       }
+
        return res;
 }
diff --git a/tests/merge/annotated_commit.c b/tests/merge/annotated_commit.c
new file mode 100644 (file)
index 0000000..cfdf849
--- /dev/null
@@ -0,0 +1,26 @@
+#include "clar_libgit2.h"
+
+
+static git_repository *g_repo;
+
+void test_merge_annotated_commit__initialize(void)
+{
+       g_repo = cl_git_sandbox_init("testrepo");
+}
+
+void test_merge_annotated_commit__cleanup(void)
+{
+       cl_git_sandbox_cleanup();
+}
+
+void test_merge_annotated_commit__lookup_annotated_tag(void)
+{
+       git_annotated_commit *commit;
+       git_reference *ref;
+
+       cl_git_pass(git_reference_lookup(&ref, g_repo, "refs/tags/test"));
+       cl_git_pass(git_annotated_commit_from_ref(&commit, g_repo, ref));
+
+       git_annotated_commit_free(commit);
+       git_reference_free(ref);
+}
index c75a00742ddf06a7185311555b30f5b67e54b767..a3fececb4628e4045a4e5ff508ef5c0d679d8eaf 100644 (file)
@@ -129,7 +129,7 @@ static void set_gitattributes_to(const char *driver)
        cl_assert(!git_buf_oom(&line));
 
        cl_git_mkfile(TEST_REPO_PATH "/.gitattributes", line.ptr);
-       git_buf_free(&line);
+       git_buf_dispose(&line);
 }
 
 static void merge_branch(void)
index 6f5a1fd9c5f7af139db240e0062507b8e49c3efc..27c96363f2fa127969c411881bb7767b8a2775ca 100644 (file)
@@ -15,7 +15,7 @@
 static git_repository *repo;
 static git_index *repo_index;
 
-// Fixture setup and teardown
+/* Fixture setup and teardown */
 void test_merge_files__initialize(void)
 {
        git_config *cfg;
index 4b1b7d2621763e831216783b53b7565fe7ada169..1b68bdccb128b8bf5ffa7e97fdb99878ac806301 100644 (file)
@@ -43,7 +43,7 @@ int merge_trees_from_branches(
 
        error = git_merge_trees(index, repo, ancestor_tree, our_tree, their_tree, opts);
 
-       git_buf_free(&branch_buf);
+       git_buf_dispose(&branch_buf);
        git_tree_free(our_tree);
        git_tree_free(their_tree);
        git_tree_free(ancestor_tree);
@@ -75,7 +75,7 @@ int merge_commits_from_branches(
 
        error = git_merge_commits(index, repo, our_commit, their_commit, opts);
 
-       git_buf_free(&branch_buf);
+       git_buf_dispose(&branch_buf);
        git_commit_free(our_commit);
        git_commit_free(their_commit);
 
@@ -359,7 +359,7 @@ int merge_test_workdir(git_repository *repo, const struct merge_index_entry expe
                        return 0;
        }
 
-       git_buf_free(&wd);
+       git_buf_dispose(&wd);
 
        return 1;
 }
index 67f2cf7861abc8f8afbc1390a7d00deb2abe472f..e4efba51c7b6b644fa22a6f4546b6abe74d41c72 100644 (file)
@@ -55,7 +55,7 @@ static git_repository *repo;
          "", \
          "5c3b68a71fc4fa5d362fd3875e53137c6a5ab7a5" }
 
-// Fixture setup and teardown
+/* Fixture setup and teardown */
 void test_merge_trees_automerge__initialize(void)
 {
        repo = cl_git_sandbox_init(TEST_REPO_PATH);
@@ -100,7 +100,7 @@ void test_merge_trees_automerge__automerge(void)
        cl_assert((entry = git_index_get_bypath(index, "automergeable.txt", 0)) != NULL);
        cl_assert(entry->file_size == strlen(AUTOMERGEABLE_MERGED_FILE));
 
-       cl_git_pass(git_object_lookup((git_object **)&blob, repo, &entry->id, GIT_OBJ_BLOB));
+       cl_git_pass(git_object_lookup((git_object **)&blob, repo, &entry->id, GIT_OBJECT_BLOB));
        cl_assert(memcmp(git_blob_rawcontent(blob), AUTOMERGEABLE_MERGED_FILE, (size_t)entry->file_size) == 0);
 
        git_index_free(index);
index 786a77a8b9185ef0e1d493662cee03caab160e15..79fba8ac5eb00a797bb632319c17023ca3faf3ed 100644 (file)
@@ -62,7 +62,7 @@ void test_merge_trees_commits__automerge(void)
        cl_assert((entry = git_index_get_bypath(index, "automergeable.txt", 0)) != NULL);
        cl_assert(entry->file_size == strlen(AUTOMERGEABLE_MERGED_FILE));
 
-       cl_git_pass(git_object_lookup((git_object **)&blob, repo, &entry->id, GIT_OBJ_BLOB));
+       cl_git_pass(git_object_lookup((git_object **)&blob, repo, &entry->id, GIT_OBJECT_BLOB));
        cl_assert(memcmp(git_blob_rawcontent(blob), AUTOMERGEABLE_MERGED_FILE, (size_t)entry->file_size) == 0);
 
        git_index_free(index);
@@ -137,12 +137,12 @@ void test_merge_trees_commits__fail_on_conflict(void)
 
        opts.flags |= GIT_MERGE_FAIL_ON_CONFLICT;
 
-       cl_git_fail_with(GIT_EMERGECONFLICT, 
+       cl_git_fail_with(GIT_EMERGECONFLICT,
                merge_trees_from_branches(&index, repo, "df_side1", "df_side2", &opts));
 
-       cl_git_fail_with(GIT_EMERGECONFLICT, 
+       cl_git_fail_with(GIT_EMERGECONFLICT,
                merge_commits_from_branches(&index, repo, "master", "unrelated", &opts));
-       cl_git_fail_with(GIT_EMERGECONFLICT, 
+       cl_git_fail_with(GIT_EMERGECONFLICT,
                merge_commits_from_branches(&index, repo, "master", "branch", &opts));
 }
 
index d858b8f66f71dcd508015bb439ce88cb439bf3ee..e85e340b98c5dc19b7e54fb88361552f69f5e280 100644 (file)
@@ -13,7 +13,7 @@ static git_repository *repo;
 #define DF_SIDE1_BRANCH                "df_side1"
 #define DF_SIDE2_BRANCH                "df_side2"
 
-// Fixture setup and teardown
+/* Fixture setup and teardown */
 void test_merge_trees_modeconflict__initialize(void)
 {
        repo = cl_git_sandbox_init(TEST_REPO_PATH);
index 853bf2fa0ce6bb29f946cdbb4759cd3e39c22b12..fbcfd2d3b911a34ba55976b7f0fc40c453f98419 100644 (file)
@@ -13,7 +13,7 @@ static git_repository *repo;
 #define BRANCH_RENAME_OURS                                     "rename_conflict_ours"
 #define BRANCH_RENAME_THEIRS                           "rename_conflict_theirs"
 
-// Fixture setup and teardown
+/* Fixture setup and teardown */
 void test_merge_trees_renames__initialize(void)
 {
        repo = cl_git_sandbox_init(TEST_REPO_PATH);
index 2262edda6a080fcac08e531d57c81008496d6f28..4a8255624b2c8a2a3681e59bd382909d413fcea8 100644 (file)
@@ -13,7 +13,7 @@ static git_repository *repo;
 #define TEST_INDEX_PATH TEST_REPO_PATH "/.git/index"
 
 
-// Fixture setup and teardown
+/* Fixture setup and teardown */
 void test_merge_trees_trivial__initialize(void)
 {
        repo = cl_git_sandbox_init(TEST_REPO_PATH);
@@ -51,7 +51,7 @@ static int merge_trivial(git_index **index, const char *ours, const char *theirs
 
        cl_git_pass(git_merge_trees(index, repo, ancestor_tree, our_tree, their_tree, &opts));
 
-       git_buf_free(&branch_buf);
+       git_buf_dispose(&branch_buf);
        git_tree_free(our_tree);
        git_tree_free(their_tree);
        git_tree_free(ancestor_tree);
index b99583cb33a35befdb51c2c4631aa51f04d2c81b..fdb11253b15ebba5ceeda91b232a7f5fcfcffb3f 100644 (file)
@@ -16,7 +16,7 @@ static git_repository *repo;
 #define BRANCH_A_CHANGE  "branch_a_change"
 #define BRANCH_B_CHANGE  "branch_b_change"
 
-// Fixture setup and teardown
+/* Fixture setup and teardown */
 void test_merge_trees_whitespace__initialize(void)
 {
        repo = cl_git_sandbox_init(TEST_REPO_PATH);
index 351cfbdd55d656edd2c5c995aae3caafb9ec11fa..27d7dba8442e0047931f245a0de6b4eb217f96ee 100644 (file)
@@ -24,7 +24,7 @@ static git_index *repo_index;
 #define NOFASTFORWARD_ID               "7cb63eed597130ba4abb87b3e544b85021905520"
 
 
-// Fixture setup and teardown
+/* Fixture setup and teardown */
 void test_merge_workdir_analysis__initialize(void)
 {
        repo = cl_git_sandbox_init(TEST_REPO_PATH);
@@ -40,21 +40,33 @@ void test_merge_workdir_analysis__cleanup(void)
 static void analysis_from_branch(
        git_merge_analysis_t *merge_analysis,
        git_merge_preference_t *merge_pref,
-       const char *branchname)
+       const char *our_branchname,
+       const char *their_branchname)
 {
-       git_buf refname = GIT_BUF_INIT;
+       git_buf our_refname = GIT_BUF_INIT;
+       git_buf their_refname = GIT_BUF_INIT;
+       git_reference *our_ref;
        git_reference *their_ref;
        git_annotated_commit *their_head;
 
-       git_buf_printf(&refname, "%s%s", GIT_REFS_HEADS_DIR, branchname);
+       if (our_branchname != NULL) {
+               cl_git_pass(git_buf_printf(&our_refname, "%s%s", GIT_REFS_HEADS_DIR, our_branchname));
+               cl_git_pass(git_reference_lookup(&our_ref, repo, git_buf_cstr(&our_refname)));
+       } else {
+               cl_git_pass(git_reference_lookup(&our_ref, repo, GIT_HEAD_FILE));
+       }
 
-       cl_git_pass(git_reference_lookup(&their_ref, repo, git_buf_cstr(&refname)));
+       cl_git_pass(git_buf_printf(&their_refname, "%s%s", GIT_REFS_HEADS_DIR, their_branchname));
+
+       cl_git_pass(git_reference_lookup(&their_ref, repo, git_buf_cstr(&their_refname)));
        cl_git_pass(git_annotated_commit_from_ref(&their_head, repo, their_ref));
 
-       cl_git_pass(git_merge_analysis(merge_analysis, merge_pref, repo, (const git_annotated_commit **)&their_head, 1));
+       cl_git_pass(git_merge_analysis_for_ref(merge_analysis, merge_pref, repo, our_ref, (const git_annotated_commit **)&their_head, 1));
 
-       git_buf_free(&refname);
+       git_buf_dispose(&our_refname);
+       git_buf_dispose(&their_refname);
        git_annotated_commit_free(their_head);
+       git_reference_free(our_ref);
        git_reference_free(their_ref);
 }
 
@@ -63,9 +75,8 @@ void test_merge_workdir_analysis__fastforward(void)
        git_merge_analysis_t merge_analysis;
        git_merge_preference_t merge_pref;
 
-       analysis_from_branch(&merge_analysis, &merge_pref, FASTFORWARD_BRANCH);
-       cl_assert_equal_i(GIT_MERGE_ANALYSIS_FASTFORWARD, (merge_analysis & GIT_MERGE_ANALYSIS_FASTFORWARD));
-       cl_assert_equal_i(GIT_MERGE_ANALYSIS_NORMAL, (merge_analysis & GIT_MERGE_ANALYSIS_NORMAL));
+       analysis_from_branch(&merge_analysis, &merge_pref, NULL, FASTFORWARD_BRANCH);
+       cl_assert_equal_i(GIT_MERGE_ANALYSIS_NORMAL|GIT_MERGE_ANALYSIS_FASTFORWARD, merge_analysis);
 }
 
 void test_merge_workdir_analysis__no_fastforward(void)
@@ -73,7 +84,7 @@ void test_merge_workdir_analysis__no_fastforward(void)
        git_merge_analysis_t merge_analysis;
        git_merge_preference_t merge_pref;
 
-       analysis_from_branch(&merge_analysis, &merge_pref, NOFASTFORWARD_BRANCH);
+       analysis_from_branch(&merge_analysis, &merge_pref, NULL, NOFASTFORWARD_BRANCH);
        cl_assert_equal_i(GIT_MERGE_ANALYSIS_NORMAL, merge_analysis);
 }
 
@@ -82,7 +93,7 @@ void test_merge_workdir_analysis__uptodate(void)
        git_merge_analysis_t merge_analysis;
        git_merge_preference_t merge_pref;
 
-       analysis_from_branch(&merge_analysis, &merge_pref, UPTODATE_BRANCH);
+       analysis_from_branch(&merge_analysis, &merge_pref, NULL, UPTODATE_BRANCH);
        cl_assert_equal_i(GIT_MERGE_ANALYSIS_UP_TO_DATE, merge_analysis);
 }
 
@@ -91,7 +102,7 @@ void test_merge_workdir_analysis__uptodate_merging_prev_commit(void)
        git_merge_analysis_t merge_analysis;
        git_merge_preference_t merge_pref;
 
-       analysis_from_branch(&merge_analysis, &merge_pref, PREVIOUS_BRANCH);
+       analysis_from_branch(&merge_analysis, &merge_pref, NULL, PREVIOUS_BRANCH);
        cl_assert_equal_i(GIT_MERGE_ANALYSIS_UP_TO_DATE, merge_analysis);
 }
 
@@ -104,11 +115,10 @@ void test_merge_workdir_analysis__unborn(void)
        git_buf_joinpath(&master, git_repository_path(repo), "refs/heads/master");
        p_unlink(git_buf_cstr(&master));
 
-       analysis_from_branch(&merge_analysis, &merge_pref, NOFASTFORWARD_BRANCH);
-       cl_assert_equal_i(GIT_MERGE_ANALYSIS_FASTFORWARD, (merge_analysis & GIT_MERGE_ANALYSIS_FASTFORWARD));
-       cl_assert_equal_i(GIT_MERGE_ANALYSIS_UNBORN, (merge_analysis & GIT_MERGE_ANALYSIS_UNBORN));
+       analysis_from_branch(&merge_analysis, &merge_pref, NULL, NOFASTFORWARD_BRANCH);
+       cl_assert_equal_i(GIT_MERGE_ANALYSIS_FASTFORWARD|GIT_MERGE_ANALYSIS_UNBORN, merge_analysis);
 
-       git_buf_free(&master);
+       git_buf_dispose(&master);
 }
 
 void test_merge_workdir_analysis__fastforward_with_config_noff(void)
@@ -120,9 +130,9 @@ void test_merge_workdir_analysis__fastforward_with_config_noff(void)
        git_repository_config(&config, repo);
        git_config_set_string(config, "merge.ff", "false");
 
-       analysis_from_branch(&merge_analysis, &merge_pref, FASTFORWARD_BRANCH);
-       cl_assert_equal_i(GIT_MERGE_ANALYSIS_FASTFORWARD, (merge_analysis & GIT_MERGE_ANALYSIS_FASTFORWARD));
-       cl_assert_equal_i(GIT_MERGE_ANALYSIS_NORMAL, (merge_analysis & GIT_MERGE_ANALYSIS_NORMAL));
+       analysis_from_branch(&merge_analysis, &merge_pref, NULL, FASTFORWARD_BRANCH);
+       cl_assert_equal_i(GIT_MERGE_ANALYSIS_NORMAL|GIT_MERGE_ANALYSIS_FASTFORWARD, merge_analysis);
+
        cl_assert_equal_i(GIT_MERGE_PREFERENCE_NO_FASTFORWARD, (merge_pref & GIT_MERGE_PREFERENCE_NO_FASTFORWARD));
 }
 
@@ -135,7 +145,26 @@ void test_merge_workdir_analysis__no_fastforward_with_config_ffonly(void)
        git_repository_config(&config, repo);
        git_config_set_string(config, "merge.ff", "only");
 
-       analysis_from_branch(&merge_analysis, &merge_pref, NOFASTFORWARD_BRANCH);
-       cl_assert_equal_i(GIT_MERGE_ANALYSIS_NORMAL, (merge_analysis & GIT_MERGE_ANALYSIS_NORMAL));
+       analysis_from_branch(&merge_analysis, &merge_pref, NULL, NOFASTFORWARD_BRANCH);
+       cl_assert_equal_i(GIT_MERGE_ANALYSIS_NORMAL, merge_analysis);
+
        cl_assert_equal_i(GIT_MERGE_PREFERENCE_FASTFORWARD_ONLY, (merge_pref & GIT_MERGE_PREFERENCE_FASTFORWARD_ONLY));
 }
+
+void test_merge_workdir_analysis__between_uptodate_refs(void)
+{
+       git_merge_analysis_t merge_analysis;
+       git_merge_preference_t merge_pref;
+
+       analysis_from_branch(&merge_analysis, &merge_pref, NOFASTFORWARD_BRANCH, PREVIOUS_BRANCH);
+       cl_assert_equal_i(GIT_MERGE_ANALYSIS_UP_TO_DATE, merge_analysis);
+}
+
+void test_merge_workdir_analysis__between_noff_refs(void)
+{
+       git_merge_analysis_t merge_analysis;
+       git_merge_preference_t merge_pref;
+
+       analysis_from_branch(&merge_analysis, &merge_pref, "branch", FASTFORWARD_BRANCH);
+       cl_assert_equal_i(GIT_MERGE_ANALYSIS_NORMAL, merge_analysis);
+}
index a69919f536a353d08eb6cfa43df88887a0f18cd5..6044bca43b949160856a32402f821ee751658fdf 100644 (file)
@@ -123,8 +123,8 @@ static void write_files(char *files[])
                cl_git_mkfile(path.ptr, content.ptr);
        }
 
-       git_buf_free(&path);
-       git_buf_free(&content);
+       git_buf_dispose(&path);
+       git_buf_dispose(&content);
 }
 
 static void hack_index(char *files[])
@@ -178,7 +178,7 @@ static void hack_index(char *files[])
                entry->file_size = (uint32_t)statbuf.st_size;
        }
 
-       git_buf_free(&path);
+       git_buf_dispose(&path);
 }
 
 static void stage_random_files(char *files[])
@@ -201,7 +201,7 @@ static void stage_content(char *content[])
        size_t i;
 
        cl_git_pass(git_repository_head(&head, repo));
-       cl_git_pass(git_reference_peel(&head_object, head, GIT_OBJ_COMMIT));
+       cl_git_pass(git_reference_peel(&head_object, head, GIT_OBJECT_COMMIT));
        cl_git_pass(git_reset(repo, head_object, GIT_RESET_HARD, NULL));
 
        for (i = 0, filename = content[i], text = content[++i];
@@ -218,7 +218,7 @@ static void stage_content(char *content[])
 
        git_object_free(head_object);
        git_reference_free(head);
-       git_buf_free(&path);
+       git_buf_dispose(&path);
 }
 
 static int merge_dirty_files(char *dirty_files[])
@@ -228,7 +228,7 @@ static int merge_dirty_files(char *dirty_files[])
        int error;
 
        cl_git_pass(git_repository_head(&head, repo));
-       cl_git_pass(git_reference_peel(&head_object, head, GIT_OBJ_COMMIT));
+       cl_git_pass(git_reference_peel(&head_object, head, GIT_OBJECT_COMMIT));
        cl_git_pass(git_reset(repo, head_object, GIT_RESET_HARD, NULL));
 
        write_files(dirty_files);
@@ -248,7 +248,7 @@ static int merge_differently_filtered_files(char *files[])
        int error;
 
        cl_git_pass(git_repository_head(&head, repo));
-       cl_git_pass(git_reference_peel(&head_object, head, GIT_OBJ_COMMIT));
+       cl_git_pass(git_reference_peel(&head_object, head, GIT_OBJECT_COMMIT));
        cl_git_pass(git_reset(repo, head_object, GIT_RESET_HARD, NULL));
 
        /* Emulate checkout with a broken or misconfigured filter:  modify some
@@ -275,7 +275,7 @@ static int merge_differently_filtered_files(char *files[])
 }
 
 static int merge_staged_files(char *staged_files[])
-{      
+{
        stage_random_files(staged_files);
        return merge_branch();
 }
@@ -295,7 +295,7 @@ void test_merge_workdir_dirty__unstaged_deletes_maintained(void)
        git_object *head_object;
 
        cl_git_pass(git_repository_head(&head, repo));
-       cl_git_pass(git_reference_peel(&head_object, head, GIT_OBJ_COMMIT));
+       cl_git_pass(git_reference_peel(&head_object, head, GIT_OBJECT_COMMIT));
        cl_git_pass(git_reset(repo, head_object, GIT_RESET_HARD, NULL));
 
        cl_git_pass(p_unlink("merge-resolve/unchanged.txt"));
@@ -333,11 +333,11 @@ void test_merge_workdir_dirty__identical_staged_files_allowed(void)
        size_t i;
 
        set_core_autocrlf_to(repo, false);
-       
+
        for (i = 0, content = result_contents[i]; content[0]; content = result_contents[++i]) {
                stage_content(content);
 
-               git_index_write(repo_index);
+               cl_git_pass(git_index_write(repo_index));
                cl_git_pass(merge_branch());
        }
 }
index d47a0c50bf178d87917c00b26f446ff0f29944e8..e7dc267e49b7f34abd0dc47b79b436a751e2d07d 100644 (file)
@@ -46,7 +46,7 @@ void test_merge_workdir_recursive__writes_conflict_with_virtual_base(void)
        cl_assert_equal_s(CONFLICTING_RECURSIVE_F1_TO_F2, conflicting_buf.ptr);
 
        git_index_free(index);
-       git_buf_free(&conflicting_buf);
+       git_buf_dispose(&conflicting_buf);
 }
 
 void test_merge_workdir_recursive__conflicting_merge_base_with_diff3(void)
@@ -80,5 +80,5 @@ void test_merge_workdir_recursive__conflicting_merge_base_with_diff3(void)
        cl_assert_equal_s(CONFLICTING_RECURSIVE_H2_TO_H1_WITH_DIFF3, conflicting_buf.ptr);
 
        git_index_free(index);
-       git_buf_free(&conflicting_buf);
+       git_buf_dispose(&conflicting_buf);
 }
index fabcda2a8f86a2c6e7a7512414e82070ed8458b6..a8ee59a44bb3095d81a9b0c0c7e076a75d6752b6 100644 (file)
@@ -14,7 +14,7 @@ static git_repository *repo;
 #define BRANCH_RENAME_OURS                                     "rename_conflict_ours"
 #define BRANCH_RENAME_THEIRS                           "rename_conflict_theirs"
 
-// Fixture setup and teardown
+/* Fixture setup and teardown */
 void test_merge_workdir_renames__initialize(void)
 {
        git_config *cfg;
index 4aebf8701357720d7a7aff859a49ae3c2f854966..3a8f9d98708571654d60376d4e1d0a73278d8c0a 100644 (file)
@@ -31,7 +31,7 @@ static git_index *repo_index;
 #define OCTO5_BRANCH           "octo5"
 #define OCTO5_OID                      "e4f618a2c3ed0669308735727df5ebf2447f022f"
 
-// Fixture setup and teardown
+/* Fixture setup and teardown */
 void test_merge_workdir_setup__initialize(void)
 {
        repo = cl_git_sandbox_init(TEST_REPO_PATH);
@@ -54,8 +54,8 @@ static bool test_file_contents(const char *filename, const char *expected)
        cl_git_pass(git_futils_readbuffer(&file_buf, file_path_buf.ptr));
        equals = (strcmp(file_buf.ptr, expected) == 0);
 
-       git_buf_free(&file_path_buf);
-       git_buf_free(&file_buf);
+       git_buf_dispose(&file_path_buf);
+       git_buf_dispose(&file_buf);
        
        return equals;
 }
@@ -68,7 +68,7 @@ static void write_file_contents(const char *filename, const char *output)
                filename);
        cl_git_rewritefile(file_path_buf.ptr, output);
 
-       git_buf_free(&file_path_buf);
+       git_buf_dispose(&file_path_buf);
 }
 
 /* git merge --no-ff octo1 */
@@ -495,10 +495,10 @@ static int create_remote_tracking_branch(const char *branch_name, const char *oi
        cl_git_rewritefile(git_buf_cstr(&filename), git_buf_cstr(&data));
 
 done:
-       git_buf_free(&remotes_path);
-       git_buf_free(&origin_path);
-       git_buf_free(&filename);
-       git_buf_free(&data);
+       git_buf_dispose(&remotes_path);
+       git_buf_dispose(&origin_path);
+       git_buf_dispose(&filename);
+       git_buf_dispose(&data);
 
        return error;
 }
index 964532e46f2d2d53e6fe482fa6980904aa991940..a8d5d0be0cfed6b7361020ef90b10cd41cd0fa80 100644 (file)
@@ -73,7 +73,7 @@ static git_index *repo_index;
          "5c3b68a71fc4fa5d362fd3875e53137c6a5ab7a5" }
 
 
-// Fixture setup and teardown
+/* Fixture setup and teardown */
 void test_merge_workdir_simple__initialize(void)
 {
        git_config *cfg;
@@ -155,7 +155,7 @@ void test_merge_workdir_simple__automerge(void)
        cl_git_pass(git_futils_readbuffer(&automergeable_buf,
                TEST_REPO_PATH "/automergeable.txt"));
        cl_assert(strcmp(automergeable_buf.ptr, AUTOMERGEABLE_MERGED_FILE) == 0);
-       git_buf_free(&automergeable_buf);
+       git_buf_dispose(&automergeable_buf);
 
        cl_assert(merge_test_index(repo_index, merge_index_entries, 8));
        cl_assert(merge_test_reuc(repo_index, merge_reuc_entries, 3));
@@ -168,6 +168,35 @@ void test_merge_workdir_simple__automerge(void)
        git_index_free(index);
 }
 
+void test_merge_workdir_simple__index_reload(void)
+{
+       git_repository *tmp_repo;
+       git_annotated_commit *their_heads[1];
+       git_oid their_oid;
+       git_index_entry entry = {{0}};
+       git_index *tmp_index;
+
+       cl_git_pass(git_repository_open(&tmp_repo, git_repository_workdir(repo)));
+       cl_git_pass(git_repository_index(&tmp_index, tmp_repo));
+       cl_git_pass(git_index_read(repo_index, 0));
+
+       entry.mode = GIT_FILEMODE_BLOB;
+       cl_git_pass(git_oid_fromstr(&entry.id, "11deab00b2d3a6f5a3073988ac050c2d7b6655e2"));
+       entry.path = "automergeable.txt";
+       cl_git_pass(git_index_add(repo_index, &entry));
+
+       cl_git_pass(git_index_add_bypath(tmp_index, "automergeable.txt"));
+       cl_git_pass(git_index_write(tmp_index));
+
+       cl_git_pass(git_oid_fromstr(&their_oid, THEIRS_SIMPLE_OID));
+       cl_git_pass(git_annotated_commit_lookup(&their_heads[0], repo, &their_oid));
+       cl_git_pass(git_merge(repo, (const git_annotated_commit **)their_heads, 1, NULL, NULL));
+
+       git_index_free(tmp_index);
+       git_repository_free(tmp_repo);
+       git_annotated_commit_free(their_heads[0]);
+}
+
 void test_merge_workdir_simple__automerge_crlf(void)
 {
 #ifdef GIT_WIN32
@@ -201,7 +230,7 @@ void test_merge_workdir_simple__automerge_crlf(void)
        cl_git_pass(git_futils_readbuffer(&automergeable_buf,
                TEST_REPO_PATH "/automergeable.txt"));
        cl_assert(strcmp(automergeable_buf.ptr, AUTOMERGEABLE_MERGED_FILE_CRLF) == 0);
-       git_buf_free(&automergeable_buf);
+       git_buf_dispose(&automergeable_buf);
 
        cl_assert(merge_test_index(repo_index, merge_index_entries, 8));
        cl_assert(merge_test_reuc(repo_index, merge_reuc_entries, 3));
@@ -252,8 +281,8 @@ void test_merge_workdir_simple__mergefile(void)
                "\n" \
                "Conflicts:\n" \
                "\tconflicting.txt\n") == 0);
-       git_buf_free(&conflicting_buf);
-       git_buf_free(&mergemsg_buf);
+       git_buf_dispose(&conflicting_buf);
+       git_buf_dispose(&mergemsg_buf);
 
        cl_assert(merge_test_index(repo_index, merge_index_entries, 8));
        cl_assert(merge_test_reuc(repo_index, merge_reuc_entries, 3));
@@ -289,7 +318,7 @@ void test_merge_workdir_simple__diff3(void)
        cl_git_pass(git_futils_readbuffer(&conflicting_buf,
                TEST_REPO_PATH "/conflicting.txt"));
        cl_assert(strcmp(conflicting_buf.ptr, CONFLICTING_DIFF3_FILE) == 0);
-       git_buf_free(&conflicting_buf);
+       git_buf_dispose(&conflicting_buf);
 
        cl_assert(merge_test_index(repo_index, merge_index_entries, 8));
        cl_assert(merge_test_reuc(repo_index, merge_reuc_entries, 3));
@@ -324,7 +353,7 @@ void test_merge_workdir_simple__union(void)
        cl_git_pass(git_futils_readbuffer(&conflicting_buf,
                TEST_REPO_PATH "/conflicting.txt"));
        cl_assert(strcmp(conflicting_buf.ptr, CONFLICTING_UNION_FILE) == 0);
-       git_buf_free(&conflicting_buf);
+       git_buf_dispose(&conflicting_buf);
 
        cl_assert(merge_test_index(repo_index, merge_index_entries, 6));
        cl_assert(merge_test_reuc(repo_index, merge_reuc_entries, 4));
@@ -360,7 +389,7 @@ void test_merge_workdir_simple__gitattributes_union(void)
        cl_git_pass(git_futils_readbuffer(&conflicting_buf,
                TEST_REPO_PATH "/conflicting.txt"));
        cl_assert(strcmp(conflicting_buf.ptr, CONFLICTING_UNION_FILE) == 0);
-       git_buf_free(&conflicting_buf);
+       git_buf_dispose(&conflicting_buf);
 
        cl_assert(merge_test_index(repo_index, merge_index_entries, 6));
        cl_assert(merge_test_reuc(repo_index, merge_reuc_entries, 4));
@@ -400,7 +429,7 @@ void test_merge_workdir_simple__diff3_from_config(void)
        cl_git_pass(git_futils_readbuffer(&conflicting_buf,
                TEST_REPO_PATH "/conflicting.txt"));
        cl_assert(strcmp(conflicting_buf.ptr, CONFLICTING_DIFF3_FILE) == 0);
-       git_buf_free(&conflicting_buf);
+       git_buf_dispose(&conflicting_buf);
 
        cl_assert(merge_test_index(repo_index, merge_index_entries, 8));
        cl_assert(merge_test_reuc(repo_index, merge_reuc_entries, 3));
@@ -442,7 +471,7 @@ void test_merge_workdir_simple__merge_overrides_config(void)
        cl_git_pass(git_futils_readbuffer(&conflicting_buf,
                TEST_REPO_PATH "/conflicting.txt"));
        cl_assert(strcmp(conflicting_buf.ptr, CONFLICTING_MERGE_FILE) == 0);
-       git_buf_free(&conflicting_buf);
+       git_buf_dispose(&conflicting_buf);
 
        cl_assert(merge_test_index(repo_index, merge_index_entries, 8));
        cl_assert(merge_test_reuc(repo_index, merge_reuc_entries, 3));
index c4cc188a892898e13927dc4a02e7f68814b874b2..35280e61e8dadf33dad1da35ea5b2a69815fb78b 100644 (file)
@@ -16,7 +16,7 @@ static git_repository *repo;
 
 #define TEST_INDEX_PATH TEST_REPO_PATH "/.git/index"
 
-// Fixture setup and teardown
+/* Fixture setup and teardown */
 void test_merge_workdir_submodules__initialize(void)
 {
        repo = cl_git_sandbox_init(TEST_REPO_PATH);
index 4ddaf233de73b850a4c7150c3ce0e1a91a41c1ce..39d1ddc9bb40fb62523b654d8cd944367e8659f3 100644 (file)
@@ -14,7 +14,7 @@ static git_index *repo_index;
 #define TEST_INDEX_PATH TEST_REPO_PATH "/.git/index"
 
 
-// Fixture setup and teardown
+/* Fixture setup and teardown */
 void test_merge_workdir_trivial__initialize(void)
 {
        repo = cl_git_sandbox_init(TEST_REPO_PATH);
@@ -49,7 +49,7 @@ static int merge_trivial(const char *ours, const char *theirs)
 
        cl_git_pass(git_merge(repo, (const git_annotated_commit **)their_heads, 1, NULL, NULL));
 
-       git_buf_free(&branch_buf);
+       git_buf_dispose(&branch_buf);
        git_reference_free(our_ref);
        git_reference_free(their_ref);
        git_annotated_commit_free(their_heads[0]);
index 91e2a05958227375691e2d160a0ffccf484a7a12..bedbcf9e85943789e2198dfd025ddda859d8075c 100644 (file)
@@ -369,7 +369,7 @@ void test_network_fetchlocal__clone_into_mirror(void)
        cl_git_pass(git_clone(&repo, cl_git_fixture_url("testrepo.git"), "./foo.git", &opts));
 
        cl_git_pass(git_reference_lookup(&ref, repo, "HEAD"));
-       cl_assert_equal_i(GIT_REF_SYMBOLIC, git_reference_type(ref));
+       cl_assert_equal_i(GIT_REFERENCE_SYMBOLIC, git_reference_type(ref));
        cl_assert_equal_s("refs/heads/master", git_reference_symbolic_target(ref));
 
        git_reference_free(ref);
index c47f197ff106939efe63f90fb807d25dc2d212cd..1a65fd246c33e288957b37dbbbadc5b5d4808fa7 100644 (file)
@@ -8,7 +8,7 @@ static void assert_refspec(unsigned int direction, const char *input, bool is_ex
        int error;
 
        error = git_refspec__parse(&refspec, input, direction == GIT_DIRECTION_FETCH);
-       git_refspec__free(&refspec);
+       git_refspec__dispose(&refspec);
 
        if (is_expected_to_be_valid)
                cl_assert_equal_i(0, error);
@@ -18,7 +18,7 @@ static void assert_refspec(unsigned int direction, const char *input, bool is_ex
 
 void test_network_refspecs__parsing(void)
 {
-       // Ported from https://github.com/git/git/blob/abd2bde78bd994166900290434a2048e660dabed/t/t5511-refspec.sh
+       /* Ported from https://github.com/git/git/blob/abd2bde78bd994166900290434a2048e660dabed/t/t5511-refspec.sh */
 
        assert_refspec(GIT_DIRECTION_PUSH, "", false);
        assert_refspec(GIT_DIRECTION_PUSH, ":", true);
@@ -40,8 +40,8 @@ void test_network_refspecs__parsing(void)
         * code.  They will be caught downstream anyway, but we may want to
         * have tighter check later...
         */
-       //assert_refspec(GIT_DIRECTION_PUSH, "refs/heads/master::refs/remotes/frotz/xyzzy", false);
-       //assert_refspec(GIT_DIRECTION_PUSH, "refs/heads/maste :refs/remotes/frotz/xyzzy", false);
+       /*assert_refspec(GIT_DIRECTION_PUSH, "refs/heads/master::refs/remotes/frotz/xyzzy", false); */
+       /*assert_refspec(GIT_DIRECTION_PUSH, "refs/heads/maste :refs/remotes/frotz/xyzzy", false); */
 
        assert_refspec(GIT_DIRECTION_FETCH, "refs/heads/*:refs/remotes/frotz/*", true);
        assert_refspec(GIT_DIRECTION_FETCH, "refs/heads/*:refs/remotes/frotz", false);
@@ -97,8 +97,8 @@ static void assert_valid_transform(const char *refspec, const char *name, const
        cl_git_pass(git_refspec_transform(&buf, &spec, name));
        cl_assert_equal_s(result, buf.ptr);
 
-       git_buf_free(&buf);
-       git_refspec__free(&spec);
+       git_buf_dispose(&buf);
+       git_refspec__dispose(&spec);
 }
 
 void test_network_refspecs__transform_mid_star(void)
@@ -111,6 +111,11 @@ void test_network_refspecs__transform_mid_star(void)
        assert_valid_transform("refs/*:refs/*", "refs/heads/master", "refs/heads/master");
 }
 
+void test_network_refspecs__no_dst(void)
+{
+       assert_valid_transform("refs/heads/master:", "refs/heads/master", "");
+}
+
 static void assert_invalid_transform(const char *refspec, const char *name)
 {
        git_refspec spec;
@@ -119,8 +124,8 @@ static void assert_invalid_transform(const char *refspec, const char *name)
        git_refspec__parse(&spec, refspec, true);
        cl_git_fail(git_refspec_transform(&buf, &spec, name));
 
-       git_buf_free(&buf);
-       git_refspec__free(&spec);
+       git_buf_dispose(&buf);
+       git_refspec__dispose(&spec);
 }
 
 void test_network_refspecs__invalid(void)
@@ -137,8 +142,8 @@ static void assert_invalid_rtransform(const char *refspec, const char *name)
        git_refspec__parse(&spec, refspec, true);
        cl_git_fail(git_refspec_rtransform(&buf, &spec, name));
 
-       git_buf_free(&buf);
-       git_refspec__free(&spec);
+       git_buf_dispose(&buf);
+       git_refspec__dispose(&spec);
 }
 
 void test_network_refspecs__invalid_reverse(void)
@@ -156,5 +161,17 @@ void test_network_refspecs__matching(void)
        cl_assert_equal_s("", spec.src);
        cl_assert_equal_s("", spec.dst);
 
-       git_refspec__free(&spec);
+       git_refspec__dispose(&spec);
+}
+
+void test_network_refspecs__parse_free(void)
+{
+       git_refspec *spec = NULL;
+
+       cl_git_fail(git_refspec_parse(&spec, "", 0));
+       cl_git_fail(git_refspec_parse(&spec, ":::", 0));
+       cl_git_pass(git_refspec_parse(&spec, "HEAD:", 1));
+
+       cl_assert(spec != NULL);
+       git_refspec_free(spec);
 }
diff --git a/tests/network/remote/createthenload.c b/tests/network/remote/createthenload.c
deleted file mode 100644 (file)
index f811f3c..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-#include "clar_libgit2.h"
-
-static git_remote *_remote;
-static git_repository *_repo;
-static git_config *_config;
-static char url[] = "http://github.com/libgit2/libgit2.git";
-
-void test_network_remote_createthenload__initialize(void)
-{
-       cl_fixture_sandbox("testrepo.git");
-
-       cl_git_pass(git_repository_open(&_repo, "testrepo.git"));
-
-       cl_git_pass(git_repository_config(&_config, _repo));
-       cl_git_pass(git_config_set_string(_config, "remote.origin.fetch", "+refs/heads/*:refs/remotes/origin/*"));
-       cl_git_pass(git_config_set_string(_config, "remote.origin.url", url));
-       git_config_free(_config);
-
-       cl_git_pass(git_remote_lookup(&_remote, _repo, "origin"));
-}
-
-void test_network_remote_createthenload__cleanup(void)
-{
-       git_remote_free(_remote);
-       _remote = NULL;
-
-       git_repository_free(_repo);
-       _repo = NULL;
-
-       cl_fixture_cleanup("testrepo.git");
-}
-
-void test_network_remote_createthenload__parsing(void)
-{
-       cl_assert_equal_s(git_remote_name(_remote), "origin");
-       cl_assert_equal_s(git_remote_url(_remote), url);
-}
index 9ab0d4095560740c1fd7f8c827bf0c128da824ab..b0417f7648489337d3454a19bd39302274b01eac 100644 (file)
@@ -29,7 +29,7 @@ static void assert_default_branch(const char *should)
        cl_git_pass(git_remote_connect(g_remote, GIT_DIRECTION_FETCH, NULL, NULL, NULL));
        cl_git_pass(git_remote_default_branch(&name, g_remote));
        cl_assert_equal_s(should, name.ptr);
-       git_buf_free(&name);
+       git_buf_dispose(&name);
 }
 
 void test_network_remote_defaultbranch__master(void)
index 76872e51f0c4a6d9832fc2f6b9934cb82b5dd3c5..99b91c5d06f9698a37615b5e5a7c74996c7f02aa 100644 (file)
@@ -25,7 +25,7 @@ void test_network_remote_local__initialize(void)
 
 void test_network_remote_local__cleanup(void)
 {
-       git_buf_free(&file_path_buf);
+       git_buf_dispose(&file_path_buf);
 
        git_remote_free(remote);
        remote = NULL;
index 9c7e6b299541cbdc4a3cff1c7ade1f272f117918..10517957d9524b43b0593b87859098bc2886716c 100644 (file)
@@ -73,8 +73,8 @@ void test_network_remote_remotes__error_when_not_found(void)
        git_remote *r;
        cl_git_fail_with(git_remote_lookup(&r, _repo, "does-not-exist"), GIT_ENOTFOUND);
 
-       cl_assert(giterr_last() != NULL);
-       cl_assert(giterr_last()->klass == GITERR_CONFIG);
+       cl_assert(git_error_last() != NULL);
+       cl_assert(git_error_last()->klass == GIT_ERROR_CONFIG);
 }
 
 void test_network_remote_remotes__error_when_no_push_available(void)
@@ -189,7 +189,7 @@ void test_network_remote_remotes__transform(void)
 
        cl_git_pass(git_refspec_transform(&ref, _refspec, "refs/heads/master"));
        cl_assert_equal_s(ref.ptr, "refs/remotes/test/master");
-       git_buf_free(&ref);
+       git_buf_dispose(&ref);
 }
 
 void test_network_remote_remotes__transform_destination_to_source(void)
@@ -198,7 +198,7 @@ void test_network_remote_remotes__transform_destination_to_source(void)
 
        cl_git_pass(git_refspec_rtransform(&ref, _refspec, "refs/remotes/test/master"));
        cl_assert_equal_s(ref.ptr, "refs/heads/master");
-       git_buf_free(&ref);
+       git_buf_dispose(&ref);
 }
 
 void test_network_remote_remotes__missing_refspecs(void)
@@ -312,30 +312,6 @@ void test_network_remote_remotes__add(void)
        cl_assert_equal_s(git_remote_url(_remote), "http://github.com/libgit2/libgit2");
 }
 
-void test_network_remote_remotes__cannot_add_a_nameless_remote(void)
-{
-       git_remote *remote;
-
-       cl_assert_equal_i(
-               GIT_EINVALIDSPEC,
-               git_remote_create(&remote, _repo, NULL, "git://github.com/libgit2/libgit2"));
-}
-
-void test_network_remote_remotes__cannot_add_a_remote_with_an_invalid_name(void)
-{
-       git_remote *remote = NULL;
-
-       cl_assert_equal_i(
-               GIT_EINVALIDSPEC,
-               git_remote_create(&remote, _repo, "Inv@{id", "git://github.com/libgit2/libgit2"));
-       cl_assert_equal_p(remote, NULL);
-
-       cl_assert_equal_i(
-               GIT_EINVALIDSPEC,
-               git_remote_create(&remote, _repo, "", "git://github.com/libgit2/libgit2"));
-       cl_assert_equal_p(remote, NULL);
-}
-
 void test_network_remote_remotes__tagopt(void)
 {
        const char *name = git_remote_name(_remote);
@@ -361,8 +337,8 @@ void test_network_remote_remotes__can_load_with_an_empty_url(void)
 
        cl_git_fail(git_remote_connect(remote, GIT_DIRECTION_FETCH, NULL, NULL, NULL));
 
-       cl_assert(giterr_last() != NULL);
-       cl_assert(giterr_last()->klass == GITERR_INVALID);
+       cl_assert(git_error_last() != NULL);
+       cl_assert(git_error_last()->klass == GIT_ERROR_INVALID);
 
        git_remote_free(remote);
 }
@@ -389,41 +365,6 @@ void test_network_remote_remotes__returns_ENOTFOUND_when_neither_url_nor_pushurl
                git_remote_lookup(&remote, _repo, "no-remote-url"), GIT_ENOTFOUND);
 }
 
-void assert_cannot_create_remote(const char *name, int expected_error)
-{
-       git_remote *remote = NULL;
-
-       cl_git_fail_with(
-               git_remote_create(&remote, _repo, name, "git://github.com/libgit2/libgit2"),
-               expected_error);
-
-       cl_assert_equal_p(remote, NULL);
-}
-
-void test_network_remote_remotes__cannot_create_a_remote_which_name_conflicts_with_an_existing_remote(void)
-{
-       assert_cannot_create_remote("test", GIT_EEXISTS);
-}
-
-void test_network_remote_remotes__cannot_create_a_remote_which_name_is_invalid(void)
-{
-       assert_cannot_create_remote("/", GIT_EINVALIDSPEC);
-       assert_cannot_create_remote("//", GIT_EINVALIDSPEC);
-       assert_cannot_create_remote(".lock", GIT_EINVALIDSPEC);
-       assert_cannot_create_remote("a.lock", GIT_EINVALIDSPEC);
-}
-
-void test_network_remote_remote__git_remote_create_with_fetchspec(void)
-{
-       git_remote *remote;
-       git_strarray array;
-
-       cl_git_pass(git_remote_create_with_fetchspec(&remote, _repo, "test-new", "git://github.com/libgit2/libgit2", "+refs/*:refs/*"));
-       git_remote_get_fetch_refspecs(&array, remote);
-       cl_assert_equal_s("+refs/*:refs/*", array.strings[0]);
-       git_remote_free(remote);
-}
-
 static const char *fetch_refspecs[] = {
        "+refs/heads/*:refs/remotes/origin/*",
        "refs/tags/*:refs/tags/*",
index 9626f53b308558ac47a1816c0f65c0964b1ed2eb..f2457665cfa1a1f6a54a3e4a73bec99998a9d0be 100644 (file)
@@ -287,7 +287,7 @@ void test_notes_notes__inserting_a_note_without_passing_a_namespace_uses_the_def
        assert_note_equal(note, "hello world\n", &note_oid);
        assert_note_equal(default_namespace_note, "hello world\n", &note_oid);
 
-       git_buf_free(&default_ref);
+       git_buf_dispose(&default_ref);
        git_note_free(note);
        git_note_free(default_namespace_note);
 }
index 4159ddc0dd78249b19547b4416f2db3073edfdc2..3bcb05f20f5c7ecea67437b7cb88439ab4b177fd 100644 (file)
@@ -64,5 +64,5 @@ void test_notes_notesref__config_corenotesref(void)
        cl_git_pass(git_note_default_ref(&default_ref, _repo));
        cl_assert_equal_s(GIT_NOTES_DEFAULT_REF, default_ref.ptr);
 
-       git_buf_free(&default_ref);
+       git_buf_dispose(&default_ref);
 }
index 0aaaee6f373c1063bbc5936752ab0de7dc2a5b67..002177ceeaa6af13e651105723f4dc88096a4631 100644 (file)
@@ -103,7 +103,7 @@ void test_object_blob_filter__stats(void)
                git_blob_free(blob);
        }
 
-       git_buf_free(&buf);
+       git_buf_dispose(&buf);
 }
 
 void test_object_blob_filter__to_odb(void)
@@ -139,12 +139,12 @@ void test_object_blob_filter__to_odb(void)
                cl_assert_equal_sz(g_crlf_filtered[i].size, zeroed.size);
                cl_assert_equal_i(
                        0, memcmp(zeroed.ptr, g_crlf_filtered[i].ptr, zeroed.size));
-               git_buf_free(&zeroed);
+               git_buf_dispose(&zeroed);
 
                git_blob_free(blob);
        }
 
        git_filter_list_free(fl);
-       git_buf_free(&out);
+       git_buf_dispose(&out);
        git_config_free(cfg);
 }
index d23149bd1579f5d816add10ee85ed545f99fd76c..60090b6e4a7cff6bbac6d68a0833ebbe588159dc 100644 (file)
@@ -27,7 +27,7 @@ void test_object_blob_fromstream__multiple_write(void)
        cl_git_pass(git_oid_fromstr(&expected_id, "321cbdf08803c744082332332838df6bd160f8f9"));
 
        cl_git_fail_with(GIT_ENOTFOUND,
-                        git_object_lookup(&blob, repo, &expected_id, GIT_OBJ_ANY));
+                        git_object_lookup(&blob, repo, &expected_id, GIT_OBJECT_ANY));
 
        cl_git_pass(git_blob_create_fromstream(&stream, repo, NULL));
 
@@ -37,7 +37,7 @@ void test_object_blob_fromstream__multiple_write(void)
        cl_git_pass(git_blob_create_fromstream_commit(&id, stream));
        cl_assert_equal_oid(&expected_id, &id);
 
-       cl_git_pass(git_object_lookup(&blob, repo, &expected_id, GIT_OBJ_BLOB));
+       cl_git_pass(git_object_lookup(&blob, repo, &expected_id, GIT_OBJECT_BLOB));
 
        git_object_free(blob);
 }
@@ -56,7 +56,7 @@ static void write_attributes(git_repository *repo)
        cl_git_pass(git_futils_mkpath2file(git_buf_cstr(&buf), 0777));
        cl_git_rewritefile(git_buf_cstr(&buf), GITATTR);
 
-       git_buf_free(&buf);
+       git_buf_dispose(&buf);
 }
 
 static void assert_named_chunked_blob(const char *expected_sha, const char *fake_name)
index 203bc67c1a8556cb3087ca52bfd2b4638d8b4e59..4cf5a6607eb26e5dea5762328063fd2428c46453 100644 (file)
@@ -48,7 +48,7 @@ void test_object_blob_write__can_create_a_blob_in_a_standard_repo_from_a_absolut
 
        assert_blob_creation(ELSEWHERE "/test.txt", git_buf_cstr(&full_path), &git_blob_create_fromdisk);
 
-       git_buf_free(&full_path);
+       git_buf_dispose(&full_path);
        cl_must_pass(git_futils_rmdir_r(ELSEWHERE, NULL, GIT_RMDIR_REMOVE_FILES));
 }
 
@@ -64,6 +64,6 @@ void test_object_blob_write__can_create_a_blob_in_a_bare_repo_from_a_absolute_fi
 
        assert_blob_creation(ELSEWHERE "/test.txt", git_buf_cstr(&full_path), &git_blob_create_fromdisk);
 
-       git_buf_free(&full_path);
+       git_buf_dispose(&full_path);
        cl_must_pass(git_futils_rmdir_r(ELSEWHERE, NULL, GIT_RMDIR_REMOVE_FILES));
 }
index 680f23630f57b357718b36ffd56dcee54a689848..d3ec53ac28b25f7cf8b3200e4a743915ef3d5f6e 100644 (file)
@@ -13,33 +13,33 @@ void test_object_cache__cleanup(void)
        git_repository_free(g_repo);
        g_repo = NULL;
 
-       git_libgit2_opts(GIT_OPT_SET_CACHE_OBJECT_LIMIT, (int)GIT_OBJ_BLOB, (size_t)0);
+       git_libgit2_opts(GIT_OPT_SET_CACHE_OBJECT_LIMIT, (int)GIT_OBJECT_BLOB, (size_t)0);
 }
 
 static struct {
-       git_otype type;
+       git_object_t type;
        const char *sha;
 } g_data[] = {
        /* HEAD */
-       { GIT_OBJ_BLOB, "a8233120f6ad708f843d861ce2b7228ec4e3dec6" }, /* README */
-       { GIT_OBJ_BLOB, "3697d64be941a53d4ae8f6a271e4e3fa56b022cc" }, /* branch_file.txt */
-       { GIT_OBJ_BLOB, "a71586c1dfe8a71c6cbf6c129f404c5642ff31bd" }, /* new.txt */
+       { GIT_OBJECT_BLOB, "a8233120f6ad708f843d861ce2b7228ec4e3dec6" }, /* README */
+       { GIT_OBJECT_BLOB, "3697d64be941a53d4ae8f6a271e4e3fa56b022cc" }, /* branch_file.txt */
+       { GIT_OBJECT_BLOB, "a71586c1dfe8a71c6cbf6c129f404c5642ff31bd" }, /* new.txt */
 
        /* refs/heads/subtrees */
-       { GIT_OBJ_BLOB, "1385f264afb75a56a5bec74243be9b367ba4ca08" }, /* README */
-       { GIT_OBJ_TREE, "f1425cef211cc08caa31e7b545ffb232acb098c3" }, /* ab */
-       { GIT_OBJ_BLOB, "d6c93164c249c8000205dd4ec5cbca1b516d487f" }, /* ab/4.txt */
-       { GIT_OBJ_TREE, "9a03079b8a8ee85a0bee58bf9be3da8b62414ed4" }, /* ab/c */
-       { GIT_OBJ_BLOB, "270b8ea76056d5cad83af921837702d3e3c2924d" }, /* ab/c/3.txt */
-       { GIT_OBJ_TREE, "b6361fc6a97178d8fc8639fdeed71c775ab52593" }, /* ab/de */
-       { GIT_OBJ_BLOB, "e7b4ad382349ff96dd8199000580b9b1e2042eb0" }, /* ab/de/2.txt */
-       { GIT_OBJ_TREE, "3259a6bd5b57fb9c1281bb7ed3167b50f224cb54" }, /* ab/de/fgh */
-       { GIT_OBJ_BLOB, "1f67fc4386b2d171e0d21be1c447e12660561f9b" }, /* ab/de/fgh/1.txt */
-       { GIT_OBJ_BLOB, "45b983be36b73c0788dc9cbcb76cbb80fc7bb057" }, /* branch_file.txt */
-       { GIT_OBJ_BLOB, "fa49b077972391ad58037050f2a75f74e3671e92" }, /* new.txt */
+       { GIT_OBJECT_BLOB, "1385f264afb75a56a5bec74243be9b367ba4ca08" }, /* README */
+       { GIT_OBJECT_TREE, "f1425cef211cc08caa31e7b545ffb232acb098c3" }, /* ab */
+       { GIT_OBJECT_BLOB, "d6c93164c249c8000205dd4ec5cbca1b516d487f" }, /* ab/4.txt */
+       { GIT_OBJECT_TREE, "9a03079b8a8ee85a0bee58bf9be3da8b62414ed4" }, /* ab/c */
+       { GIT_OBJECT_BLOB, "270b8ea76056d5cad83af921837702d3e3c2924d" }, /* ab/c/3.txt */
+       { GIT_OBJECT_TREE, "b6361fc6a97178d8fc8639fdeed71c775ab52593" }, /* ab/de */
+       { GIT_OBJECT_BLOB, "e7b4ad382349ff96dd8199000580b9b1e2042eb0" }, /* ab/de/2.txt */
+       { GIT_OBJECT_TREE, "3259a6bd5b57fb9c1281bb7ed3167b50f224cb54" }, /* ab/de/fgh */
+       { GIT_OBJECT_BLOB, "1f67fc4386b2d171e0d21be1c447e12660561f9b" }, /* ab/de/fgh/1.txt */
+       { GIT_OBJECT_BLOB, "45b983be36b73c0788dc9cbcb76cbb80fc7bb057" }, /* branch_file.txt */
+       { GIT_OBJECT_BLOB, "fa49b077972391ad58037050f2a75f74e3671e92" }, /* new.txt */
 
        /* refs/heads/chomped */
-       { GIT_OBJ_BLOB, "0266163a49e280c4f5ed1e08facd36a2bd716bcf" }, /* readme.txt */
+       { GIT_OBJECT_BLOB, "0266163a49e280c4f5ed1e08facd36a2bd716bcf" }, /* readme.txt */
 
        { 0, NULL },
        { 0, NULL }
@@ -54,7 +54,7 @@ void test_object_cache__cache_everything(void)
        git_odb *odb;
 
        git_libgit2_opts(
-               GIT_OPT_SET_CACHE_OBJECT_LIMIT, (int)GIT_OBJ_BLOB, (size_t)32767);
+               GIT_OPT_SET_CACHE_OBJECT_LIMIT, (int)GIT_OBJECT_BLOB, (size_t)32767);
 
        cl_git_pass(git_repository_open(&g_repo, cl_fixture("testrepo.git")));
        cl_git_pass(git_repository_odb(&odb, g_repo));
@@ -72,7 +72,7 @@ void test_object_cache__cache_everything(void)
                        cl_assert(g_data[i].type == git_odb_object_type(odb_obj));
                        git_odb_object_free(odb_obj);
                } else {
-                       cl_git_pass(git_object_lookup(&obj, g_repo, &oid, GIT_OBJ_ANY));
+                       cl_git_pass(git_object_lookup(&obj, g_repo, &oid, GIT_OBJECT_ANY));
                        cl_assert(g_data[i].type == git_object_type(obj));
                        git_object_free(obj);
                }
@@ -88,7 +88,7 @@ void test_object_cache__cache_everything(void)
                int count = (int)git_cache_size(&g_repo->objects);
 
                cl_git_pass(git_oid_fromstr(&oid, g_data[i].sha));
-               cl_git_pass(git_object_lookup(&obj, g_repo, &oid, GIT_OBJ_ANY));
+               cl_git_pass(git_object_lookup(&obj, g_repo, &oid, GIT_OBJECT_ANY));
                cl_assert(g_data[i].type == git_object_type(obj));
                git_object_free(obj);
 
@@ -104,7 +104,7 @@ void test_object_cache__cache_no_blobs(void)
        git_object *obj;
        git_odb *odb;
 
-       git_libgit2_opts(GIT_OPT_SET_CACHE_OBJECT_LIMIT, (int)GIT_OBJ_BLOB, (size_t)0);
+       git_libgit2_opts(GIT_OPT_SET_CACHE_OBJECT_LIMIT, (int)GIT_OBJECT_BLOB, (size_t)0);
 
        cl_git_pass(git_repository_open(&g_repo, cl_fixture("testrepo.git")));
        cl_git_pass(git_repository_odb(&odb, g_repo));
@@ -122,12 +122,12 @@ void test_object_cache__cache_no_blobs(void)
                        cl_assert(g_data[i].type == git_odb_object_type(odb_obj));
                        git_odb_object_free(odb_obj);
                } else {
-                       cl_git_pass(git_object_lookup(&obj, g_repo, &oid, GIT_OBJ_ANY));
+                       cl_git_pass(git_object_lookup(&obj, g_repo, &oid, GIT_OBJECT_ANY));
                        cl_assert(g_data[i].type == git_object_type(obj));
                        git_object_free(obj);
                }
 
-               if (g_data[i].type == GIT_OBJ_BLOB)
+               if (g_data[i].type == GIT_OBJECT_BLOB)
                        cl_assert_equal_i(count, (int)git_cache_size(&g_repo->objects));
                else {
                        cl_assert_equal_i(count + 1, (int)git_cache_size(&g_repo->objects));
@@ -148,14 +148,14 @@ static void *cache_parsed(void *arg)
 
        for (i = ((int *)arg)[1]; g_data[i].sha != NULL; i += 2) {
                cl_git_pass(git_oid_fromstr(&oid, g_data[i].sha));
-               cl_git_pass(git_object_lookup(&obj, g_repo, &oid, GIT_OBJ_ANY));
+               cl_git_pass(git_object_lookup(&obj, g_repo, &oid, GIT_OBJECT_ANY));
                cl_assert(g_data[i].type == git_object_type(obj));
                git_object_free(obj);
        }
 
        for (i = 0; i < ((int *)arg)[1]; i += 2) {
                cl_git_pass(git_oid_fromstr(&oid, g_data[i].sha));
-               cl_git_pass(git_object_lookup(&obj, g_repo, &oid, GIT_OBJ_ANY));
+               cl_git_pass(git_object_lookup(&obj, g_repo, &oid, GIT_OBJECT_ANY));
                cl_assert(g_data[i].type == git_object_type(obj));
                git_object_free(obj);
        }
@@ -246,7 +246,7 @@ static void *cache_quick(void *arg)
        git_object *obj;
 
        cl_git_pass(git_oid_fromstr(&oid, g_data[4].sha));
-       cl_git_pass(git_object_lookup(&obj, g_repo, &oid, GIT_OBJ_ANY));
+       cl_git_pass(git_object_lookup(&obj, g_repo, &oid, GIT_OBJECT_ANY));
        cl_assert(g_data[4].type == git_object_type(obj));
        git_object_free(obj);
 
index 5b48519b85283ac86f678bf9a4fe908b693a017b..63ecfeebe46d5e00de74ccb2ad2385405c15e1d2 100644 (file)
@@ -127,7 +127,7 @@ void test_object_commit_commitstagedfile__generate_predictable_object_ids(void)
 
        cl_assert(git_oid_cmp(&expected_commit_oid, &commit_oid) == 0);
 
-       git_buf_free(&buffer);
+       git_buf_dispose(&buffer);
        git_signature_free(signature);
        git_tree_free(tree);
        git_index_free(index);
diff --git a/tests/object/commit/parse.c b/tests/object/commit/parse.c
new file mode 100644 (file)
index 0000000..4ff1ad6
--- /dev/null
@@ -0,0 +1,232 @@
+#include "clar_libgit2.h"
+#include "commit.h"
+#include "object.h"
+#include "signature.h"
+
+static void assert_commit_parses(const char *data, size_t datalen,
+       const char *expected_treeid,
+       const char *expected_author,
+       const char *expected_committer,
+       const char *expected_encoding,
+       const char *expected_message,
+       size_t expected_parents)
+{
+       git_commit *commit;
+       if (!datalen)
+               datalen = strlen(data);
+       cl_git_pass(git_object__from_raw((git_object **) &commit, data, datalen, GIT_OBJECT_COMMIT));
+
+       if (expected_author) {
+               git_signature *author;
+               cl_git_pass(git_signature_from_buffer(&author, expected_author));
+               cl_assert(git_signature__equal(author, commit->author));
+               cl_assert_equal_s(author->name, commit->author->name);
+               cl_assert_equal_s(author->email, commit->author->email);
+               cl_assert_equal_i(author->when.time, commit->author->when.time);
+               cl_assert_equal_i(author->when.offset, commit->author->when.offset);
+               cl_assert_equal_i(author->when.sign, commit->author->when.sign);
+               git_signature_free(author);
+       }
+
+       if (expected_committer) {
+               git_signature *committer;
+               cl_git_pass(git_signature_from_buffer(&committer, expected_committer));
+               cl_assert_equal_s(committer->name, commit->committer->name);
+               cl_assert_equal_s(committer->email, commit->committer->email);
+               cl_assert_equal_i(committer->when.time, commit->committer->when.time);
+               cl_assert_equal_i(committer->when.offset, commit->committer->when.offset);
+               cl_assert_equal_i(committer->when.sign, commit->committer->when.sign);
+               git_signature_free(committer);
+       }
+
+       if (expected_encoding)
+               cl_assert_equal_s(commit->message_encoding, expected_encoding);
+       else
+               cl_assert_equal_p(commit->message_encoding, NULL);
+
+       if (expected_message)
+               cl_assert_equal_s(commit->raw_message, expected_message);
+       else
+               cl_assert_equal_p(commit->message_encoding, NULL);
+
+       if (expected_treeid) {
+               git_oid tree_oid;
+               cl_git_pass(git_oid_fromstr(&tree_oid, expected_treeid));
+               cl_assert_equal_oid(&tree_oid, &commit->tree_id);
+       }
+
+       cl_assert_equal_i(commit->parent_ids.size, expected_parents);
+
+       git_object__free(&commit->object);
+}
+
+static void assert_commit_fails(const char *data, size_t datalen)
+{
+       git_object *object;
+       if (!datalen)
+               datalen = strlen(data);
+       cl_git_fail(git_object__from_raw(&object, data, datalen, GIT_OBJECT_COMMIT));
+}
+
+void test_object_commit_parse__parsing_commit_succeeds(void)
+{
+       const char *commit =
+               "tree 3e7ac388cadacccdf1c6c5f3445895b71d9cb0f8\n"
+               "author Author <author@example.com>\n"
+               "committer Committer <committer@example.com>\n"
+               "encoding Encoding\n"
+               "\n"
+               "Message";
+       assert_commit_parses(commit, 0,
+               "3e7ac388cadacccdf1c6c5f3445895b71d9cb0f8",
+               "Author <author@example.com>",
+               "Committer <committer@example.com>",
+               "Encoding",
+               "Message", 0);
+}
+
+void test_object_commit_parse__parsing_commit_without_encoding_succeeds(void)
+{
+       const char *commit =
+               "tree 3e7ac388cadacccdf1c6c5f3445895b71d9cb0f8\n"
+               "author Author <author@example.com>\n"
+               "committer Committer <committer@example.com>\n"
+               "\n"
+               "Message";
+       assert_commit_parses(commit, 0,
+               "3e7ac388cadacccdf1c6c5f3445895b71d9cb0f8",
+               "Author <author@example.com>",
+               "Committer <committer@example.com>",
+               NULL,
+               "Message", 0);
+}
+
+void test_object_commit_parse__parsing_commit_with_multiple_authors_succeeds(void)
+{
+       const char *commit =
+               "tree 3e7ac388cadacccdf1c6c5f3445895b71d9cb0f8\n"
+               "author Author1 <author@example.com>\n"
+               "author Author2 <author@example.com>\n"
+               "author Author3 <author@example.com>\n"
+               "author Author4 <author@example.com>\n"
+               "committer Committer <committer@example.com>\n"
+               "\n"
+               "Message";
+       assert_commit_parses(commit, 0,
+               "3e7ac388cadacccdf1c6c5f3445895b71d9cb0f8",
+               "Author1 <author@example.com>",
+               "Committer <committer@example.com>",
+               NULL,
+               "Message", 0);
+}
+
+void test_object_commit_parse__parsing_commit_with_multiple_committers_succeeds(void)
+{
+       const char *commit =
+               "tree 3e7ac388cadacccdf1c6c5f3445895b71d9cb0f8\n"
+               "author Author <author@example.com>\n"
+               "committer Committer1 <committer@example.com>\n"
+               "committer Committer2 <committer@example.com>\n"
+               "committer Committer3 <committer@example.com>\n"
+               "committer Committer4 <committer@example.com>\n"
+               "\n"
+               "Message";
+       assert_commit_parses(commit, 0,
+               "3e7ac388cadacccdf1c6c5f3445895b71d9cb0f8",
+               "Author <author@example.com>",
+               "Committer1 <committer@example.com>",
+               NULL,
+               "Message", 0);
+}
+
+void test_object_commit_parse__parsing_commit_without_message_succeeds(void)
+{
+       const char *commit =
+               "tree 3e7ac388cadacccdf1c6c5f3445895b71d9cb0f8\n"
+               "author Author <author@example.com>\n"
+               "committer Committer <committer@example.com>\n";
+       assert_commit_parses(commit, 0,
+               "3e7ac388cadacccdf1c6c5f3445895b71d9cb0f8",
+               "Author <author@example.com>",
+               "Committer <committer@example.com>",
+               NULL,
+               "", 0);
+}
+
+void test_object_commit_parse__parsing_commit_with_unknown_fields_succeeds(void)
+{
+       const char *commit =
+               "tree 3e7ac388cadacccdf1c6c5f3445895b71d9cb0f8\n"
+               "author Author <author@example.com>\n"
+               "committer Committer <committer@example.com>\n"
+               "foo bar\n"
+               "more garbage\n"
+               "\n"
+               "Message";
+       assert_commit_parses(commit, 0,
+               "3e7ac388cadacccdf1c6c5f3445895b71d9cb0f8",
+               "Author <author@example.com>",
+               "Committer <committer@example.com>",
+               NULL,
+               "Message", 0);
+}
+
+void test_object_commit_parse__parsing_commit_with_invalid_tree_fails(void)
+{
+       const char *commit =
+               "tree 3e7ac388cadacccdf1xxx5f3445895b71d9cb0f8\n"
+               "author Author <author@example.com>\n"
+               "committer Committer <committer@example.com>\n"
+               "\n"
+               "Message";
+       assert_commit_fails(commit, 0);
+}
+
+void test_object_commit_parse__parsing_commit_without_tree_fails(void)
+{
+       const char *commit =
+               "author Author <author@example.com>\n"
+               "committer Committer <committer@example.com>\n"
+               "\n"
+               "Message";
+       assert_commit_fails(commit, 0);
+}
+
+void test_object_commit_parse__parsing_commit_without_author_fails(void)
+{
+       const char *commit =
+               "tree 3e7ac388cadacccdf1c6c5f3445895b71d9cb0f8\n"
+               "committer Committer <committer@example.com>\n"
+               "\n"
+               "Message";
+       assert_commit_fails(commit, 0);
+}
+
+void test_object_commit_parse__parsing_commit_without_committer_fails(void)
+{
+       const char *commit =
+               "tree 3e7ac388cadacccdf1c6c5f3445895b71d9cb0f8\n"
+               "author Author <author@example.com>\n"
+               "\n"
+               "Message";
+       assert_commit_fails(commit, 0);
+}
+
+void test_object_commit_parse__parsing_encoding_will_not_cause_oob_read(void)
+{
+       const char *commit =
+               "tree 3e7ac388cadacccdf1c6c5f3445895b71d9cb0f8\n"
+               "author <>\n"
+               "committer <>\n"
+               "encoding foo\n";
+       /*
+        * As we ignore unknown fields, the cut-off encoding field will be
+        * parsed just fine.
+        */
+       assert_commit_parses(commit, strlen(commit) - strlen("ncoding foo\n"),
+               "3e7ac388cadacccdf1c6c5f3445895b71d9cb0f8",
+               "<>",
+               "<>",
+               NULL,
+               "", 0);
+}
index 544f32bc4fe2a190692285189d3fc4b0b10c8878..2458537fc207665f6bd568418d8585666cdf43d4 100644 (file)
@@ -22,7 +22,7 @@ void test_object_lookup__lookup_wrong_type_returns_enotfound(void)
 
        cl_git_pass(git_oid_fromstr(&oid, commit));
        cl_assert_equal_i(
-               GIT_ENOTFOUND, git_object_lookup(&object, g_repo, &oid, GIT_OBJ_TAG));
+               GIT_ENOTFOUND, git_object_lookup(&object, g_repo, &oid, GIT_OBJECT_TAG));
 }
 
 void test_object_lookup__lookup_nonexisting_returns_enotfound(void)
@@ -33,7 +33,7 @@ void test_object_lookup__lookup_nonexisting_returns_enotfound(void)
 
        cl_git_pass(git_oid_fromstr(&oid, unknown));
        cl_assert_equal_i(
-               GIT_ENOTFOUND, git_object_lookup(&object, g_repo, &oid, GIT_OBJ_ANY));
+               GIT_ENOTFOUND, git_object_lookup(&object, g_repo, &oid, GIT_OBJECT_ANY));
 }
 
 void test_object_lookup__lookup_wrong_type_by_abbreviated_id_returns_enotfound(void)
@@ -44,7 +44,7 @@ void test_object_lookup__lookup_wrong_type_by_abbreviated_id_returns_enotfound(v
 
        cl_git_pass(git_oid_fromstrn(&oid, commit, strlen(commit)));
        cl_assert_equal_i(
-               GIT_ENOTFOUND, git_object_lookup_prefix(&object, g_repo, &oid, strlen(commit), GIT_OBJ_TAG));
+               GIT_ENOTFOUND, git_object_lookup_prefix(&object, g_repo, &oid, strlen(commit), GIT_OBJECT_TAG));
 }
 
 void test_object_lookup__lookup_wrong_type_eventually_returns_enotfound(void)
@@ -55,11 +55,11 @@ void test_object_lookup__lookup_wrong_type_eventually_returns_enotfound(void)
 
        cl_git_pass(git_oid_fromstr(&oid, commit));
 
-       cl_git_pass(git_object_lookup(&object, g_repo, &oid, GIT_OBJ_COMMIT));
+       cl_git_pass(git_object_lookup(&object, g_repo, &oid, GIT_OBJECT_COMMIT));
        git_object_free(object);
 
        cl_assert_equal_i(
-               GIT_ENOTFOUND, git_object_lookup(&object, g_repo, &oid, GIT_OBJ_TAG));
+               GIT_ENOTFOUND, git_object_lookup(&object, g_repo, &oid, GIT_OBJECT_TAG));
 }
 
 void test_object_lookup__lookup_corrupt_object_returns_error(void)
@@ -79,17 +79,17 @@ void test_object_lookup__lookup_corrupt_object_returns_error(void)
        for (i = 0; i < contents.size; i++) {
                contents.ptr[i] ^= 0x1;
                cl_git_pass(git_futils_writebuffer(&contents, path.ptr, O_RDWR, 0644));
-               cl_git_fail(git_object_lookup(&object, g_repo, &oid, GIT_OBJ_COMMIT));
+               cl_git_fail(git_object_lookup(&object, g_repo, &oid, GIT_OBJECT_COMMIT));
                contents.ptr[i] ^= 0x1;
        }
 
        /* Restore original content and assert we can read the object */
        cl_git_pass(git_futils_writebuffer(&contents, path.ptr, O_RDWR, 0644));
-       cl_git_pass(git_object_lookup(&object, g_repo, &oid, GIT_OBJ_COMMIT));
+       cl_git_pass(git_object_lookup(&object, g_repo, &oid, GIT_OBJECT_COMMIT));
 
        git_object_free(object);
-       git_buf_free(&path);
-       git_buf_free(&contents);
+       git_buf_dispose(&path);
+       git_buf_dispose(&contents);
 }
 
 void test_object_lookup__lookup_object_with_wrong_hash_returns_error(void)
@@ -109,14 +109,14 @@ void test_object_lookup__lookup_object_with_wrong_hash_returns_error(void)
        cl_git_pass(git_futils_cp(oldpath.ptr, newpath.ptr, 0644));
 
        /* Verify that lookup fails due to a hashsum mismatch */
-       cl_git_fail_with(GIT_EMISMATCH, git_object_lookup(&object, g_repo, &oid, GIT_OBJ_COMMIT));
+       cl_git_fail_with(GIT_EMISMATCH, git_object_lookup(&object, g_repo, &oid, GIT_OBJECT_COMMIT));
 
        /* Disable verification and try again */
        cl_git_pass(git_libgit2_opts(GIT_OPT_ENABLE_STRICT_HASH_VERIFICATION, 0));
-       cl_git_pass(git_object_lookup(&object, g_repo, &oid, GIT_OBJ_COMMIT));
+       cl_git_pass(git_object_lookup(&object, g_repo, &oid, GIT_OBJECT_COMMIT));
        cl_git_pass(git_libgit2_opts(GIT_OPT_ENABLE_STRICT_HASH_VERIFICATION, 1));
 
        git_object_free(object);
-       git_buf_free(&oldpath);
-       git_buf_free(&newpath);
+       git_buf_dispose(&oldpath);
+       git_buf_dispose(&newpath);
 }
index 13cd6a1288262949e035714aaa940e7b83c43176..f2257f55673bc5ac787a318bbd760a689ad1b1a4 100644 (file)
@@ -16,11 +16,11 @@ void test_object_lookupbypath__initialize(void)
        cl_git_pass(git_repository_open(&g_repo, cl_fixture("attr/.gitted")));
 
        cl_git_pass(git_repository_head(&head, g_repo));
-       cl_git_pass(git_reference_peel((git_object**)&g_head_commit, head, GIT_OBJ_COMMIT));
+       cl_git_pass(git_reference_peel((git_object**)&g_head_commit, head, GIT_OBJECT_COMMIT));
        cl_git_pass(git_commit_tree(&g_root_tree, g_head_commit));
        cl_git_pass(git_tree_entry_bypath(&tree_entry, g_root_tree, "subdir/subdir_test2.txt"));
        cl_git_pass(git_object_lookup(&g_expectedobject, g_repo, git_tree_entry_id(tree_entry),
-                               GIT_OBJ_ANY));
+                               GIT_OBJECT_ANY));
 
        git_tree_entry_free(tree_entry);
        git_reference_free(head);
@@ -42,16 +42,16 @@ void test_object_lookupbypath__errors(void)
 {
        cl_assert_equal_i(GIT_EINVALIDSPEC,
                        git_object_lookup_bypath(&g_actualobject, (git_object*)g_root_tree,
-                               "subdir/subdir_test2.txt", GIT_OBJ_TREE)); // It's not a tree
+                               "subdir/subdir_test2.txt", GIT_OBJECT_TREE)); /* It's not a tree */
        cl_assert_equal_i(GIT_ENOTFOUND,
                        git_object_lookup_bypath(&g_actualobject, (git_object*)g_root_tree,
-                               "file/doesnt/exist", GIT_OBJ_ANY));
+                               "file/doesnt/exist", GIT_OBJECT_ANY));
 }
 
 void test_object_lookupbypath__from_root_tree(void)
 {
        cl_git_pass(git_object_lookup_bypath(&g_actualobject, (git_object*)g_root_tree,
-                               "subdir/subdir_test2.txt", GIT_OBJ_BLOB));
+                               "subdir/subdir_test2.txt", GIT_OBJECT_BLOB));
        cl_assert_equal_oid(git_object_id(g_expectedobject),
                git_object_id(g_actualobject));
 }
@@ -59,7 +59,7 @@ void test_object_lookupbypath__from_root_tree(void)
 void test_object_lookupbypath__from_head_commit(void)
 {
        cl_git_pass(git_object_lookup_bypath(&g_actualobject, (git_object*)g_head_commit,
-                               "subdir/subdir_test2.txt", GIT_OBJ_BLOB));
+                               "subdir/subdir_test2.txt", GIT_OBJECT_BLOB));
        cl_assert_equal_oid(git_object_id(g_expectedobject),
                                git_object_id(g_actualobject));
 }
@@ -73,7 +73,7 @@ void test_object_lookupbypath__from_subdir_tree(void)
        cl_git_pass(git_tree_lookup(&tree, g_repo, git_tree_entry_id(entry)));
 
        cl_git_pass(git_object_lookup_bypath(&g_actualobject, (git_object*)tree,
-                               "subdir_test2.txt", GIT_OBJ_BLOB));
+                               "subdir_test2.txt", GIT_OBJECT_BLOB));
        cl_assert_equal_oid(git_object_id(g_expectedobject),
                                git_object_id(g_actualobject));
 
index 40d8e7297295a56da0a19c3a47668b29c4e4bdc3..bc005340bbb2b65ba8b3cde99fc611384126238f 100644 (file)
@@ -9,13 +9,13 @@ static void assert_message_prettifying(char *expected_output, char *input, int s
        git_message_prettify(&prettified_message, input, strip_comments, '#');
        cl_assert_equal_s(expected_output, git_buf_cstr(&prettified_message));
 
-       git_buf_free(&prettified_message);
+       git_buf_dispose(&prettified_message);
 }
 
 #define t40 "A quick brown fox jumps over the lazy do"
 #define s40 "                                        "
-#define sss s40 s40 s40 s40 s40 s40 s40 s40 s40 s40 // # 400
-#define ttt t40 t40 t40 t40 t40 t40 t40 t40 t40 t40 // # 400
+#define sss s40 s40 s40 s40 s40 s40 s40 s40 s40 s40 /* # 400 */
+#define ttt t40 t40 t40 t40 t40 t40 t40 t40 t40 t40 /* # 400 */
 
 /* Ported from git.git */
 /* see https://github.com/git/git/blob/master/t/t0030-stripspace.sh */
@@ -177,23 +177,23 @@ void test_object_message__message_prettify(void)
        memset(&buffer, 0, sizeof(buffer));
        cl_git_pass(git_message_prettify(&buffer, "", 0, '#'));
        cl_assert_equal_s(buffer.ptr, "");
-       git_buf_free(&buffer);
+       git_buf_dispose(&buffer);
        cl_git_pass(git_message_prettify(&buffer, "", 1, '#'));
        cl_assert_equal_s(buffer.ptr, "");
-       git_buf_free(&buffer);
+       git_buf_dispose(&buffer);
 
        cl_git_pass(git_message_prettify(&buffer, "Short", 0, '#'));
        cl_assert_equal_s("Short\n", buffer.ptr);
-       git_buf_free(&buffer);
+       git_buf_dispose(&buffer);
        cl_git_pass(git_message_prettify(&buffer, "Short", 1, '#'));
        cl_assert_equal_s("Short\n", buffer.ptr);
-       git_buf_free(&buffer);
+       git_buf_dispose(&buffer);
 
        cl_git_pass(git_message_prettify(&buffer, "This is longer\nAnd multiline\n# with some comments still in\n", 0, '#'));
        cl_assert_equal_s(buffer.ptr, "This is longer\nAnd multiline\n# with some comments still in\n");
-       git_buf_free(&buffer);
+       git_buf_dispose(&buffer);
 
        cl_git_pass(git_message_prettify(&buffer, "This is longer\nAnd multiline\n# with some comments still in\n", 1, '#'));
        cl_assert_equal_s(buffer.ptr, "This is longer\nAnd multiline\n");
-       git_buf_free(&buffer);
+       git_buf_dispose(&buffer);
 }
index 344885f1d35e09453f3efe36cbfac4c24aa1099d..8be6e42d4c11aae7ff697c2ca409159136077365 100644 (file)
@@ -15,17 +15,17 @@ void test_object_peel__cleanup(void)
 
 static void assert_peel(
        const char *sha,
-       git_otype requested_type,
+       git_object_t requested_type,
        const char* expected_sha,
-       git_otype expected_type)
+       git_object_t expected_type)
 {
        git_oid oid, expected_oid;
        git_object *obj;
        git_object *peeled;
 
        cl_git_pass(git_oid_fromstr(&oid, sha));
-       cl_git_pass(git_object_lookup(&obj, g_repo, &oid, GIT_OBJ_ANY));
-       
+       cl_git_pass(git_object_lookup(&obj, g_repo, &oid, GIT_OBJECT_ANY));
+
        cl_git_pass(git_object_peel(&peeled, obj, requested_type));
 
        cl_git_pass(git_oid_fromstr(&expected_oid, expected_sha));
@@ -37,15 +37,15 @@ static void assert_peel(
        git_object_free(obj);
 }
 
-static void assert_peel_error(int error, const char *sha, git_otype requested_type)
+static void assert_peel_error(int error, const char *sha, git_object_t requested_type)
 {
        git_oid oid;
        git_object *obj;
        git_object *peeled;
 
        cl_git_pass(git_oid_fromstr(&oid, sha));
-       cl_git_pass(git_object_lookup(&obj, g_repo, &oid, GIT_OBJ_ANY));
-       
+       cl_git_pass(git_object_lookup(&obj, g_repo, &oid, GIT_OBJECT_ANY));
+
        cl_assert_equal_i(error, git_object_peel(&peeled, obj, requested_type));
 
        git_object_free(obj);
@@ -53,66 +53,66 @@ static void assert_peel_error(int error, const char *sha, git_otype requested_ty
 
 void test_object_peel__peeling_an_object_into_its_own_type_returns_another_instance_of_it(void)
 {
-       assert_peel("e90810b8df3e80c413d903f631643c716887138d", GIT_OBJ_COMMIT,
-               "e90810b8df3e80c413d903f631643c716887138d", GIT_OBJ_COMMIT);
-       assert_peel("7b4384978d2493e851f9cca7858815fac9b10980", GIT_OBJ_TAG,
-               "7b4384978d2493e851f9cca7858815fac9b10980", GIT_OBJ_TAG);
-       assert_peel("53fc32d17276939fc79ed05badaef2db09990016", GIT_OBJ_TREE,
-               "53fc32d17276939fc79ed05badaef2db09990016", GIT_OBJ_TREE);
-       assert_peel("0266163a49e280c4f5ed1e08facd36a2bd716bcf", GIT_OBJ_BLOB,
-               "0266163a49e280c4f5ed1e08facd36a2bd716bcf", GIT_OBJ_BLOB);
+       assert_peel("e90810b8df3e80c413d903f631643c716887138d", GIT_OBJECT_COMMIT,
+               "e90810b8df3e80c413d903f631643c716887138d", GIT_OBJECT_COMMIT);
+       assert_peel("7b4384978d2493e851f9cca7858815fac9b10980", GIT_OBJECT_TAG,
+               "7b4384978d2493e851f9cca7858815fac9b10980", GIT_OBJECT_TAG);
+       assert_peel("53fc32d17276939fc79ed05badaef2db09990016", GIT_OBJECT_TREE,
+               "53fc32d17276939fc79ed05badaef2db09990016", GIT_OBJECT_TREE);
+       assert_peel("0266163a49e280c4f5ed1e08facd36a2bd716bcf", GIT_OBJECT_BLOB,
+               "0266163a49e280c4f5ed1e08facd36a2bd716bcf", GIT_OBJECT_BLOB);
 }
 
 void test_object_peel__tag(void)
 {
-       assert_peel("7b4384978d2493e851f9cca7858815fac9b10980", GIT_OBJ_COMMIT,
-               "e90810b8df3e80c413d903f631643c716887138d", GIT_OBJ_COMMIT);
-       assert_peel("7b4384978d2493e851f9cca7858815fac9b10980", GIT_OBJ_TREE,
-               "53fc32d17276939fc79ed05badaef2db09990016", GIT_OBJ_TREE);
-       assert_peel_error(GIT_EPEEL, "7b4384978d2493e851f9cca7858815fac9b10980", GIT_OBJ_BLOB);
-       assert_peel("7b4384978d2493e851f9cca7858815fac9b10980", GIT_OBJ_ANY,
-                   "e90810b8df3e80c413d903f631643c716887138d", GIT_OBJ_COMMIT);
+       assert_peel("7b4384978d2493e851f9cca7858815fac9b10980", GIT_OBJECT_COMMIT,
+               "e90810b8df3e80c413d903f631643c716887138d", GIT_OBJECT_COMMIT);
+       assert_peel("7b4384978d2493e851f9cca7858815fac9b10980", GIT_OBJECT_TREE,
+               "53fc32d17276939fc79ed05badaef2db09990016", GIT_OBJECT_TREE);
+       assert_peel_error(GIT_EPEEL, "7b4384978d2493e851f9cca7858815fac9b10980", GIT_OBJECT_BLOB);
+       assert_peel("7b4384978d2493e851f9cca7858815fac9b10980", GIT_OBJECT_ANY,
+                   "e90810b8df3e80c413d903f631643c716887138d", GIT_OBJECT_COMMIT);
 }
 
 void test_object_peel__commit(void)
 {
-       assert_peel_error(GIT_EINVALIDSPEC, "e90810b8df3e80c413d903f631643c716887138d", GIT_OBJ_BLOB);
-       assert_peel("e90810b8df3e80c413d903f631643c716887138d", GIT_OBJ_TREE,
-                   "53fc32d17276939fc79ed05badaef2db09990016", GIT_OBJ_TREE);
-       assert_peel("e90810b8df3e80c413d903f631643c716887138d", GIT_OBJ_COMMIT,
-                   "e90810b8df3e80c413d903f631643c716887138d", GIT_OBJ_COMMIT);
-       assert_peel_error(GIT_EINVALIDSPEC, "e90810b8df3e80c413d903f631643c716887138d", GIT_OBJ_TAG);
-       assert_peel("e90810b8df3e80c413d903f631643c716887138d", GIT_OBJ_ANY,
-                   "53fc32d17276939fc79ed05badaef2db09990016", GIT_OBJ_TREE);
+       assert_peel_error(GIT_EINVALIDSPEC, "e90810b8df3e80c413d903f631643c716887138d", GIT_OBJECT_BLOB);
+       assert_peel("e90810b8df3e80c413d903f631643c716887138d", GIT_OBJECT_TREE,
+                   "53fc32d17276939fc79ed05badaef2db09990016", GIT_OBJECT_TREE);
+       assert_peel("e90810b8df3e80c413d903f631643c716887138d", GIT_OBJECT_COMMIT,
+                   "e90810b8df3e80c413d903f631643c716887138d", GIT_OBJECT_COMMIT);
+       assert_peel_error(GIT_EINVALIDSPEC, "e90810b8df3e80c413d903f631643c716887138d", GIT_OBJECT_TAG);
+       assert_peel("e90810b8df3e80c413d903f631643c716887138d", GIT_OBJECT_ANY,
+                   "53fc32d17276939fc79ed05badaef2db09990016", GIT_OBJECT_TREE);
 }
 
 void test_object_peel__tree(void)
 {
-       assert_peel_error(GIT_EINVALIDSPEC, "53fc32d17276939fc79ed05badaef2db09990016", GIT_OBJ_BLOB);
-       assert_peel("53fc32d17276939fc79ed05badaef2db09990016", GIT_OBJ_TREE,
-                   "53fc32d17276939fc79ed05badaef2db09990016", GIT_OBJ_TREE);
-       assert_peel_error(GIT_EINVALIDSPEC, "53fc32d17276939fc79ed05badaef2db09990016", GIT_OBJ_COMMIT);
-       assert_peel_error(GIT_EINVALIDSPEC, "53fc32d17276939fc79ed05badaef2db09990016", GIT_OBJ_TAG);
-       assert_peel_error(GIT_EINVALIDSPEC, "53fc32d17276939fc79ed05badaef2db09990016", GIT_OBJ_ANY);
+       assert_peel_error(GIT_EINVALIDSPEC, "53fc32d17276939fc79ed05badaef2db09990016", GIT_OBJECT_BLOB);
+       assert_peel("53fc32d17276939fc79ed05badaef2db09990016", GIT_OBJECT_TREE,
+                   "53fc32d17276939fc79ed05badaef2db09990016", GIT_OBJECT_TREE);
+       assert_peel_error(GIT_EINVALIDSPEC, "53fc32d17276939fc79ed05badaef2db09990016", GIT_OBJECT_COMMIT);
+       assert_peel_error(GIT_EINVALIDSPEC, "53fc32d17276939fc79ed05badaef2db09990016", GIT_OBJECT_TAG);
+       assert_peel_error(GIT_EINVALIDSPEC, "53fc32d17276939fc79ed05badaef2db09990016", GIT_OBJECT_ANY);
 }
 
 void test_object_peel__blob(void)
 {
-       assert_peel("0266163a49e280c4f5ed1e08facd36a2bd716bcf", GIT_OBJ_BLOB,
-                   "0266163a49e280c4f5ed1e08facd36a2bd716bcf", GIT_OBJ_BLOB);
-       assert_peel_error(GIT_EINVALIDSPEC, "0266163a49e280c4f5ed1e08facd36a2bd716bcf", GIT_OBJ_TREE);
-       assert_peel_error(GIT_EINVALIDSPEC, "0266163a49e280c4f5ed1e08facd36a2bd716bcf", GIT_OBJ_COMMIT);
-       assert_peel_error(GIT_EINVALIDSPEC, "0266163a49e280c4f5ed1e08facd36a2bd716bcf", GIT_OBJ_TAG);
-       assert_peel_error(GIT_EINVALIDSPEC, "0266163a49e280c4f5ed1e08facd36a2bd716bcf", GIT_OBJ_ANY);
+       assert_peel("0266163a49e280c4f5ed1e08facd36a2bd716bcf", GIT_OBJECT_BLOB,
+                   "0266163a49e280c4f5ed1e08facd36a2bd716bcf", GIT_OBJECT_BLOB);
+       assert_peel_error(GIT_EINVALIDSPEC, "0266163a49e280c4f5ed1e08facd36a2bd716bcf", GIT_OBJECT_TREE);
+       assert_peel_error(GIT_EINVALIDSPEC, "0266163a49e280c4f5ed1e08facd36a2bd716bcf", GIT_OBJECT_COMMIT);
+       assert_peel_error(GIT_EINVALIDSPEC, "0266163a49e280c4f5ed1e08facd36a2bd716bcf", GIT_OBJECT_TAG);
+       assert_peel_error(GIT_EINVALIDSPEC, "0266163a49e280c4f5ed1e08facd36a2bd716bcf", GIT_OBJECT_ANY);
 }
 
 void test_object_peel__target_any_object_for_type_change(void)
 {
        /* tag to commit */
-       assert_peel("7b4384978d2493e851f9cca7858815fac9b10980", GIT_OBJ_ANY,
-               "e90810b8df3e80c413d903f631643c716887138d", GIT_OBJ_COMMIT);
+       assert_peel("7b4384978d2493e851f9cca7858815fac9b10980", GIT_OBJECT_ANY,
+               "e90810b8df3e80c413d903f631643c716887138d", GIT_OBJECT_COMMIT);
 
        /* commit to tree */
-       assert_peel("e90810b8df3e80c413d903f631643c716887138d", GIT_OBJ_ANY,
-               "53fc32d17276939fc79ed05badaef2db09990016", GIT_OBJ_TREE);
+       assert_peel("e90810b8df3e80c413d903f631643c716887138d", GIT_OBJECT_ANY,
+               "53fc32d17276939fc79ed05badaef2db09990016", GIT_OBJECT_TREE);
 }
index cf23819f1d939aa686110868068fbe0134726eb9..57431e70edb151cf08476dd4554d9f4289b8db40 100644 (file)
@@ -277,47 +277,47 @@ static char *some_id = "fd8430bc864cfcd5f10e5590f8a447e01b942bfe";
 static git_rawobj tree_obj = {
        tree_data,
        sizeof(tree_data),
-       GIT_OBJ_TREE
+       GIT_OBJECT_TREE
 };
 
 static git_rawobj tag_obj = {
        tag_data,
        sizeof(tag_data),
-       GIT_OBJ_TAG
+       GIT_OBJECT_TAG
 };
 
 static git_rawobj zero_obj = {
        zero_data,
        0,
-       GIT_OBJ_BLOB
+       GIT_OBJECT_BLOB
 };
 
 static git_rawobj one_obj = {
        one_data,
        sizeof(one_data),
-       GIT_OBJ_BLOB
+       GIT_OBJECT_BLOB
 };
 
 static git_rawobj two_obj = {
        two_data,
        sizeof(two_data),
-       GIT_OBJ_BLOB
+       GIT_OBJECT_BLOB
 };
 
 static git_rawobj commit_obj = {
        commit_data,
        sizeof(commit_data),
-       GIT_OBJ_COMMIT
+       GIT_OBJECT_COMMIT
 };
 
 static git_rawobj some_obj = {
        some_data,
        sizeof(some_data),
-       GIT_OBJ_BLOB
+       GIT_OBJECT_BLOB
 };
 
 static git_rawobj junk_obj = {
        NULL,
        0,
-       GIT_OBJ_BAD
+       GIT_OBJECT_INVALID
 };
index ede31e145eb5a22dcd6805657f648a0d3571cdb7..830f1caa1900dff93494f7af63b96853e3bd091c 100644 (file)
@@ -80,20 +80,23 @@ void test_object_raw_hash__hash_junk_data(void)
        junk_obj.data = some_data;
        hash_object_fail(&id, &junk_obj);
 
-       junk_obj.type = GIT_OBJ__EXT1;
+       junk_obj.type = 0; /* EXT1 */
        hash_object_fail(&id, &junk_obj);
 
-       junk_obj.type = GIT_OBJ__EXT2;
+       junk_obj.type = 5; /* EXT2 */
        hash_object_fail(&id, &junk_obj);
 
-       junk_obj.type = GIT_OBJ_OFS_DELTA;
+       junk_obj.type = GIT_OBJECT_OFS_DELTA;
        hash_object_fail(&id, &junk_obj);
 
-       junk_obj.type = GIT_OBJ_REF_DELTA;
+       junk_obj.type = GIT_OBJECT_REF_DELTA;
+       hash_object_fail(&id, &junk_obj);
+
+       junk_obj.type = 42;
        hash_object_fail(&id, &junk_obj);
 
        /* data can be NULL only if len is zero: */
-       junk_obj.type = GIT_OBJ_BLOB;
+       junk_obj.type = GIT_OBJECT_BLOB;
        junk_obj.data = NULL;
        hash_object_pass(&id, &junk_obj);
        cl_assert(git_oid_cmp(&id, &id_zero) == 0);
index a3585487f6525115556d949b18a0168135cc43a3..ebd81f552ae04e23112ad36a32694a89507274ea 100644 (file)
@@ -6,15 +6,15 @@
 
 void test_object_raw_type2string__convert_type_to_string(void)
 {
-       cl_assert_equal_s(git_object_type2string(GIT_OBJ_BAD), "");
-       cl_assert_equal_s(git_object_type2string(GIT_OBJ__EXT1), "");
-       cl_assert_equal_s(git_object_type2string(GIT_OBJ_COMMIT), "commit");
-       cl_assert_equal_s(git_object_type2string(GIT_OBJ_TREE), "tree");
-       cl_assert_equal_s(git_object_type2string(GIT_OBJ_BLOB), "blob");
-       cl_assert_equal_s(git_object_type2string(GIT_OBJ_TAG), "tag");
-       cl_assert_equal_s(git_object_type2string(GIT_OBJ__EXT2), "");
-       cl_assert_equal_s(git_object_type2string(GIT_OBJ_OFS_DELTA), "OFS_DELTA");
-       cl_assert_equal_s(git_object_type2string(GIT_OBJ_REF_DELTA), "REF_DELTA");
+       cl_assert_equal_s(git_object_type2string(GIT_OBJECT_INVALID), "");
+       cl_assert_equal_s(git_object_type2string(0), ""); /* EXT1 */
+       cl_assert_equal_s(git_object_type2string(GIT_OBJECT_COMMIT), "commit");
+       cl_assert_equal_s(git_object_type2string(GIT_OBJECT_TREE), "tree");
+       cl_assert_equal_s(git_object_type2string(GIT_OBJECT_BLOB), "blob");
+       cl_assert_equal_s(git_object_type2string(GIT_OBJECT_TAG), "tag");
+       cl_assert_equal_s(git_object_type2string(5), ""); /* EXT2 */
+       cl_assert_equal_s(git_object_type2string(GIT_OBJECT_OFS_DELTA), "OFS_DELTA");
+       cl_assert_equal_s(git_object_type2string(GIT_OBJECT_REF_DELTA), "REF_DELTA");
 
        cl_assert_equal_s(git_object_type2string(-2), "");
        cl_assert_equal_s(git_object_type2string(8), "");
@@ -23,30 +23,30 @@ void test_object_raw_type2string__convert_type_to_string(void)
 
 void test_object_raw_type2string__convert_string_to_type(void)
 {
-       cl_assert(git_object_string2type(NULL) == GIT_OBJ_BAD);
-       cl_assert(git_object_string2type("") == GIT_OBJ_BAD);
-       cl_assert(git_object_string2type("commit") == GIT_OBJ_COMMIT);
-       cl_assert(git_object_string2type("tree") == GIT_OBJ_TREE);
-       cl_assert(git_object_string2type("blob") == GIT_OBJ_BLOB);
-       cl_assert(git_object_string2type("tag") == GIT_OBJ_TAG);
-       cl_assert(git_object_string2type("OFS_DELTA") == GIT_OBJ_OFS_DELTA);
-       cl_assert(git_object_string2type("REF_DELTA") == GIT_OBJ_REF_DELTA);
-
-       cl_assert(git_object_string2type("CoMmIt") == GIT_OBJ_BAD);
-       cl_assert(git_object_string2type("hohoho") == GIT_OBJ_BAD);
+       cl_assert(git_object_string2type(NULL) == GIT_OBJECT_INVALID);
+       cl_assert(git_object_string2type("") == GIT_OBJECT_INVALID);
+       cl_assert(git_object_string2type("commit") == GIT_OBJECT_COMMIT);
+       cl_assert(git_object_string2type("tree") == GIT_OBJECT_TREE);
+       cl_assert(git_object_string2type("blob") == GIT_OBJECT_BLOB);
+       cl_assert(git_object_string2type("tag") == GIT_OBJECT_TAG);
+       cl_assert(git_object_string2type("OFS_DELTA") == GIT_OBJECT_OFS_DELTA);
+       cl_assert(git_object_string2type("REF_DELTA") == GIT_OBJECT_REF_DELTA);
+
+       cl_assert(git_object_string2type("CoMmIt") == GIT_OBJECT_INVALID);
+       cl_assert(git_object_string2type("hohoho") == GIT_OBJECT_INVALID);
 }
 
 void test_object_raw_type2string__check_type_is_loose(void)
 {
-       cl_assert(git_object_typeisloose(GIT_OBJ_BAD) == 0);
-       cl_assert(git_object_typeisloose(GIT_OBJ__EXT1) == 0);
-       cl_assert(git_object_typeisloose(GIT_OBJ_COMMIT) == 1);
-       cl_assert(git_object_typeisloose(GIT_OBJ_TREE) == 1);
-       cl_assert(git_object_typeisloose(GIT_OBJ_BLOB) == 1);
-       cl_assert(git_object_typeisloose(GIT_OBJ_TAG) == 1);
-       cl_assert(git_object_typeisloose(GIT_OBJ__EXT2) == 0);
-       cl_assert(git_object_typeisloose(GIT_OBJ_OFS_DELTA) == 0);
-       cl_assert(git_object_typeisloose(GIT_OBJ_REF_DELTA) == 0);
+       cl_assert(git_object_typeisloose(GIT_OBJECT_INVALID) == 0);
+       cl_assert(git_object_typeisloose(0) == 0); /* EXT1 */
+       cl_assert(git_object_typeisloose(GIT_OBJECT_COMMIT) == 1);
+       cl_assert(git_object_typeisloose(GIT_OBJECT_TREE) == 1);
+       cl_assert(git_object_typeisloose(GIT_OBJECT_BLOB) == 1);
+       cl_assert(git_object_typeisloose(GIT_OBJECT_TAG) == 1);
+       cl_assert(git_object_typeisloose(5) == 0); /* EXT2 */
+       cl_assert(git_object_typeisloose(GIT_OBJECT_OFS_DELTA) == 0);
+       cl_assert(git_object_typeisloose(GIT_OBJECT_REF_DELTA) == 0);
 
        cl_assert(git_object_typeisloose(-2) == 0);
        cl_assert(git_object_typeisloose(8) == 0);
index 273f08f2c3608b3c02ba97acf71b1d4aca979b6d..a360f04c59e0acbed97532e3b9ac957de941367f 100644 (file)
@@ -16,7 +16,7 @@ void test_body(object_data *d, git_rawobj *o);
 
 
 
-// Helpers
+/* Helpers */
 static void remove_object_files(object_data *d)
 {
    cl_git_pass(p_unlink(d->file));
@@ -57,8 +57,8 @@ static void make_odb_dir(void)
 }
 
 
-// Standard test form
-void test_body(object_data *d, git_rawobj *o) 
+/* Standard test form */
+void test_body(object_data *d, git_rawobj *o)
 {
    git_odb *db;
    git_oid id1, id2;
@@ -146,7 +146,7 @@ void test_object_raw_write__loose_object(void)
    git_rawobj commit_obj = {
       commit_data,
       sizeof(commit_data),
-      GIT_OBJ_COMMIT
+      GIT_OBJECT_COMMIT
    };
 
    test_body(&commit, &commit_obj);
@@ -182,7 +182,7 @@ void test_object_raw_write__loose_tree(void)
    static git_rawobj tree_obj = {
       tree_data,
       sizeof(tree_data),
-      GIT_OBJ_TREE
+      GIT_OBJECT_TREE
    };
 
    test_body(&tree, &tree_obj);
@@ -224,7 +224,7 @@ void test_object_raw_write__loose_tag(void)
    static git_rawobj tag_obj = {
       tag_data,
       sizeof(tag_data),
-      GIT_OBJ_TAG
+      GIT_OBJECT_TAG
    };
 
 
@@ -246,7 +246,7 @@ void test_object_raw_write__zero_length(void)
    static git_rawobj zero_obj = {
       zero_data,
       0,
-      GIT_OBJ_BLOB
+      GIT_OBJECT_BLOB
    };
 
    test_body(&zero, &zero_obj);
@@ -267,7 +267,7 @@ void test_object_raw_write__one_byte(void)
    static git_rawobj one_obj = {
       one_data,
       sizeof(one_data),
-      GIT_OBJ_BLOB
+      GIT_OBJECT_BLOB
    };
 
    test_body(&one, &one_obj);
@@ -288,7 +288,7 @@ void test_object_raw_write__two_byte(void)
    static git_rawobj two_obj = {
       two_data,
       sizeof(two_data),
-      GIT_OBJ_BLOB
+      GIT_OBJECT_BLOB
    };
 
    test_body(&two, &two_obj);
@@ -455,7 +455,7 @@ void test_object_raw_write__several_bytes(void)
    static git_rawobj some_obj = {
       some_data,
       sizeof(some_data),
-      GIT_OBJ_BLOB
+      GIT_OBJECT_BLOB
    };
 
    test_body(&some, &some_obj);
index d854cb78e99f1d05c366ea5a5a30d84f282a92e1..9b673efebb0fd97362c11269935678ed4c27fd1f 100644 (file)
@@ -20,32 +20,32 @@ void test_object_shortid__select(void)
        git_buf shorty = {0};
 
        git_oid_fromstr(&full, "ce013625030ba8dba906f756967f9e9ca394464a");
-       cl_git_pass(git_object_lookup(&obj, _repo, &full, GIT_OBJ_ANY));
+       cl_git_pass(git_object_lookup(&obj, _repo, &full, GIT_OBJECT_ANY));
        cl_git_pass(git_object_short_id(&shorty, obj));
        cl_assert_equal_i(7, shorty.size);
        cl_assert_equal_s("ce01362", shorty.ptr);
        git_object_free(obj);
 
        git_oid_fromstr(&full, "038d718da6a1ebbc6a7780a96ed75a70cc2ad6e2");
-       cl_git_pass(git_object_lookup(&obj, _repo, &full, GIT_OBJ_ANY));
+       cl_git_pass(git_object_lookup(&obj, _repo, &full, GIT_OBJECT_ANY));
        cl_git_pass(git_object_short_id(&shorty, obj));
        cl_assert_equal_i(7, shorty.size);
        cl_assert_equal_s("038d718", shorty.ptr);
        git_object_free(obj);
 
        git_oid_fromstr(&full, "dea509d097ce692e167dfc6a48a7a280cc5e877e");
-       cl_git_pass(git_object_lookup(&obj, _repo, &full, GIT_OBJ_ANY));
+       cl_git_pass(git_object_lookup(&obj, _repo, &full, GIT_OBJECT_ANY));
        cl_git_pass(git_object_short_id(&shorty, obj));
        cl_assert_equal_i(9, shorty.size);
        cl_assert_equal_s("dea509d09", shorty.ptr);
        git_object_free(obj);
 
        git_oid_fromstr(&full, "dea509d0b3cb8ee0650f6ca210bc83f4678851ba");
-       cl_git_pass(git_object_lookup(&obj, _repo, &full, GIT_OBJ_ANY));
+       cl_git_pass(git_object_lookup(&obj, _repo, &full, GIT_OBJECT_ANY));
        cl_git_pass(git_object_short_id(&shorty, obj));
        cl_assert_equal_i(9, shorty.size);
        cl_assert_equal_s("dea509d0b", shorty.ptr);
        git_object_free(obj);
 
-       git_buf_free(&shorty);
+       git_buf_dispose(&shorty);
 }
index 6d5a2434770d6da56a5b7815ce9b121d9786fa4f..b8d507fe713d065ca28bd9c9ea9bfb68f46ad6ed 100644 (file)
@@ -13,7 +13,7 @@ struct pattern_match_t
        const char* expected_results[MAX_USED_TAGS];
 };
 
-// Helpers
+/* Helpers */
 static void ensure_tag_pattern_match(git_repository *repo,
                                                                         const struct pattern_match_t* data)
 {
@@ -34,7 +34,7 @@ static void ensure_tag_pattern_match(git_repository *repo,
                goto exit;
        }
 
-       // we have to be prepared that tags come in any order.
+       /* we have to be prepared that tags come in any order. */
        for (i = 0; i < tag_list.count; i++)
        {
                for (j = 0; j < data->expected_matches; j++)
@@ -54,7 +54,7 @@ exit:
        cl_git_pass(error);
 }
 
-// Fixture setup and teardown
+/* Fixture setup and teardown */
 void test_object_tag_list__initialize(void)
 {
        g_repo = cl_git_sandbox_init("testrepo");
@@ -67,7 +67,7 @@ void test_object_tag_list__cleanup(void)
 
 void test_object_tag_list__list_all(void)
 {
-       // list all tag names from the repository
+       /* list all tag names from the repository */
        git_strarray tag_list;
 
        cl_git_pass(git_tag_list(&tag_list, g_repo));
@@ -78,37 +78,39 @@ void test_object_tag_list__list_all(void)
 }
 
 static const struct pattern_match_t matches[] = {
-       // All tags, including a packed one and two namespaced ones.
+       /* All tags, including a packed one and two namespaced ones. */
        { "", 6, { "e90810b", "point_to_blob", "test", "packed-tag", "foo/bar", "foo/foo/bar" } },
 
-       // beginning with
+       /* beginning with */
        { "t*", 1, { "test" } },
 
-       // ending with
+       /* ending with */
        { "*b", 2, { "e90810b", "point_to_blob" } },
 
-       // exact match
+       /* exact match */
        { "e", 0 },
        { "e90810b", 1, { "e90810b" } },
 
-       // either or
+       /* either or */
        { "e90810[ab]", 1, { "e90810b" } },
 
-       // glob in the middle
+       /* glob in the middle */
        { "foo/*/bar", 1, { "foo/foo/bar" } },
 
-       // The matching of '*' is based on plain string matching analog to the regular expression ".*"
-       // => a '/' in the tag name has no special meaning.
-       // Compare to `git tag -l "*bar"`
+       /*
+        * The matching of '*' is based on plain string matching analog to the regular expression ".*"
+        * => a '/' in the tag name has no special meaning.
+        * Compare to `git tag -l "*bar"`
+        */
        { "*bar", 2, { "foo/bar", "foo/foo/bar" } },
 
-       // End of list
+       /* End of list */
        { NULL }
 };
 
 void test_object_tag_list__list_by_pattern(void)
 {
-       // list all tag names from the repository matching a specified pattern
+       /* list all tag names from the repository matching a specified pattern */
        size_t i = 0;
        while (matches[i].pattern)
                ensure_tag_pattern_match(g_repo, &matches[i++]);
diff --git a/tests/object/tag/parse.c b/tests/object/tag/parse.c
new file mode 100644 (file)
index 0000000..2c0635a
--- /dev/null
@@ -0,0 +1,218 @@
+#include "clar_libgit2.h"
+#include "object.h"
+#include "signature.h"
+#include "tag.h"
+
+static void assert_tag_parses(const char *data, size_t datalen,
+       const char *expected_oid,
+       const char *expected_name,
+       const char *expected_tagger,
+       const char *expected_message)
+{
+       git_tag *tag;
+
+       if (!datalen)
+               datalen = strlen(data);
+
+       cl_git_pass(git_object__from_raw((git_object **) &tag, data, datalen, GIT_OBJECT_TAG));
+       cl_assert_equal_i(tag->type, GIT_OBJECT_TAG);
+
+       if (expected_oid) {
+               git_oid oid;
+               cl_git_pass(git_oid_fromstr(&oid, expected_oid));
+               cl_assert_equal_oid(&oid, &tag->target);
+       }
+
+       if (expected_name)
+               cl_assert_equal_s(expected_name, tag->tag_name);
+       else
+               cl_assert_equal_s(tag->message, NULL);
+
+       if (expected_tagger) {
+               git_signature *tagger;
+               cl_git_pass(git_signature_from_buffer(&tagger, expected_tagger));
+               cl_assert_equal_s(tagger->name, tag->tagger->name);
+               cl_assert_equal_s(tagger->email, tag->tagger->email);
+               cl_assert_equal_i(tagger->when.time, tag->tagger->when.time);
+               cl_assert_equal_i(tagger->when.offset, tag->tagger->when.offset);
+               cl_assert_equal_i(tagger->when.sign, tag->tagger->when.sign);
+               git_signature_free(tagger);
+       } else {
+               cl_assert_equal_s(tag->tagger, NULL);
+       }
+
+       if (expected_message)
+               cl_assert_equal_s(expected_message, tag->message);
+       else
+               cl_assert_equal_s(tag->message, NULL);
+
+       git_object__free(&tag->object);
+}
+
+static void assert_tag_fails(const char *data, size_t datalen)
+{
+       git_object *object;
+       if (!datalen)
+               datalen = strlen(data);
+       cl_git_fail(git_object__from_raw(&object, data, datalen, GIT_OBJECT_TAG));
+}
+
+void test_object_tag_parse__valid_tag_parses(void)
+{
+       const char *tag =
+               "object a8d447f68076d1520f69649bb52629941be7031f\n"
+               "type tag\n"
+               "tag tagname\n"
+               "tagger Taggy Mr. Taggart <taggy@taggart.com>\n"
+               "\n"
+               "Message";
+       assert_tag_parses(tag, 0,
+               "a8d447f68076d1520f69649bb52629941be7031f",
+               "tagname",
+               "Taggy Mr. Taggart <taggy@taggart.com>",
+               "Message");
+}
+
+void test_object_tag_parse__missing_tagger_parses(void)
+{
+       const char *tag =
+               "object a8d447f68076d1520f69649bb52629941be7031f\n"
+               "type tag\n"
+               "tag tagname\n"
+               "\n"
+               "Message";
+       assert_tag_parses(tag, 0,
+               "a8d447f68076d1520f69649bb52629941be7031f",
+               "tagname",
+               NULL,
+               "Message");
+}
+
+void test_object_tag_parse__missing_message_parses(void)
+{
+       const char *tag =
+               "object a8d447f68076d1520f69649bb52629941be7031f\n"
+               "type tag\n"
+               "tag tagname\n"
+               "tagger Taggy Mr. Taggart <taggy@taggart.com>\n";
+       assert_tag_parses(tag, 0,
+               "a8d447f68076d1520f69649bb52629941be7031f",
+               "tagname",
+               "Taggy Mr. Taggart <taggy@taggart.com>",
+               NULL);
+}
+
+void test_object_tag_parse__unknown_field_parses(void)
+{
+       const char *tag =
+               "object a8d447f68076d1520f69649bb52629941be7031f\n"
+               "type tag\n"
+               "tag tagname\n"
+               "tagger Taggy Mr. Taggart <taggy@taggart.com>\n"
+               "foo bar\n"
+               "frubble frabble\n"
+               "\n"
+               "Message";
+       assert_tag_parses(tag, 0,
+               "a8d447f68076d1520f69649bb52629941be7031f",
+               "tagname",
+               "Taggy Mr. Taggart <taggy@taggart.com>",
+               "Message");
+}
+
+void test_object_tag_parse__missing_object_fails(void)
+{
+       const char *tag =
+               "type tag\n"
+               "tag tagname\n"
+               "tagger Taggy Mr. Taggart <taggy@taggart.com>\n"
+               "\n"
+               "Message";
+       assert_tag_fails(tag, 0);
+}
+
+void test_object_tag_parse__malformatted_object_fails(void)
+{
+       const char *tag =
+               "object a8d447f68076d15xxxxxxxxxxxxxxxx41be7031f\n"
+               "type tag\n"
+               "tag tagname\n"
+               "tagger Taggy Mr. Taggart <taggy@taggart.com>\n"
+               "\n"
+               "Message";
+       assert_tag_fails(tag, 0);
+}
+
+void test_object_tag_parse__missing_type_fails(void)
+{
+       const char *tag =
+               "object a8d447f68076d1520f69649bb52629941be7031f\n"
+               "tag tagname\n"
+               "tagger Taggy Mr. Taggart <taggy@taggart.com>\n"
+               "\n"
+               "Message";
+       assert_tag_fails(tag, 0);
+}
+
+void test_object_tag_parse__invalid_type_fails(void)
+{
+       const char *tag =
+               "object a8d447f68076d1520f69649bb52629941be7031f\n"
+               "type garbage\n"
+               "tag tagname\n"
+               "tagger Taggy Mr. Taggart <taggy@taggart.com>\n"
+               "\n"
+               "Message";
+       assert_tag_fails(tag, 0);
+}
+
+void test_object_tag_parse__missing_tagname_fails(void)
+{
+       const char *tag =
+               "object a8d447f68076d1520f69649bb52629941be7031f\n"
+               "type tag\n"
+               "tagger Taggy Mr. Taggart <taggy@taggart.com>\n"
+               "\n"
+               "Message";
+       assert_tag_fails(tag, 0);
+}
+
+void test_object_tag_parse__misformatted_tagger_fails(void)
+{
+       const char *tag =
+               "object a8d447f68076d1520f69649bb52629941be7031f\n"
+               "type tag\n"
+               "tag Tag\n"
+               "tagger taggy@taggart.com>\n"
+               "\n"
+               "Message";
+       assert_tag_fails(tag, 0);
+}
+
+void test_object_tag_parse__missing_message_fails(void)
+{
+       const char *tag =
+               "object a8d447f68076d1520f69649bb52629941be7031f\n"
+               "type tag\n"
+               "tag Tag\n"
+               "tagger taggy@taggart.com>\n";
+       assert_tag_fails(tag, 0);
+}
+
+void test_object_tag_parse__no_oob_read_when_searching_message(void)
+{
+       const char *tag =
+               "object a8d447f68076d1520f69649bb52629941be7031f\n"
+               "type tag\n"
+               "tag \n"
+               "tagger <>\n"
+               " \n\n"
+               "Message";
+       /*
+        * The OOB read previously resulted in an OOM error. We
+        * thus want to make sure that the resulting error is the
+        * expected one.
+        */
+       assert_tag_fails(tag, strlen(tag) - strlen("\n\nMessage"));
+       cl_assert(strstr(git_error_last()->message, "tag contains no message"));
+}
index e2cd8d6a86960961b356b9b523b7a9e5483307d8..7456a8e17a7ed13a1ee4740d2a1f889448efc091 100644 (file)
@@ -28,7 +28,7 @@ void test_object_tag_peel__cleanup(void)
 static void retrieve_tag_from_oid(git_tag **tag_out, git_repository *repo, const char *sha)
 {
        git_oid oid;
-       
+
        cl_git_pass(git_oid_fromstr(&oid, sha));
        cl_git_pass(git_tag_lookup(tag_out, repo, &oid));
 }
@@ -38,7 +38,7 @@ void test_object_tag_peel__can_peel_to_a_commit(void)
        retrieve_tag_from_oid(&tag, repo, "7b4384978d2493e851f9cca7858815fac9b10980");
 
        cl_git_pass(git_tag_peel(&target, tag));
-       cl_assert(git_object_type(target) == GIT_OBJ_COMMIT);
+       cl_assert(git_object_type(target) == GIT_OBJECT_COMMIT);
        cl_git_pass(git_oid_streq(git_object_id(target), "e90810b8df3e80c413d903f631643c716887138d"));
 }
 
@@ -47,7 +47,7 @@ void test_object_tag_peel__can_peel_several_nested_tags_to_a_commit(void)
        retrieve_tag_from_oid(&tag, repo, "b25fa35b38051e4ae45d4222e795f9df2e43f1d1");
 
        cl_git_pass(git_tag_peel(&target, tag));
-       cl_assert(git_object_type(target) == GIT_OBJ_COMMIT);
+       cl_assert(git_object_type(target) == GIT_OBJECT_COMMIT);
        cl_git_pass(git_oid_streq(git_object_id(target), "e90810b8df3e80c413d903f631643c716887138d"));
 }
 
@@ -56,6 +56,6 @@ void test_object_tag_peel__can_peel_to_a_non_commit(void)
        retrieve_tag_from_oid(&tag, repo, "521d87c1ec3aef9824daf6d96cc0ae3710766d91");
 
        cl_git_pass(git_tag_peel(&target, tag));
-       cl_assert(git_object_type(target) == GIT_OBJ_BLOB);
-       cl_git_pass(git_oid_streq(git_object_id(target), "1385f264afb75a56a5bec74243be9b367ba4ca08"));  
+       cl_assert(git_object_type(target) == GIT_OBJECT_BLOB);
+       cl_git_pass(git_oid_streq(git_object_id(target), "1385f264afb75a56a5bec74243be9b367ba4ca08"));
 }
index 8f28afd5478ee6eb7626c1eda691fff8e352a25a..90ba580296738b5da6c999f8214c57fac493efc4 100644 (file)
@@ -13,7 +13,7 @@ static const char *taggerless = "4a23e2e65ad4e31c4c9db7dc746650bfad082679";
 
 static git_repository *g_repo;
 
-// Fixture setup and teardown
+/* Fixture setup and teardown */
 void test_object_tag_read__initialize(void)
 {
        g_repo = cl_git_sandbox_init("testrepo");
@@ -27,7 +27,7 @@ void test_object_tag_read__cleanup(void)
 
 void test_object_tag_read__parse(void)
 {
-       // read and parse a tag from the repository
+       /* read and parse a tag from the repository */
        git_tag *tag1, *tag2;
        git_commit *commit;
        git_oid id1, id2, id_commit;
@@ -39,7 +39,7 @@ void test_object_tag_read__parse(void)
        cl_git_pass(git_tag_lookup(&tag1, g_repo, &id1));
 
        cl_assert_equal_s(git_tag_name(tag1), "test");
-       cl_assert(git_tag_target_type(tag1) == GIT_OBJ_TAG);
+       cl_assert(git_tag_target_type(tag1) == GIT_OBJECT_TAG);
 
        cl_git_pass(git_tag_target((git_object **)&tag2, tag1));
        cl_assert(tag2 != NULL);
@@ -58,13 +58,13 @@ void test_object_tag_read__parse(void)
 
 void test_object_tag_read__parse_without_tagger(void)
 {
-       // read and parse a tag without a tagger field
+       /* read and parse a tag without a tagger field */
        git_repository *bad_tag_repo;
        git_tag *bad_tag;
        git_commit *commit;
        git_oid id, id_commit;
 
-       // TODO: This is a little messy
+       /* TODO: This is a little messy */
        cl_git_pass(git_repository_open(&bad_tag_repo, cl_fixture("bad_tag.git")));
 
        git_oid_fromstr(&id, bad_tag_id);
@@ -90,13 +90,13 @@ void test_object_tag_read__parse_without_tagger(void)
 
 void test_object_tag_read__parse_without_message(void)
 {
-       // read and parse a tag without a message field
+       /* read and parse a tag without a message field */
        git_repository *short_tag_repo;
        git_tag *short_tag;
        git_commit *commit;
        git_oid id, id_commit;
 
-       // TODO: This is a little messy
+       /* TODO: This is a little messy */
        cl_git_pass(git_repository_open(&short_tag_repo, cl_fixture("short_tag.git")));
 
        git_oid_fromstr(&id, short_tag_id);
@@ -132,7 +132,7 @@ void test_object_tag_read__without_tagger_nor_message(void)
        cl_git_pass(git_tag_lookup(&tag, repo, &id));
 
        cl_assert_equal_s(git_tag_name(tag), "taggerless");
-       cl_assert(git_tag_target_type(tag) == GIT_OBJ_COMMIT);
+       cl_assert(git_tag_target_type(tag) == GIT_OBJECT_COMMIT);
 
        cl_assert(tag->message == NULL);
        cl_assert(tag->tagger == NULL);
@@ -170,7 +170,7 @@ void test_object_tag_read__extra_header_fields(void)
 
        cl_git_pass(git_repository_odb__weakptr(&odb, g_repo));
 
-       cl_git_pass(git_odb_write(&id, odb, silly_tag, strlen(silly_tag), GIT_OBJ_TAG));
+       cl_git_pass(git_odb_write(&id, odb, silly_tag, strlen(silly_tag), GIT_OBJECT_TAG));
        cl_git_pass(git_tag_lookup(&tag, g_repo, &id));
 
        cl_assert_equal_s("v1_0_1 release\n", git_tag_message(tag));
index 68e4b6c617cff5efcc133df333349c8d879ebf44..48c8bfd36aa5d45f32298e33d4d224fd075dd3c6 100644 (file)
@@ -9,7 +9,7 @@ static const char *tagged_commit = "e90810b8df3e80c413d903f631643c716887138d";
 
 static git_repository *g_repo;
 
-// Fixture setup and teardown
+/* Fixture setup and teardown */
 void test_object_tag_write__initialize(void)
 {
    g_repo = cl_git_sandbox_init("testrepo");
@@ -22,7 +22,7 @@ void test_object_tag_write__cleanup(void)
 
 void test_object_tag_write__basic(void)
 {
-   // write a tag to the repository and read it again
+       /* write a tag to the repository and read it again */
        git_tag *tag;
        git_oid target_id, tag_id;
        git_signature *tagger;
@@ -31,7 +31,7 @@ void test_object_tag_write__basic(void)
        git_object *target;
 
        git_oid_fromstr(&target_id, tagged_commit);
-       cl_git_pass(git_object_lookup(&target, g_repo, &target_id, GIT_OBJ_COMMIT));
+       cl_git_pass(git_object_lookup(&target, g_repo, &target_id, GIT_OBJECT_COMMIT));
 
        /* create signature */
        cl_git_pass(git_signature_new(&tagger, tagger_name, tagger_email, 123456789, 60));
@@ -67,13 +67,13 @@ void test_object_tag_write__basic(void)
 
 void test_object_tag_write__overwrite(void)
 {
-   // Attempt to write a tag bearing the same name than an already existing tag
+       /* Attempt to write a tag bearing the same name than an already existing tag */
        git_oid target_id, tag_id;
        git_signature *tagger;
        git_object *target;
 
        git_oid_fromstr(&target_id, tagged_commit);
-       cl_git_pass(git_object_lookup(&target, g_repo, &target_id, GIT_OBJ_COMMIT));
+       cl_git_pass(git_object_lookup(&target, g_repo, &target_id, GIT_OBJECT_COMMIT));
 
        /* create signature */
        cl_git_pass(git_signature_new(&tagger, tagger_name, tagger_email, 123456789, 60));
@@ -93,14 +93,14 @@ void test_object_tag_write__overwrite(void)
 
 void test_object_tag_write__replace(void)
 {
-   // Replace an already existing tag
+       /* Replace an already existing tag */
        git_oid target_id, tag_id, old_tag_id;
        git_signature *tagger;
        git_reference *ref_tag;
        git_object *target;
 
        git_oid_fromstr(&target_id, tagged_commit);
-       cl_git_pass(git_object_lookup(&target, g_repo, &target_id, GIT_OBJ_COMMIT));
+       cl_git_pass(git_object_lookup(&target, g_repo, &target_id, GIT_OBJECT_COMMIT));
 
        cl_git_pass(git_reference_lookup(&ref_tag, g_repo, "refs/tags/e90810b"));
        git_oid_cpy(&old_tag_id, git_reference_target(ref_tag));
@@ -130,13 +130,13 @@ void test_object_tag_write__replace(void)
 
 void test_object_tag_write__lightweight(void)
 {
-   // write a lightweight tag to the repository and read it again
+       /* write a lightweight tag to the repository and read it again */
        git_oid target_id, object_id;
        git_reference *ref_tag;
        git_object *target;
 
        git_oid_fromstr(&target_id, tagged_commit);
-       cl_git_pass(git_object_lookup(&target, g_repo, &target_id, GIT_OBJ_COMMIT));
+       cl_git_pass(git_object_lookup(&target, g_repo, &target_id, GIT_OBJECT_COMMIT));
 
        cl_git_pass(git_tag_create_lightweight(
                                           &object_id,
@@ -159,12 +159,12 @@ void test_object_tag_write__lightweight(void)
 
 void test_object_tag_write__lightweight_over_existing(void)
 {
-   // Attempt to write a lightweight tag bearing the same name than an already existing tag
+       /* Attempt to write a lightweight tag bearing the same name than an already existing tag */
        git_oid target_id, object_id, existing_object_id;
        git_object *target;
 
        git_oid_fromstr(&target_id, tagged_commit);
-       cl_git_pass(git_object_lookup(&target, g_repo, &target_id, GIT_OBJ_COMMIT));
+       cl_git_pass(git_object_lookup(&target, g_repo, &target_id, GIT_OBJECT_COMMIT));
 
        cl_assert_equal_i(GIT_EEXISTS, git_tag_create_lightweight(
                                           &object_id,
@@ -181,7 +181,7 @@ void test_object_tag_write__lightweight_over_existing(void)
 
 void test_object_tag_write__delete(void)
 {
-   // Delete an already existing tag
+       /* Delete an already existing tag */
        git_reference *ref_tag;
 
        cl_git_pass(git_tag_delete(g_repo, "e90810b"));
@@ -198,7 +198,7 @@ void test_object_tag_write__creating_with_an_invalid_name_returns_EINVALIDSPEC(v
        git_object *target;
 
        git_oid_fromstr(&target_id, tagged_commit);
-       cl_git_pass(git_object_lookup(&target, g_repo, &target_id, GIT_OBJ_COMMIT));
+       cl_git_pass(git_object_lookup(&target, g_repo, &target_id, GIT_OBJECT_COMMIT));
 
        cl_git_pass(git_signature_new(&tagger, tagger_name, tagger_email, 123456789, 60));
 
@@ -230,7 +230,7 @@ void create_annotation(git_oid *tag_id, const char *name)
        cl_git_pass(git_signature_new(&tagger, tagger_name, tagger_email, 123456789, 60));
 
        git_oid_fromstr(&target_id, tagged_commit);
-       cl_git_pass(git_object_lookup(&target, g_repo, &target_id, GIT_OBJ_COMMIT));
+       cl_git_pass(git_object_lookup(&target, g_repo, &target_id, GIT_OBJECT_COMMIT));
 
        cl_git_pass(git_tag_annotation_create(tag_id, g_repo, name, target, tagger, "boom!"));
        git_object_free(target);
index 35dd383ec1c5f9c15e33f0d6b99be4794f817fe3..c11ae0d3dfdd0034fd4316424adf29261094717a 100644 (file)
@@ -18,9 +18,9 @@ void test_object_tree_duplicateentries__cleanup(void) {
  * parent cf80f8de9f1185bf3a05f993f6121880dd0cfbc9
  * author Ben Straub <bstraub@github.com> 1343755506 -0700
  * committer Ben Straub <bstraub@github.com> 1343755506 -0700
- * 
+ *
  *     Change a file mode
- * 
+ *
  * diff --git a/a/b.txt b/a/b.txt
  * old mode 100644
  * new mode 100755
@@ -69,7 +69,7 @@ static void two_blobs(git_treebuilder *bld)
 {
        git_oid oid;
        const git_tree_entry *entry;
-       
+
        cl_git_pass(git_oid_fromstr(&oid,
                "a8233120f6ad708f843d861ce2b7228ec4e3dec6"));   /* blob oid (README) */
 
@@ -89,7 +89,7 @@ static void one_blob_and_one_tree(git_treebuilder *bld)
 {
        git_oid oid;
        const git_tree_entry *entry;
-       
+
        cl_git_pass(git_oid_fromstr(&oid,
                "a8233120f6ad708f843d861ce2b7228ec4e3dec6"));   /* blob oid (README) */
 
@@ -111,7 +111,7 @@ void test_object_tree_duplicateentries__cannot_create_a_duplicate_entry_through_
 
        tree_creator(&tid, two_blobs);
        tree_checker(&tid, "a71586c1dfe8a71c6cbf6c129f404c5642ff31bd", GIT_FILEMODE_BLOB);
-       
+
        tree_creator(&tid, one_blob_and_one_tree);
        tree_checker(&tid, "4e0883eeeeebc1fb1735161cea82f7cb5fab7e63", GIT_FILEMODE_TREE);
 }
@@ -126,17 +126,17 @@ static void add_fake_conflicts(git_index *index)
 
        ancestor_entry.path = "duplicate";
        ancestor_entry.mode = GIT_FILEMODE_BLOB;
-       GIT_IDXENTRY_STAGE_SET(&ancestor_entry, 1);
+       GIT_INDEX_ENTRY_STAGE_SET(&ancestor_entry, 1);
        git_oid_fromstr(&ancestor_entry.id, "a8233120f6ad708f843d861ce2b7228ec4e3dec6");
 
        our_entry.path = "duplicate";
        our_entry.mode = GIT_FILEMODE_BLOB;
-       GIT_IDXENTRY_STAGE_SET(&our_entry, 2);
+       GIT_INDEX_ENTRY_STAGE_SET(&our_entry, 2);
        git_oid_fromstr(&our_entry.id, "45b983be36b73c0788dc9cbcb76cbb80fc7bb057");
 
        their_entry.path = "duplicate";
        their_entry.mode = GIT_FILEMODE_BLOB;
-       GIT_IDXENTRY_STAGE_SET(&their_entry, 3);
+       GIT_INDEX_ENTRY_STAGE_SET(&their_entry, 3);
        git_oid_fromstr(&their_entry.id, "a71586c1dfe8a71c6cbf6c129f404c5642ff31bd");
 
        cl_git_pass(git_index_conflict_add(index, &ancestor_entry, &our_entry, &their_entry));
@@ -149,7 +149,7 @@ void test_object_tree_duplicateentries__cannot_create_a_duplicate_entry_building
 
        cl_git_pass(git_repository_index(&index, _repo));
 
-       add_fake_conflicts(index); 
+       add_fake_conflicts(index);
 
        cl_assert_equal_i(GIT_EUNMERGED, git_index_write_tree(&tid, index));
 
diff --git a/tests/object/tree/parse.c b/tests/object/tree/parse.c
new file mode 100644 (file)
index 0000000..9d76a74
--- /dev/null
@@ -0,0 +1,164 @@
+#include "clar_libgit2.h"
+#include "tree.h"
+#include "object.h"
+
+#define OID1_HEX \
+       "\xae\x90\xf1\x2e\xea\x69\x97\x29\xed\x24" \
+       "\x55\x5e\x40\xb9\xfd\x66\x9d\xa1\x2a\x12"
+#define OID1_STR "ae90f12eea699729ed24555e40b9fd669da12a12"
+
+#define OID2_HEX \
+       "\xe8\xbf\xe5\xaf\x39\x57\x9a\x7e\x48\x98" \
+       "\xbb\x23\xf3\xa7\x6a\x72\xc3\x68\xce\xe6"
+#define OID2_STR "e8bfe5af39579a7e4898bb23f3a76a72c368cee6"
+
+typedef struct {
+       const char *filename;
+       uint16_t attr;
+       const char *oid;
+} expected_entry;
+
+static void assert_tree_parses(const char *data, size_t datalen,
+       expected_entry *expected_entries, size_t expected_nentries)
+{
+       git_tree *tree;
+       size_t n;
+
+       if (!datalen)
+               datalen = strlen(data);
+       cl_git_pass(git_object__from_raw((git_object **) &tree, data, datalen, GIT_OBJECT_TREE));
+
+       cl_assert_equal_i(git_tree_entrycount(tree), expected_nentries);
+
+       for (n = 0; n < expected_nentries; n++) {
+               expected_entry *expected = expected_entries + n;
+               const git_tree_entry *entry;
+               git_oid oid;
+
+               cl_git_pass(git_oid_fromstr(&oid, expected->oid));
+
+               cl_assert(entry = git_tree_entry_byname(tree, expected->filename));
+               cl_assert_equal_s(expected->filename, entry->filename);
+               cl_assert_equal_i(expected->attr, entry->attr);
+               cl_assert_equal_oid(&oid, entry->oid);
+       }
+
+       git_object_free(&tree->object);
+}
+
+static void assert_tree_fails(const char *data, size_t datalen)
+{
+       git_object *object;
+       if (!datalen)
+               datalen = strlen(data);
+       cl_git_fail(git_object__from_raw(&object, data, datalen, GIT_OBJECT_TREE));
+}
+
+void test_object_tree_parse__single_blob_parses(void)
+{
+       expected_entry entries[] = {
+               { "foo", 0100644, OID1_STR },
+       };
+       const char data[] = "100644 foo\x00" OID1_HEX;
+
+       assert_tree_parses(data, ARRAY_SIZE(data) - 1, entries, ARRAY_SIZE(entries));
+}
+
+void test_object_tree_parse__single_tree_parses(void)
+{
+       expected_entry entries[] = {
+               { "foo", 040000, OID1_STR },
+       };
+       const char data[] = "040000 foo\x00" OID1_HEX;
+
+       assert_tree_parses(data, ARRAY_SIZE(data) - 1, entries, ARRAY_SIZE(entries));
+}
+
+void test_object_tree_parse__leading_filename_spaces_parse(void)
+{
+       expected_entry entries[] = {
+               { "       bar", 0100644, OID1_STR },
+       };
+       const char data[] = "100644        bar\x00" OID1_HEX;
+
+       assert_tree_parses(data, ARRAY_SIZE(data) - 1, entries, ARRAY_SIZE(entries));
+}
+
+void test_object_tree_parse__multiple_entries_parse(void)
+{
+       expected_entry entries[] = {
+               { "bar", 0100644, OID1_STR },
+               { "foo", 040000,  OID2_STR },
+       };
+       const char data[] =
+           "100644 bar\x00" OID1_HEX
+           "040000 foo\x00" OID2_HEX;
+
+       assert_tree_parses(data, ARRAY_SIZE(data) - 1, entries, ARRAY_SIZE(entries));
+}
+
+void test_object_tree_parse__invalid_mode_fails(void)
+{
+       const char data[] = "10x644 bar\x00" OID1_HEX;
+       assert_tree_fails(data, ARRAY_SIZE(data) - 1);
+}
+
+void test_object_tree_parse__missing_mode_fails(void)
+{
+       const char data[] = " bar\x00" OID1_HEX;
+       assert_tree_fails(data, ARRAY_SIZE(data) - 1);
+}
+
+void test_object_tree_parse__mode_doesnt_cause_oob_read(void)
+{
+       const char data[] = "100644 bar\x00" OID1_HEX;
+       assert_tree_fails(data, 2);
+       /*
+        * An oob-read would correctly parse the filename and
+        * later fail to parse the OID with a different error
+        * message
+        */
+       cl_assert_equal_s(git_error_last()->message, "failed to parse tree: missing space after filemode");
+}
+
+void test_object_tree_parse__unreasonably_large_mode_fails(void)
+{
+       const char data[] = "10000000000000000000000000 bar\x00" OID1_HEX;
+       assert_tree_fails(data, ARRAY_SIZE(data) - 1);
+}
+
+void test_object_tree_parse__missing_filename_separator_fails(void)
+{
+       const char data[] = "100644bar\x00" OID1_HEX;
+       assert_tree_fails(data, ARRAY_SIZE(data) - 1);
+}
+
+void test_object_tree_parse__missing_filename_terminator_fails(void)
+{
+       const char data[] = "100644 bar" OID1_HEX;
+       assert_tree_fails(data, ARRAY_SIZE(data) - 1);
+}
+
+void test_object_tree_parse__empty_filename_fails(void)
+{
+       const char data[] = "100644 \x00" OID1_HEX;
+       assert_tree_fails(data, ARRAY_SIZE(data) - 1);
+}
+
+void test_object_tree_parse__trailing_garbage_fails(void)
+{
+       const char data[] = "100644 bar\x00" OID1_HEX "x";
+       assert_tree_fails(data, ARRAY_SIZE(data) - 1);
+}
+
+void test_object_tree_parse__leading_space_fails(void)
+{
+       const char data[] = " 100644 bar\x00" OID1_HEX;
+       assert_tree_fails(data, ARRAY_SIZE(data) - 1);
+}
+
+void test_object_tree_parse__truncated_oid_fails(void)
+{
+       const char data[] = " 100644 bar\x00" OID1_HEX;
+       assert_tree_fails(data, ARRAY_SIZE(data) - 2);
+}
index 59a809bf19c8a346ffcf35fdada2f845fe6d6460..a0eae11d1fa5c0967f5c23a9dc802d4a497d24e8 100644 (file)
@@ -6,7 +6,7 @@ static const char *tree_oid = "1810dff58d8a660512d4832e740f692884338ccd";
 
 static git_repository *g_repo;
 
-// Fixture setup and teardown
+/* Fixture setup and teardown */
 void test_object_tree_read__initialize(void)
 {
    g_repo = cl_git_sandbox_init("testrepo");
@@ -21,7 +21,7 @@ void test_object_tree_read__cleanup(void)
 
 void test_object_tree_read__loaded(void)
 {
-   // acces randomly the entries on a loaded tree
+       /* acces randomly the entries on a loaded tree */
        git_oid id;
        git_tree *tree;
 
@@ -42,7 +42,7 @@ void test_object_tree_read__loaded(void)
 
 void test_object_tree_read__two(void)
 {
-   // read a tree from the repository
+       /* read a tree from the repository */
        git_oid id;
        git_tree *tree;
        const git_tree_entry *entry;
@@ -55,11 +55,11 @@ void test_object_tree_read__two(void)
        cl_assert(git_tree_entrycount(tree) == 3);
 
        /* GH-86: git_object_lookup() should also check the type if the object comes from the cache */
-       cl_assert(git_object_lookup(&obj, g_repo, &id, GIT_OBJ_TREE) == 0);
+       cl_assert(git_object_lookup(&obj, g_repo, &id, GIT_OBJECT_TREE) == 0);
        cl_assert(obj != NULL);
        git_object_free(obj);
        obj = NULL;
-       cl_git_fail(git_object_lookup(&obj, g_repo, &id, GIT_OBJ_BLOB));
+       cl_git_fail(git_object_lookup(&obj, g_repo, &id, GIT_OBJECT_BLOB));
        cl_assert(obj == NULL);
 
        entry = git_tree_entry_byname(tree, "README");
index f8005e5795f28c46b678af0fa417697519cd1324..d1fdaa3a0cbc0380171d3eeb7aee37bcc28c128e 100644 (file)
@@ -118,7 +118,7 @@ static int treewalk_skip_de_cb(
 
        GIT_UNUSED(root);
 
-       if (git_tree_entry_type(entry) == GIT_OBJ_TREE)
+       if (git_tree_entry_type(entry) == GIT_OBJECT_TREE)
                data->dirs++;
        else
                data->files++;
index a1ee03d6d6c3a531cb97f20196964ac1cbbe0b09..9efeeb9b7ec7acca5f1940563d17d75726d197fd 100644 (file)
@@ -399,7 +399,7 @@ void test_object_tree_write__cruel_paths(void)
                        cl_git_pass(git_tree_entry_bypath(&te, tree, b.ptr));
                        cl_assert_equal_s(the_paths[j], git_tree_entry_name(te));
                        git_tree_entry_free(te);
-                       git_buf_free(&b);
+                       git_buf_dispose(&b);
                }
        }
 
@@ -520,7 +520,7 @@ void test_object_tree_write__invalid_null_oid(void)
 
        cl_git_pass(git_treebuilder_new(&bld, g_repo, NULL));
        cl_git_fail(git_treebuilder_insert(NULL, bld, "null_oid_file", &null_oid, GIT_FILEMODE_BLOB));
-       cl_assert(giterr_last() && strstr(giterr_last()->message, "null OID") != NULL);
+       cl_assert(git_error_last() && strstr(git_error_last()->message, "null OID") != NULL);
 
        git_treebuilder_free(bld);
 }
index b5c0e79c0a957ef45a79bd77708ca37e8473d76e..f65a44bb54265a1cc353815861ebd96759f0a70d 100644 (file)
@@ -13,8 +13,8 @@ void test_odb_alternates__cleanup(void)
 {
        size_t i;
 
-       git_buf_free(&destpath);
-       git_buf_free(&filepath);
+       git_buf_dispose(&destpath);
+       git_buf_dispose(&filepath);
 
        for (i = 0; i < ARRAY_SIZE(paths); i++)
                cl_fixture_cleanup(paths[i]);
index 37a8fd2004ec2eeb3d755b43769b5730b50dfb8a..139d2fc72a07e99b11461ef4e9b237f35d248de3 100644 (file)
@@ -58,7 +58,7 @@ static int fake_backend__exists_prefix(
 }
 
 static int fake_backend__read(
-       void **buffer_p, size_t *len_p, git_otype *type_p,
+       void **buffer_p, size_t *len_p, git_object_t *type_p,
        git_odb_backend *backend, const git_oid *oid)
 {
        const fake_object *obj;
@@ -74,13 +74,13 @@ static int fake_backend__read(
 
        *len_p = strlen(obj->content);
        *buffer_p = git__strdup(obj->content);
-       *type_p = GIT_OBJ_BLOB;
+       *type_p = GIT_OBJECT_BLOB;
 
        return 0;
 }
 
 static int fake_backend__read_header(
-       size_t *len_p, git_otype *type_p,
+       size_t *len_p, git_object_t *type_p,
        git_odb_backend *backend, const git_oid *oid)
 {
        const fake_object *obj;
@@ -95,13 +95,13 @@ static int fake_backend__read_header(
                return error;
 
        *len_p = strlen(obj->content);
-       *type_p = GIT_OBJ_BLOB;
+       *type_p = GIT_OBJECT_BLOB;
 
        return 0;
 }
 
 static int fake_backend__read_prefix(
-       git_oid *out_oid, void **buffer_p, size_t *len_p, git_otype *type_p,
+       git_oid *out_oid, void **buffer_p, size_t *len_p, git_object_t *type_p,
        git_odb_backend *backend, const git_oid *short_oid, size_t len)
 {
        const fake_object *obj;
@@ -118,7 +118,7 @@ static int fake_backend__read_prefix(
        git_oid_fromstr(out_oid, obj->oid);
        *len_p = strlen(obj->content);
        *buffer_p = git__strdup(obj->content);
-       *type_p = GIT_OBJ_BLOB;
+       *type_p = GIT_OBJECT_BLOB;
 
        return 0;
 }
@@ -139,7 +139,7 @@ int build_fake_backend(
        fake_backend *backend;
 
        backend = git__calloc(1, sizeof(fake_backend));
-       GITERR_CHECK_ALLOC(backend);
+       GIT_ERROR_CHECK_ALLOC(backend);
 
        backend->parent.version = GIT_ODB_BACKEND_VERSION;
 
index 624f0e60443649897d78075956272377499c5407..55cd69f8087841ad7e8ee50d0c38fb8dc60f7a73 100644 (file)
@@ -28,7 +28,7 @@ void test_odb_backend_mempack__cleanup(void)
 void test_odb_backend_mempack__write_succeeds(void)
 {
        const char *data = "data";
-       cl_git_pass(git_odb_write(&_oid, _odb, data, strlen(data) + 1, GIT_OBJ_BLOB));
+       cl_git_pass(git_odb_write(&_oid, _odb, data, strlen(data) + 1, GIT_OBJECT_BLOB));
        cl_git_pass(git_odb_read(&_obj, _odb, &_oid));
 }
 
@@ -47,7 +47,7 @@ void test_odb_backend_mempack__exists_of_missing_object_fails(void)
 void test_odb_backend_mempack__exists_with_existing_objects_succeeds(void)
 {
        const char *data = "data";
-       cl_git_pass(git_odb_write(&_oid, _odb, data, strlen(data) + 1, GIT_OBJ_BLOB));
+       cl_git_pass(git_odb_write(&_oid, _odb, data, strlen(data) + 1, GIT_OBJECT_BLOB));
        cl_assert(git_odb_exists(_odb, &_oid) == 1);
 }
 
index 3c4f344b1afc4c4ad45e3d4ef3428efe2d92f227..7484d423b32d3ee315fbb0efd8b8f7859dfd6cc2 100644 (file)
@@ -37,9 +37,9 @@ void test_odb_backend_nobackend__write_fails_gracefully(void)
        const git_error *err;
 
        git_repository_odb(&odb, _repo);
-       cl_git_fail(git_odb_write(&id, odb, "Hello world!\n", 13, GIT_OBJ_BLOB));
+       cl_git_fail(git_odb_write(&id, odb, "Hello world!\n", 13, GIT_OBJECT_BLOB));
 
-       err = giterr_last();
+       err = git_error_last();
        cl_assert_equal_s(err->message, "cannot write object - unsupported in the loaded odb backends");
 
        git_odb_free(odb);
index 6abc0c6d217d35d8bdb8923fb248dacb0a07943b..ede48ade66e586cb19ba211f33c43e466068e2e1 100644 (file)
@@ -58,7 +58,7 @@ void test_odb_backend_nonrefreshing__read_is_invoked_once_on_failure(void)
        git_object *obj;
 
        cl_git_fail_with(
-               git_object_lookup(&obj, _repo, &_nonexisting_oid, GIT_OBJ_ANY),
+               git_object_lookup(&obj, _repo, &_nonexisting_oid, GIT_OBJECT_ANY),
                GIT_ENOTFOUND);
 
        cl_assert_equal_i(1, _fake->read_calls);
@@ -69,7 +69,7 @@ void test_odb_backend_nonrefreshing__readprefix_is_invoked_once_on_failure(void)
        git_object *obj;
 
        cl_git_fail_with(
-               git_object_lookup_prefix(&obj, _repo, &_nonexisting_oid, 7, GIT_OBJ_ANY),
+               git_object_lookup_prefix(&obj, _repo, &_nonexisting_oid, 7, GIT_OBJECT_ANY),
                GIT_ENOTFOUND);
 
        cl_assert_equal_i(1, _fake->read_prefix_calls);
@@ -79,7 +79,7 @@ void test_odb_backend_nonrefreshing__readheader_is_invoked_once_on_failure(void)
 {
        git_odb *odb;
        size_t len;
-       git_otype type;
+       git_object_t type;
 
        cl_git_pass(git_repository_odb__weakptr(&odb, _repo));
 
@@ -104,7 +104,7 @@ void test_odb_backend_nonrefreshing__read_is_invoked_once_on_success(void)
 {
        git_object *obj;
 
-       cl_git_pass(git_object_lookup(&obj, _repo, &_existing_oid, GIT_OBJ_ANY));
+       cl_git_pass(git_object_lookup(&obj, _repo, &_existing_oid, GIT_OBJECT_ANY));
 
        cl_assert_equal_i(1, _fake->read_calls);
 
@@ -115,7 +115,7 @@ void test_odb_backend_nonrefreshing__readprefix_is_invoked_once_on_success(void)
 {
        git_object *obj;
 
-       cl_git_pass(git_object_lookup_prefix(&obj, _repo, &_existing_oid, 7, GIT_OBJ_ANY));
+       cl_git_pass(git_object_lookup_prefix(&obj, _repo, &_existing_oid, 7, GIT_OBJECT_ANY));
 
        cl_assert_equal_i(1, _fake->read_prefix_calls);
 
@@ -126,7 +126,7 @@ void test_odb_backend_nonrefreshing__readheader_is_invoked_once_on_success(void)
 {
        git_odb *odb;
        size_t len;
-       git_otype type;
+       git_object_t type;
 
        cl_git_pass(git_repository_odb__weakptr(&odb, _repo));
 
index f4d29cc76359f847545aaa1468adbf75b416c8c5..484dcba5a5a37402f697eeab51c8f70eb4c169fa 100644 (file)
@@ -246,5 +246,5 @@ void test_odb_backend_simple__null_oid_is_ignored(void)
        cl_assert(!git_odb_exists(_odb, &null_oid));
 
        cl_git_fail_with(GIT_ENOTFOUND, git_odb_read(&obj, _odb, &null_oid));
-       cl_assert(giterr_last() && strstr(giterr_last()->message, "null OID"));
+       cl_assert(git_error_last() && strstr(git_error_last()->message, "null OID"));
 }
index 61bb2b82cf78404d793ac6f0e189875f7875e02d..89b22ad4aed939a8fb973b5e3418d94ced0e70ca 100644 (file)
@@ -27,7 +27,7 @@ void test_odb_emptyobjects__blob_notfound(void)
        cl_git_pass(git_oid_fromstr(&id, "e69de29bb2d1d6434b8b29ae775ad8c2e48c5391"));
        cl_git_fail_with(GIT_ENOTFOUND, git_blob_lookup(&blob, g_repo, &id));
 
-       cl_git_pass(git_odb_write(&written_id, g_odb, "", 0, GIT_OBJ_BLOB));
+       cl_git_pass(git_odb_write(&written_id, g_odb, "", 0, GIT_OBJECT_BLOB));
        cl_assert(git_path_exists(TEST_REPO_PATH "/objects/e6/9de29bb2d1d6434b8b29ae775ad8c2e48c5391"));
 }
 
@@ -38,7 +38,7 @@ void test_odb_emptyobjects__read_tree(void)
 
        cl_git_pass(git_oid_fromstr(&id, "4b825dc642cb6eb9a060e54bf8d69288fbee4904"));
        cl_git_pass(git_tree_lookup(&tree, g_repo, &id));
-       cl_assert_equal_i(GIT_OBJ_TREE, git_object_type((git_object *) tree));
+       cl_assert_equal_i(GIT_OBJECT_TREE, git_object_type((git_object *) tree));
        cl_assert_equal_i(0, git_tree_entrycount(tree));
        cl_assert_equal_p(NULL, git_tree_entry_byname(tree, "foo"));
        git_tree_free(tree);
index 42d706467ebacfed397922a808df4563d2535df4..7a45a57ae9340865cb8bac1025f26e0c5b2242cf 100644 (file)
@@ -81,6 +81,16 @@ static int foreach_stop_first_cb(const git_oid *oid, void *data)
        return -123;
 }
 
+static int foreach_stop_cb_positive_ret(const git_oid *oid, void *data)
+{
+       int *nobj = data;
+       (*nobj)++;
+
+       GIT_UNUSED(oid);
+
+       return (*nobj == 1000) ? 321 : 0;
+}
+
 void test_odb_foreach__interrupt_foreach(void)
 {
        int nobj = 0;
@@ -92,13 +102,18 @@ void test_odb_foreach__interrupt_foreach(void)
        cl_assert_equal_i(-321, git_odb_foreach(_odb, foreach_stop_cb, &nobj));
        cl_assert(nobj == 1000);
 
+       nobj = 0;
+
+       cl_assert_equal_i(321, git_odb_foreach(_odb, foreach_stop_cb_positive_ret, &nobj));
+       cl_assert(nobj == 1000);
+
        git_odb_free(_odb);
        git_repository_free(_repo);
 
        cl_git_pass(git_repository_init(&_repo, "onlyloose.git", true));
        git_repository_odb(&_odb, _repo);
 
-       cl_git_pass(git_odb_write(&id, _odb, "", 0, GIT_OBJ_BLOB));
+       cl_git_pass(git_odb_write(&id, _odb, "", 0, GIT_OBJECT_BLOB));
        cl_assert_equal_i(-123, git_odb_foreach(_odb, foreach_stop_first_cb, &nobj));
 }
 
@@ -114,7 +129,7 @@ void test_odb_foreach__files_in_objects_dir(void)
 
        cl_git_pass(git_buf_printf(&buf, "%s/objects/somefile", git_repository_path(repo)));
        cl_git_mkfile(buf.ptr, "");
-       git_buf_free(&buf);
+       git_buf_dispose(&buf);
 
        cl_git_pass(git_repository_odb(&odb, repo));
        cl_git_pass(git_odb_foreach(odb, foreach_cb, &nobj));
index 9d3cf51dc61eb1924fce7e18639d0c1ef8fe450d..1fe64309d032f4d2e05cba37c10957bd1dde2c80 100644 (file)
@@ -31,7 +31,7 @@ static void set_time_wayback(struct stat *out, const char *fn)
 
        cl_must_pass(p_utimes(git_buf_cstr(&fullpath), old));
        cl_must_pass(p_lstat(git_buf_cstr(&fullpath), out));
-       git_buf_free(&fullpath);
+       git_buf_dispose(&fullpath);
 }
 
 #define LOOSE_STR     "my new file\n"
@@ -160,7 +160,7 @@ void test_odb_freshen__packed_object(void)
 
        /* ensure that packfile is freshened */
        cl_git_pass(git_odb_write(&id, odb, PACKED_STR,
-               CONST_STRLEN(PACKED_STR), GIT_OBJ_BLOB));
+               CONST_STRLEN(PACKED_STR), GIT_OBJECT_BLOB));
        cl_assert_equal_oid(&expected_id, &id);
        cl_must_pass(p_lstat("testrepo.git/objects/pack/" PACKED_FN, &after));
 
@@ -171,7 +171,7 @@ void test_odb_freshen__packed_object(void)
 
        /* ensure that the pack file is not freshened again immediately */
        cl_git_pass(git_odb_write(&id, odb, PACKED_STR,
-               CONST_STRLEN(PACKED_STR), GIT_OBJ_BLOB));
+               CONST_STRLEN(PACKED_STR), GIT_OBJECT_BLOB));
        cl_assert_equal_oid(&expected_id, &id);
        cl_must_pass(p_lstat("testrepo.git/objects/pack/" PACKED_FN, &after));
 
index a5b982e14add0594b8648ee0b6c5ba25834ab9c9..8be2cfd02d6650c20a29176759886d05625a5c76 100644 (file)
@@ -29,14 +29,14 @@ static void writefile(git_oid *oid)
        for (i = 0; i < 3041; i++)
                cl_git_pass(git_buf_puts(&buf, "Hello, world.\n"));
 
-       cl_git_pass(git_odb_open_wstream(&stream, odb, LARGEFILE_SIZE, GIT_OBJ_BLOB));
+       cl_git_pass(git_odb_open_wstream(&stream, odb, LARGEFILE_SIZE, GIT_OBJECT_BLOB));
        for (i = 0; i < 126103; i++)
                cl_git_pass(git_odb_stream_write(stream, buf.ptr, buf.size));
 
        cl_git_pass(git_odb_stream_finalize_write(oid, stream));
 
        git_odb_stream_free(stream);
-       git_buf_free(&buf);
+       git_buf_dispose(&buf);
 }
 
 void test_odb_largefiles__write_from_memory(void)
@@ -58,7 +58,7 @@ void test_odb_largefiles__write_from_memory(void)
                cl_git_pass(git_buf_puts(&buf, "Hello, world.\n"));
 
        git_oid_fromstr(&expected, "3fb56989cca483b21ba7cb0a6edb229d10e1c26c");
-       cl_git_pass(git_odb_write(&oid, odb, buf.ptr, buf.size, GIT_OBJ_BLOB));
+       cl_git_pass(git_odb_write(&oid, odb, buf.ptr, buf.size, GIT_OBJECT_BLOB));
 
        cl_assert_equal_oid(&expected, &oid);
 }
@@ -89,7 +89,7 @@ void test_odb_largefiles__streamread(void)
        char hdr[64];
        size_t len, hdr_len, total = 0;
        git_hash_ctx hash;
-       git_otype type;
+       git_object_t type;
        int ret;
 
 #ifndef GIT_ARCH_64
@@ -105,7 +105,7 @@ void test_odb_largefiles__streamread(void)
        cl_git_pass(git_odb_open_rstream(&stream, &len, &type, odb, &oid));
 
        cl_assert_equal_sz(LARGEFILE_SIZE, len);
-       cl_assert_equal_i(GIT_OBJ_BLOB, type);
+       cl_assert_equal_i(GIT_OBJECT_BLOB, type);
 
        cl_git_pass(git_hash_ctx_init(&hash));
        cl_git_pass(git_odb__format_object_header(&hdr_len, hdr, sizeof(hdr), len, type));
@@ -171,7 +171,7 @@ void test_odb_largefiles__read_header(void)
 {
        git_oid oid;
        size_t len;
-       git_otype type;
+       git_object_t type;
 
 #ifndef GIT_ARCH_64
        cl_skip();
@@ -185,5 +185,5 @@ void test_odb_largefiles__read_header(void)
        cl_git_pass(git_odb_read_header(&len, &type, odb, &oid));
 
        cl_assert_equal_sz(LARGEFILE_SIZE, len);
-       cl_assert_equal_i(GIT_OBJ_BLOB, type);
+       cl_assert_equal_i(GIT_OBJECT_BLOB, type);
 }
index 83d08072921238baa22cdb5ef5ffa040dd526f65..5cf567cc26a5eba0273e053693780ad8db934081 100644 (file)
@@ -60,7 +60,7 @@ static void test_read_header(object_data *data)
        git_oid id;
        git_odb *odb;
        size_t len;
-       git_otype type;
+       git_object_t type;
 
        write_object_files(data);
 
@@ -212,7 +212,7 @@ void test_write_object_permission(
        cl_git_pass(git_odb_new(&odb));
        cl_git_pass(git_odb_backend_loose(&backend, "test-objects", -1, 0, dir_mode, file_mode));
        cl_git_pass(git_odb_add_backend(odb, backend, 1));
-       cl_git_pass(git_odb_write(&oid, odb, "Test data\n", 10, GIT_OBJ_BLOB));
+       cl_git_pass(git_odb_write(&oid, odb, "Test data\n", 10, GIT_OBJECT_BLOB));
 
        cl_git_pass(p_stat("test-objects/67", &statbuf));
        cl_assert_equal_i(statbuf.st_mode & os_mask, (expected_dir_mode & ~mask) & os_mask);
@@ -247,7 +247,7 @@ static void write_object_to_loose_odb(int fsync)
        cl_git_pass(git_odb_new(&odb));
        cl_git_pass(git_odb_backend_loose(&backend, "test-objects", -1, fsync, 0777, 0666));
        cl_git_pass(git_odb_add_backend(odb, backend, 1));
-       cl_git_pass(git_odb_write(&oid, odb, "Test data\n", 10, GIT_OBJ_BLOB));
+       cl_git_pass(git_odb_write(&oid, odb, "Test data\n", 10, GIT_OBJECT_BLOB));
        git_odb_free(odb);
 }
 
@@ -278,14 +278,14 @@ void test_odb_loose__fsync_obeys_repo_setting(void)
 
        cl_git_pass(git_repository_init(&repo, "test-objects", 1));
        cl_git_pass(git_repository_odb__weakptr(&odb, repo));
-       cl_git_pass(git_odb_write(&oid, odb, "No fsync here\n", 14, GIT_OBJ_BLOB));
+       cl_git_pass(git_odb_write(&oid, odb, "No fsync here\n", 14, GIT_OBJECT_BLOB));
        cl_assert(p_fsync__cnt == 0);
        git_repository_free(repo);
 
        cl_git_pass(git_repository_open(&repo, "test-objects"));
        cl_repo_set_bool(repo, "core.fsyncObjectFiles", true);
        cl_git_pass(git_repository_odb__weakptr(&odb, repo));
-       cl_git_pass(git_odb_write(&oid, odb, "Now fsync\n", 10, GIT_OBJ_BLOB));
+       cl_git_pass(git_odb_write(&oid, odb, "Now fsync\n", 10, GIT_OBJECT_BLOB));
        cl_assert(p_fsync__cnt > 0);
        git_repository_free(repo);
 }
index 515eadfdea85459c52c194af2550a8109223beb5..ba2b2acb71873b674d095af9262c076e0e90d17e 100644 (file)
@@ -112,46 +112,46 @@ void test_odb_mixed__dup_oid_prefix_0(void) {
 struct expand_id_test_data {
        char *lookup_id;
        char *expected_id;
-       git_otype expected_type;
+       git_object_t expected_type;
 };
 
 struct expand_id_test_data expand_id_test_data[] = {
        /* some prefixes and their expected values */
-       { "dea509d0",  NULL, GIT_OBJ_ANY },
-       { "00000000",  NULL, GIT_OBJ_ANY },
-       { "dea509d0",  NULL, GIT_OBJ_ANY },
-       { "dea509d09", "dea509d097ce692e167dfc6a48a7a280cc5e877e", GIT_OBJ_BLOB },
-       { "dea509d0b", "dea509d0b3cb8ee0650f6ca210bc83f4678851ba", GIT_OBJ_BLOB },
-       { "ce0136250", "ce013625030ba8dba906f756967f9e9ca394464a", GIT_OBJ_BLOB },
-       { "0ddeaded",  NULL, GIT_OBJ_ANY },
-       { "4d5979b",   "4d5979b468252190cb572ae758aca36928e8a91e", GIT_OBJ_TREE },
-       { "0ddeaded",  NULL, GIT_OBJ_ANY },
-       { "0ddeadede", "0ddeadede9e6d6ccddce0ee1e5749eed0485e5ea", GIT_OBJ_BLOB },
-       { "0ddeaded9", "0ddeaded9502971eefe1e41e34d0e536853ae20f", GIT_OBJ_BLOB },
-       { "f00b4e",    NULL, GIT_OBJ_ANY },
+       { "dea509d0",  NULL, GIT_OBJECT_ANY },
+       { "00000000",  NULL, GIT_OBJECT_ANY },
+       { "dea509d0",  NULL, GIT_OBJECT_ANY },
+       { "dea509d09", "dea509d097ce692e167dfc6a48a7a280cc5e877e", GIT_OBJECT_BLOB },
+       { "dea509d0b", "dea509d0b3cb8ee0650f6ca210bc83f4678851ba", GIT_OBJECT_BLOB },
+       { "ce0136250", "ce013625030ba8dba906f756967f9e9ca394464a", GIT_OBJECT_BLOB },
+       { "0ddeaded",  NULL, GIT_OBJECT_ANY },
+       { "4d5979b",   "4d5979b468252190cb572ae758aca36928e8a91e", GIT_OBJECT_TREE },
+       { "0ddeaded",  NULL, GIT_OBJECT_ANY },
+       { "0ddeadede", "0ddeadede9e6d6ccddce0ee1e5749eed0485e5ea", GIT_OBJECT_BLOB },
+       { "0ddeaded9", "0ddeaded9502971eefe1e41e34d0e536853ae20f", GIT_OBJECT_BLOB },
+       { "f00b4e",    NULL, GIT_OBJECT_ANY },
 
        /* this OID is too short and should be ambiguous! */
-       { "f00",    NULL, GIT_OBJ_ANY },
+       { "f00",    NULL, GIT_OBJECT_ANY },
 
        /* some full-length object ids */
-       { "0000000000000000000000000000000000000000", NULL, GIT_OBJ_ANY },
+       { "0000000000000000000000000000000000000000", NULL, GIT_OBJECT_ANY },
        {
          "dea509d097ce692e167dfc6a48a7a280cc5e877e",
          "dea509d097ce692e167dfc6a48a7a280cc5e877e",
-         GIT_OBJ_BLOB
+         GIT_OBJECT_BLOB
        },
-       { "f00f00f00f00f00f00f00f00f00f00f00f00f00f", NULL, GIT_OBJ_ANY },
+       { "f00f00f00f00f00f00f00f00f00f00f00f00f00f", NULL, GIT_OBJECT_ANY },
        {
          "4d5979b468252190cb572ae758aca36928e8a91e",
          "4d5979b468252190cb572ae758aca36928e8a91e",
-         GIT_OBJ_TREE
+         GIT_OBJECT_TREE
        },
 
         /*
          * ensure we're not leaking the return error code for the
          * last lookup if the last object is invalid
          */
-       { "0ddeadedfff",  NULL, GIT_OBJ_ANY },
+       { "0ddeadedfff",  NULL, GIT_OBJECT_ANY },
 };
 
 static void setup_prefix_query(
@@ -188,7 +188,7 @@ static void assert_found_objects(git_odb_expand_id *ids)
        for (i = 0; i < num; i++) {
                git_oid expected_id = {{0}};
                size_t expected_len = 0;
-               git_otype expected_type = 0;
+               git_object_t expected_type = 0;
 
                if (expand_id_test_data[i].expected_id) {
                        git_oid_fromstr(&expected_id, expand_id_test_data[i].expected_id);
@@ -239,12 +239,12 @@ void test_odb_mixed__expand_ids(void)
        assert_found_objects(ids);
        git__free(ids);
 
-       /* test looking for an explicit GIT_OBJ_ANY */
+       /* test looking for an explicit GIT_OBJECT_ANY */
 
        setup_prefix_query(&ids, &num);
 
        for (i = 0; i < num; i++)
-               ids[i].type = GIT_OBJ_ANY;
+               ids[i].type = GIT_OBJECT_ANY;
 
        cl_git_pass(git_odb_expand_ids(_odb, ids, num));
        assert_found_objects(ids);
@@ -255,8 +255,8 @@ void test_odb_mixed__expand_ids(void)
        setup_prefix_query(&ids, &num);
 
        for (i = 0; i < num; i++)
-               ids[i].type = (ids[i].type == GIT_OBJ_BLOB) ?
-                       GIT_OBJ_TREE : GIT_OBJ_BLOB;
+               ids[i].type = (ids[i].type == GIT_OBJECT_BLOB) ?
+                       GIT_OBJECT_TREE : GIT_OBJECT_BLOB;
 
        cl_git_pass(git_odb_expand_ids(_odb, ids, num));
        assert_notfound_objects(ids);
index b4f549b58f9c1b0fc18e3583e821bfdb1b77c45a..3d502ed6de301011a1f293e7810c62c433d5c519 100644 (file)
@@ -39,7 +39,7 @@ void test_odb_packed__read_header_0(void)
                git_oid id;
                git_odb_object *obj;
                size_t len;
-               git_otype type;
+               git_object_t type;
 
                cl_git_pass(git_oid_fromstr(&id, packed_objects[i]));
 
@@ -61,7 +61,7 @@ void test_odb_packed__read_header_1(void)
                git_oid id;
                git_odb_object *obj;
                size_t len;
-               git_otype type;
+               git_object_t type;
 
                cl_git_pass(git_oid_fromstr(&id, loose_objects[i]));
 
index 0c6ed387b4d1fd56777bceafe1aff9694edbfe10..17cd4f7603eb892df02668c4e74b560792efe695 100644 (file)
@@ -45,7 +45,7 @@ void test_odb_packed_one__read_header_0(void)
                git_oid id;
                git_odb_object *obj;
                size_t len;
-               git_otype type;
+               git_object_t type;
 
                cl_git_pass(git_oid_fromstr(&id, packed_objects_one[i]));
 
index 591a20040ca5c08a778782fba0732c3eab62a47b..c174f69745650e4726e5250492ffeb3541860dd5 100644 (file)
@@ -10,7 +10,7 @@ void test_odb_streamwrite__initialize(void)
        repo = cl_git_sandbox_init("testrepo.git");
        cl_git_pass(git_repository_odb(&odb, repo));
 
-       cl_git_pass(git_odb_open_wstream(&stream, odb, 14, GIT_OBJ_BLOB));
+       cl_git_pass(git_odb_open_wstream(&stream, odb, 14, GIT_OBJECT_BLOB));
        cl_assert_equal_sz(14, stream->declared_size);
 }
 
index 3fc6ddd03b3fb1547f4d8806a1f527d8ad295336..6fdbbbd012628ec6ac05447f720b468c13bb535b 100644 (file)
@@ -20,14 +20,32 @@ static git_clone_options g_options;
 static char *_remote_url = NULL;
 static char *_remote_user = NULL;
 static char *_remote_pass = NULL;
+static char *_remote_sslnoverify = NULL;
 static char *_remote_ssh_pubkey = NULL;
 static char *_remote_ssh_privkey = NULL;
 static char *_remote_ssh_passphrase = NULL;
 static char *_remote_ssh_fingerprint = NULL;
-static char *_remote_proxy_url = NULL;
+static char *_remote_proxy_scheme = NULL;
+static char *_remote_proxy_host = NULL;
 static char *_remote_proxy_user = NULL;
 static char *_remote_proxy_pass = NULL;
+static char *_remote_proxy_selfsigned = NULL;
 
+static int _orig_proxies_need_reset = 0;
+static char *_orig_http_proxy = NULL;
+static char *_orig_https_proxy = NULL;
+
+static int ssl_cert(git_cert *cert, int valid, const char *host, void *payload)
+{
+       GIT_UNUSED(cert);
+       GIT_UNUSED(host);
+       GIT_UNUSED(payload);
+
+       if (_remote_sslnoverify != NULL)
+               valid = 1;
+
+       return valid ? 0 : GIT_ECERTIFICATE;
+}
 
 void test_online_clone__initialize(void)
 {
@@ -41,17 +59,23 @@ void test_online_clone__initialize(void)
        g_options.checkout_opts = dummy_opts;
        g_options.checkout_opts.checkout_strategy = GIT_CHECKOUT_SAFE;
        g_options.fetch_opts = dummy_fetch;
+       g_options.fetch_opts.callbacks.certificate_check = ssl_cert;
 
        _remote_url = cl_getenv("GITTEST_REMOTE_URL");
        _remote_user = cl_getenv("GITTEST_REMOTE_USER");
        _remote_pass = cl_getenv("GITTEST_REMOTE_PASS");
+       _remote_sslnoverify = cl_getenv("GITTEST_REMOTE_SSL_NOVERIFY");
        _remote_ssh_pubkey = cl_getenv("GITTEST_REMOTE_SSH_PUBKEY");
        _remote_ssh_privkey = cl_getenv("GITTEST_REMOTE_SSH_KEY");
        _remote_ssh_passphrase = cl_getenv("GITTEST_REMOTE_SSH_PASSPHRASE");
        _remote_ssh_fingerprint = cl_getenv("GITTEST_REMOTE_SSH_FINGERPRINT");
-       _remote_proxy_url = cl_getenv("GITTEST_REMOTE_PROXY_URL");
+       _remote_proxy_scheme = cl_getenv("GITTEST_REMOTE_PROXY_SCHEME");
+       _remote_proxy_host = cl_getenv("GITTEST_REMOTE_PROXY_HOST");
        _remote_proxy_user = cl_getenv("GITTEST_REMOTE_PROXY_USER");
        _remote_proxy_pass = cl_getenv("GITTEST_REMOTE_PROXY_PASS");
+       _remote_proxy_selfsigned = cl_getenv("GITTEST_REMOTE_PROXY_SELFSIGNED");
+
+       _orig_proxies_need_reset = 0;
 }
 
 void test_online_clone__cleanup(void)
@@ -65,13 +89,24 @@ void test_online_clone__cleanup(void)
        git__free(_remote_url);
        git__free(_remote_user);
        git__free(_remote_pass);
+       git__free(_remote_sslnoverify);
        git__free(_remote_ssh_pubkey);
        git__free(_remote_ssh_privkey);
        git__free(_remote_ssh_passphrase);
        git__free(_remote_ssh_fingerprint);
-       git__free(_remote_proxy_url);
+       git__free(_remote_proxy_scheme);
+       git__free(_remote_proxy_host);
        git__free(_remote_proxy_user);
        git__free(_remote_proxy_pass);
+       git__free(_remote_proxy_selfsigned);
+
+       if (_orig_proxies_need_reset) {
+               cl_setenv("HTTP_PROXY", _orig_http_proxy);
+               cl_setenv("HTTPS_PROXY", _orig_https_proxy);
+
+               git__free(_orig_http_proxy);
+               git__free(_orig_https_proxy);
+       }
 }
 
 void test_online_clone__network_full(void)
@@ -110,7 +145,7 @@ void test_online_clone__empty_repository(void)
        cl_assert_equal_i(true, git_repository_head_unborn(g_repo));
 
        cl_git_pass(git_reference_lookup(&head, g_repo, GIT_HEAD_FILE));
-       cl_assert_equal_i(GIT_REF_SYMBOLIC, git_reference_type(head));
+       cl_assert_equal_i(GIT_REFERENCE_SYMBOLIC, git_reference_type(head));
        cl_assert_equal_s("refs/heads/master", git_reference_symbolic_target(head));
 
        git_reference_free(head);
@@ -150,14 +185,14 @@ void test_online_clone__can_checkout_a_cloned_repo(void)
        cl_assert_equal_i(true, git_path_isfile(git_buf_cstr(&path)));
 
        cl_git_pass(git_reference_lookup(&head, g_repo, "HEAD"));
-       cl_assert_equal_i(GIT_REF_SYMBOLIC, git_reference_type(head));
+       cl_assert_equal_i(GIT_REFERENCE_SYMBOLIC, git_reference_type(head));
        cl_assert_equal_s("refs/heads/master", git_reference_symbolic_target(head));
 
        cl_assert_equal_i(true, checkout_progress_cb_was_called);
        cl_assert_equal_i(true, fetch_progress_cb_was_called);
 
        git_reference_free(head);
-       git_buf_free(&path);
+       git_buf_dispose(&path);
 }
 
 static int remote_mirror_cb(git_remote **out, git_repository *repo,
@@ -191,7 +226,7 @@ void test_online_clone__clone_mirror(void)
        cl_git_pass(git_clone(&g_repo, LIVE_REPO_URL, "./foo.git", &opts));
 
        cl_git_pass(git_reference_lookup(&head, g_repo, "HEAD"));
-       cl_assert_equal_i(GIT_REF_SYMBOLIC, git_reference_type(head));
+       cl_assert_equal_i(GIT_REFERENCE_SYMBOLIC, git_reference_type(head));
        cl_assert_equal_s("refs/heads/master", git_reference_symbolic_target(head));
 
        cl_assert_equal_i(true, fetch_progress_cb_was_called);
@@ -437,7 +472,7 @@ static int cred_cb(git_cred **cred, const char *url, const char *user_from_url,
                        _remote_user, _remote_ssh_pubkey,
                        _remote_ssh_privkey, _remote_ssh_passphrase);
 
-       giterr_set(GITERR_NET, "unexpected cred type");
+       git_error_set(GIT_ERROR_NET, "unexpected cred type");
        return -1;
 }
 
@@ -464,6 +499,7 @@ void test_online_clone__ssh_auth_methods(void)
 #endif
        g_options.fetch_opts.callbacks.credentials = check_ssh_auth_methods;
        g_options.fetch_opts.callbacks.payload = &with_user;
+       g_options.fetch_opts.callbacks.certificate_check = NULL;
 
        with_user = 0;
        cl_git_fail_with(GIT_EUSER,
@@ -516,6 +552,7 @@ void test_online_clone__ssh_with_paths(void)
        g_options.fetch_opts.callbacks.transport = git_transport_ssh_with_paths;
        g_options.fetch_opts.callbacks.credentials = cred_cb;
        g_options.fetch_opts.callbacks.payload = &arr;
+       g_options.fetch_opts.callbacks.certificate_check = NULL;
 
        cl_git_fail(git_clone(&g_repo, _remote_url, "./foo", &g_options));
 
@@ -628,7 +665,7 @@ static int ssh_memory_cred_cb(git_cred **cred, const char *url, const char *user
                return ret;
        }
 
-       giterr_set(GITERR_NET, "unexpected cred type");
+       git_error_set(GIT_ERROR_NET, "unexpected cred type");
        return -1;
 }
 
@@ -700,7 +737,7 @@ void test_online_clone__start_with_http(void)
 }
 
 static int called_proxy_creds;
-static int proxy_creds(git_cred **out, const char *url, const char *username, unsigned int allowed, void *payload)
+static int proxy_cred_cb(git_cred **out, const char *url, const char *username, unsigned int allowed, void *payload)
 {
        GIT_UNUSED(url);
        GIT_UNUSED(username);
@@ -711,39 +748,102 @@ static int proxy_creds(git_cred **out, const char *url, const char *username, un
        return git_cred_userpass_plaintext_new(out, _remote_proxy_user, _remote_proxy_pass);
 }
 
+static int proxy_cert_cb(git_cert *cert, int valid, const char *host, void *payload)
+{
+       char *colon;
+       size_t host_len;
+
+       GIT_UNUSED(cert);
+       GIT_UNUSED(valid);
+       GIT_UNUSED(payload);
+
+       cl_assert(_remote_proxy_host);
+
+       if ((colon = strchr(_remote_proxy_host, ':')) != NULL)
+               host_len = (colon - _remote_proxy_host);
+       else
+               host_len = strlen(_remote_proxy_host);
+
+       if (_remote_proxy_selfsigned != NULL &&
+           strlen(host) == host_len &&
+           strncmp(_remote_proxy_host, host, host_len) == 0)
+               valid = 1;
+
+       return valid ? 0 : GIT_ECERTIFICATE;
+}
+
 void test_online_clone__proxy_credentials_request(void)
 {
        git_buf url = GIT_BUF_INIT;
 
-       if (!_remote_proxy_url || !_remote_proxy_user || !_remote_proxy_pass)
+       if (!_remote_proxy_host || !_remote_proxy_user || !_remote_proxy_pass)
                cl_skip();
 
-       cl_git_pass(git_buf_printf(&url, "http://%s/", _remote_proxy_url));
+       cl_git_pass(git_buf_printf(&url, "%s://%s/",
+               _remote_proxy_scheme ? _remote_proxy_scheme : "http",
+               _remote_proxy_host));
 
        g_options.fetch_opts.proxy_opts.type = GIT_PROXY_SPECIFIED;
        g_options.fetch_opts.proxy_opts.url = url.ptr;
-       g_options.fetch_opts.proxy_opts.credentials = proxy_creds;
+       g_options.fetch_opts.proxy_opts.credentials = proxy_cred_cb;
+       g_options.fetch_opts.proxy_opts.certificate_check = proxy_cert_cb;
        called_proxy_creds = 0;
        cl_git_pass(git_clone(&g_repo, "http://github.com/libgit2/TestGitRepository", "./foo", &g_options));
        cl_assert(called_proxy_creds);
 
-       git_buf_free(&url);
+       git_buf_dispose(&url);
 }
 
 void test_online_clone__proxy_credentials_in_url(void)
 {
        git_buf url = GIT_BUF_INIT;
 
-       if (!_remote_proxy_url || !_remote_proxy_user || !_remote_proxy_pass)
+       if (!_remote_proxy_host || !_remote_proxy_user || !_remote_proxy_pass)
                cl_skip();
 
-       cl_git_pass(git_buf_printf(&url, "http://%s:%s@%s/", _remote_proxy_user, _remote_proxy_pass, _remote_proxy_url));
+       cl_git_pass(git_buf_printf(&url, "%s://%s:%s@%s/",
+               _remote_proxy_scheme ? _remote_proxy_scheme : "http",
+               _remote_proxy_user, _remote_proxy_pass, _remote_proxy_host));
 
        g_options.fetch_opts.proxy_opts.type = GIT_PROXY_SPECIFIED;
        g_options.fetch_opts.proxy_opts.url = url.ptr;
+       g_options.fetch_opts.proxy_opts.certificate_check = proxy_cert_cb;
        called_proxy_creds = 0;
        cl_git_pass(git_clone(&g_repo, "http://github.com/libgit2/TestGitRepository", "./foo", &g_options));
        cl_assert(called_proxy_creds == 0);
 
-       git_buf_free(&url);
+       git_buf_dispose(&url);
+}
+
+void test_online_clone__proxy_credentials_in_environment(void)
+{
+       git_buf url = GIT_BUF_INIT;
+
+       if (!_remote_proxy_host || !_remote_proxy_user || !_remote_proxy_pass)
+               cl_skip();
+
+       _orig_http_proxy = cl_getenv("HTTP_PROXY");
+       _orig_https_proxy = cl_getenv("HTTPS_PROXY");
+       _orig_proxies_need_reset = 1;
+
+       g_options.fetch_opts.proxy_opts.type = GIT_PROXY_AUTO;
+       g_options.fetch_opts.proxy_opts.certificate_check = proxy_cert_cb;
+
+       cl_git_pass(git_buf_printf(&url, "%s://%s:%s@%s/",
+               _remote_proxy_scheme ? _remote_proxy_scheme : "http",
+               _remote_proxy_user, _remote_proxy_pass, _remote_proxy_host));
+
+       cl_setenv("HTTP_PROXY", url.ptr);
+       cl_setenv("HTTPS_PROXY", url.ptr);
+
+       cl_git_pass(git_clone(&g_repo, "http://github.com/libgit2/TestGitRepository", "./foo", &g_options));
+
+       git_buf_dispose(&url);
+}
+
+void test_online_clone__proxy_auto_not_detected(void)
+{
+       g_options.fetch_opts.proxy_opts.type = GIT_PROXY_AUTO;
+
+       cl_git_pass(git_clone(&g_repo, "http://github.com/libgit2/TestGitRepository", "./foo", &g_options));
 }
index c1ac06dbec8e2644593e1131dbde47fcba1143f2..ae72dde5705f5b8389d949b55541b23430fc2cac 100644 (file)
@@ -72,7 +72,7 @@ static void fetchhead_test_fetch(const char *fetchspec, const char *expected_fet
 
        equals = (strcmp(fetchhead_buf.ptr, expected_fetchhead) == 0);
 
-       git_buf_free(&fetchhead_buf);
+       git_buf_dispose(&fetchhead_buf);
 
        cl_assert(equals);
 }
index 3b98278e05477c436cce75054afbe00e57782895..592372ba7a93ae9aee02df1e375626584d0bea2c 100644 (file)
@@ -149,7 +149,7 @@ static void do_verify_push_status(record_callbacks_data *data, const push_status
 
                cl_fail(git_buf_cstr(&msg));
 
-               git_buf_free(&msg);
+               git_buf_dispose(&msg);
        }
 
        git_vector_foreach(actual, i, iter) {
@@ -267,8 +267,8 @@ failed:
                git__free(actual_ref);
 
        git_vector_free(&actual_refs);
-       git_buf_free(&msg);
-       git_buf_free(&ref_name);
+       git_buf_dispose(&msg);
+       git_buf_dispose(&ref_name);
 }
 
 static void verify_update_tips_callback(git_remote *remote, expected_ref expected_refs[], size_t expected_refs_len)
@@ -313,8 +313,8 @@ failed:
        if (failed)
                cl_fail(git_buf_cstr(&msg));
 
-       git_buf_free(&ref_name);
-       git_buf_free(&msg);
+       git_buf_dispose(&ref_name);
+       git_buf_dispose(&msg);
 }
 
 void test_online_push__initialize(void)
index eafec2f05e5e72b99a4160714943d3b46d516c7c..fe9af2c43693dbf4d79fe285c3a24ac5baf486ec 100644 (file)
@@ -137,5 +137,5 @@ failed:
 
        cl_fail(git_buf_cstr(&msg));
 
-       git_buf_free(&msg);
+       git_buf_dispose(&msg);
 }
index f3c2204bda153c324e16ec24a6857cf590d3ee15..3c4e1c1ee08ed3422832a5cae86f730d66525e52 100644 (file)
@@ -74,6 +74,24 @@ static const unsigned char leaky_pack[] = {
 };
 static const unsigned int leaky_pack_len = 33;
 
+/*
+ * Packfile with a three objects. The first one is a tree referencing two blobs,
+ * the second object is one of those blobs. The second blob is missing.
+ */
+unsigned char incomplete_pack[] = {
+  0x50, 0x41, 0x43, 0x4b, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x02,
+  0xae, 0x03, 0x78, 0x9c, 0x33, 0x34, 0x30, 0x30, 0x33, 0x31, 0x51, 0x48,
+  0x4a, 0x2c, 0x62, 0x08, 0x17, 0x3b, 0x15, 0xd9, 0x7e, 0xfa, 0x67, 0x6d,
+  0xf6, 0x56, 0x4f, 0x85, 0x7d, 0xcb, 0xd6, 0xde, 0x53, 0xd1, 0x6d, 0x7f,
+  0x66, 0x08, 0x91, 0x4e, 0xcb, 0xcf, 0x67, 0x50, 0xad, 0x39, 0x9a, 0xa2,
+  0xb3, 0x71, 0x41, 0xc8, 0x87, 0x9e, 0x13, 0xf6, 0xba, 0x53, 0xec, 0xc2,
+  0xfe, 0xda, 0xed, 0x9b, 0x09, 0x00, 0xe8, 0xc8, 0x19, 0xab, 0x34, 0x78,
+  0x9c, 0x4b, 0x4a, 0x2c, 0xe2, 0x02, 0x00, 0x03, 0x9d, 0x01, 0x40, 0x4b,
+  0x72, 0xa2, 0x6f, 0xb6, 0x88, 0x2d, 0x6c, 0xa5, 0x07, 0xb2, 0xa5, 0x45,
+  0xe8, 0xdb, 0xe6, 0x53, 0xb3, 0x52, 0xe2
+};
+unsigned int incomplete_pack_len = 115;
+
 static const unsigned char base_obj[] = { 07, 076 };
 static const unsigned int base_obj_len = 2;
 
@@ -82,7 +100,7 @@ void test_pack_indexer__out_of_order(void)
        git_indexer *idx = 0;
        git_transfer_progress stats = { 0 };
 
-       cl_git_pass(git_indexer_new(&idx, ".", 0, NULL, NULL, NULL));
+       cl_git_pass(git_indexer_new(&idx, ".", 0, NULL, NULL));
        cl_git_pass(git_indexer_append(
                idx, out_of_order_pack, out_of_order_pack_len, &stats));
        cl_git_pass(git_indexer_commit(idx, &stats));
@@ -99,13 +117,13 @@ void test_pack_indexer__missing_trailer(void)
        git_indexer *idx = 0;
        git_transfer_progress stats = { 0 };
 
-       cl_git_pass(git_indexer_new(&idx, ".", 0, NULL, NULL, NULL));
+       cl_git_pass(git_indexer_new(&idx, ".", 0, NULL, NULL));
        cl_git_pass(git_indexer_append(
                idx, missing_trailer_pack, missing_trailer_pack_len, &stats));
        cl_git_fail(git_indexer_commit(idx, &stats));
 
-       cl_assert(giterr_last() != NULL);
-       cl_assert_equal_i(giterr_last()->klass, GITERR_INDEXER);
+       cl_assert(git_error_last() != NULL);
+       cl_assert_equal_i(git_error_last()->klass, GIT_ERROR_INDEXER);
 
        git_indexer_free(idx);
 }
@@ -115,13 +133,13 @@ void test_pack_indexer__leaky(void)
        git_indexer *idx = 0;
        git_transfer_progress stats = { 0 };
 
-       cl_git_pass(git_indexer_new(&idx, ".", 0, NULL, NULL, NULL));
+       cl_git_pass(git_indexer_new(&idx, ".", 0, NULL, NULL));
        cl_git_pass(git_indexer_append(
                idx, leaky_pack, leaky_pack_len, &stats));
        cl_git_fail(git_indexer_commit(idx, &stats));
 
-       cl_assert(giterr_last() != NULL);
-       cl_assert_equal_i(giterr_last()->klass, GITERR_INDEXER);
+       cl_assert(git_error_last() != NULL);
+       cl_assert_equal_i(git_error_last()->klass, GIT_ERROR_INDEXER);
 
        git_indexer_free(idx);
 }
@@ -138,11 +156,11 @@ void test_pack_indexer__fix_thin(void)
        cl_git_pass(git_repository_odb(&odb, repo));
 
        /* Store the missing base into your ODB so the indexer can fix the pack */
-       cl_git_pass(git_odb_write(&id, odb, base_obj, base_obj_len, GIT_OBJ_BLOB));
+       cl_git_pass(git_odb_write(&id, odb, base_obj, base_obj_len, GIT_OBJECT_BLOB));
        git_oid_fromstr(&should_id, "e68fe8129b546b101aee9510c5328e7f21ca1d18");
        cl_assert_equal_oid(&should_id, &id);
 
-       cl_git_pass(git_indexer_new(&idx, ".", 0, odb, NULL, NULL));
+       cl_git_pass(git_indexer_new(&idx, ".", 0, odb, NULL));
        cl_git_pass(git_indexer_append(idx, thin_pack, thin_pack_len, &stats));
        cl_git_pass(git_indexer_commit(idx, &stats));
 
@@ -175,7 +193,7 @@ void test_pack_indexer__fix_thin(void)
 
                cl_git_pass(p_stat(name, &st));
 
-               cl_git_pass(git_indexer_new(&idx, ".", 0, NULL, NULL, NULL));
+               cl_git_pass(git_indexer_new(&idx, ".", 0, NULL, NULL));
                read = p_read(fd, buffer, sizeof(buffer));
                cl_assert(read != -1);
                p_close(fd);
@@ -204,23 +222,63 @@ void test_pack_indexer__corrupt_length(void)
        cl_git_pass(git_repository_odb(&odb, repo));
 
        /* Store the missing base into your ODB so the indexer can fix the pack */
-       cl_git_pass(git_odb_write(&id, odb, base_obj, base_obj_len, GIT_OBJ_BLOB));
+       cl_git_pass(git_odb_write(&id, odb, base_obj, base_obj_len, GIT_OBJECT_BLOB));
        git_oid_fromstr(&should_id, "e68fe8129b546b101aee9510c5328e7f21ca1d18");
        cl_assert_equal_oid(&should_id, &id);
 
-       cl_git_pass(git_indexer_new(&idx, ".", 0, odb, NULL, NULL));
+       cl_git_pass(git_indexer_new(&idx, ".", 0, odb, NULL));
        cl_git_pass(git_indexer_append(
                idx, corrupt_thin_pack, corrupt_thin_pack_len, &stats));
        cl_git_fail(git_indexer_commit(idx, &stats));
 
-       cl_assert(giterr_last() != NULL);
-       cl_assert_equal_i(giterr_last()->klass, GITERR_ZLIB);
+       cl_assert(git_error_last() != NULL);
+       cl_assert_equal_i(git_error_last()->klass, GIT_ERROR_ZLIB);
 
        git_indexer_free(idx);
        git_odb_free(odb);
        git_repository_free(repo);
 }
 
+void test_pack_indexer__incomplete_pack_fails_with_strict(void)
+{
+       git_indexer_options opts = GIT_INDEXER_OPTIONS_INIT;
+       git_indexer *idx = 0;
+       git_transfer_progress stats = { 0 };
+
+       opts.verify = 1;
+
+       cl_git_pass(git_indexer_new(&idx, ".", 0, NULL, &opts));
+       cl_git_pass(git_indexer_append(
+               idx, incomplete_pack, incomplete_pack_len, &stats));
+       cl_git_fail(git_indexer_commit(idx, &stats));
+
+       cl_assert_equal_i(stats.total_objects, 2);
+       cl_assert_equal_i(stats.received_objects, 2);
+       cl_assert_equal_i(stats.indexed_objects, 2);
+
+       git_indexer_free(idx);
+}
+
+void test_pack_indexer__out_of_order_with_connectivity_checks(void)
+{
+       git_indexer_options opts = GIT_INDEXER_OPTIONS_INIT;
+       git_indexer *idx = 0;
+       git_transfer_progress stats = { 0 };
+
+       opts.verify = 1;
+
+       cl_git_pass(git_indexer_new(&idx, ".", 0, NULL, &opts));
+       cl_git_pass(git_indexer_append(
+               idx, out_of_order_pack, out_of_order_pack_len, &stats));
+       cl_git_pass(git_indexer_commit(idx, &stats));
+
+       cl_assert_equal_i(stats.total_objects, 3);
+       cl_assert_equal_i(stats.received_objects, 3);
+       cl_assert_equal_i(stats.indexed_objects, 3);
+
+       git_indexer_free(idx);
+}
+
 static int find_tmp_file_recurs(void *opaque, git_buf *path)
 {
        int error = 0;
@@ -249,15 +307,15 @@ void test_pack_indexer__no_tmp_files(void)
        /* Precondition: there are no temporary files. */
        cl_git_pass(git_buf_sets(&path, clar_sandbox_path()));
        cl_git_pass(find_tmp_file_recurs(&first_tmp_file, &path));
-       git_buf_free(&path);
+       git_buf_dispose(&path);
        cl_assert(git_buf_len(&first_tmp_file) == 0);
 
-       cl_git_pass(git_indexer_new(&idx, ".", 0, NULL, NULL, NULL));
+       cl_git_pass(git_indexer_new(&idx, ".", 0, NULL, NULL));
        git_indexer_free(idx);
 
        cl_git_pass(git_buf_sets(&path, clar_sandbox_path()));
        cl_git_pass(find_tmp_file_recurs(&first_tmp_file, &path));
-       git_buf_free(&path);
+       git_buf_dispose(&path);
        cl_assert(git_buf_len(&first_tmp_file) == 0);
-       git_buf_free(&first_tmp_file);
+       git_buf_dispose(&first_tmp_file);
 }
index 13ee073533978ebe34c839cdf92011dd606225d5..6859001fe23fe8b47042abe79e9560bc069f0cb6 100644 (file)
@@ -76,7 +76,7 @@ static void seed_packbuilder(void)
 
        git_vector_foreach(&_commits, i, o) {
                git_object *obj;
-               cl_git_pass(git_object_lookup(&obj, _repo, o, GIT_OBJ_COMMIT));
+               cl_git_pass(git_object_lookup(&obj, _repo, o, GIT_OBJECT_COMMIT));
                cl_git_pass(git_packbuilder_insert_tree(_packbuilder,
                                        git_commit_tree_id((git_commit *)obj)));
                git_object_free(obj);
@@ -100,7 +100,7 @@ void test_pack_packbuilder__create_pack(void)
 
        seed_packbuilder();
 
-       cl_git_pass(git_indexer_new(&_indexer, ".", 0, NULL, NULL, NULL));
+       cl_git_pass(git_indexer_new(&_indexer, ".", 0, NULL, NULL));
        cl_git_pass(git_packbuilder_foreach(_packbuilder, feed_indexer, &stats));
        cl_git_pass(git_indexer_commit(_indexer, &stats));
 
@@ -128,8 +128,8 @@ void test_pack_packbuilder__create_pack(void)
        cl_git_pass(git_hash_final(&hash, &ctx));
        git_hash_ctx_cleanup(&ctx);
 
-       git_buf_free(&path);
-       git_buf_free(&buf);
+       git_buf_dispose(&path);
+       git_buf_dispose(&buf);
 
        git_oid_fmt(hex, &hash);
 
@@ -237,7 +237,7 @@ void test_pack_packbuilder__foreach(void)
        git_indexer *idx;
 
        seed_packbuilder();
-       cl_git_pass(git_indexer_new(&idx, ".", 0, NULL, NULL, NULL));
+       cl_git_pass(git_indexer_new(&idx, ".", 0, NULL, NULL));
        cl_git_pass(git_packbuilder_foreach(_packbuilder, foreach_cb, idx));
        cl_git_pass(git_indexer_commit(idx, &_stats));
        git_indexer_free(idx);
@@ -255,7 +255,7 @@ void test_pack_packbuilder__foreach_with_cancel(void)
        git_indexer *idx;
 
        seed_packbuilder();
-       cl_git_pass(git_indexer_new(&idx, ".", 0, NULL, NULL, NULL));
+       cl_git_pass(git_indexer_new(&idx, ".", 0, NULL, NULL));
        cl_git_fail_with(
                git_packbuilder_foreach(_packbuilder, foreach_cancel_cb, idx), -1111);
        git_indexer_free(idx);
index a67d655887e17faaf29309aee586f21e6b93f61a..f6f78ca03d140ba9d6947d6c2b0fab081b760d01 100644 (file)
@@ -11,7 +11,7 @@ void test_pack_sharing__open_two_repos(void)
        git_repository *repo1, *repo2;
        git_object *obj1, *obj2;
        git_oid id;
-       git_strmap_iter pos;
+       size_t pos;
        void *data;
        int error;
 
@@ -20,8 +20,8 @@ void test_pack_sharing__open_two_repos(void)
 
        git_oid_fromstr(&id, "a65fedf39aefe402d3bb6e24df4d4f5fe4547750");
 
-       cl_git_pass(git_object_lookup(&obj1, repo1, &id, GIT_OBJ_ANY));
-       cl_git_pass(git_object_lookup(&obj2, repo2, &id, GIT_OBJ_ANY));
+       cl_git_pass(git_object_lookup(&obj1, repo1, &id, GIT_OBJECT_ANY));
+       cl_git_pass(git_object_lookup(&obj2, repo2, &id, GIT_OBJECT_ANY));
 
        pos = 0;
        while ((error = git_strmap_next(&data, &pos, git__pack_cache)) == 0) {
index e838e6089954663f6689b51fd7996bc308f7d2d2..3f2668ddc851dfda4003419735ef1ba28dded52c 100644 (file)
        "@@ -0,0 +1 @@\n" \
        "+insert at front\n"
 
+/* An insertion at the beginning of the file and change in the middle */
+
+#define FILE_PREPEND_AND_CHANGE \
+       "insert at front\n" \
+       "hey!\n" \
+       "this is some context!\n" \
+       "around some lines\n" \
+       "that will change\n" \
+       "yes it is!\n" \
+       "(THIS line is changed!)\n" \
+       "and this\n" \
+       "is additional context\n" \
+       "below it!\n"
+
+#define PATCH_ORIGINAL_TO_PREPEND_AND_CHANGE \
+       "diff --git a/file.txt b/file.txt\n" \
+       "index 9432026..f73c8bb 100644\n" \
+       "--- a/file.txt\n" \
+       "+++ b/file.txt\n" \
+       "@@ -1,9 +1,10 @@\n" \
+       "+insert at front\n" \
+       " hey!\n" \
+       " this is some context!\n" \
+       " around some lines\n" \
+       " that will change\n" \
+       " yes it is!\n" \
+       "-(this line is changed)\n" \
+       "+(THIS line is changed!)\n" \
+       " and this\n" \
+       " is additional context\n" \
+       " below it!\n"
+
+#define PATCH_ORIGINAL_TO_PREPEND_AND_CHANGE_NOCONTEXT \
+       "diff --git a/file.txt b/file.txt\n" \
+       "index 9432026..f73c8bb 100644\n" \
+       "--- a/file.txt\n" \
+       "+++ b/file.txt\n" \
+       "@@ -0,0 +1 @@\n" \
+       "+insert at front\n" \
+       "@@ -6 +7 @@ yes it is!\n" \
+       "-(this line is changed)\n" \
+       "+(THIS line is changed!)\n"
+
+/* A deletion at the beginning of the file and a change in the middle */
+
+#define FILE_DELETE_AND_CHANGE \
+       "this is some context!\n" \
+       "around some lines\n" \
+       "that will change\n" \
+       "yes it is!\n" \
+       "(THIS line is changed!)\n" \
+       "and this\n" \
+       "is additional context\n" \
+       "below it!\n"
+
+#define PATCH_ORIGINAL_TO_DELETE_AND_CHANGE \
+       "diff --git a/file.txt b/file.txt\n" \
+       "index 9432026..1e2dfa6 100644\n" \
+       "--- a/file.txt\n" \
+       "+++ b/file.txt\n" \
+       "@@ -1,9 +1,8 @@\n" \
+       "-hey!\n" \
+       " this is some context!\n" \
+       " around some lines\n" \
+       " that will change\n" \
+       " yes it is!\n" \
+       "-(this line is changed)\n" \
+       "+(THIS line is changed!)\n" \
+       " and this\n" \
+       " is additional context\n" \
+       " below it!\n"
+
+#define PATCH_ORIGINAL_TO_DELETE_AND_CHANGE_NOCONTEXT \
+       "diff --git a/file.txt b/file.txt\n" \
+       "index 9432026..1e2dfa6 100644\n" \
+       "--- a/file.txt\n" \
+       "+++ b/file.txt\n" \
+       "@@ -1 +0,0 @@\n" \
+       "-hey!\n" \
+       "@@ -6 +5 @@ yes it is!\n" \
+       "-(this line is changed)\n" \
+       "+(THIS line is changed!)\n"
+
+/* A deletion at the beginning of the file */
+
+#define FILE_DELETE_FIRSTLINE \
+       "this is some context!\n" \
+       "around some lines\n" \
+       "that will change\n" \
+       "yes it is!\n" \
+       "(this line is changed)\n" \
+       "and this\n" \
+       "is additional context\n" \
+       "below it!\n"
+
+#define PATCH_ORIGINAL_TO_DELETE_FIRSTLINE \
+       "diff --git a/file.txt b/file.txt\n" \
+       "index 9432026..f31fa13 100644\n" \
+       "--- a/file.txt\n" \
+       "+++ b/file.txt\n" \
+       "@@ -1,4 +1,3 @@\n" \
+       "-hey!\n" \
+       " this is some context!\n" \
+       " around some lines\n" \
+       " that will change\n"
+
 /* An insertion at the end of the file (and the resultant patch) */
 
 #define FILE_APPEND \
index 62e50b93e84754fc1ee886ae38e76759bcc32258..4703c1d51c77313b52f748d909a47c24b9af2eb9 100644 (file)
@@ -20,7 +20,7 @@ void patch_print_from_patchfile(const char *data, size_t len)
        cl_assert_equal_s(data, buf.ptr);
 
        git_patch_free(patch);
-       git_buf_free(&buf);
+       git_buf_dispose(&buf);
 }
 
 void test_patch_print__change_middle(void)
index 0ab41ea503aa36c9cf655e9e5a027baeee001140..bbcded0831fc67148fd532436d9069ab94f58bc5 100644 (file)
@@ -11,7 +11,7 @@ static void test_make_relative(
        git_buf_puts(&buf, path);
        cl_assert_equal_i(expected_status, git_path_make_relative(&buf, parent));
        cl_assert_equal_s(expected_path, buf.ptr);
-       git_buf_free(&buf);
+       git_buf_dispose(&buf);
 }
 
 void test_path_core__make_relative(void)
@@ -319,7 +319,7 @@ static void test_join_unrooted(
        cl_assert_equal_s(expected_result, result.ptr);
        cl_assert_equal_i(expected_rootlen, root_at);
 
-       git_buf_free(&result);
+       git_buf_dispose(&result);
 }
 
 void test_path_core__join_unrooted(void)
@@ -350,5 +350,5 @@ void test_path_core__join_unrooted(void)
        /* Trailing slash in the base is ignored */
        test_join_unrooted("c:/foo/bar/foobar", 6, "c:/foo/bar/foobar", "c:/foo/");
 
-       git_buf_free(&out);
+       git_buf_dispose(&out);
 }
index 20e585edb5766f3cacdfc5fe132e88dada5031ce..30996694512c3466830c8cf0ea9dcbff118cacb1 100644 (file)
@@ -94,21 +94,21 @@ static char *gitmodules_not_altnames[] = {
 void test_path_dotgit__dotgit_modules(void)
 {
        size_t i;
-       cl_assert_equal_i(1, git_path_is_dotgit_modules(".gitmodules", strlen(".gitmodules")));
-       cl_assert_equal_i(1, git_path_is_dotgit_modules(".git\xe2\x80\x8cmodules", strlen(".git\xe2\x80\x8cmodules")));
+
+       cl_assert_equal_i(1, git_path_is_gitfile(".gitmodules", strlen(".gitmodules"), GIT_PATH_GITFILE_GITMODULES, GIT_PATH_FS_GENERIC));
+       cl_assert_equal_i(1, git_path_is_gitfile(".git\xe2\x80\x8cmodules", strlen(".git\xe2\x80\x8cmodules"), GIT_PATH_GITFILE_GITMODULES, GIT_PATH_FS_GENERIC));
 
        for (i = 0; i < ARRAY_SIZE(gitmodules_altnames); i++) {
                const char *name = gitmodules_altnames[i];
-               if (!git_path_is_dotgit_modules(name, strlen(name)))
+               if (!git_path_is_gitfile(name, strlen(name), GIT_PATH_GITFILE_GITMODULES, GIT_PATH_FS_GENERIC))
                        cl_fail(name);
        }
 
        for (i = 0; i < ARRAY_SIZE(gitmodules_not_altnames); i++) {
                const char *name = gitmodules_not_altnames[i];
-               if (git_path_is_dotgit_modules(name, strlen(name)))
+               if (git_path_is_gitfile(name, strlen(name), GIT_PATH_GITFILE_GITMODULES, GIT_PATH_FS_GENERIC))
                        cl_fail(name);
        }
-
 }
 
 void test_path_dotgit__dotgit_modules_symlink(void)
index 4ff0397386c96de31ddbeb210771a0612abc99cb..3ed7d7a6ad706a45b7f2537663e1a8d523976e14 100644 (file)
@@ -129,9 +129,9 @@ void test_path_win32__absolute_from_relative(void)
 #endif
 }
 
-void test_canonicalize(const wchar_t *in, const wchar_t *expected)
-{
 #ifdef GIT_WIN32
+static void test_canonicalize(const wchar_t *in, const wchar_t *expected)
+{
        git_win32_path canonical;
 
        cl_assert(wcslen(in) < MAX_PATH);
@@ -139,12 +139,58 @@ void test_canonicalize(const wchar_t *in, const wchar_t *expected)
 
        cl_must_pass(git_win32_path_canonicalize(canonical));
        cl_assert_equal_wcs(expected, canonical);
+}
+#endif
+
+static void test_remove_namespace(const wchar_t *in, const wchar_t *expected)
+{
+#ifdef GIT_WIN32
+       git_win32_path canonical;
+
+       cl_assert(wcslen(in) < MAX_PATH);
+       wcscpy(canonical, in);
+
+       git_win32_path_remove_namespace(canonical, wcslen(in));
+       cl_assert_equal_wcs(expected, canonical);
 #else
        GIT_UNUSED(in);
        GIT_UNUSED(expected);
 #endif
 }
 
+void test_path_win32__remove_namespace(void)
+{
+       test_remove_namespace(L"\\\\?\\C:\\Temp\\Foo", L"C:\\Temp\\Foo");
+       test_remove_namespace(L"\\\\?\\C:\\", L"C:\\");
+       test_remove_namespace(L"\\\\?\\", L"");
+
+       test_remove_namespace(L"\\??\\C:\\Temp\\Foo", L"C:\\Temp\\Foo");
+       test_remove_namespace(L"\\??\\C:\\", L"C:\\");
+       test_remove_namespace(L"\\??\\", L"");
+
+       test_remove_namespace(L"\\\\?\\UNC\\server\\C$\\folder", L"\\\\server\\C$\\folder");
+       test_remove_namespace(L"\\\\?\\UNC\\server\\C$\\folder", L"\\\\server\\C$\\folder");
+       test_remove_namespace(L"\\\\?\\UNC\\server\\C$", L"\\\\server\\C$");
+       test_remove_namespace(L"\\\\?\\UNC\\server\\", L"\\\\server");
+       test_remove_namespace(L"\\\\?\\UNC\\server", L"\\\\server");
+
+       test_remove_namespace(L"\\??\\UNC\\server\\C$\\folder", L"\\\\server\\C$\\folder");
+       test_remove_namespace(L"\\??\\UNC\\server\\C$\\folder", L"\\\\server\\C$\\folder");
+       test_remove_namespace(L"\\??\\UNC\\server\\C$", L"\\\\server\\C$");
+       test_remove_namespace(L"\\??\\UNC\\server\\", L"\\\\server");
+       test_remove_namespace(L"\\??\\UNC\\server", L"\\\\server");
+
+       test_remove_namespace(L"\\\\server\\C$\\folder", L"\\\\server\\C$\\folder");
+       test_remove_namespace(L"\\\\server\\C$", L"\\\\server\\C$");
+       test_remove_namespace(L"\\\\server\\", L"\\\\server");
+       test_remove_namespace(L"\\\\server", L"\\\\server");
+
+       test_remove_namespace(L"C:\\Foo\\Bar", L"C:\\Foo\\Bar");
+       test_remove_namespace(L"C:\\", L"C:\\");
+       test_remove_namespace(L"", L"");
+
+}
+
 void test_path_win32__canonicalize(void)
 {
 #ifdef GIT_WIN32
index d8891fb1ddfaf1016b2e25fe98238c8058040b4c..a83c529ce4f155c9267e75a7225975cf33068449 100644 (file)
@@ -8,7 +8,7 @@
 
 static git_repository *repo;
 
-// Fixture setup and teardown
+/* Fixture setup and teardown */
 void test_rebase_abort__initialize(void)
 {
        repo = cl_git_sandbox_init("rebase");
index 367d6b3ac6dc4ff3139cc5ee8ab90ae60444be02..040a81b1bfd1c37f8b7d101e88cdf810bb631126 100644 (file)
@@ -7,7 +7,7 @@
 static git_repository *repo;
 static git_signature *signature;
 
-// Fixture setup and teardown
+/* Fixture setup and teardown */
 void test_rebase_inmemory__initialize(void)
 {
        repo = cl_git_sandbox_init("rebase");
index db57b0a83bac5b355b29286a4ee1c365b42f05e9..49a601243fe468830923032e88040ed75a7dfc6d 100644 (file)
@@ -8,7 +8,7 @@ static git_repository *repo;
 static git_index *_index;
 static git_signature *signature;
 
-// Fixture setup and teardown
+/* Fixture setup and teardown */
 void test_rebase_iterator__initialize(void)
 {
        repo = cl_git_sandbox_init("rebase");
index 7b2d6876c1c04fdbcb23ad679da26d8d754bc7af..cccaac7b8516ba3bdccb1c22267d99acdf247395 100644 (file)
@@ -19,7 +19,7 @@ static void set_core_autocrlf_to(git_repository *repo, bool value)
        git_config_free(cfg);
 }
 
-// Fixture setup and teardown
+/* Fixture setup and teardown */
 void test_rebase_merge__initialize(void)
 {
        repo = cl_git_sandbox_init("rebase");
@@ -450,7 +450,7 @@ void test_rebase_merge__finish(void)
        cl_assert_equal_i(GIT_REPOSITORY_STATE_NONE, git_repository_state(repo));
 
        cl_git_pass(git_reference_lookup(&head_ref, repo, "HEAD"));
-       cl_assert_equal_i(GIT_REF_SYMBOLIC, git_reference_type(head_ref));
+       cl_assert_equal_i(GIT_REFERENCE_SYMBOLIC, git_reference_type(head_ref));
        cl_assert_equal_s("refs/heads/gravy", git_reference_symbolic_target(head_ref));
 
        /* Make sure the reflogs are updated appropriately */
@@ -512,7 +512,7 @@ void test_rebase_merge__detached_finish(void)
        cl_assert_equal_i(GIT_REPOSITORY_STATE_NONE, git_repository_state(repo));
 
        cl_git_pass(git_reference_lookup(&head_ref, repo, "HEAD"));
-       cl_assert_equal_i(GIT_REF_OID, git_reference_type(head_ref));
+       cl_assert_equal_i(GIT_REFERENCE_DIRECT, git_reference_type(head_ref));
 
        /* Make sure the reflogs are updated appropriately */
        cl_git_pass(git_reflog_read(&reflog, repo, "HEAD"));
@@ -561,7 +561,7 @@ void test_rebase_merge__finish_with_ids(void)
        cl_assert_equal_i(GIT_REPOSITORY_STATE_NONE, git_repository_state(repo));
 
        cl_git_pass(git_reference_lookup(&head_ref, repo, "HEAD"));
-       cl_assert_equal_i(GIT_REF_OID, git_reference_type(head_ref));
+       cl_assert_equal_i(GIT_REFERENCE_DIRECT, git_reference_type(head_ref));
        cl_assert_equal_oid(&commit_id, git_reference_target(head_ref));
 
        /* reflogs are not updated as if we were operating on proper
@@ -647,7 +647,7 @@ static void test_copy_note(
        cl_git_pass(git_annotated_commit_from_ref(&upstream_head, repo, upstream_ref));
 
        cl_git_pass(git_reference_peel((git_object **)&branch_commit,
-               branch_ref, GIT_OBJ_COMMIT));
+               branch_ref, GIT_OBJECT_COMMIT));
 
        /* Add a note to a commit */
        cl_git_pass(git_note_create(&note_id, repo, "refs/notes/test",
index b07a83af6e9dd7a93006f109b7237d31faaaa240..34d5edbf6f9029c97c78c3c2b6c7635b5079c844 100644 (file)
@@ -8,7 +8,7 @@ static git_repository *repo;
 static git_index *_index;
 static git_signature *signature;
 
-// Fixture setup and teardown
+/* Fixture setup and teardown */
 void test_rebase_setup__initialize(void)
 {
        repo = cl_git_sandbox_init("rebase");
@@ -76,7 +76,7 @@ void test_rebase_setup__merge(void)
 
        git_oid_fromstr(&head_id, "efad0b11c47cb2f0220cbd6f5b0f93bb99064b00");
        cl_git_pass(git_repository_head(&head, repo));
-       cl_git_pass(git_reference_peel((git_object **)&head_commit, head, GIT_OBJ_COMMIT));
+       cl_git_pass(git_reference_peel((git_object **)&head_commit, head, GIT_OBJECT_COMMIT));
        cl_assert_equal_oid(&head_id, git_commit_id(head_commit));
 
        cl_assert_equal_file("b146bd7608eac53d9bf9e1a6963543588b555c64\n", 41, "rebase/.git/ORIG_HEAD");
@@ -122,7 +122,7 @@ void test_rebase_setup__merge_root(void)
 
        git_oid_fromstr(&head_id, "efad0b11c47cb2f0220cbd6f5b0f93bb99064b00");
        cl_git_pass(git_repository_head(&head, repo));
-       cl_git_pass(git_reference_peel((git_object **)&head_commit, head, GIT_OBJ_COMMIT));
+       cl_git_pass(git_reference_peel((git_object **)&head_commit, head, GIT_OBJECT_COMMIT));
        cl_assert_equal_oid(&head_id, git_commit_id(head_commit));
 
        cl_assert_equal_file("b146bd7608eac53d9bf9e1a6963543588b555c64\n", 41, "rebase/.git/ORIG_HEAD");
@@ -172,7 +172,7 @@ void test_rebase_setup__merge_onto_and_upstream(void)
 
        git_oid_fromstr(&head_id, "efad0b11c47cb2f0220cbd6f5b0f93bb99064b00");
        cl_git_pass(git_repository_head(&head, repo));
-       cl_git_pass(git_reference_peel((git_object **)&head_commit, head, GIT_OBJ_COMMIT));
+       cl_git_pass(git_reference_peel((git_object **)&head_commit, head, GIT_OBJECT_COMMIT));
        cl_assert_equal_oid(&head_id, git_commit_id(head_commit));
 
        cl_assert_equal_file("d616d97082eb7bb2dc6f180a7cca940993b7a56f\n", 41, "rebase/.git/ORIG_HEAD");
@@ -226,7 +226,7 @@ void test_rebase_setup__merge_onto_upstream_and_branch(void)
 
        git_oid_fromstr(&head_id, "efad0b11c47cb2f0220cbd6f5b0f93bb99064b00");
        cl_git_pass(git_repository_head(&head, repo));
-       cl_git_pass(git_reference_peel((git_object **)&head_commit, head, GIT_OBJ_COMMIT));
+       cl_git_pass(git_reference_peel((git_object **)&head_commit, head, GIT_OBJECT_COMMIT));
        cl_assert_equal_oid(&head_id, git_commit_id(head_commit));
 
        cl_assert_equal_file("f87d14a4a236582a0278a916340a793714256864\n", 41, "rebase/.git/ORIG_HEAD");
@@ -284,7 +284,7 @@ void test_rebase_setup__merge_onto_upstream_and_branch_by_id(void)
 
        git_oid_fromstr(&head_id, "efad0b11c47cb2f0220cbd6f5b0f93bb99064b00");
        cl_git_pass(git_repository_head(&head, repo));
-       cl_git_pass(git_reference_peel((git_object **)&head_commit, head, GIT_OBJ_COMMIT));
+       cl_git_pass(git_reference_peel((git_object **)&head_commit, head, GIT_OBJECT_COMMIT));
        cl_assert_equal_oid(&head_id, git_commit_id(head_commit));
 
        cl_assert_equal_file("d616d97082eb7bb2dc6f180a7cca940993b7a56f\n", 41, "rebase/.git/ORIG_HEAD");
@@ -330,7 +330,7 @@ void test_rebase_setup__branch_with_merges(void)
 
        git_oid_fromstr(&head_id, "efad0b11c47cb2f0220cbd6f5b0f93bb99064b00");
        cl_git_pass(git_repository_head(&head, repo));
-       cl_git_pass(git_reference_peel((git_object **)&head_commit, head, GIT_OBJ_COMMIT));
+       cl_git_pass(git_reference_peel((git_object **)&head_commit, head, GIT_OBJECT_COMMIT));
        cl_assert_equal_oid(&head_id, git_commit_id(head_commit));
 
        cl_assert_equal_file("f87d14a4a236582a0278a916340a793714256864\n", 41, "rebase/.git/ORIG_HEAD");
@@ -378,7 +378,7 @@ void test_rebase_setup__orphan_branch(void)
 
        git_oid_fromstr(&head_id, "efad0b11c47cb2f0220cbd6f5b0f93bb99064b00");
        cl_git_pass(git_repository_head(&head, repo));
-       cl_git_pass(git_reference_peel((git_object **)&head_commit, head, GIT_OBJ_COMMIT));
+       cl_git_pass(git_reference_peel((git_object **)&head_commit, head, GIT_OBJECT_COMMIT));
        cl_assert_equal_oid(&head_id, git_commit_id(head_commit));
 
        cl_assert_equal_file("12c084412b952396962eb420716df01022b847cc\n", 41, "rebase/.git/ORIG_HEAD");
@@ -429,7 +429,7 @@ void test_rebase_setup__merge_null_branch_uses_HEAD(void)
 
        git_oid_fromstr(&head_id, "efad0b11c47cb2f0220cbd6f5b0f93bb99064b00");
        cl_git_pass(git_repository_head(&head, repo));
-       cl_git_pass(git_reference_peel((git_object **)&head_commit, head, GIT_OBJ_COMMIT));
+       cl_git_pass(git_reference_peel((git_object **)&head_commit, head, GIT_OBJECT_COMMIT));
        cl_assert_equal_oid(&head_id, git_commit_id(head_commit));
 
        cl_assert_equal_file("b146bd7608eac53d9bf9e1a6963543588b555c64\n", 41, "rebase/.git/ORIG_HEAD");
@@ -476,7 +476,7 @@ void test_rebase_setup__merge_from_detached(void)
 
        git_oid_fromstr(&head_id, "efad0b11c47cb2f0220cbd6f5b0f93bb99064b00");
        cl_git_pass(git_repository_head(&head, repo));
-       cl_git_pass(git_reference_peel((git_object **)&head_commit, head, GIT_OBJ_COMMIT));
+       cl_git_pass(git_reference_peel((git_object **)&head_commit, head, GIT_OBJECT_COMMIT));
        cl_assert_equal_oid(&head_id, git_commit_id(head_commit));
 
        cl_assert_equal_file("b146bd7608eac53d9bf9e1a6963543588b555c64\n", 41, "rebase/.git/ORIG_HEAD");
@@ -524,7 +524,7 @@ void test_rebase_setup__merge_branch_by_id(void)
 
        git_oid_fromstr(&head_id, "efad0b11c47cb2f0220cbd6f5b0f93bb99064b00");
        cl_git_pass(git_repository_head(&head, repo));
-       cl_git_pass(git_reference_peel((git_object **)&head_commit, head, GIT_OBJ_COMMIT));
+       cl_git_pass(git_reference_peel((git_object **)&head_commit, head, GIT_OBJECT_COMMIT));
        cl_assert_equal_oid(&head_id, git_commit_id(head_commit));
 
        cl_assert_equal_file("b146bd7608eac53d9bf9e1a6963543588b555c64\n", 41, "rebase/.git/ORIG_HEAD");
@@ -554,15 +554,15 @@ static int rebase_is_blocked(void)
 
        git_reference *branch_ref, *upstream_ref;
        git_annotated_commit *branch_head, *upstream_head;
-                                
+
        cl_assert_equal_i(GIT_REPOSITORY_STATE_NONE, git_repository_state(repo));
-                                                 
+
        cl_git_pass(git_reference_lookup(&branch_ref, repo, "refs/heads/beef"));
        cl_git_pass(git_reference_lookup(&upstream_ref, repo, "refs/heads/master"));
-                                                                  
+
        cl_git_pass(git_annotated_commit_from_ref(&branch_head, repo, branch_ref));
        cl_git_pass(git_annotated_commit_from_ref(&upstream_head, repo, upstream_ref));
-                                                                                                   
+
        error = git_rebase_init(&rebase, repo, branch_head, upstream_head, NULL, NULL);
 
        git_annotated_commit_free(branch_head);
index 8ae78ce5b26708cca745eff83aa85ed846f0d49e..a28b3f4b2a12d759cbf7bcef40f6f53fd9f08759 100644 (file)
@@ -10,7 +10,7 @@
 static git_repository *repo;
 static git_signature *signature;
 
-// Fixture setup and teardown
+/* Fixture setup and teardown */
 void test_rebase_submodule__initialize(void)
 {
        git_index *index;
@@ -33,8 +33,9 @@ void test_rebase_submodule__initialize(void)
        /* We have to commit the rewritten .gitmodules file */
        cl_git_pass(git_repository_index(&index, repo));
        cl_git_pass(git_index_add_bypath(index, ".gitmodules"));
-       cl_git_pass(git_index_write_tree(&tree_oid, index));
+       cl_git_pass(git_index_write(index));
 
+       cl_git_pass(git_index_write_tree(&tree_oid, index));
        cl_git_pass(git_tree_lookup(&tree, repo, &tree_oid));
 
        cl_git_pass(git_repository_head(&master_ref, repo));
@@ -43,7 +44,7 @@ void test_rebase_submodule__initialize(void)
        cl_git_pass(git_commit_create_v(&commit_id, repo, git_reference_name(master_ref), signature, signature, NULL, "Fixup .gitmodules", tree, 1, parent));
 
        /* And a final reset, for good measure */
-       cl_git_pass(git_object_lookup(&obj, repo, &commit_id, GIT_OBJ_COMMIT));
+       cl_git_pass(git_object_lookup(&obj, repo, &commit_id, GIT_OBJECT_COMMIT));
        cl_git_pass(git_reset(repo, obj, GIT_RESET_HARD, &opts));
 
        git_index_free(index);
@@ -81,7 +82,7 @@ void test_rebase_submodule__init_untracked(void)
        fp = fopen(git_buf_cstr(&untracked_path), "w");
        fprintf(fp, "An untracked file in a submodule should not block a rebase\n");
        fclose(fp);
-       git_buf_free(&untracked_path);
+       git_buf_dispose(&untracked_path);
 
        cl_git_pass(git_rebase_init(&rebase, repo, branch_head, upstream_head, NULL, NULL));
 
index a4db574461459055223e8dcc9bf4131303f60a3f..70ffad88d241ffa9fd7fbfd5f282112fa5edf973 100644 (file)
@@ -132,7 +132,7 @@ static void assert_branch_matches_name(
                git_oid_cmp(git_reference_target(ref), git_commit_id(target)));
 
        git_reference_free(ref);
-       git_buf_free(&b);
+       git_buf_dispose(&b);
 }
 
 void test_refs_branches_create__can_create_branch_with_unicode(void)
index 8807db2319725a8a156808e60513afa16d129e97..553d8003372984fed4b9ba123602a6860c8d0c79 100644 (file)
@@ -2,6 +2,8 @@
 #include "refs.h"
 #include "repo/repo_helpers.h"
 #include "config/config_helpers.h"
+#include "fileops.h"
+#include "reflog.h"
 
 static git_repository *repo;
 static git_reference *fake_remote;
@@ -70,7 +72,7 @@ void test_refs_branches_delete__can_delete_a_branch_pointed_at_by_detached_HEAD(
        git_reference *head, *branch;
 
        cl_git_pass(git_reference_lookup(&head, repo, GIT_HEAD_FILE));
-       cl_assert_equal_i(GIT_REF_SYMBOLIC, git_reference_type(head));
+       cl_assert_equal_i(GIT_REFERENCE_SYMBOLIC, git_reference_type(head));
        cl_assert_equal_s("refs/heads/master", git_reference_symbolic_target(head));
        git_reference_free(head);
 
@@ -140,3 +142,47 @@ void test_refs_branches_delete__removes_reflog(void)
        git_reflog_free(log);
 }
 
+void test_refs_branches_delete__removes_empty_folders(void)
+{
+       const char *commondir = git_repository_commondir(repo);
+       git_oid commit_id;
+       git_commit *commit;
+       git_reference *branch;
+
+       git_reflog *log;
+       git_oid oidzero = {{0}};
+       git_signature *sig;
+
+       git_buf ref_folder = GIT_BUF_INIT;
+       git_buf reflog_folder = GIT_BUF_INIT;
+
+       /* Create a new branch with a nested name */
+       cl_git_pass(git_oid_fromstr(&commit_id, "a65fedf39aefe402d3bb6e24df4d4f5fe4547750"));
+       cl_git_pass(git_commit_lookup(&commit, repo, &commit_id));
+       cl_git_pass(git_branch_create(&branch, repo, "some/deep/ref", commit, 0));
+       git_commit_free(commit);
+
+       /* Ensure the reflog has at least one entry */
+       cl_git_pass(git_signature_now(&sig, "Me", "user@example.com"));
+       cl_git_pass(git_reflog_read(&log, repo, "refs/heads/some/deep/ref"));
+       cl_git_pass(git_reflog_append(log, &oidzero, sig, "message"));
+       cl_assert(git_reflog_entrycount(log) > 0);
+       git_signature_free(sig);
+       git_reflog_free(log);
+
+       cl_git_pass(git_buf_joinpath(&ref_folder, commondir, "refs/heads/some/deep"));
+       cl_git_pass(git_buf_join3(&reflog_folder, '/', commondir, GIT_REFLOG_DIR, "refs/heads/some/deep"));
+
+       cl_assert(git_path_exists(git_buf_cstr(&ref_folder)) == true);
+       cl_assert(git_path_exists(git_buf_cstr(&reflog_folder)) == true);
+
+       cl_git_pass(git_branch_delete(branch));
+
+       cl_assert(git_path_exists(git_buf_cstr(&ref_folder)) == false);
+       cl_assert(git_path_exists(git_buf_cstr(&reflog_folder)) == false);
+
+       git_reference_free(branch);
+       git_buf_dispose(&ref_folder);
+       git_buf_dispose(&reflog_folder);
+}
+
index acd8661b8de1eee42eadf73c5f17cbc058856d9e..2cba9dfd3a3dbf11fc83164a4c4941c8b821f7d1 100644 (file)
@@ -84,7 +84,7 @@ void test_refs_branches_move__can_not_move_a_branch_if_its_destination_name_coll
        cl_assert_equal_i(GIT_EEXISTS,
                git_branch_move(&new_ref, original_ref, "master", 0));
 
-       cl_assert(giterr_last()->message != NULL);
+       cl_assert(git_error_last()->message != NULL);
 
        cl_git_pass(git_repository_config_snapshot(&config, repo));
        cl_git_pass(git_config_get_string(&str, config, "branch.master.remote"));
@@ -96,7 +96,7 @@ void test_refs_branches_move__can_not_move_a_branch_if_its_destination_name_coll
        cl_assert_equal_i(GIT_EEXISTS,
                git_branch_move(&new_ref, original_ref, "cannot-fetch", 0));
 
-       cl_assert(giterr_last()->message != NULL);
+       cl_assert(git_error_last()->message != NULL);
 
        cl_git_pass(git_repository_config_snapshot(&config, repo));
        cl_git_pass(git_config_get_string(&str, config, "branch.master.remote"));
@@ -111,7 +111,7 @@ void test_refs_branches_move__can_not_move_a_branch_if_its_destination_name_coll
        cl_assert_equal_i(GIT_EEXISTS,
                git_branch_move(&new_ref, original_ref, "master", 0));
 
-       cl_assert(giterr_last()->message != NULL);
+       cl_assert(git_error_last()->message != NULL);
 
        cl_git_pass(git_repository_config_snapshot(&config, repo));
        cl_git_pass(git_config_get_string(&str, config, "branch.master.remote"));
index 47526717f1196862dc0fce4ec24f57c0765baaa9..27a3b0c44975e3179cdfde40a2568d0373a49d11 100644 (file)
@@ -26,7 +26,7 @@ void test_refs_branches_remote__can_get_remote_for_branch(void)
        cl_git_pass(git_branch_remote_name(&remotename, g_repo, remote_tracking_branch_name));
 
        cl_assert_equal_s("test", remotename.ptr);
-       git_buf_free(&remotename);
+       git_buf_dispose(&remotename);
 }
 
 void test_refs_branches_remote__no_matching_remote_returns_error(void)
@@ -34,10 +34,10 @@ void test_refs_branches_remote__no_matching_remote_returns_error(void)
        const char *unknown = "refs/remotes/nonexistent/master";
        git_buf buf;
 
-       giterr_clear();
+       git_error_clear();
        memset(&buf, 0, sizeof(git_buf));
        cl_git_fail_with(git_branch_remote_name(&buf, g_repo, unknown), GIT_ENOTFOUND);
-       cl_assert(giterr_last() != NULL);
+       cl_assert(git_error_last() != NULL);
 }
 
 void test_refs_branches_remote__local_remote_returns_error(void)
@@ -45,10 +45,10 @@ void test_refs_branches_remote__local_remote_returns_error(void)
        const char *local = "refs/heads/master";
        git_buf buf;
 
-       giterr_clear();
+       git_error_clear();
        memset(&buf, 0, sizeof(git_buf));
        cl_git_fail_with(git_branch_remote_name(&buf, g_repo, local), GIT_ERROR);
-       cl_assert(giterr_last() != NULL);
+       cl_assert(git_error_last() != NULL);
 }
 
 void test_refs_branches_remote__ambiguous_remote_returns_error(void)
@@ -61,8 +61,8 @@ void test_refs_branches_remote__ambiguous_remote_returns_error(void)
 
        git_remote_free(remote);
 
-       giterr_clear();
+       git_error_clear();
        memset(&buf, 0, sizeof(git_buf));
        cl_git_fail_with(git_branch_remote_name(&buf, g_repo, remote_tracking_branch_name), GIT_EAMBIGUOUS);
-       cl_assert(giterr_last() != NULL);
+       cl_assert(git_error_last() != NULL);
 }
index 82f5665d848955e58b2d28716819098ebd106ca9..928a9ff7bee19ce38bfad67474edcad4a448530b 100644 (file)
@@ -68,7 +68,7 @@ void test_refs_branches_upstream__upstream_remote(void)
 
        cl_git_pass(git_branch_upstream_remote(&buf, repo, "refs/heads/master"));
        cl_assert_equal_s("test", buf.ptr);
-       git_buf_free(&buf);
+       git_buf_dispose(&buf);
 }
 
 void test_refs_branches_upstream__upstream_remote_empty_value(void)
@@ -91,7 +91,7 @@ static void assert_merge_and_or_remote_key_missing(git_repository *repository, c
 {
        git_reference *branch;
 
-       cl_assert_equal_i(GIT_OBJ_COMMIT, git_object_type((git_object*)target));
+       cl_assert_equal_i(GIT_OBJECT_COMMIT, git_object_type((git_object*)target));
        cl_git_pass(git_branch_create(&branch, repository, entry_name, (git_commit*)target, 0));
 
        cl_assert_equal_i(GIT_ENOTFOUND, git_branch_upstream(&upstream, branch));
@@ -108,7 +108,7 @@ void test_refs_branches_upstream__retrieve_a_remote_tracking_reference_from_a_br
        repository = cl_git_sandbox_init("testrepo.git");
 
        cl_git_pass(git_repository_head(&head, repository));
-       cl_git_pass(git_reference_peel(((git_object **)&target), head, GIT_OBJ_COMMIT));
+       cl_git_pass(git_reference_peel(((git_object **)&target), head, GIT_OBJECT_COMMIT));
        git_reference_free(head);
 
        assert_merge_and_or_remote_key_missing(repository, target, "remoteless");
@@ -176,7 +176,7 @@ void test_refs_branches_upstream__no_fetch_refspec(void)
        cl_git_pass(git_reference_create(&ref, repo, "refs/remotes/matching/master", git_reference_target(branch), 1, "fetch"));
        cl_git_fail(git_branch_set_upstream(branch, "matching/master"));
        cl_assert_equal_s("could not determine remote for 'refs/remotes/matching/master'",
-                         giterr_last()->message);
+                         git_error_last()->message);
 
        /* we can't set it automatically, so let's test the user setting it by hand */
        cl_git_pass(git_repository_config(&cfg, repo));
index d30002e080a8198ef8f31305d69928cc7ec6efe6..2eb639738ae4d0beddf619fcd0274dcd27782042 100644 (file)
@@ -13,7 +13,7 @@ void test_refs_branches_upstreamname__initialize(void)
 
 void test_refs_branches_upstreamname__cleanup(void)
 {
-       git_buf_free(&upstream_name);
+       git_buf_dispose(&upstream_name);
 
        git_repository_free(repo);
        repo = NULL;
index 469cddd1ebfcde5cb67fd9a79757bed5bc9c1de7..20ac579b3a519f548628dd6dfd1207369be85183 100644 (file)
@@ -41,13 +41,13 @@ void test_refs_create__symbolic(void)
 
        /* Ensure the reference can be looked-up... */
        cl_git_pass(git_reference_lookup(&looked_up_ref, g_repo, new_head_tracker));
-       cl_assert(git_reference_type(looked_up_ref) & GIT_REF_SYMBOLIC);
+       cl_assert(git_reference_type(looked_up_ref) & GIT_REFERENCE_SYMBOLIC);
        cl_assert(reference_is_packed(looked_up_ref) == 0);
        cl_assert_equal_s(looked_up_ref->name, new_head_tracker);
 
        /* ...peeled.. */
        cl_git_pass(git_reference_resolve(&resolved_ref, looked_up_ref));
-       cl_assert(git_reference_type(resolved_ref) == GIT_REF_OID);
+       cl_assert(git_reference_type(resolved_ref) == GIT_REFERENCE_DIRECT);
 
        /* ...and that it points to the current master tip */
        cl_assert_equal_oid(&id, git_reference_target(resolved_ref));
@@ -91,7 +91,7 @@ void test_refs_create__symbolic_with_arbitrary_content(void)
 
        /* Ensure the reference can be looked-up... */
        cl_git_pass(git_reference_lookup(&looked_up_ref, g_repo, new_head_tracker));
-       cl_assert(git_reference_type(looked_up_ref) & GIT_REF_SYMBOLIC);
+       cl_assert(git_reference_type(looked_up_ref) & GIT_REFERENCE_SYMBOLIC);
        cl_assert(reference_is_packed(looked_up_ref) == 0);
        cl_assert_equal_s(looked_up_ref->name, new_head_tracker);
        git_reference_free(looked_up_ref);
@@ -104,7 +104,7 @@ void test_refs_create__symbolic_with_arbitrary_content(void)
 
        /* Ensure the reference can be looked-up... */
        cl_git_pass(git_reference_lookup(&looked_up_ref, repo2, new_head_tracker));
-       cl_assert(git_reference_type(looked_up_ref) & GIT_REF_SYMBOLIC);
+       cl_assert(git_reference_type(looked_up_ref) & GIT_REFERENCE_SYMBOLIC);
        cl_assert(reference_is_packed(looked_up_ref) == 0);
        cl_assert_equal_s(looked_up_ref->name, new_head_tracker);
 
@@ -152,7 +152,7 @@ void test_refs_create__oid(void)
 
        /* Ensure the reference can be looked-up... */
        cl_git_pass(git_reference_lookup(&looked_up_ref, g_repo, new_head));
-       cl_assert(git_reference_type(looked_up_ref) & GIT_REF_OID);
+       cl_assert(git_reference_type(looked_up_ref) & GIT_REFERENCE_DIRECT);
        cl_assert(reference_is_packed(looked_up_ref) == 0);
        cl_assert_equal_s(looked_up_ref->name, new_head);
 
index a1b9e251ee2c29f4ac608af6f7e174188ff7252e..4cc78aa9c526d4f51ed02ead91ed4ddb4f0859fd 100644 (file)
@@ -27,7 +27,7 @@ void test_refs_delete__cleanup(void)
 
 void test_refs_delete__packed_loose(void)
 {
-   // deleting a ref which is both packed and loose should remove both tracks in the filesystem
+       /* deleting a ref which is both packed and loose should remove both tracks in the filesystem */
        git_reference *looked_up_ref, *another_looked_up_ref;
        git_buf temp_path = GIT_BUF_INIT;
 
@@ -52,12 +52,12 @@ void test_refs_delete__packed_loose(void)
        cl_assert(!git_path_exists(temp_path.ptr));
 
        git_reference_free(another_looked_up_ref);
-       git_buf_free(&temp_path);
+       git_buf_dispose(&temp_path);
 }
 
 void test_refs_delete__packed_only(void)
 {
-   // can delete a just packed reference
+       /* can delete a just packed reference */
        git_reference *ref;
        git_refdb *refdb;
        git_oid id;
index a09191e799faa62ce87f99901eca1d1083e8c92a..a13529376a09a5329f8c04618f6c425b22ac249a 100644 (file)
@@ -62,6 +62,11 @@ void test_refs_foreachglob__retrieve_local_branches(void)
        assert_retrieval("refs/heads/*", 12);
 }
 
+void test_refs_foreachglob__retrieve_nonexistant(void)
+{
+       assert_retrieval("refs/nonexistent/*", 0);
+}
+
 void test_refs_foreachglob__retrieve_partially_named_references(void)
 {
        /*
index 97461fd6945c1be1edb1ea9b09e90393526e52cf..3e8c82c94b6feb752313bfb56d7028ef9d45d8ad 100644 (file)
@@ -22,7 +22,7 @@ void test_refs_list__cleanup(void)
 
 void test_refs_list__all(void)
 {
-   // try to list all the references in our test repo
+       /* try to list all the references in our test repo */
        git_strarray ref_list;
 
        cl_git_pass(git_reference_list(&ref_list, g_repo));
index 456d0d2a801b1fa21d4824f906eec5b54cd8ea01..01e956de2529876cc801649b348f07093792165c 100644 (file)
@@ -64,5 +64,5 @@ void test_refs_lookup__dwim_notfound(void)
        git_reference *ref;
 
        cl_git_fail_with(GIT_ENOTFOUND, git_reference_dwim(&ref, g_repo, "idontexist"));
-       cl_assert_equal_s("no reference found for shorthand 'idontexist'", giterr_last()->message);
+       cl_assert_equal_s("no reference found for shorthand 'idontexist'", git_error_last()->message);
 }
index 7f313ef38ac2d79081b5890fbb85f14c416810ab..6da005da08496afba141a729373435aebf218bfa 100644 (file)
@@ -4,7 +4,7 @@
 #include "git2/reflog.h"
 #include "reflog.h"
 
-// Helpers
+/* Helpers */
 static void ensure_refname_normalized(
        unsigned int flags,
        const char *input_refname,
@@ -29,83 +29,83 @@ static void ensure_refname_invalid(unsigned int flags, const char *input_refname
 void test_refs_normalize__can_normalize_a_direct_reference_name(void)
 {
        ensure_refname_normalized(
-               GIT_REF_FORMAT_NORMAL, "refs/dummy/a", "refs/dummy/a");
+               GIT_REFERENCE_FORMAT_NORMAL, "refs/dummy/a", "refs/dummy/a");
        ensure_refname_normalized(
-               GIT_REF_FORMAT_NORMAL, "refs/stash", "refs/stash");
+               GIT_REFERENCE_FORMAT_NORMAL, "refs/stash", "refs/stash");
        ensure_refname_normalized(
-               GIT_REF_FORMAT_NORMAL, "refs/tags/a", "refs/tags/a");
+               GIT_REFERENCE_FORMAT_NORMAL, "refs/tags/a", "refs/tags/a");
        ensure_refname_normalized(
-               GIT_REF_FORMAT_NORMAL, "refs/heads/a/b", "refs/heads/a/b");
+               GIT_REFERENCE_FORMAT_NORMAL, "refs/heads/a/b", "refs/heads/a/b");
        ensure_refname_normalized(
-               GIT_REF_FORMAT_NORMAL, "refs/heads/a./b", "refs/heads/a./b");
+               GIT_REFERENCE_FORMAT_NORMAL, "refs/heads/a./b", "refs/heads/a./b");
        ensure_refname_normalized(
-               GIT_REF_FORMAT_NORMAL, "refs/heads/v@ation", "refs/heads/v@ation");
+               GIT_REFERENCE_FORMAT_NORMAL, "refs/heads/v@ation", "refs/heads/v@ation");
        ensure_refname_normalized(
-               GIT_REF_FORMAT_NORMAL, "refs///heads///a", "refs/heads/a");
+               GIT_REFERENCE_FORMAT_NORMAL, "refs///heads///a", "refs/heads/a");
 }
 
 void test_refs_normalize__cannot_normalize_any_direct_reference_name(void)
 {
        ensure_refname_invalid(
-               GIT_REF_FORMAT_NORMAL, "a");
+               GIT_REFERENCE_FORMAT_NORMAL, "a");
        ensure_refname_invalid(
-               GIT_REF_FORMAT_NORMAL, "/a");
+               GIT_REFERENCE_FORMAT_NORMAL, "/a");
        ensure_refname_invalid(
-               GIT_REF_FORMAT_NORMAL, "//a");
+               GIT_REFERENCE_FORMAT_NORMAL, "//a");
        ensure_refname_invalid(
-               GIT_REF_FORMAT_NORMAL, "");
+               GIT_REFERENCE_FORMAT_NORMAL, "");
        ensure_refname_invalid(
-               GIT_REF_FORMAT_NORMAL, "/refs/heads/a/");
+               GIT_REFERENCE_FORMAT_NORMAL, "/refs/heads/a/");
        ensure_refname_invalid(
-               GIT_REF_FORMAT_NORMAL, "refs/heads/a/");
+               GIT_REFERENCE_FORMAT_NORMAL, "refs/heads/a/");
        ensure_refname_invalid(
-               GIT_REF_FORMAT_NORMAL, "refs/heads/a.");
+               GIT_REFERENCE_FORMAT_NORMAL, "refs/heads/a.");
        ensure_refname_invalid(
-               GIT_REF_FORMAT_NORMAL, "refs/heads/a.lock");
+               GIT_REFERENCE_FORMAT_NORMAL, "refs/heads/a.lock");
        ensure_refname_invalid(
-               GIT_REF_FORMAT_NORMAL, "refs/heads/foo?bar");
+               GIT_REFERENCE_FORMAT_NORMAL, "refs/heads/foo?bar");
        ensure_refname_invalid(
-               GIT_REF_FORMAT_NORMAL, "refs/heads\foo");
+               GIT_REFERENCE_FORMAT_NORMAL, "refs/heads\foo");
        ensure_refname_normalized(
-               GIT_REF_FORMAT_NORMAL, "refs/heads/v@ation", "refs/heads/v@ation");
+               GIT_REFERENCE_FORMAT_NORMAL, "refs/heads/v@ation", "refs/heads/v@ation");
        ensure_refname_normalized(
-               GIT_REF_FORMAT_NORMAL, "refs///heads///a", "refs/heads/a");
+               GIT_REFERENCE_FORMAT_NORMAL, "refs///heads///a", "refs/heads/a");
        ensure_refname_invalid(
-               GIT_REF_FORMAT_NORMAL, "refs/heads/.a/b");
+               GIT_REFERENCE_FORMAT_NORMAL, "refs/heads/.a/b");
        ensure_refname_invalid(
-               GIT_REF_FORMAT_NORMAL, "refs/heads/foo/../bar");
+               GIT_REFERENCE_FORMAT_NORMAL, "refs/heads/foo/../bar");
        ensure_refname_invalid(
-               GIT_REF_FORMAT_NORMAL, "refs/heads/foo..bar");
+               GIT_REFERENCE_FORMAT_NORMAL, "refs/heads/foo..bar");
        ensure_refname_invalid(
-               GIT_REF_FORMAT_NORMAL, "refs/heads/./foo");
+               GIT_REFERENCE_FORMAT_NORMAL, "refs/heads/./foo");
        ensure_refname_invalid(
-               GIT_REF_FORMAT_NORMAL, "refs/heads/v@{ation");
+               GIT_REFERENCE_FORMAT_NORMAL, "refs/heads/v@{ation");
 }
 
 void test_refs_normalize__symbolic(void)
 {
        ensure_refname_invalid(
-               GIT_REF_FORMAT_ALLOW_ONELEVEL, "");
+               GIT_REFERENCE_FORMAT_ALLOW_ONELEVEL, "");
        ensure_refname_invalid(
-               GIT_REF_FORMAT_ALLOW_ONELEVEL, "heads\foo");
+               GIT_REFERENCE_FORMAT_ALLOW_ONELEVEL, "heads\foo");
        ensure_refname_invalid(
-               GIT_REF_FORMAT_ALLOW_ONELEVEL, "/");
+               GIT_REFERENCE_FORMAT_ALLOW_ONELEVEL, "/");
        ensure_refname_invalid(
-               GIT_REF_FORMAT_ALLOW_ONELEVEL, "///");
+               GIT_REFERENCE_FORMAT_ALLOW_ONELEVEL, "///");
 
        ensure_refname_normalized(
-               GIT_REF_FORMAT_ALLOW_ONELEVEL, "ALL_CAPS_AND_UNDERSCORES", "ALL_CAPS_AND_UNDERSCORES");
+               GIT_REFERENCE_FORMAT_ALLOW_ONELEVEL, "ALL_CAPS_AND_UNDERSCORES", "ALL_CAPS_AND_UNDERSCORES");
        ensure_refname_normalized(
-               GIT_REF_FORMAT_ALLOW_ONELEVEL, "refs/MixedCasing", "refs/MixedCasing");
+               GIT_REFERENCE_FORMAT_ALLOW_ONELEVEL, "refs/MixedCasing", "refs/MixedCasing");
        ensure_refname_normalized(
-               GIT_REF_FORMAT_ALLOW_ONELEVEL, "refs///heads///a", "refs/heads/a");
+               GIT_REFERENCE_FORMAT_ALLOW_ONELEVEL, "refs///heads///a", "refs/heads/a");
 
        ensure_refname_normalized(
-               GIT_REF_FORMAT_ALLOW_ONELEVEL, "HEAD", "HEAD");
+               GIT_REFERENCE_FORMAT_ALLOW_ONELEVEL, "HEAD", "HEAD");
        ensure_refname_normalized(
-               GIT_REF_FORMAT_ALLOW_ONELEVEL, "MERGE_HEAD", "MERGE_HEAD");
+               GIT_REFERENCE_FORMAT_ALLOW_ONELEVEL, "MERGE_HEAD", "MERGE_HEAD");
        ensure_refname_normalized(
-               GIT_REF_FORMAT_ALLOW_ONELEVEL, "FETCH_HEAD", "FETCH_HEAD");
+               GIT_REFERENCE_FORMAT_ALLOW_ONELEVEL, "FETCH_HEAD", "FETCH_HEAD");
 }
 
 /* Ported from JGit, BSD licence.
@@ -146,196 +146,194 @@ void test_refs_normalize__symbolic(void)
  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
  * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
+
 void test_refs_normalize__jgit_suite(void)
 {
-       // tests borrowed from JGit
+       /* tests borrowed from JGit */
 
 /* EmptyString */
        ensure_refname_invalid(
-               GIT_REF_FORMAT_ALLOW_ONELEVEL, "");
+               GIT_REFERENCE_FORMAT_ALLOW_ONELEVEL, "");
        ensure_refname_invalid(
-               GIT_REF_FORMAT_ALLOW_ONELEVEL, "/");
+               GIT_REFERENCE_FORMAT_ALLOW_ONELEVEL, "/");
 
 /* MustHaveTwoComponents */
        ensure_refname_invalid(
-               GIT_REF_FORMAT_NORMAL, "master");
+               GIT_REFERENCE_FORMAT_NORMAL, "master");
        ensure_refname_normalized(
-               GIT_REF_FORMAT_NORMAL, "heads/master", "heads/master");
+               GIT_REFERENCE_FORMAT_NORMAL, "heads/master", "heads/master");
 
 /* ValidHead */
        ensure_refname_normalized(
-               GIT_REF_FORMAT_ALLOW_ONELEVEL, "refs/heads/master", "refs/heads/master");
+               GIT_REFERENCE_FORMAT_ALLOW_ONELEVEL, "refs/heads/master", "refs/heads/master");
        ensure_refname_normalized(
-               GIT_REF_FORMAT_ALLOW_ONELEVEL, "refs/heads/pu", "refs/heads/pu");
+               GIT_REFERENCE_FORMAT_ALLOW_ONELEVEL, "refs/heads/pu", "refs/heads/pu");
        ensure_refname_normalized(
-               GIT_REF_FORMAT_ALLOW_ONELEVEL, "refs/heads/z", "refs/heads/z");
+               GIT_REFERENCE_FORMAT_ALLOW_ONELEVEL, "refs/heads/z", "refs/heads/z");
        ensure_refname_normalized(
-               GIT_REF_FORMAT_ALLOW_ONELEVEL, "refs/heads/FoO", "refs/heads/FoO");
+               GIT_REFERENCE_FORMAT_ALLOW_ONELEVEL, "refs/heads/FoO", "refs/heads/FoO");
 
 /* ValidTag */
        ensure_refname_normalized(
-               GIT_REF_FORMAT_ALLOW_ONELEVEL, "refs/tags/v1.0", "refs/tags/v1.0");
+               GIT_REFERENCE_FORMAT_ALLOW_ONELEVEL, "refs/tags/v1.0", "refs/tags/v1.0");
 
 /* NoLockSuffix */
-       ensure_refname_invalid(GIT_REF_FORMAT_ALLOW_ONELEVEL, "refs/heads/master.lock");
+       ensure_refname_invalid(GIT_REFERENCE_FORMAT_ALLOW_ONELEVEL, "refs/heads/master.lock");
 
 /* NoDirectorySuffix */
        ensure_refname_invalid(
-               GIT_REF_FORMAT_ALLOW_ONELEVEL, "refs/heads/master/");
+               GIT_REFERENCE_FORMAT_ALLOW_ONELEVEL, "refs/heads/master/");
 
 /* NoSpace */
        ensure_refname_invalid(
-               GIT_REF_FORMAT_ALLOW_ONELEVEL, "refs/heads/i haz space");
+               GIT_REFERENCE_FORMAT_ALLOW_ONELEVEL, "refs/heads/i haz space");
 
 /* NoAsciiControlCharacters */
        {
                char c;
                char buffer[GIT_REFNAME_MAX];
                for (c = '\1'; c < ' '; c++) {
-                       strncpy(buffer, "refs/heads/mast", 15);
-                       strncpy(buffer + 15, (const char *)&c, 1);
-                       strncpy(buffer + 16, "er", 2);
-                       buffer[18 - 1] = '\0';
-                       ensure_refname_invalid(GIT_REF_FORMAT_ALLOW_ONELEVEL, buffer);
+                       p_snprintf(buffer, sizeof(buffer), "refs/heads/mast%cer", c);
+                       ensure_refname_invalid(GIT_REFERENCE_FORMAT_ALLOW_ONELEVEL, buffer);
                }
        }
 
 /* NoBareDot */
        ensure_refname_invalid(
-               GIT_REF_FORMAT_ALLOW_ONELEVEL, "refs/heads/.");
+               GIT_REFERENCE_FORMAT_ALLOW_ONELEVEL, "refs/heads/.");
        ensure_refname_invalid(
-               GIT_REF_FORMAT_ALLOW_ONELEVEL, "refs/heads/..");
+               GIT_REFERENCE_FORMAT_ALLOW_ONELEVEL, "refs/heads/..");
        ensure_refname_invalid(
-               GIT_REF_FORMAT_ALLOW_ONELEVEL, "refs/heads/./master");
+               GIT_REFERENCE_FORMAT_ALLOW_ONELEVEL, "refs/heads/./master");
        ensure_refname_invalid(
-               GIT_REF_FORMAT_ALLOW_ONELEVEL, "refs/heads/../master");
+               GIT_REFERENCE_FORMAT_ALLOW_ONELEVEL, "refs/heads/../master");
 
 /* NoLeadingOrTrailingDot */
        ensure_refname_invalid(
-               GIT_REF_FORMAT_ALLOW_ONELEVEL, ".");
+               GIT_REFERENCE_FORMAT_ALLOW_ONELEVEL, ".");
        ensure_refname_invalid(
-               GIT_REF_FORMAT_ALLOW_ONELEVEL, "refs/heads/.bar");
+               GIT_REFERENCE_FORMAT_ALLOW_ONELEVEL, "refs/heads/.bar");
        ensure_refname_invalid(
-               GIT_REF_FORMAT_ALLOW_ONELEVEL, "refs/heads/..bar");
+               GIT_REFERENCE_FORMAT_ALLOW_ONELEVEL, "refs/heads/..bar");
        ensure_refname_invalid(
-               GIT_REF_FORMAT_ALLOW_ONELEVEL, "refs/heads/bar.");
+               GIT_REFERENCE_FORMAT_ALLOW_ONELEVEL, "refs/heads/bar.");
 
 /* ContainsDot */
        ensure_refname_normalized(
-               GIT_REF_FORMAT_ALLOW_ONELEVEL, "refs/heads/m.a.s.t.e.r", "refs/heads/m.a.s.t.e.r");
+               GIT_REFERENCE_FORMAT_ALLOW_ONELEVEL, "refs/heads/m.a.s.t.e.r", "refs/heads/m.a.s.t.e.r");
        ensure_refname_invalid(
-               GIT_REF_FORMAT_ALLOW_ONELEVEL, "refs/heads/master..pu");
+               GIT_REFERENCE_FORMAT_ALLOW_ONELEVEL, "refs/heads/master..pu");
 
 /* NoMagicRefCharacters */
        ensure_refname_invalid(
-               GIT_REF_FORMAT_ALLOW_ONELEVEL, "refs/heads/master^");
+               GIT_REFERENCE_FORMAT_ALLOW_ONELEVEL, "refs/heads/master^");
        ensure_refname_invalid(
-               GIT_REF_FORMAT_ALLOW_ONELEVEL, "refs/heads/^master");
+               GIT_REFERENCE_FORMAT_ALLOW_ONELEVEL, "refs/heads/^master");
        ensure_refname_invalid(
-               GIT_REF_FORMAT_ALLOW_ONELEVEL, "^refs/heads/master");
+               GIT_REFERENCE_FORMAT_ALLOW_ONELEVEL, "^refs/heads/master");
 
        ensure_refname_invalid(
-               GIT_REF_FORMAT_ALLOW_ONELEVEL, "refs/heads/master~");
+               GIT_REFERENCE_FORMAT_ALLOW_ONELEVEL, "refs/heads/master~");
        ensure_refname_invalid(
-               GIT_REF_FORMAT_ALLOW_ONELEVEL, "refs/heads/~master");
+               GIT_REFERENCE_FORMAT_ALLOW_ONELEVEL, "refs/heads/~master");
        ensure_refname_invalid(
-               GIT_REF_FORMAT_ALLOW_ONELEVEL, "~refs/heads/master");
+               GIT_REFERENCE_FORMAT_ALLOW_ONELEVEL, "~refs/heads/master");
 
        ensure_refname_invalid(
-               GIT_REF_FORMAT_ALLOW_ONELEVEL, "refs/heads/master:");
+               GIT_REFERENCE_FORMAT_ALLOW_ONELEVEL, "refs/heads/master:");
        ensure_refname_invalid(
-               GIT_REF_FORMAT_ALLOW_ONELEVEL, "refs/heads/:master");
+               GIT_REFERENCE_FORMAT_ALLOW_ONELEVEL, "refs/heads/:master");
        ensure_refname_invalid(
-               GIT_REF_FORMAT_ALLOW_ONELEVEL, ":refs/heads/master");
+               GIT_REFERENCE_FORMAT_ALLOW_ONELEVEL, ":refs/heads/master");
 
 /* ShellGlob */
        ensure_refname_invalid(
-               GIT_REF_FORMAT_ALLOW_ONELEVEL, "refs/heads/master?");
+               GIT_REFERENCE_FORMAT_ALLOW_ONELEVEL, "refs/heads/master?");
        ensure_refname_invalid(
-               GIT_REF_FORMAT_ALLOW_ONELEVEL, "refs/heads/?master");
+               GIT_REFERENCE_FORMAT_ALLOW_ONELEVEL, "refs/heads/?master");
        ensure_refname_invalid(
-               GIT_REF_FORMAT_ALLOW_ONELEVEL, "?refs/heads/master");
+               GIT_REFERENCE_FORMAT_ALLOW_ONELEVEL, "?refs/heads/master");
 
        ensure_refname_invalid(
-               GIT_REF_FORMAT_ALLOW_ONELEVEL, "refs/heads/master[");
+               GIT_REFERENCE_FORMAT_ALLOW_ONELEVEL, "refs/heads/master[");
        ensure_refname_invalid(
-               GIT_REF_FORMAT_ALLOW_ONELEVEL, "refs/heads/[master");
+               GIT_REFERENCE_FORMAT_ALLOW_ONELEVEL, "refs/heads/[master");
        ensure_refname_invalid(
-               GIT_REF_FORMAT_ALLOW_ONELEVEL, "[refs/heads/master");
+               GIT_REFERENCE_FORMAT_ALLOW_ONELEVEL, "[refs/heads/master");
 
        ensure_refname_invalid(
-               GIT_REF_FORMAT_ALLOW_ONELEVEL, "refs/heads/master*");
+               GIT_REFERENCE_FORMAT_ALLOW_ONELEVEL, "refs/heads/master*");
        ensure_refname_invalid(
-               GIT_REF_FORMAT_ALLOW_ONELEVEL, "refs/heads/*master");
+               GIT_REFERENCE_FORMAT_ALLOW_ONELEVEL, "refs/heads/*master");
        ensure_refname_invalid(
-               GIT_REF_FORMAT_ALLOW_ONELEVEL, "*refs/heads/master");
+               GIT_REFERENCE_FORMAT_ALLOW_ONELEVEL, "*refs/heads/master");
 
 /* ValidSpecialCharacters */
        ensure_refname_normalized
-               (GIT_REF_FORMAT_ALLOW_ONELEVEL, "refs/heads/!", "refs/heads/!");
+               (GIT_REFERENCE_FORMAT_ALLOW_ONELEVEL, "refs/heads/!", "refs/heads/!");
        ensure_refname_normalized(
-               GIT_REF_FORMAT_ALLOW_ONELEVEL, "refs/heads/\"", "refs/heads/\"");
+               GIT_REFERENCE_FORMAT_ALLOW_ONELEVEL, "refs/heads/\"", "refs/heads/\"");
        ensure_refname_normalized(
-               GIT_REF_FORMAT_ALLOW_ONELEVEL, "refs/heads/#", "refs/heads/#");
+               GIT_REFERENCE_FORMAT_ALLOW_ONELEVEL, "refs/heads/#", "refs/heads/#");
        ensure_refname_normalized(
-               GIT_REF_FORMAT_ALLOW_ONELEVEL, "refs/heads/$", "refs/heads/$");
+               GIT_REFERENCE_FORMAT_ALLOW_ONELEVEL, "refs/heads/$", "refs/heads/$");
        ensure_refname_normalized(
-               GIT_REF_FORMAT_ALLOW_ONELEVEL, "refs/heads/%", "refs/heads/%");
+               GIT_REFERENCE_FORMAT_ALLOW_ONELEVEL, "refs/heads/%", "refs/heads/%");
        ensure_refname_normalized(
-               GIT_REF_FORMAT_ALLOW_ONELEVEL, "refs/heads/&", "refs/heads/&");
+               GIT_REFERENCE_FORMAT_ALLOW_ONELEVEL, "refs/heads/&", "refs/heads/&");
        ensure_refname_normalized(
-               GIT_REF_FORMAT_ALLOW_ONELEVEL, "refs/heads/'", "refs/heads/'");
+               GIT_REFERENCE_FORMAT_ALLOW_ONELEVEL, "refs/heads/'", "refs/heads/'");
        ensure_refname_normalized(
-               GIT_REF_FORMAT_ALLOW_ONELEVEL, "refs/heads/(", "refs/heads/(");
+               GIT_REFERENCE_FORMAT_ALLOW_ONELEVEL, "refs/heads/(", "refs/heads/(");
        ensure_refname_normalized(
-               GIT_REF_FORMAT_ALLOW_ONELEVEL, "refs/heads/)", "refs/heads/)");
+               GIT_REFERENCE_FORMAT_ALLOW_ONELEVEL, "refs/heads/)", "refs/heads/)");
        ensure_refname_normalized(
-               GIT_REF_FORMAT_ALLOW_ONELEVEL, "refs/heads/+", "refs/heads/+");
+               GIT_REFERENCE_FORMAT_ALLOW_ONELEVEL, "refs/heads/+", "refs/heads/+");
        ensure_refname_normalized(
-               GIT_REF_FORMAT_ALLOW_ONELEVEL, "refs/heads/,", "refs/heads/,");
+               GIT_REFERENCE_FORMAT_ALLOW_ONELEVEL, "refs/heads/,", "refs/heads/,");
        ensure_refname_normalized(
-               GIT_REF_FORMAT_ALLOW_ONELEVEL, "refs/heads/-", "refs/heads/-");
+               GIT_REFERENCE_FORMAT_ALLOW_ONELEVEL, "refs/heads/-", "refs/heads/-");
        ensure_refname_normalized(
-               GIT_REF_FORMAT_ALLOW_ONELEVEL, "refs/heads/;", "refs/heads/;");
+               GIT_REFERENCE_FORMAT_ALLOW_ONELEVEL, "refs/heads/;", "refs/heads/;");
        ensure_refname_normalized(
-               GIT_REF_FORMAT_ALLOW_ONELEVEL, "refs/heads/<", "refs/heads/<");
+               GIT_REFERENCE_FORMAT_ALLOW_ONELEVEL, "refs/heads/<", "refs/heads/<");
        ensure_refname_normalized(
-               GIT_REF_FORMAT_ALLOW_ONELEVEL, "refs/heads/=", "refs/heads/=");
+               GIT_REFERENCE_FORMAT_ALLOW_ONELEVEL, "refs/heads/=", "refs/heads/=");
        ensure_refname_normalized(
-               GIT_REF_FORMAT_ALLOW_ONELEVEL, "refs/heads/>", "refs/heads/>");
+               GIT_REFERENCE_FORMAT_ALLOW_ONELEVEL, "refs/heads/>", "refs/heads/>");
        ensure_refname_normalized(
-               GIT_REF_FORMAT_ALLOW_ONELEVEL, "refs/heads/@", "refs/heads/@");
+               GIT_REFERENCE_FORMAT_ALLOW_ONELEVEL, "refs/heads/@", "refs/heads/@");
        ensure_refname_normalized(
-               GIT_REF_FORMAT_ALLOW_ONELEVEL, "refs/heads/]", "refs/heads/]");
+               GIT_REFERENCE_FORMAT_ALLOW_ONELEVEL, "refs/heads/]", "refs/heads/]");
        ensure_refname_normalized(
-               GIT_REF_FORMAT_ALLOW_ONELEVEL, "refs/heads/_", "refs/heads/_");
+               GIT_REFERENCE_FORMAT_ALLOW_ONELEVEL, "refs/heads/_", "refs/heads/_");
        ensure_refname_normalized(
-               GIT_REF_FORMAT_ALLOW_ONELEVEL, "refs/heads/`", "refs/heads/`");
+               GIT_REFERENCE_FORMAT_ALLOW_ONELEVEL, "refs/heads/`", "refs/heads/`");
        ensure_refname_normalized(
-               GIT_REF_FORMAT_ALLOW_ONELEVEL, "refs/heads/{", "refs/heads/{");
+               GIT_REFERENCE_FORMAT_ALLOW_ONELEVEL, "refs/heads/{", "refs/heads/{");
        ensure_refname_normalized(
-               GIT_REF_FORMAT_ALLOW_ONELEVEL, "refs/heads/|", "refs/heads/|");
+               GIT_REFERENCE_FORMAT_ALLOW_ONELEVEL, "refs/heads/|", "refs/heads/|");
        ensure_refname_normalized(
-               GIT_REF_FORMAT_ALLOW_ONELEVEL, "refs/heads/}", "refs/heads/}");
+               GIT_REFERENCE_FORMAT_ALLOW_ONELEVEL, "refs/heads/}", "refs/heads/}");
 
-       // This is valid on UNIX, but not on Windows
-       // hence we make in invalid due to non-portability
-       //
+       /*
+        * This is valid on UNIX, but not on Windows
+        * hence we make in invalid due to non-portability
+        */
        ensure_refname_invalid(
-               GIT_REF_FORMAT_ALLOW_ONELEVEL, "refs/heads/\\");
+               GIT_REFERENCE_FORMAT_ALLOW_ONELEVEL, "refs/heads/\\");
 
 /* UnicodeNames */
        /*
         * Currently this fails.
-        * ensure_refname_normalized(GIT_REF_FORMAT_ALLOW_ONELEVEL, "refs/heads/\u00e5ngstr\u00f6m", "refs/heads/\u00e5ngstr\u00f6m");
+        * ensure_refname_normalized(GIT_REFERENCE_FORMAT_ALLOW_ONELEVEL, "refs/heads/\u00e5ngstr\u00f6m", "refs/heads/\u00e5ngstr\u00f6m");
         */
 
 /* RefLogQueryIsValidRef */
        ensure_refname_invalid(
-               GIT_REF_FORMAT_ALLOW_ONELEVEL, "refs/heads/master@{1}");
+               GIT_REFERENCE_FORMAT_ALLOW_ONELEVEL, "refs/heads/master@{1}");
        ensure_refname_invalid(
-               GIT_REF_FORMAT_ALLOW_ONELEVEL, "refs/heads/master@{1.hour.ago}");
+               GIT_REFERENCE_FORMAT_ALLOW_ONELEVEL, "refs/heads/master@{1.hour.ago}");
 }
 
 void test_refs_normalize__buffer_has_to_be_big_enough_to_hold_the_normalized_version(void)
@@ -343,61 +341,61 @@ void test_refs_normalize__buffer_has_to_be_big_enough_to_hold_the_normalized_ver
        char buffer_out[21];
 
        cl_git_pass(git_reference_normalize_name(
-               buffer_out, 21, "refs//heads///long///name", GIT_REF_FORMAT_NORMAL));
+               buffer_out, 21, "refs//heads///long///name", GIT_REFERENCE_FORMAT_NORMAL));
        cl_git_fail(git_reference_normalize_name(
-               buffer_out, 20, "refs//heads///long///name", GIT_REF_FORMAT_NORMAL));
+               buffer_out, 20, "refs//heads///long///name", GIT_REFERENCE_FORMAT_NORMAL));
 }
 
 #define ONE_LEVEL_AND_REFSPEC \
-       GIT_REF_FORMAT_ALLOW_ONELEVEL \
-       | GIT_REF_FORMAT_REFSPEC_PATTERN
+       GIT_REFERENCE_FORMAT_ALLOW_ONELEVEL \
+       | GIT_REFERENCE_FORMAT_REFSPEC_PATTERN
 
 void test_refs_normalize__refspec_pattern(void)
 {
        ensure_refname_invalid(
-               GIT_REF_FORMAT_REFSPEC_PATTERN, "heads/*foo/bar");
+               GIT_REFERENCE_FORMAT_REFSPEC_PATTERN, "heads/*foo/bar");
        ensure_refname_invalid(
-               GIT_REF_FORMAT_REFSPEC_PATTERN, "heads/foo*/bar");
+               GIT_REFERENCE_FORMAT_REFSPEC_PATTERN, "heads/foo*/bar");
        ensure_refname_invalid(
-               GIT_REF_FORMAT_REFSPEC_PATTERN, "heads/f*o/bar");
+               GIT_REFERENCE_FORMAT_REFSPEC_PATTERN, "heads/f*o/bar");
 
        ensure_refname_invalid(
-               GIT_REF_FORMAT_REFSPEC_PATTERN, "foo");
+               GIT_REFERENCE_FORMAT_REFSPEC_PATTERN, "foo");
        ensure_refname_normalized(
                ONE_LEVEL_AND_REFSPEC, "FOO", "FOO");
 
        ensure_refname_normalized(
-               GIT_REF_FORMAT_REFSPEC_PATTERN, "foo/bar", "foo/bar");
+               GIT_REFERENCE_FORMAT_REFSPEC_PATTERN, "foo/bar", "foo/bar");
        ensure_refname_normalized(
                ONE_LEVEL_AND_REFSPEC, "foo/bar", "foo/bar");
 
        ensure_refname_normalized(
-               GIT_REF_FORMAT_REFSPEC_PATTERN, "*/foo", "*/foo");
+               GIT_REFERENCE_FORMAT_REFSPEC_PATTERN, "*/foo", "*/foo");
        ensure_refname_normalized(
                ONE_LEVEL_AND_REFSPEC, "*/foo", "*/foo");
 
        ensure_refname_normalized(
-               GIT_REF_FORMAT_REFSPEC_PATTERN, "foo/*/bar", "foo/*/bar");
+               GIT_REFERENCE_FORMAT_REFSPEC_PATTERN, "foo/*/bar", "foo/*/bar");
        ensure_refname_normalized(
                ONE_LEVEL_AND_REFSPEC, "foo/*/bar", "foo/*/bar");
 
        ensure_refname_invalid(
-               GIT_REF_FORMAT_REFSPEC_PATTERN, "*");
+               GIT_REFERENCE_FORMAT_REFSPEC_PATTERN, "*");
        ensure_refname_normalized(
                ONE_LEVEL_AND_REFSPEC, "*", "*");
 
        ensure_refname_invalid(
-               GIT_REF_FORMAT_REFSPEC_PATTERN, "foo/*/*");
+               GIT_REFERENCE_FORMAT_REFSPEC_PATTERN, "foo/*/*");
        ensure_refname_invalid(
                ONE_LEVEL_AND_REFSPEC, "foo/*/*");
 
        ensure_refname_invalid(
-               GIT_REF_FORMAT_REFSPEC_PATTERN, "*/foo/*");
+               GIT_REFERENCE_FORMAT_REFSPEC_PATTERN, "*/foo/*");
        ensure_refname_invalid(
                ONE_LEVEL_AND_REFSPEC, "*/foo/*");
 
        ensure_refname_invalid(
-               GIT_REF_FORMAT_REFSPEC_PATTERN, "*/*/foo");
+               GIT_REFERENCE_FORMAT_REFSPEC_PATTERN, "*/*/foo");
        ensure_refname_invalid(
                ONE_LEVEL_AND_REFSPEC, "*/*/foo");
 }
index 5aea2a764854fea277e22f09cd6b8f1c30337e4f..1826b1257598b391bd461b759b2080ed633fbb24 100644 (file)
@@ -23,7 +23,7 @@ void test_refs_overwrite__cleanup(void)
 
 void test_refs_overwrite__symbolic(void)
 {
-   // Overwrite an existing symbolic reference
+       /* Overwrite an existing symbolic reference */
        git_reference *ref, *branch_ref;
 
        /* The target needds to exist and we need to check the name has changed */
@@ -33,7 +33,7 @@ void test_refs_overwrite__symbolic(void)
 
        /* Ensure it points to the right place*/
        cl_git_pass(git_reference_lookup(&ref, g_repo, ref_name));
-       cl_assert(git_reference_type(ref) & GIT_REF_SYMBOLIC);
+       cl_assert(git_reference_type(ref) & GIT_REFERENCE_SYMBOLIC);
        cl_assert_equal_s(git_reference_symbolic_target(ref), ref_branch_name);
        git_reference_free(ref);
 
@@ -44,7 +44,7 @@ void test_refs_overwrite__symbolic(void)
 
        /* Ensure it points to the right place */
        cl_git_pass(git_reference_lookup(&ref, g_repo, ref_name));
-       cl_assert(git_reference_type(ref) & GIT_REF_SYMBOLIC);
+       cl_assert(git_reference_type(ref) & GIT_REFERENCE_SYMBOLIC);
        cl_assert_equal_s(git_reference_symbolic_target(ref), ref_master_name);
 
        git_reference_free(ref);
@@ -53,12 +53,12 @@ void test_refs_overwrite__symbolic(void)
 
 void test_refs_overwrite__object_id(void)
 {
-   // Overwrite an existing object id reference
+       /* Overwrite an existing object id reference */
        git_reference *ref;
        git_oid id;
 
        cl_git_pass(git_reference_lookup(&ref, g_repo, ref_master_name));
-       cl_assert(git_reference_type(ref) & GIT_REF_OID);
+       cl_assert(git_reference_type(ref) & GIT_REFERENCE_DIRECT);
        git_oid_cpy(&id, git_reference_target(ref));
        git_reference_free(ref);
 
@@ -67,7 +67,7 @@ void test_refs_overwrite__object_id(void)
        git_reference_free(ref);
 
        cl_git_pass(git_reference_lookup(&ref, g_repo, ref_test_name));
-       cl_assert(git_reference_type(ref) & GIT_REF_OID);
+       cl_assert(git_reference_type(ref) & GIT_REFERENCE_DIRECT);
        git_oid_cpy(&id, git_reference_target(ref));
        git_reference_free(ref);
 
@@ -85,12 +85,12 @@ void test_refs_overwrite__object_id(void)
 
 void test_refs_overwrite__object_id_with_symbolic(void)
 {
-   // Overwrite an existing object id reference with a symbolic one
+       /* Overwrite an existing object id reference with a symbolic one */
        git_reference *ref;
        git_oid id;
 
        cl_git_pass(git_reference_lookup(&ref, g_repo, ref_master_name));
-       cl_assert(git_reference_type(ref) & GIT_REF_OID);
+       cl_assert(git_reference_type(ref) & GIT_REFERENCE_DIRECT);
        git_oid_cpy(&id, git_reference_target(ref));
        git_reference_free(ref);
 
@@ -102,7 +102,7 @@ void test_refs_overwrite__object_id_with_symbolic(void)
 
        /* Ensure it points to the right place */
        cl_git_pass(git_reference_lookup(&ref, g_repo, ref_name));
-       cl_assert(git_reference_type(ref) & GIT_REF_SYMBOLIC);
+       cl_assert(git_reference_type(ref) & GIT_REFERENCE_SYMBOLIC);
        cl_assert_equal_s(git_reference_symbolic_target(ref), ref_master_name);
 
        git_reference_free(ref);
@@ -110,12 +110,12 @@ void test_refs_overwrite__object_id_with_symbolic(void)
 
 void test_refs_overwrite__symbolic_with_object_id(void)
 {
-   // Overwrite an existing symbolic reference with an object id one
+       /* Overwrite an existing symbolic reference with an object id one */
        git_reference *ref;
        git_oid id;
 
        cl_git_pass(git_reference_lookup(&ref, g_repo, ref_master_name));
-       cl_assert(git_reference_type(ref) & GIT_REF_OID);
+       cl_assert(git_reference_type(ref) & GIT_REFERENCE_DIRECT);
        git_oid_cpy(&id, git_reference_target(ref));
        git_reference_free(ref);
 
@@ -129,7 +129,7 @@ void test_refs_overwrite__symbolic_with_object_id(void)
 
        /* Ensure it points to the right place */
        cl_git_pass(git_reference_lookup(&ref, g_repo, ref_name));
-       cl_assert(git_reference_type(ref) & GIT_REF_OID);
+       cl_assert(git_reference_type(ref) & GIT_REFERENCE_DIRECT);
        cl_assert_equal_oid(&id, git_reference_target(ref));
 
        git_reference_free(ref);
index bda86f69a98adefca6dbd997832d52b21b1e1927..92312e26d8f2a2640d7aca5a67d4fbadc6916a3e 100644 (file)
@@ -37,7 +37,7 @@ void test_refs_pack__empty(void)
 
        cl_git_pass(git_buf_join_n(&temp_path, '/', 3, git_repository_path(g_repo), GIT_REFS_HEADS_DIR, "empty_dir"));
        cl_git_pass(git_futils_mkdir_r(temp_path.ptr, GIT_REFS_DIR_MODE));
-       git_buf_free(&temp_path);
+       git_buf_dispose(&temp_path);
 
        packall();
 }
@@ -75,7 +75,7 @@ void test_refs_pack__loose(void)
        cl_assert(!git_path_exists(temp_path.ptr));
 
        git_reference_free(reference);
-       git_buf_free(&temp_path);
+       git_buf_dispose(&temp_path);
 }
 
 void test_refs_pack__symbolic(void)
index 09809e19e2e2648e0350416735338cf92a584f05..38f3465a077eaaf4ea34dbb2125658b88390edb0 100644 (file)
@@ -20,16 +20,16 @@ void test_refs_peel__cleanup(void)
 static void assert_peel_generic(
        git_repository *repo,
        const char *ref_name,
-       git_otype requested_type,
+       git_object_t requested_type,
        const char* expected_sha,
-       git_otype expected_type)
+       git_object_t expected_type)
 {
        git_oid expected_oid;
        git_reference *ref;
        git_object *peeled;
 
        cl_git_pass(git_reference_lookup(&ref, repo, ref_name));
-       
+
        cl_git_pass(git_reference_peel(&peeled, ref, requested_type));
 
        cl_git_pass(git_oid_fromstr(&expected_oid, expected_sha));
@@ -43,21 +43,21 @@ static void assert_peel_generic(
 
 static void assert_peel(
        const char *ref_name,
-       git_otype requested_type,
+       git_object_t requested_type,
        const char* expected_sha,
-       git_otype expected_type)
+       git_object_t expected_type)
 {
        assert_peel_generic(g_repo, ref_name, requested_type,
                            expected_sha, expected_type);
 }
 
-static void assert_peel_error(int error, const char *ref_name, git_otype requested_type)
+static void assert_peel_error(int error, const char *ref_name, git_object_t requested_type)
 {
        git_reference *ref;
        git_object *peeled;
 
        cl_git_pass(git_reference_lookup(&ref, g_repo, ref_name));
-       
+
        cl_assert_equal_i(error, git_reference_peel(&peeled, ref, requested_type));
 
        git_reference_free(ref);
@@ -65,67 +65,67 @@ static void assert_peel_error(int error, const char *ref_name, git_otype request
 
 void test_refs_peel__can_peel_a_tag(void)
 {
-       assert_peel("refs/tags/test", GIT_OBJ_TAG,
-               "b25fa35b38051e4ae45d4222e795f9df2e43f1d1", GIT_OBJ_TAG);
-       assert_peel("refs/tags/test", GIT_OBJ_COMMIT,
-               "e90810b8df3e80c413d903f631643c716887138d", GIT_OBJ_COMMIT);
-       assert_peel("refs/tags/test", GIT_OBJ_TREE,
-               "53fc32d17276939fc79ed05badaef2db09990016", GIT_OBJ_TREE);
-       assert_peel("refs/tags/point_to_blob", GIT_OBJ_BLOB,
-               "1385f264afb75a56a5bec74243be9b367ba4ca08", GIT_OBJ_BLOB);
+       assert_peel("refs/tags/test", GIT_OBJECT_TAG,
+               "b25fa35b38051e4ae45d4222e795f9df2e43f1d1", GIT_OBJECT_TAG);
+       assert_peel("refs/tags/test", GIT_OBJECT_COMMIT,
+               "e90810b8df3e80c413d903f631643c716887138d", GIT_OBJECT_COMMIT);
+       assert_peel("refs/tags/test", GIT_OBJECT_TREE,
+               "53fc32d17276939fc79ed05badaef2db09990016", GIT_OBJECT_TREE);
+       assert_peel("refs/tags/point_to_blob", GIT_OBJECT_BLOB,
+               "1385f264afb75a56a5bec74243be9b367ba4ca08", GIT_OBJECT_BLOB);
 }
 
 void test_refs_peel__can_peel_a_branch(void)
 {
-       assert_peel("refs/heads/master", GIT_OBJ_COMMIT,
-               "a65fedf39aefe402d3bb6e24df4d4f5fe4547750", GIT_OBJ_COMMIT);
-       assert_peel("refs/heads/master", GIT_OBJ_TREE,
-               "944c0f6e4dfa41595e6eb3ceecdb14f50fe18162", GIT_OBJ_TREE);
+       assert_peel("refs/heads/master", GIT_OBJECT_COMMIT,
+               "a65fedf39aefe402d3bb6e24df4d4f5fe4547750", GIT_OBJECT_COMMIT);
+       assert_peel("refs/heads/master", GIT_OBJECT_TREE,
+               "944c0f6e4dfa41595e6eb3ceecdb14f50fe18162", GIT_OBJECT_TREE);
 }
 
 void test_refs_peel__can_peel_a_symbolic_reference(void)
 {
-       assert_peel("HEAD", GIT_OBJ_COMMIT,
-               "a65fedf39aefe402d3bb6e24df4d4f5fe4547750", GIT_OBJ_COMMIT);
-       assert_peel("HEAD", GIT_OBJ_TREE,
-               "944c0f6e4dfa41595e6eb3ceecdb14f50fe18162", GIT_OBJ_TREE);
+       assert_peel("HEAD", GIT_OBJECT_COMMIT,
+               "a65fedf39aefe402d3bb6e24df4d4f5fe4547750", GIT_OBJECT_COMMIT);
+       assert_peel("HEAD", GIT_OBJECT_TREE,
+               "944c0f6e4dfa41595e6eb3ceecdb14f50fe18162", GIT_OBJECT_TREE);
 }
 
 void test_refs_peel__cannot_peel_into_a_non_existing_target(void)
 {
-       assert_peel_error(GIT_EINVALIDSPEC, "refs/tags/point_to_blob", GIT_OBJ_TAG);
+       assert_peel_error(GIT_EINVALIDSPEC, "refs/tags/point_to_blob", GIT_OBJECT_TAG);
 }
 
 void test_refs_peel__can_peel_into_any_non_tag_object(void)
 {
-       assert_peel("refs/heads/master", GIT_OBJ_ANY,
-               "a65fedf39aefe402d3bb6e24df4d4f5fe4547750", GIT_OBJ_COMMIT);
-       assert_peel("refs/tags/point_to_blob", GIT_OBJ_ANY,
-               "1385f264afb75a56a5bec74243be9b367ba4ca08", GIT_OBJ_BLOB);
-       assert_peel("refs/tags/test", GIT_OBJ_ANY,
-               "e90810b8df3e80c413d903f631643c716887138d", GIT_OBJ_COMMIT);
+       assert_peel("refs/heads/master", GIT_OBJECT_ANY,
+               "a65fedf39aefe402d3bb6e24df4d4f5fe4547750", GIT_OBJECT_COMMIT);
+       assert_peel("refs/tags/point_to_blob", GIT_OBJECT_ANY,
+               "1385f264afb75a56a5bec74243be9b367ba4ca08", GIT_OBJECT_BLOB);
+       assert_peel("refs/tags/test", GIT_OBJECT_ANY,
+               "e90810b8df3e80c413d903f631643c716887138d", GIT_OBJECT_COMMIT);
 }
 
 void test_refs_peel__can_peel_fully_peeled_packed_refs(void)
 {
        assert_peel_generic(g_peel_repo,
-                           "refs/tags/tag-inside-tags", GIT_OBJ_ANY,
+                           "refs/tags/tag-inside-tags", GIT_OBJECT_ANY,
                            "0df1a5865c8abfc09f1f2182e6a31be550e99f07",
-                           GIT_OBJ_COMMIT);
+                           GIT_OBJECT_COMMIT);
        assert_peel_generic(g_peel_repo,
-                           "refs/foo/tag-outside-tags", GIT_OBJ_ANY,
+                           "refs/foo/tag-outside-tags", GIT_OBJECT_ANY,
                            "0df1a5865c8abfc09f1f2182e6a31be550e99f07",
-                           GIT_OBJ_COMMIT);
+                           GIT_OBJECT_COMMIT);
 }
 
 void test_refs_peel__can_peel_fully_peeled_tag_to_tag(void)
 {
        assert_peel_generic(g_peel_repo,
-                           "refs/tags/tag-inside-tags", GIT_OBJ_TAG,
+                           "refs/tags/tag-inside-tags", GIT_OBJECT_TAG,
                            "c2596aa0151888587ec5c0187f261e63412d9e11",
-                           GIT_OBJ_TAG);
+                           GIT_OBJECT_TAG);
        assert_peel_generic(g_peel_repo,
-                           "refs/foo/tag-outside-tags", GIT_OBJ_TAG,
+                           "refs/foo/tag-outside-tags", GIT_OBJECT_TAG,
                            "c2596aa0151888587ec5c0187f261e63412d9e11",
-                           GIT_OBJ_TAG);
+                           GIT_OBJECT_TAG);
 }
index cb42a568bcdb1bbdb5315806198b7634c242f411..1bbc387664952c447168db4d32f6ae9d530373ee 100644 (file)
@@ -28,24 +28,24 @@ void test_refs_read__cleanup(void)
 
 void test_refs_read__loose_tag(void)
 {
-   // lookup a loose tag reference
+       /* lookup a loose tag reference */
        git_reference *reference;
        git_object *object;
        git_buf ref_name_from_tag_name = GIT_BUF_INIT;
 
        cl_git_pass(git_reference_lookup(&reference, g_repo, loose_tag_ref_name));
-       cl_assert(git_reference_type(reference) & GIT_REF_OID);
+       cl_assert(git_reference_type(reference) & GIT_REFERENCE_DIRECT);
        cl_assert(reference_is_packed(reference) == 0);
        cl_assert_equal_s(reference->name, loose_tag_ref_name);
 
-       cl_git_pass(git_object_lookup(&object, g_repo, git_reference_target(reference), GIT_OBJ_ANY));
+       cl_git_pass(git_object_lookup(&object, g_repo, git_reference_target(reference), GIT_OBJECT_ANY));
        cl_assert(object != NULL);
-       cl_assert(git_object_type(object) == GIT_OBJ_TAG);
+       cl_assert(git_object_type(object) == GIT_OBJECT_TAG);
 
        /* Ensure the name of the tag matches the name of the reference */
        cl_git_pass(git_buf_joinpath(&ref_name_from_tag_name, GIT_REFS_TAGS_DIR, git_tag_name((git_tag *)object)));
        cl_assert_equal_s(ref_name_from_tag_name.ptr, loose_tag_ref_name);
-       git_buf_free(&ref_name_from_tag_name);
+       git_buf_dispose(&ref_name_from_tag_name);
 
        git_object_free(object);
 
@@ -54,7 +54,7 @@ void test_refs_read__loose_tag(void)
 
 void test_refs_read__nonexisting_tag(void)
 {
-   // lookup a loose tag reference that doesn't exist
+       /* lookup a loose tag reference that doesn't exist */
        git_reference *reference;
 
        cl_git_fail(git_reference_lookup(&reference, g_repo, non_existing_tag_ref_name));
@@ -65,22 +65,22 @@ void test_refs_read__nonexisting_tag(void)
 
 void test_refs_read__symbolic(void)
 {
-   // lookup a symbolic reference
+       /* lookup a symbolic reference */
        git_reference *reference, *resolved_ref;
        git_object *object;
        git_oid id;
 
        cl_git_pass(git_reference_lookup(&reference, g_repo, GIT_HEAD_FILE));
-       cl_assert(git_reference_type(reference) & GIT_REF_SYMBOLIC);
+       cl_assert(git_reference_type(reference) & GIT_REFERENCE_SYMBOLIC);
        cl_assert(reference_is_packed(reference) == 0);
        cl_assert_equal_s(reference->name, GIT_HEAD_FILE);
 
        cl_git_pass(git_reference_resolve(&resolved_ref, reference));
-       cl_assert(git_reference_type(resolved_ref) == GIT_REF_OID);
+       cl_assert(git_reference_type(resolved_ref) == GIT_REFERENCE_DIRECT);
 
-       cl_git_pass(git_object_lookup(&object, g_repo, git_reference_target(resolved_ref), GIT_OBJ_ANY));
+       cl_git_pass(git_object_lookup(&object, g_repo, git_reference_target(resolved_ref), GIT_OBJECT_ANY));
        cl_assert(object != NULL);
-       cl_assert(git_object_type(object) == GIT_OBJ_COMMIT);
+       cl_assert(git_object_type(object) == GIT_OBJECT_COMMIT);
 
        git_oid_fromstr(&id, current_master_tip);
        cl_assert_equal_oid(&id, git_object_id(object));
@@ -93,22 +93,22 @@ void test_refs_read__symbolic(void)
 
 void test_refs_read__nested_symbolic(void)
 {
-   // lookup a nested symbolic reference
+       /* lookup a nested symbolic reference */
        git_reference *reference, *resolved_ref;
        git_object *object;
        git_oid id;
 
        cl_git_pass(git_reference_lookup(&reference, g_repo, head_tracker_sym_ref_name));
-       cl_assert(git_reference_type(reference) & GIT_REF_SYMBOLIC);
+       cl_assert(git_reference_type(reference) & GIT_REFERENCE_SYMBOLIC);
        cl_assert(reference_is_packed(reference) == 0);
        cl_assert_equal_s(reference->name, head_tracker_sym_ref_name);
 
        cl_git_pass(git_reference_resolve(&resolved_ref, reference));
-       cl_assert(git_reference_type(resolved_ref) == GIT_REF_OID);
+       cl_assert(git_reference_type(resolved_ref) == GIT_REFERENCE_DIRECT);
 
-       cl_git_pass(git_object_lookup(&object, g_repo, git_reference_target(resolved_ref), GIT_OBJ_ANY));
+       cl_git_pass(git_object_lookup(&object, g_repo, git_reference_target(resolved_ref), GIT_OBJECT_ANY));
        cl_assert(object != NULL);
-       cl_assert(git_object_type(object) == GIT_OBJ_COMMIT);
+       cl_assert(git_object_type(object) == GIT_OBJECT_COMMIT);
 
        git_oid_fromstr(&id, current_master_tip);
        cl_assert_equal_oid(&id, git_object_id(object));
@@ -121,7 +121,7 @@ void test_refs_read__nested_symbolic(void)
 
 void test_refs_read__head_then_master(void)
 {
-   // lookup the HEAD and resolve the master branch
+       /* lookup the HEAD and resolve the master branch */
        git_reference *reference, *resolved_ref, *comp_base_ref;
 
        cl_git_pass(git_reference_lookup(&reference, g_repo, head_tracker_sym_ref_name));
@@ -145,7 +145,7 @@ void test_refs_read__head_then_master(void)
 
 void test_refs_read__master_then_head(void)
 {
-   // lookup the master branch and then the HEAD
+       /* lookup the master branch and then the HEAD */
        git_reference *reference, *master_ref, *resolved_ref;
 
        cl_git_pass(git_reference_lookup(&master_ref, g_repo, current_head_target));
@@ -162,18 +162,18 @@ void test_refs_read__master_then_head(void)
 
 void test_refs_read__packed(void)
 {
-   // lookup a packed reference
+       /* lookup a packed reference */
        git_reference *reference;
        git_object *object;
 
        cl_git_pass(git_reference_lookup(&reference, g_repo, packed_head_name));
-       cl_assert(git_reference_type(reference) & GIT_REF_OID);
+       cl_assert(git_reference_type(reference) & GIT_REFERENCE_DIRECT);
        cl_assert(reference_is_packed(reference));
        cl_assert_equal_s(reference->name, packed_head_name);
 
-       cl_git_pass(git_object_lookup(&object, g_repo, git_reference_target(reference), GIT_OBJ_ANY));
+       cl_git_pass(git_object_lookup(&object, g_repo, git_reference_target(reference), GIT_OBJECT_ANY));
        cl_assert(object != NULL);
-       cl_assert(git_object_type(object) == GIT_OBJ_COMMIT);
+       cl_assert(git_object_type(object) == GIT_OBJECT_COMMIT);
 
        git_object_free(object);
 
@@ -182,13 +182,13 @@ void test_refs_read__packed(void)
 
 void test_refs_read__loose_first(void)
 {
-   // assure that a loose reference is looked up before a packed reference
+       /* assure that a loose reference is looked up before a packed reference */
        git_reference *reference;
 
        cl_git_pass(git_reference_lookup(&reference, g_repo, packed_head_name));
        git_reference_free(reference);
        cl_git_pass(git_reference_lookup(&reference, g_repo, packed_test_head_name));
-       cl_assert(git_reference_type(reference) & GIT_REF_OID);
+       cl_assert(git_reference_type(reference) & GIT_REFERENCE_DIRECT);
        cl_assert(reference_is_packed(reference) == 0);
        cl_assert_equal_s(reference->name, packed_test_head_name);
 
index 7676e65a79a8171523aa7ec8457647354a83db0e..42b49216cd91714d14d1c1a8587dc9762e61053c 100644 (file)
@@ -19,7 +19,7 @@ int reference_is_packed(git_reference *ref)
 
        packed = !git_path_isfile(ref_path.ptr);
 
-       git_buf_free(&ref_path);
+       git_buf_dispose(&ref_path);
 
        return packed;
 }
index a7a77666bc4870ccc11dad5d16c4706d157b690d..5ca9ab31bd0eb9301601577f8e558a37fd9946fa 100644 (file)
@@ -155,7 +155,7 @@ void test_refs_reflog_messages__branch_birth(void)
        cl_git_pass(git_signature_now(&sig, "me", "foo@example.com"));
 
        cl_git_pass(git_repository_head(&ref, g_repo));
-       cl_git_pass(git_reference_peel((git_object **) &tree, ref, GIT_OBJ_TREE));
+       cl_git_pass(git_reference_peel((git_object **) &tree, ref, GIT_OBJECT_TREE));
 
        cl_git_pass(git_repository_set_head(g_repo, "refs/heads/orphan"));
 
@@ -191,7 +191,7 @@ void test_refs_reflog_messages__commit_on_symbolic_ref_updates_head_reflog(void)
        cl_git_pass(git_signature_now(&sig, "me", "foo@example.com"));
 
        cl_git_pass(git_repository_head(&ref1, g_repo));
-       cl_git_pass(git_reference_peel((git_object **) &tree, ref1, GIT_OBJ_TREE));
+       cl_git_pass(git_reference_peel((git_object **) &tree, ref1, GIT_OBJECT_TREE));
 
        nentries_master = reflog_entrycount(g_repo, "refs/heads/master");
 
@@ -355,7 +355,7 @@ void test_refs_reflog_messages__creating_branches_default_messages(void)
                g_email, "branch: Created from e90810b8df3");
 
        git_annotated_commit_free(annotated);
-       git_buf_free(&buf);
+       git_buf_dispose(&buf);
        git_commit_free(target);
        git_reference_free(branch1);
        git_reference_free(branch2);
index bbcdbf91b1c986321a0a5369c7c2b79554091919..cf8c5c2d32d7abeed60c758429ce18c11204cc43 100644 (file)
@@ -11,7 +11,7 @@ static const char *current_master_tip = "a65fedf39aefe402d3bb6e24df4d4f5fe454775
 static git_repository *g_repo;
 
 
-// helpers
+/* helpers */
 static void assert_signature(const git_signature *expected, const git_signature *actual)
 {
        cl_assert(actual);
@@ -22,15 +22,15 @@ static void assert_signature(const git_signature *expected, const git_signature
 }
 
 
-// Fixture setup and teardown
+/* Fixture setup and teardown */
 void test_refs_reflog_reflog__initialize(void)
 {
-   g_repo = cl_git_sandbox_init("testrepo.git");
+       g_repo = cl_git_sandbox_init("testrepo.git");
 }
 
 void test_refs_reflog_reflog__cleanup(void)
 {
-   cl_git_sandbox_cleanup();
+       cl_git_sandbox_cleanup();
 }
 
 static void assert_appends(const git_signature *committer, const git_oid *oid)
@@ -120,8 +120,8 @@ void test_refs_reflog_reflog__renaming_the_reference_moves_the_reflog(void)
        cl_assert_equal_i(true, git_path_isfile(git_buf_cstr(&moved_log_path)));
 
        git_reference_free(new_master);
-       git_buf_free(&moved_log_path);
-       git_buf_free(&master_log_path);
+       git_buf_dispose(&moved_log_path);
+       git_buf_dispose(&master_log_path);
 }
 
 void test_refs_reflog_reflog__deleting_the_reference_deletes_the_reflog(void)
@@ -139,7 +139,7 @@ void test_refs_reflog_reflog__deleting_the_reference_deletes_the_reflog(void)
        git_reference_free(master);
 
        cl_assert_equal_i(false, git_path_isfile(git_buf_cstr(&master_log_path)));
-       git_buf_free(&master_log_path);
+       git_buf_dispose(&master_log_path);
 }
 
 void test_refs_reflog_reflog__removes_empty_reflog_dir(void)
@@ -165,7 +165,7 @@ void test_refs_reflog_reflog__removes_empty_reflog_dir(void)
        cl_git_pass(git_reference_create(&ref, g_repo, "refs/heads/new-dir", &id, 0, NULL));
        git_reference_free(ref);
 
-       git_buf_free(&log_path);
+       git_buf_dispose(&log_path);
 }
 
 void test_refs_reflog_reflog__fails_gracefully_on_nonempty_reflog_dir(void)
@@ -192,7 +192,7 @@ void test_refs_reflog_reflog__fails_gracefully_on_nonempty_reflog_dir(void)
        cl_git_fail_with(GIT_EDIRECTORY, git_reference_create(&ref, g_repo, "refs/heads/new-dir", &id, 0, NULL));
        git_reference_free(ref);
 
-       git_buf_free(&log_path);
+       git_buf_dispose(&log_path);
 }
 
 static void assert_has_reflog(bool expected_result, const char *name)
@@ -221,7 +221,7 @@ void test_refs_reflog_reflog__reading_the_reflog_from_a_reference_with_no_log_re
        cl_assert_equal_i(0, (int)git_reflog_entrycount(reflog));
 
        git_reflog_free(reflog);
-       git_buf_free(&subtrees_log_path);
+       git_buf_dispose(&subtrees_log_path);
 }
 
 void test_refs_reflog_reflog__reading_a_reflog_with_invalid_format_returns_error(void)
@@ -253,18 +253,18 @@ void test_refs_reflog_reflog__reading_a_reflog_with_invalid_format_returns_error
        cl_assert(strstr(git_buf_cstr(&logcontents), "Reflog\nmessage") != NULL);
 
        /* clear the error state so we can capture the error generated by git_reflog_read */
-       giterr_clear();
+       git_error_clear();
 
        cl_git_fail(git_reflog_read(&reflog, g_repo, refname));
 
-       error = giterr_last();
+       error = git_error_last();
 
        cl_assert(error != NULL);
        cl_assert_equal_s("unable to parse OID - contains invalid characters", error->message);
 
        git_reference_free(ref);
-       git_buf_free(&logpath);
-       git_buf_free(&logcontents);
+       git_buf_dispose(&logpath);
+       git_buf_dispose(&logcontents);
 }
 
 void test_refs_reflog_reflog__cannot_write_a_moved_reflog(void)
@@ -285,8 +285,8 @@ void test_refs_reflog_reflog__cannot_write_a_moved_reflog(void)
 
        git_reflog_free(reflog);
        git_reference_free(new_master);
-       git_buf_free(&moved_log_path);
-       git_buf_free(&master_log_path);
+       git_buf_dispose(&moved_log_path);
+       git_buf_dispose(&master_log_path);
 }
 
 void test_refs_reflog_reflog__renaming_with_an_invalid_name_returns_EINVALIDSPEC(void)
@@ -422,6 +422,28 @@ void test_refs_reflog_reflog__logallrefupdates_bare_set_false(void)
        assert_no_reflog_update();
 }
 
+void test_refs_reflog_reflog__logallrefupdates_bare_set_always(void)
+{
+       git_config *config;
+       git_reference *ref;
+       git_reflog *log;
+       git_oid id;
+
+       cl_git_pass(git_repository_config(&config, g_repo));
+       cl_git_pass(git_config_set_string(config, "core.logallrefupdates", "always"));
+       git_config_free(config);
+
+       git_oid_fromstr(&id, "be3563ae3f795b2b4353bcce3a527ad0a4f7f644");
+       cl_git_pass(git_reference_create(&ref, g_repo, "refs/bork", &id, 1, "message"));
+
+       cl_git_pass(git_reflog_read(&log, g_repo, "refs/bork"));
+       cl_assert_equal_i(1, git_reflog_entrycount(log));
+       cl_assert_equal_s("message", git_reflog_entry_byindex(log, 0)->msg);
+
+       git_reflog_free(log);
+       git_reference_free(ref);
+}
+
 void test_refs_reflog_reflog__logallrefupdates_bare_unset(void)
 {
        git_config *config;
index 5e3673651958b4cf3a36a8e7ce4dddc1bfe23740..6eba8ecf90fd6fb19b956f87ff22bfd3d72a5043 100644 (file)
@@ -94,7 +94,7 @@ void cl_reflog_check_entry_(git_repository *repo, const char *reflog, size_t idx
        if (git_buf_len(&result) != 0)
                clar__fail(file, line, "Reflog entry mismatch", git_buf_cstr(&result), 1);
 
-       git_buf_free(&result);
+       git_buf_dispose(&result);
        git_reflog_free(log);
 }
 
@@ -113,6 +113,6 @@ void reflog_print(git_repository *repo, const char *reflog_name)
        }
 
        fprintf(stderr, "%s", git_buf_cstr(&out));
-       git_buf_free(&out);
+       git_buf_dispose(&out);
        git_reflog_free(reflog);
 }
index 3e0be313cabe6be396e2d649cbcdcab8a7cd94e6..9933bee1d356a0fbd9494a0bed86b19c7a7d4746 100644 (file)
@@ -34,7 +34,7 @@ void test_refs_rename__cleanup(void)
 
 void test_refs_rename__loose(void)
 {
-       // rename a loose reference
+       /* rename a loose reference */
        git_reference *looked_up_ref, *new_ref, *another_looked_up_ref;
        git_buf temp_path = GIT_BUF_INIT;
        const char *new_name = "refs/tags/Nemo/knows/refs.kung-fu";
@@ -71,12 +71,12 @@ void test_refs_rename__loose(void)
 
        git_reference_free(new_ref);
        git_reference_free(another_looked_up_ref);
-       git_buf_free(&temp_path);
+       git_buf_dispose(&temp_path);
 }
 
 void test_refs_rename__packed(void)
 {
-       // rename a packed reference (should make it loose)
+       /* rename a packed reference (should make it loose) */
        git_reference *looked_up_ref, *new_ref, *another_looked_up_ref;
        git_buf temp_path = GIT_BUF_INIT;
        const char *brand_new_name = "refs/heads/brand_new_name";
@@ -113,12 +113,12 @@ void test_refs_rename__packed(void)
 
        git_reference_free(new_ref);
        git_reference_free(another_looked_up_ref);
-       git_buf_free(&temp_path);
+       git_buf_dispose(&temp_path);
 }
 
 void test_refs_rename__packed_doesnt_pack_others(void)
 {
-       // renaming a packed reference does not pack another reference which happens to be in both loose and pack state
+       /* renaming a packed reference does not pack another reference which happens to be in both loose and pack state */
        git_reference *looked_up_ref, *another_looked_up_ref, *renamed_ref;
        git_buf temp_path = GIT_BUF_INIT;
        const char *brand_new_name = "refs/heads/brand_new_name";
@@ -155,12 +155,12 @@ void test_refs_rename__packed_doesnt_pack_others(void)
 
        git_reference_free(renamed_ref);
        git_reference_free(another_looked_up_ref);
-       git_buf_free(&temp_path);
+       git_buf_dispose(&temp_path);
 }
 
 void test_refs_rename__name_collision(void)
 {
-       // can not rename a reference with the name of an existing reference
+       /* can not rename a reference with the name of an existing reference */
        git_reference *looked_up_ref, *renamed_ref;
 
        /* An existing reference... */
@@ -179,7 +179,7 @@ void test_refs_rename__name_collision(void)
 
 void test_refs_rename__invalid_name(void)
 {
-       // can not rename a reference with an invalid name
+       /* can not rename a reference with an invalid name */
        git_reference *looked_up_ref, *renamed_ref;
 
        /* An existing oid reference... */
@@ -205,7 +205,7 @@ void test_refs_rename__invalid_name(void)
 
 void test_refs_rename__force_loose_packed(void)
 {
-       // can force-rename a packed reference with the name of an existing loose and packed reference
+       /* can force-rename a packed reference with the name of an existing loose and packed reference */
        git_reference *looked_up_ref, *renamed_ref;
        git_oid oid;
 
@@ -230,7 +230,7 @@ void test_refs_rename__force_loose_packed(void)
 
 void test_refs_rename__force_loose(void)
 {
-       // can force-rename a loose reference with the name of an existing loose reference
+       /* can force-rename a loose reference with the name of an existing loose reference */
        git_reference *looked_up_ref, *renamed_ref;
        git_oid oid;
 
@@ -258,13 +258,13 @@ void test_refs_rename__force_loose(void)
 
 void test_refs_rename__overwrite(void)
 {
-       // can not overwrite name of existing reference
+       /* can not overwrite name of existing reference */
        git_reference *ref, *ref_one, *ref_one_new, *ref_two;
        git_refdb *refdb;
        git_oid id;
 
        cl_git_pass(git_reference_lookup(&ref, g_repo, ref_master_name));
-       cl_assert(git_reference_type(ref) & GIT_REF_OID);
+       cl_assert(git_reference_type(ref) & GIT_REFERENCE_DIRECT);
 
        git_oid_cpy(&id, git_reference_target(ref));
 
@@ -292,12 +292,12 @@ void test_refs_rename__overwrite(void)
 
 void test_refs_rename__prefix(void)
 {
-       // can be renamed to a new name prefixed with the old name
+       /* can be renamed to a new name prefixed with the old name */
        git_reference *ref, *ref_two, *looked_up_ref, *renamed_ref;
        git_oid id;
 
        cl_git_pass(git_reference_lookup(&ref, g_repo, ref_master_name));
-       cl_assert(git_reference_type(ref) & GIT_REF_OID);
+       cl_assert(git_reference_type(ref) & GIT_REFERENCE_DIRECT);
 
        git_oid_cpy(&id, git_reference_target(ref));
 
@@ -325,12 +325,12 @@ void test_refs_rename__prefix(void)
 
 void test_refs_rename__move_up(void)
 {
-       // can move a reference to a upper reference hierarchy
+       /* can move a reference to a upper reference hierarchy */
        git_reference *ref, *ref_two, *looked_up_ref, *renamed_ref;
        git_oid id;
 
        cl_git_pass(git_reference_lookup(&ref, g_repo, ref_master_name));
-       cl_assert(git_reference_type(ref) & GIT_REF_OID);
+       cl_assert(git_reference_type(ref) & GIT_REFERENCE_DIRECT);
 
        git_oid_cpy(&id, git_reference_target(ref));
 
index 459188cf767dba405dbf978a323e59931fb97eac..3c4ed9af5bfb0ea7c030e033ad292d907eb87adf 100644 (file)
@@ -338,7 +338,7 @@ static void create_fake_stash_reference_and_reflog(git_repository *repo)
 
        cl_assert_equal_i(true, git_path_isfile(git_buf_cstr(&log_path)));
 
-       git_buf_free(&log_path);
+       git_buf_dispose(&log_path);
        git_reference_free(new_master);
 }
 
index 2b42ff253e331de593f6beb77419c5e55c1aea64..b34c71eb529433d4b4f1d3e85397c44c58d7ad47 100644 (file)
@@ -27,12 +27,12 @@ void test_refs_setter__update_direct(void)
        git_oid id;
 
        cl_git_pass(git_reference_lookup(&ref, g_repo, ref_master_name));
-       cl_assert(git_reference_type(ref) == GIT_REF_OID);
+       cl_assert(git_reference_type(ref) == GIT_REFERENCE_DIRECT);
        git_oid_cpy(&id, git_reference_target(ref));
        git_reference_free(ref);
 
        cl_git_pass(git_reference_lookup(&test_ref, g_repo, ref_test_name));
-       cl_assert(git_reference_type(test_ref) == GIT_REF_OID);
+       cl_assert(git_reference_type(test_ref) == GIT_REFERENCE_DIRECT);
 
        cl_git_pass(git_reference_set_target(&new_ref, test_ref, &id, NULL));
 
@@ -40,7 +40,7 @@ void test_refs_setter__update_direct(void)
        git_reference_free(new_ref);
 
        cl_git_pass(git_reference_lookup(&test_ref, g_repo, ref_test_name));
-       cl_assert(git_reference_type(test_ref) == GIT_REF_OID);
+       cl_assert(git_reference_type(test_ref) == GIT_REFERENCE_DIRECT);
        cl_assert_equal_oid(&id, git_reference_target(test_ref));
        git_reference_free(test_ref);
 }
@@ -50,7 +50,7 @@ void test_refs_setter__update_symbolic(void)
        git_reference *head, *new_head;
 
        cl_git_pass(git_reference_lookup(&head, g_repo, "HEAD"));
-       cl_assert(git_reference_type(head) == GIT_REF_SYMBOLIC);
+       cl_assert(git_reference_type(head) == GIT_REFERENCE_SYMBOLIC);
        cl_assert(strcmp(git_reference_symbolic_target(head), ref_master_name) == 0);
 
        cl_git_pass(git_reference_symbolic_set_target(&new_head, head, ref_test_name, NULL));
@@ -58,19 +58,19 @@ void test_refs_setter__update_symbolic(void)
        git_reference_free(head);
 
        cl_git_pass(git_reference_lookup(&head, g_repo, "HEAD"));
-       cl_assert(git_reference_type(head) == GIT_REF_SYMBOLIC);
+       cl_assert(git_reference_type(head) == GIT_REFERENCE_SYMBOLIC);
        cl_assert(strcmp(git_reference_symbolic_target(head), ref_test_name) == 0);
        git_reference_free(head);
 }
 
 void test_refs_setter__cant_update_direct_with_symbolic(void)
 {
-       // Overwrite an existing object id reference with a symbolic one
+       /* Overwrite an existing object id reference with a symbolic one */
        git_reference *ref, *new;
        git_oid id;
 
        cl_git_pass(git_reference_lookup(&ref, g_repo, ref_master_name));
-       cl_assert(git_reference_type(ref) == GIT_REF_OID);
+       cl_assert(git_reference_type(ref) == GIT_REFERENCE_DIRECT);
        git_oid_cpy(&id, git_reference_target(ref));
 
        cl_git_fail(git_reference_symbolic_set_target(&new, ref, ref_name, NULL));
@@ -80,12 +80,12 @@ void test_refs_setter__cant_update_direct_with_symbolic(void)
 
 void test_refs_setter__cant_update_symbolic_with_direct(void)
 {
-       // Overwrite an existing symbolic reference with an object id one
+       /* Overwrite an existing symbolic reference with an object id one */
        git_reference *ref, *new;
        git_oid id;
 
        cl_git_pass(git_reference_lookup(&ref, g_repo, ref_master_name));
-       cl_assert(git_reference_type(ref) == GIT_REF_OID);
+       cl_assert(git_reference_type(ref) == GIT_REFERENCE_DIRECT);
        git_oid_cpy(&id, git_reference_target(ref));
        git_reference_free(ref);
 
index 403ea75b8433af96f2663c1eff1c79c56a8cbed4..1c5127d9e388ccf0b4d8d5978dfccad0924e835a 100644 (file)
@@ -19,7 +19,7 @@ void test_refs_update__updating_the_target_of_a_symref_with_an_invalid_name_retu
        git_reference *head;
 
        cl_git_pass(git_reference_lookup(&head, g_repo, GIT_HEAD_FILE));
-       cl_assert_equal_i(GIT_REF_SYMBOLIC, git_reference_type(head));
+       cl_assert_equal_i(GIT_REFERENCE_SYMBOLIC, git_reference_type(head));
        git_reference_free(head);
 
        cl_assert_equal_i(GIT_EINVALIDSPEC, git_reference_symbolic_create(&head, g_repo, GIT_HEAD_FILE, "refs/heads/inv@{id", 1, NULL));
diff --git a/tests/remote/create.c b/tests/remote/create.c
new file mode 100644 (file)
index 0000000..5109623
--- /dev/null
@@ -0,0 +1,388 @@
+#include "clar_libgit2.h"
+#include "config/config_helpers.h"
+
+static git_repository *_repo;
+static git_config *_config;
+
+#define TEST_URL "http://github.com/libgit2/libgit2.git"
+
+void test_remote_create__initialize(void)
+{
+       cl_fixture_sandbox("testrepo.git");
+
+       cl_git_pass(git_repository_open(&_repo, "testrepo.git"));
+
+       cl_git_pass(git_repository_config(&_config, _repo));
+}
+
+void test_remote_create__cleanup(void)
+{
+       git_config_free(_config);
+
+       git_repository_free(_repo);
+
+       cl_fixture_cleanup("testrepo.git");
+}
+
+void test_remote_create__manual(void)
+{
+       git_remote *remote;
+       cl_git_pass(git_config_set_string(_config, "remote.origin.fetch", "+refs/heads/*:refs/remotes/origin/*"));
+       cl_git_pass(git_config_set_string(_config, "remote.origin.url", TEST_URL));
+
+       cl_git_pass(git_remote_lookup(&remote, _repo, "origin"));
+       cl_assert_equal_s(git_remote_name(remote), "origin");
+       cl_assert_equal_s(git_remote_url(remote), TEST_URL);
+
+       git_remote_free(remote);
+}
+
+void test_remote_create__named(void)
+{
+       git_remote *remote;
+       git_config *cfg;
+       const char *cfg_val;
+
+       size_t section_count = count_config_entries_match(_repo, "remote\\.");
+
+       cl_git_pass(git_remote_create(&remote, _repo, "valid-name", TEST_URL));
+
+       cl_assert_equal_s(git_remote_name(remote), "valid-name");
+       cl_assert_equal_s(git_remote_url(remote), TEST_URL);
+       cl_assert_equal_p(git_remote_owner(remote), _repo);
+
+       cl_git_pass(git_repository_config_snapshot(&cfg, _repo));
+
+       cl_git_pass(git_config_get_string(&cfg_val, cfg, "remote.valid-name.fetch"));
+       cl_assert_equal_s(cfg_val, "+refs/heads/*:refs/remotes/valid-name/*");
+
+       cl_git_pass(git_config_get_string(&cfg_val, cfg, "remote.valid-name.url"));
+       cl_assert_equal_s(cfg_val, TEST_URL);
+
+       cl_assert_equal_i(section_count + 2, count_config_entries_match(_repo, "remote\\."));
+
+       git_config_free(cfg);
+       git_remote_free(remote);
+}
+
+void test_remote_create__named_fail_on_invalid_name(void)
+{
+       const char *names[] = {
+               NULL,
+               "Inv@{id",
+               "",
+               "/",
+               "//",
+               ".lock",
+               "a.lock",
+       };
+       size_t i;
+
+       for (i = 0; i < ARRAY_SIZE(names); i++) {
+               git_remote *remote = NULL;
+               cl_git_fail_with(GIT_EINVALIDSPEC, git_remote_create(&remote, _repo, names[i], TEST_URL));
+               cl_assert_equal_p(remote, NULL);
+       }
+}
+
+void test_remote_create__named_fail_on_invalid_url(void)
+{
+       git_remote *remote = NULL;
+
+       cl_git_fail_with(GIT_ERROR, git_remote_create(&remote, _repo, "bad-url", ""));
+       cl_assert_equal_p(remote, NULL);
+}
+
+void test_remote_create__named_fail_on_conflicting_name(void)
+{
+       git_remote *remote = NULL;
+
+       cl_git_fail_with(GIT_EEXISTS, git_remote_create(&remote, _repo, "test", TEST_URL));
+       cl_assert_equal_p(remote, NULL);
+}
+
+void test_remote_create__with_fetchspec(void)
+{
+       git_remote *remote;
+       git_strarray array;
+       size_t section_count = count_config_entries_match(_repo, "remote\\.");
+
+       cl_git_pass(git_remote_create_with_fetchspec(&remote, _repo, "test-new", "git://github.com/libgit2/libgit2", "+refs/*:refs/*"));
+       cl_assert_equal_s(git_remote_name(remote), "test-new");
+       cl_assert_equal_s(git_remote_url(remote), "git://github.com/libgit2/libgit2");
+       cl_assert_equal_p(git_remote_owner(remote), _repo);
+
+       cl_git_pass(git_remote_get_fetch_refspecs(&array, remote));
+       cl_assert_equal_s("+refs/*:refs/*", array.strings[0]);
+       cl_assert_equal_i(1, array.count);
+       cl_assert_equal_i(section_count + 2, count_config_entries_match(_repo, "remote\\."));
+
+       git_strarray_free(&array);
+       git_remote_free(remote);
+}
+
+void test_remote_create__with_empty_fetchspec(void)
+{
+       git_remote *remote;
+       git_strarray array;
+       size_t section_count = count_config_entries_match(_repo, "remote\\.");
+
+       cl_git_pass(git_remote_create_with_fetchspec(&remote, _repo, "test-new", "git://github.com/libgit2/libgit2", NULL));
+       cl_git_pass(git_remote_get_fetch_refspecs(&array, remote));
+       cl_assert_equal_i(0, array.count);
+       cl_assert_equal_i(section_count + 1, count_config_entries_match(_repo, "remote\\."));
+
+       git_strarray_free(&array);
+       git_remote_free(remote);
+}
+
+void test_remote_create__with_fetchspec_invalid_name(void)
+{
+       git_remote *remote = NULL;
+
+       cl_git_fail_with(GIT_EINVALIDSPEC, git_remote_create_with_fetchspec(&remote, _repo, NULL, TEST_URL, NULL));
+       cl_assert_equal_p(remote, NULL);
+}
+
+void test_remote_create__with_fetchspec_invalid_url(void)
+{
+       git_remote *remote = NULL;
+
+       cl_git_fail_with(GIT_EINVALIDSPEC, git_remote_create_with_fetchspec(&remote, _repo, NULL, "", NULL));
+       cl_assert_equal_p(remote, NULL);
+}
+
+void test_remote_create__anonymous(void)
+{
+       git_remote *remote;
+       git_strarray array;
+       size_t section_count = count_config_entries_match(_repo, "remote\\.");
+
+       cl_git_pass(git_remote_create_anonymous(&remote, _repo, TEST_URL));
+       cl_assert_equal_s(git_remote_name(remote), NULL);
+       cl_assert_equal_s(git_remote_url(remote), TEST_URL);
+       cl_assert_equal_p(git_remote_owner(remote), _repo);
+
+       cl_git_pass(git_remote_get_fetch_refspecs(&array, remote));
+       cl_assert_equal_i(0, array.count);
+       cl_assert_equal_i(section_count, count_config_entries_match(_repo, "remote\\."));
+
+       git_strarray_free(&array);
+       git_remote_free(remote);
+}
+
+void test_remote_create__anonymous_invalid_url(void)
+{
+       git_remote *remote = NULL;
+
+       cl_git_fail_with(GIT_EINVALIDSPEC, git_remote_create_anonymous(&remote, _repo, ""));
+       cl_assert_equal_p(remote, NULL);
+}
+
+void test_remote_create__detached(void)
+{
+       git_remote *remote;
+       git_strarray array;
+
+       size_t section_count = count_config_entries_match(_repo, "remote\\.");
+
+       cl_git_pass(git_remote_create_detached(&remote, TEST_URL));
+       cl_assert_equal_s(git_remote_name(remote), NULL);
+       cl_assert_equal_s(git_remote_url(remote), TEST_URL);
+       cl_assert_equal_p(git_remote_owner(remote), NULL);
+
+       cl_git_pass(git_remote_get_fetch_refspecs(&array, remote));
+       cl_assert_equal_i(0, array.count);
+       cl_assert_equal_i(section_count, count_config_entries_match(_repo, "remote\\."));
+
+       git_strarray_free(&array);
+       git_remote_free(remote);
+}
+
+void test_remote_create__detached_invalid_url(void)
+{
+       git_remote *remote = NULL;
+
+       cl_git_fail_with(GIT_EINVALIDSPEC, git_remote_create_detached(&remote, ""));
+       cl_assert_equal_p(remote, NULL);
+}
+
+void test_remote_create__with_opts_named(void)
+{
+       git_remote *remote;
+       git_strarray array;
+       git_remote_create_options opts = GIT_REMOTE_CREATE_OPTIONS_INIT;
+
+       opts.name = "test-new";
+       opts.repository = _repo;
+
+       cl_git_pass(git_remote_create_with_opts(&remote, TEST_URL, &opts));
+       cl_assert_equal_s(git_remote_name(remote), "test-new");
+       cl_assert_equal_s(git_remote_url(remote), TEST_URL);
+       cl_assert_equal_p(git_remote_owner(remote), _repo);
+
+       cl_git_pass(git_remote_get_fetch_refspecs(&array, remote));
+       cl_assert_equal_i(1, array.count);
+       cl_assert_equal_s("+refs/heads/*:refs/remotes/test-new/*", array.strings[0]);
+
+       git_strarray_free(&array);
+       git_remote_free(remote);
+}
+
+void test_remote_create__with_opts_named_and_fetchspec(void)
+{
+       git_remote *remote;
+       git_strarray array;
+       git_remote_create_options opts = GIT_REMOTE_CREATE_OPTIONS_INIT;
+
+       opts.name = "test-new";
+       opts.repository = _repo;
+       opts.fetchspec = "+refs/*:refs/*";
+
+       cl_git_pass(git_remote_create_with_opts(&remote, TEST_URL, &opts));
+       cl_assert_equal_s(git_remote_name(remote), "test-new");
+       cl_assert_equal_s(git_remote_url(remote), TEST_URL);
+       cl_assert_equal_p(git_remote_owner(remote), _repo);
+
+       cl_git_pass(git_remote_get_fetch_refspecs(&array, remote));
+       cl_assert_equal_i(1, array.count);
+       cl_assert_equal_s("+refs/*:refs/*", array.strings[0]);
+
+       git_strarray_free(&array);
+       git_remote_free(remote);
+}
+
+void test_remote_create__with_opts_named_no_fetchspec(void)
+{
+       git_remote *remote;
+       git_strarray array;
+       git_remote_create_options opts = GIT_REMOTE_CREATE_OPTIONS_INIT;
+
+       opts.name = "test-new";
+       opts.repository = _repo;
+       opts.flags = GIT_REMOTE_CREATE_SKIP_DEFAULT_FETCHSPEC;
+
+       cl_git_pass(git_remote_create_with_opts(&remote, TEST_URL, &opts));
+       cl_assert_equal_s(git_remote_name(remote), "test-new");
+       cl_assert_equal_s(git_remote_url(remote), TEST_URL);
+       cl_assert_equal_p(git_remote_owner(remote), _repo);
+
+       cl_git_pass(git_remote_get_fetch_refspecs(&array, remote));
+       cl_assert_equal_i(0, array.count);
+
+       git_strarray_free(&array);
+       git_remote_free(remote);
+}
+
+void test_remote_create__with_opts_anonymous(void)
+{
+       git_remote *remote;
+       git_strarray array;
+       git_remote_create_options opts = GIT_REMOTE_CREATE_OPTIONS_INIT;
+
+       opts.repository = _repo;
+
+       cl_git_pass(git_remote_create_with_opts(&remote, TEST_URL, &opts));
+       cl_assert_equal_s(git_remote_name(remote), NULL);
+       cl_assert_equal_s(git_remote_url(remote), TEST_URL);
+       cl_assert_equal_p(git_remote_owner(remote), _repo);
+
+       cl_git_pass(git_remote_get_fetch_refspecs(&array, remote));
+       cl_assert_equal_i(0, array.count);
+
+       git_strarray_free(&array);
+       git_remote_free(remote);
+}
+
+void test_remote_create__with_opts_detached(void)
+{
+       git_remote *remote;
+       git_strarray array;
+       git_remote_create_options opts = GIT_REMOTE_CREATE_OPTIONS_INIT;
+
+       cl_git_pass(git_remote_create_with_opts(&remote, TEST_URL, &opts));
+       cl_assert_equal_s(git_remote_name(remote), NULL);
+       cl_assert_equal_s(git_remote_url(remote), TEST_URL);
+       cl_assert_equal_p(git_remote_owner(remote), NULL);
+
+       cl_git_pass(git_remote_get_fetch_refspecs(&array, remote));
+       cl_assert_equal_i(0, array.count);
+
+       git_strarray_free(&array);
+
+       git_remote_free(remote);
+
+       cl_git_pass(git_remote_create_with_opts(&remote, TEST_URL, NULL));
+       cl_assert_equal_s(git_remote_name(remote), NULL);
+       cl_assert_equal_s(git_remote_url(remote), TEST_URL);
+       cl_assert_equal_p(git_remote_owner(remote), NULL);
+
+       cl_git_pass(git_remote_get_fetch_refspecs(&array, remote));
+       cl_assert_equal_i(0, array.count);
+
+       git_strarray_free(&array);
+
+       git_remote_free(remote);
+}
+
+
+void test_remote_create__with_opts_insteadof_disabled(void)
+{
+       git_remote *remote;
+       git_remote_create_options opts = GIT_REMOTE_CREATE_OPTIONS_INIT;
+
+       opts.repository = _repo;
+       opts.flags = GIT_REMOTE_CREATE_SKIP_INSTEADOF;
+
+       cl_git_pass(git_remote_create_with_opts(&remote, "http://example.com/libgit2/libgit2", &opts));
+
+       cl_assert_equal_s(git_remote_url(remote), "http://example.com/libgit2/libgit2");
+       cl_assert_equal_p(git_remote_pushurl(remote), NULL);
+
+       git_remote_free(remote);
+}
+
+static int create_with_name(git_remote **remote, git_repository *repo, const char *name, const char *url)
+{
+       git_remote_create_options opts = GIT_REMOTE_CREATE_OPTIONS_INIT;
+
+       opts.repository = repo;
+       opts.name = name;
+
+       return git_remote_create_with_opts(remote, url, &opts);
+}
+
+void test_remote_create__with_opts_invalid_name(void)
+{
+       const char *names[] = {
+               "Inv@{id",
+               "",
+               "/",
+               "//",
+               ".lock",
+               "a.lock",
+       };
+       size_t i;
+
+       for (i = 0; i < ARRAY_SIZE(names); i++) {
+               git_remote *remote = NULL;
+               cl_git_fail_with(GIT_EINVALIDSPEC, create_with_name(&remote, _repo, names[i], TEST_URL));
+               cl_assert_equal_p(remote, NULL);
+       }
+}
+
+void test_remote_create__with_opts_conflicting_name(void)
+{
+       git_remote *remote = NULL;
+
+       cl_git_fail_with(GIT_EEXISTS, create_with_name(&remote, _repo, "test", TEST_URL));
+       cl_assert_equal_p(remote, NULL);
+}
+
+void test_remote_create__with_opts_invalid_url(void)
+{
+       git_remote *remote = NULL;
+
+       cl_git_fail_with(GIT_EINVALIDSPEC, create_with_name(&remote, _repo, "test-new", ""));
+       cl_assert_equal_p(remote, NULL);
+}
index 93dedd576024dccfc052f0de9aabff068f141c23..b92d8420221c0374ff008a231ae0d8865f7edd03 100644 (file)
@@ -21,7 +21,7 @@ void test_repo_config__cleanup(void)
 {
        cl_sandbox_set_search_path_defaults();
 
-       git_buf_free(&path);
+       git_buf_dispose(&path);
 
        cl_git_pass(
                git_futils_rmdir_r("alternate", NULL, GIT_RMDIR_REMOVE_FILES));
@@ -70,7 +70,7 @@ void test_repo_config__can_open_missing_global_with_separators(void)
        cl_git_pass(git_libgit2_opts(
                GIT_OPT_SET_SEARCH_PATH, GIT_CONFIG_LEVEL_XDG, path.ptr));
 
-       git_buf_free(&path);
+       git_buf_dispose(&path);
 
        cl_git_pass(git_repository_open(&repo, "empty_standard_repo"));
        cl_git_pass(git_repository_config(&config, repo));
index eadd055e968a12aaa5c76ec2c4866432c7546187..cc61c71250fabe7c4deca538394ecff6ea504211 100644 (file)
@@ -37,8 +37,8 @@ static void ensure_repository_discover(const char *start_path,
 
        cl_assert_equal_s(found_path.ptr, resolved.ptr);
 
-       git_buf_free(&resolved);
-       git_buf_free(&found_path);
+       git_buf_dispose(&resolved);
+       git_buf_dispose(&found_path);
 }
 
 static void write_file(const char *path, const char *content)
@@ -58,7 +58,7 @@ static void write_file(const char *path, const char *content)
        cl_git_pass(error);
 }
 
-//no check is performed on ceiling_dirs length, so be sure it's long enough
+/*no check is performed on ceiling_dirs length, so be sure it's long enough */
 static void append_ceiling_dir(git_buf *ceiling_dirs, const char *path)
 {
        git_buf pretty_path = GIT_BUF_INIT;
@@ -71,7 +71,7 @@ static void append_ceiling_dir(git_buf *ceiling_dirs, const char *path)
 
        git_buf_puts(ceiling_dirs, pretty_path.ptr);
 
-       git_buf_free(&pretty_path);
+       git_buf_dispose(&pretty_path);
        cl_assert(git_buf_oom(ceiling_dirs) == 0);
 }
 
@@ -114,8 +114,8 @@ void test_repo_discover__initialize(void)
 
 void test_repo_discover__cleanup(void)
 {
-       git_buf_free(&discovered);
-       git_buf_free(&ceiling_dirs);
+       git_buf_dispose(&discovered);
+       git_buf_dispose(&ceiling_dirs);
        cl_git_pass(git_futils_rmdir_r(TEMP_REPO_FOLDER, NULL, GIT_RMDIR_REMOVE_FILES));
 }
 
index 6404f88e97e0106af591e3c1371bf9426b87a943..9dafda19838088514d88751c34a10de6d83264ec 100644 (file)
@@ -45,7 +45,7 @@ static int GIT_FORMAT_PRINTF(2, 3) cl_setenv_printf(const char *name, const char
        va_end(args);
 
        ret = cl_setenv(name, git_buf_cstr(&buf));
-       git_buf_free(&buf);
+       git_buf_dispose(&buf);
        return ret;
 }
 
@@ -85,7 +85,7 @@ static void env_cd_(
        cl_must_pass(p_chdir(path));
        passfail_(NULL, file, line);
        cl_must_pass(p_chdir(git_buf_cstr(&cwd_buf)));
-       git_buf_free(&cwd_buf);
+       git_buf_dispose(&cwd_buf);
 }
 #define env_cd_pass(path) env_cd_((path), env_pass_, __FILE__, __LINE__)
 #define env_cd_fail(path) env_cd_((path), env_fail_, __FILE__, __LINE__)
@@ -101,24 +101,24 @@ static void env_check_objects_(bool a, bool t, bool p, const char *file, int lin
        cl_git_expect(git_repository_open_ext(&repo, "attr", GIT_REPOSITORY_OPEN_FROM_ENV, NULL), 0, file, line);
 
        if (a) {
-               cl_git_expect(git_object_lookup(&object, repo, &oid_a, GIT_OBJ_BLOB), 0, file, line);
+               cl_git_expect(git_object_lookup(&object, repo, &oid_a, GIT_OBJECT_BLOB), 0, file, line);
                git_object_free(object);
        } else {
-               cl_git_fail_at_line(git_object_lookup(&object, repo, &oid_a, GIT_OBJ_BLOB), file, line);
+               cl_git_fail_at_line(git_object_lookup(&object, repo, &oid_a, GIT_OBJECT_BLOB), file, line);
        }
 
        if (t) {
-               cl_git_expect(git_object_lookup(&object, repo, &oid_t, GIT_OBJ_BLOB), 0, file, line);
+               cl_git_expect(git_object_lookup(&object, repo, &oid_t, GIT_OBJECT_BLOB), 0, file, line);
                git_object_free(object);
        } else {
-               cl_git_fail_at_line(git_object_lookup(&object, repo, &oid_t, GIT_OBJ_BLOB), file, line);
+               cl_git_fail_at_line(git_object_lookup(&object, repo, &oid_t, GIT_OBJECT_BLOB), file, line);
        }
 
        if (p) {
-               cl_git_expect(git_object_lookup(&object, repo, &oid_p, GIT_OBJ_COMMIT), 0, file, line);
+               cl_git_expect(git_object_lookup(&object, repo, &oid_p, GIT_OBJECT_COMMIT), 0, file, line);
                git_object_free(object);
        } else {
-               cl_git_fail_at_line(git_object_lookup(&object, repo, &oid_p, GIT_OBJ_COMMIT), file, line);
+               cl_git_fail_at_line(git_object_lookup(&object, repo, &oid_p, GIT_OBJECT_COMMIT), file, line);
        }
 
        git_repository_free(repo);
@@ -271,7 +271,7 @@ void test_repo_env__open(void)
        cl_fixture_cleanup("testrepo.git");
        cl_fixture_cleanup("attr");
 
-       git_buf_free(&repo_dir_buf);
+       git_buf_dispose(&repo_dir_buf);
 
        clear_git_env();
 }
index ae8e122f68d4bc324564f4a8a6e0f029c2e02e50..0fb4e6772a1e10cb9b0bd83fe47134a56dcd72d8 100644 (file)
@@ -20,22 +20,22 @@ void test_repo_hashfile__simple(void)
        git_buf full = GIT_BUF_INIT;
 
        /* hash with repo relative path */
-       cl_git_pass(git_odb_hashfile(&a, "status/current_file", GIT_OBJ_BLOB));
-       cl_git_pass(git_repository_hashfile(&b, _repo, "current_file", GIT_OBJ_BLOB, NULL));
+       cl_git_pass(git_odb_hashfile(&a, "status/current_file", GIT_OBJECT_BLOB));
+       cl_git_pass(git_repository_hashfile(&b, _repo, "current_file", GIT_OBJECT_BLOB, NULL));
        cl_assert_equal_oid(&a, &b);
 
        cl_git_pass(git_buf_joinpath(&full, git_repository_workdir(_repo), "current_file"));
 
        /* hash with full path */
-       cl_git_pass(git_odb_hashfile(&a, full.ptr, GIT_OBJ_BLOB));
-       cl_git_pass(git_repository_hashfile(&b, _repo, full.ptr, GIT_OBJ_BLOB, NULL));
+       cl_git_pass(git_odb_hashfile(&a, full.ptr, GIT_OBJECT_BLOB));
+       cl_git_pass(git_repository_hashfile(&b, _repo, full.ptr, GIT_OBJECT_BLOB, NULL));
        cl_assert_equal_oid(&a, &b);
 
        /* hash with invalid type */
-       cl_git_fail(git_odb_hashfile(&a, full.ptr, GIT_OBJ_ANY));
-       cl_git_fail(git_repository_hashfile(&b, _repo, full.ptr, GIT_OBJ_OFS_DELTA, NULL));
+       cl_git_fail(git_odb_hashfile(&a, full.ptr, GIT_OBJECT_ANY));
+       cl_git_fail(git_repository_hashfile(&b, _repo, full.ptr, GIT_OBJECT_OFS_DELTA, NULL));
 
-       git_buf_free(&full);
+       git_buf_dispose(&full);
 }
 
 void test_repo_hashfile__filtered(void)
@@ -51,35 +51,35 @@ void test_repo_hashfile__filtered(void)
        cl_git_mkfile("status/testfile.bin", "other\r\nstuff\r\n");
 
        /* not equal hashes because of filtering */
-       cl_git_pass(git_odb_hashfile(&a, "status/testfile.txt", GIT_OBJ_BLOB));
-       cl_git_pass(git_repository_hashfile(&b, _repo, "testfile.txt", GIT_OBJ_BLOB, NULL));
+       cl_git_pass(git_odb_hashfile(&a, "status/testfile.txt", GIT_OBJECT_BLOB));
+       cl_git_pass(git_repository_hashfile(&b, _repo, "testfile.txt", GIT_OBJECT_BLOB, NULL));
        cl_assert(git_oid_cmp(&a, &b));
 
        /* equal hashes because filter is binary */
-       cl_git_pass(git_odb_hashfile(&a, "status/testfile.bin", GIT_OBJ_BLOB));
-       cl_git_pass(git_repository_hashfile(&b, _repo, "testfile.bin", GIT_OBJ_BLOB, NULL));
+       cl_git_pass(git_odb_hashfile(&a, "status/testfile.bin", GIT_OBJECT_BLOB));
+       cl_git_pass(git_repository_hashfile(&b, _repo, "testfile.bin", GIT_OBJECT_BLOB, NULL));
        cl_assert_equal_oid(&a, &b);
 
        /* equal hashes when 'as_file' points to binary filtering */
-       cl_git_pass(git_odb_hashfile(&a, "status/testfile.txt", GIT_OBJ_BLOB));
-       cl_git_pass(git_repository_hashfile(&b, _repo, "testfile.txt", GIT_OBJ_BLOB, "foo.bin"));
+       cl_git_pass(git_odb_hashfile(&a, "status/testfile.txt", GIT_OBJECT_BLOB));
+       cl_git_pass(git_repository_hashfile(&b, _repo, "testfile.txt", GIT_OBJECT_BLOB, "foo.bin"));
        cl_assert_equal_oid(&a, &b);
 
        /* not equal hashes when 'as_file' points to text filtering */
-       cl_git_pass(git_odb_hashfile(&a, "status/testfile.bin", GIT_OBJ_BLOB));
-       cl_git_pass(git_repository_hashfile(&b, _repo, "testfile.bin", GIT_OBJ_BLOB, "foo.txt"));
+       cl_git_pass(git_odb_hashfile(&a, "status/testfile.bin", GIT_OBJECT_BLOB));
+       cl_git_pass(git_repository_hashfile(&b, _repo, "testfile.bin", GIT_OBJECT_BLOB, "foo.txt"));
        cl_assert(git_oid_cmp(&a, &b));
 
        /* equal hashes when 'as_file' is empty and turns off filtering */
-       cl_git_pass(git_odb_hashfile(&a, "status/testfile.txt", GIT_OBJ_BLOB));
-       cl_git_pass(git_repository_hashfile(&b, _repo, "testfile.txt", GIT_OBJ_BLOB, ""));
+       cl_git_pass(git_odb_hashfile(&a, "status/testfile.txt", GIT_OBJECT_BLOB));
+       cl_git_pass(git_repository_hashfile(&b, _repo, "testfile.txt", GIT_OBJECT_BLOB, ""));
        cl_assert_equal_oid(&a, &b);
 
-       cl_git_pass(git_odb_hashfile(&a, "status/testfile.bin", GIT_OBJ_BLOB));
-       cl_git_pass(git_repository_hashfile(&b, _repo, "testfile.bin", GIT_OBJ_BLOB, ""));
+       cl_git_pass(git_odb_hashfile(&a, "status/testfile.bin", GIT_OBJECT_BLOB));
+       cl_git_pass(git_repository_hashfile(&b, _repo, "testfile.bin", GIT_OBJECT_BLOB, ""));
        cl_assert_equal_oid(&a, &b);
 
        /* some hash type failures */
        cl_git_fail(git_odb_hashfile(&a, "status/testfile.txt", 0));
-       cl_git_fail(git_repository_hashfile(&b, _repo, "testfile.txt", GIT_OBJ_ANY, NULL));
+       cl_git_fail(git_repository_hashfile(&b, _repo, "testfile.txt", GIT_OBJECT_ANY, NULL));
 }
index ed3b3dcc33bcb0a0dbd11343b9084eae48517ce9..8229905559641d4b20990fa89ee17f0cce9ae95f 100644 (file)
@@ -80,7 +80,7 @@ static void assert_head_is_correctly_detached(void)
 
        cl_git_pass(git_repository_head(&head, repo));
 
-       cl_git_pass(git_object_lookup(&commit, repo, git_reference_target(head), GIT_OBJ_COMMIT));
+       cl_git_pass(git_object_lookup(&commit, repo, git_reference_target(head), GIT_OBJECT_COMMIT));
 
        git_object_free(commit);
        git_reference_free(head);
@@ -120,7 +120,7 @@ void test_repo_head__set_head_detached_Detaches_HEAD_and_make_it_point_to_the_pe
        git_object *tag;
 
        cl_git_pass(git_revparse_single(&tag, repo, "tags/test"));
-       cl_assert_equal_i(GIT_OBJ_TAG, git_object_type(tag));
+       cl_assert_equal_i(GIT_OBJECT_TAG, git_object_type(tag));
 
        cl_git_pass(git_repository_set_head_detached(repo, git_object_id(tag)));
 
index 0f969eb18cdcc8301fe5973d39fba90aa1e96758..91b25a5f137a34afb92e12595c920443dd101c1b 100644 (file)
@@ -4,6 +4,7 @@
 #include "config.h"
 #include "path.h"
 #include "config/config_helpers.h"
+#include "repo/repo_helpers.h"
 
 enum repo_mode {
        STANDARD_REPOSITORY = 0,
@@ -12,7 +13,6 @@ enum repo_mode {
 
 static git_repository *_repo = NULL;
 static git_buf _global_path = GIT_BUF_INIT;
-static git_buf _tmp_path = GIT_BUF_INIT;
 static mode_t g_umask = 0;
 
 void test_repo_init__initialize(void)
@@ -33,11 +33,9 @@ void test_repo_init__cleanup(void)
 {
        git_libgit2_opts(GIT_OPT_SET_SEARCH_PATH, GIT_CONFIG_LEVEL_GLOBAL,
                _global_path.ptr);
-       git_buf_free(&_global_path);
+       git_buf_dispose(&_global_path);
 
-       if (_tmp_path.size > 0 && git_path_isdir(_tmp_path.ptr))
-               git_futils_rmdir_r(_tmp_path.ptr, NULL, GIT_RMDIR_REMOVE_FILES);
-       git_buf_free(&_tmp_path);
+       cl_fixture_cleanup("tmp_global_path");
 }
 
 static void cleanup_repository(void *path)
@@ -131,8 +129,8 @@ void test_repo_init__bare_repo_escaping_current_workdir(void)
 
        cl_git_pass(chdir(git_buf_cstr(&path_current_workdir)));
 
-       git_buf_free(&path_current_workdir);
-       git_buf_free(&path_repository);
+       git_buf_dispose(&path_current_workdir);
+       git_buf_dispose(&path_repository);
 
        cleanup_repository("a");
 }
@@ -193,7 +191,7 @@ void test_repo_init__additional_templates(void)
        cl_assert(git_path_isdir(git_buf_cstr(&path)));
        /* won't confirm specific contents of hooks dir since it may vary */
 
-       git_buf_free(&path);
+       git_buf_dispose(&path);
 }
 
 static void assert_config_entry_on_init_bytype(
@@ -247,6 +245,68 @@ void test_repo_init__detect_ignorecase(void)
                "core.ignorecase", found_without_match ? true : GIT_ENOTFOUND);
 }
 
+/*
+ * Windows: if the filesystem supports symlinks (because we're running
+ * as administrator, or because the user has opted into it for normal
+ * users) then we can also opt-in explicitly by settings `core.symlinks`
+ * in the global config.  Symlinks remain off by default.
+ */
+
+void test_repo_init__symlinks_win32_enabled_by_global_config(void)
+{
+#ifndef GIT_WIN32
+       cl_skip();
+#else
+       git_config *config, *repo_config;
+       int val;
+
+       if (!filesystem_supports_symlinks("link"))
+               cl_skip();
+
+       create_tmp_global_config("tmp_global_config", "core.symlinks", "true");
+
+       /*
+        * Create a new repository (can't use `assert_config_on_init` since we
+        * want to examine configuration levels with more granularity.)
+        */
+       cl_git_pass(git_repository_init(&_repo, "config_entry/test.non.bare.git", false));
+
+       /* Ensure that core.symlinks remains set (via the global config). */
+       cl_git_pass(git_repository_config(&config, _repo));
+       cl_git_pass(git_config_get_bool(&val, config, "core.symlinks"));
+       cl_assert_equal_i(1, val);
+
+       /*
+        * Ensure that the repository config does not set core.symlinks.
+        * It should remain inherited.
+        */
+       cl_git_pass(git_config_open_level(&repo_config, config, GIT_CONFIG_LEVEL_LOCAL));
+       cl_git_fail_with(GIT_ENOTFOUND, git_config_get_bool(&val, repo_config, "core.symlinks"));
+       git_config_free(repo_config);
+
+       git_config_free(config);
+#endif
+}
+
+void test_repo_init__symlinks_win32_off_by_default(void)
+{
+#ifndef GIT_WIN32
+       cl_skip();
+#else
+       assert_config_entry_on_init("core.symlinks", false);
+#endif
+}
+
+void test_repo_init__symlinks_posix_detected(void)
+{
+#ifdef GIT_WIN32
+       cl_skip();
+#else
+       assert_config_entry_on_init(
+           "core.symlinks", filesystem_supports_symlinks("link") ? GIT_ENOTFOUND : false);
+#endif
+}
+
 void test_repo_init__detect_precompose_unicode_required(void)
 {
 #ifdef GIT_USE_ICONV
@@ -382,7 +442,7 @@ void test_repo_init__extended_1(void)
                cl_assert((S_ISGID & st.st_mode) == 0);
 
        cl_git_pass(git_reference_lookup(&ref, _repo, "HEAD"));
-       cl_assert(git_reference_type(ref) == GIT_REF_SYMBOLIC);
+       cl_assert(git_reference_type(ref) == GIT_REFERENCE_SYMBOLIC);
        cl_assert_equal_s("refs/heads/development", git_reference_symbolic_target(ref));
        git_reference_free(ref);
 
@@ -423,7 +483,7 @@ void test_repo_init__relative_gitdir(void)
        cl_git_pass(git_futils_readbuffer(&dot_git_content, "root/b/c_wd/.git"));
        cl_assert_equal_s("gitdir: ../my_repository/", dot_git_content.ptr);
 
-       git_buf_free(&dot_git_content);
+       git_buf_dispose(&dot_git_content);
        cleanup_repository("root");
 }
 
@@ -444,7 +504,7 @@ void test_repo_init__relative_gitdir_2(void)
 
        /* make the directory first, then it should succeed */
        cl_git_pass(git_repository_init_ext(&_repo, "root/b/my_repository", &opts));
-       git_buf_free(&full_path);
+       git_buf_dispose(&full_path);
 
        cl_assert(!git__suffixcmp(git_repository_workdir(_repo), "root/b/c_wd/"));
        cl_assert(!git__suffixcmp(git_repository_path(_repo), "root/b/my_repository/"));
@@ -460,7 +520,7 @@ void test_repo_init__relative_gitdir_2(void)
        cl_git_pass(git_futils_readbuffer(&dot_git_content, "root/b/c_wd/.git"));
        cl_assert_equal_s("gitdir: ../my_repository/", dot_git_content.ptr);
 
-       git_buf_free(&dot_git_content);
+       git_buf_dispose(&dot_git_content);
        cleanup_repository("root");
 }
 
@@ -497,8 +557,8 @@ static void assert_hooks_match(
                cl_assert_equal_i_fmt(expected_mode, st.st_mode, "%07o");
        }
 
-       git_buf_free(&expected);
-       git_buf_free(&actual);
+       git_buf_dispose(&expected);
+       git_buf_dispose(&actual);
 }
 
 static void assert_mode_seems_okay(
@@ -510,7 +570,7 @@ static void assert_mode_seems_okay(
 
        cl_git_pass(git_buf_joinpath(&full, base, path));
        cl_git_pass(git_path_lstat(full.ptr, &st));
-       git_buf_free(&full);
+       git_buf_dispose(&full);
 
        if (!core_filemode) {
                CLEAR_FOR_CORE_FILEMODE(expect_mode);
@@ -552,37 +612,18 @@ static const char *template_sandbox(const char *name)
        /* create a file starting with a dot */
        cl_git_pass(git_buf_joinpath(&dotfile_path, hooks_path.ptr, ".dotfile"));
        cl_git_mkfile(dotfile_path.ptr, "something\n");
-       git_buf_free(&dotfile_path);
+       git_buf_dispose(&dotfile_path);
 
-       git_buf_free(&dotfile_path);
-       git_buf_free(&link_path);
-       git_buf_free(&hooks_path);
+       git_buf_dispose(&dotfile_path);
+       git_buf_dispose(&link_path);
+       git_buf_dispose(&hooks_path);
 
        return path;
 }
 
 static void configure_templatedir(const char *template_path)
 {
-       git_buf config_path = GIT_BUF_INIT;
-       git_buf config_data = GIT_BUF_INIT;
-
-    cl_git_pass(git_libgit2_opts(GIT_OPT_GET_SEARCH_PATH,
-               GIT_CONFIG_LEVEL_GLOBAL, &_tmp_path));
-       cl_git_pass(git_buf_puts(&_tmp_path, ".tmp"));
-       cl_git_pass(git_libgit2_opts(GIT_OPT_SET_SEARCH_PATH,
-               GIT_CONFIG_LEVEL_GLOBAL, _tmp_path.ptr));
-
-       cl_must_pass(p_mkdir(_tmp_path.ptr, 0777));
-
-       cl_git_pass(git_buf_joinpath(&config_path, _tmp_path.ptr, ".gitconfig"));
-
-       cl_git_pass(git_buf_printf(&config_data,
-               "[init]\n\ttemplatedir = \"%s\"\n", template_path));
-
-       cl_git_mkfile(config_path.ptr, config_data.ptr);
-
-       git_buf_free(&config_path);
-       git_buf_free(&config_data);
+       create_tmp_global_config("tmp_global_path", "init.templatedir", template_path);
 }
 
 static void validate_templates(git_repository *repo, const char *template_path)
@@ -617,10 +658,10 @@ static void validate_templates(git_repository *repo, const char *template_path)
                template_path, git_repository_path(repo),
                "hooks/.dotfile", filemode);
 
-       git_buf_free(&expected);
-       git_buf_free(&actual);
-       git_buf_free(&repo_description);
-       git_buf_free(&template_description);
+       git_buf_dispose(&expected);
+       git_buf_dispose(&actual);
+       git_buf_dispose(&repo_description);
+       git_buf_dispose(&template_description);
 }
 
 void test_repo_init__external_templates_specified_in_options(void)
@@ -666,7 +707,7 @@ void test_repo_init__external_templates_specified_in_config(void)
        validate_templates(_repo, "template");
        cl_fixture_cleanup("template");
 
-       git_buf_free(&template_path);
+       git_buf_dispose(&template_path);
 }
 
 void test_repo_init__external_templates_with_leading_dot(void)
@@ -693,7 +734,7 @@ void test_repo_init__external_templates_with_leading_dot(void)
        validate_templates(_repo, ".template_with_leading_dot");
        cl_fixture_cleanup(".template_with_leading_dot");
 
-       git_buf_free(&template_path);
+       git_buf_dispose(&template_path);
 }
 
 void test_repo_init__extended_with_template_and_shared_mode(void)
@@ -833,6 +874,6 @@ void test_repo_init__at_filesystem_root(void)
        cl_assert(git_path_isdir(root.ptr));
        cl_git_pass(git_futils_rmdir_r(root.ptr, NULL, GIT_RMDIR_REMOVE_FILES));
 
-       git_buf_free(&root);
+       git_buf_dispose(&root);
        git_repository_free(repo);
 }
index 87574590b2a38411f90e5368ba1d0631b97ceca7..14577c8f0e82f3513fed8c038c7f7d0b4bae3068 100644 (file)
@@ -31,9 +31,9 @@ void test_repo_message__message(void)
 
        cl_git_pass(git_repository_message(&actual, _repo));
        cl_assert_equal_s(expected, git_buf_cstr(&actual));
-       git_buf_free(&actual);
+       git_buf_dispose(&actual);
 
        cl_git_pass(p_unlink(git_buf_cstr(&path)));
        cl_assert_equal_i(GIT_ENOTFOUND, git_repository_message(&actual, _repo));
-       git_buf_free(&path);
+       git_buf_dispose(&path);
 }
index ab36dd587f90d981fe1b2b07c20aa945b3fb33da..06ec71bfd600d28f438d90bc4ec8155c388fcd0b 100644 (file)
@@ -95,7 +95,7 @@ static void make_gitlink_dir(const char *dir, const char *linktext)
        cl_git_pass(git_futils_mkdir(dir, 0777, GIT_MKDIR_VERIFY_DIR));
        cl_git_pass(git_buf_joinpath(&path, dir, ".git"));
        cl_git_rewritefile(path.ptr, linktext);
-       git_buf_free(&path);
+       git_buf_dispose(&path);
 }
 
 void test_repo_open__gitlinked(void)
@@ -166,9 +166,9 @@ void test_repo_open__from_git_new_workdir(void)
                }
        }
 
-       git_buf_free(&link_tgt);
-       git_buf_free(&link);
-       git_buf_free(&body);
+       git_buf_dispose(&link_tgt);
+       git_buf_dispose(&link);
+       git_buf_dispose(&body);
 
 
        cl_git_pass(git_repository_open(&repo2, "alternate"));
@@ -215,7 +215,7 @@ void test_repo_open__failures(void)
                GIT_REPOSITORY_OPEN_NO_SEARCH | GIT_REPOSITORY_OPEN_NO_DOTGIT,
                NULL));
 
-       git_buf_free(&ceiling);
+       git_buf_dispose(&ceiling);
 }
 
 void test_repo_open__bad_gitlinks(void)
@@ -308,7 +308,7 @@ void test_repo_open__win32_path(void)
        cl_assert(git__suffixcmp(git_repository_workdir(repo2), repo_wd) == 0);
        git_repository_free(repo2);
 
-       git_buf_free(&winpath);
+       git_buf_dispose(&winpath);
 #endif
 }
 
@@ -342,7 +342,7 @@ void test_repo_open__no_config(void)
        cl_git_pass(git_libgit2_opts(
                GIT_OPT_SET_SEARCH_PATH, GIT_CONFIG_LEVEL_XDG, path.ptr));
 
-       git_buf_free(&path);
+       git_buf_dispose(&path);
 
        cl_git_pass(git_repository_open(&repo, "empty_standard_repo"));
        cl_git_pass(git_repository_config(&config, repo));
index 61f6968656d8ab0e1ded870407742ce985affb01..4256314f1eee2a13a8d49e47b081a1e101cf5061 100644 (file)
@@ -18,5 +18,35 @@ void delete_head(git_repository* repo)
        cl_git_pass(git_buf_joinpath(&head_path, git_repository_path(repo), GIT_HEAD_FILE));
        cl_git_pass(p_unlink(git_buf_cstr(&head_path)));
 
-       git_buf_free(&head_path);
+       git_buf_dispose(&head_path);
+}
+
+int filesystem_supports_symlinks(const char *path)
+{
+       struct stat st;
+       bool support = 0;
+
+       if (p_symlink("target", path) == 0) {
+               if (p_lstat(path, &st) == 0 && S_ISLNK(st.st_mode))
+                       support = 1;
+
+               p_unlink(path);
+       }
+
+       return support;
+}
+
+void create_tmp_global_config(const char *dirname, const char *key, const char *val)
+{
+       git_buf path = GIT_BUF_INIT;
+       git_config *config;
+
+       cl_git_pass(git_libgit2_opts(GIT_OPT_SET_SEARCH_PATH,
+               GIT_CONFIG_LEVEL_GLOBAL, dirname));
+       cl_must_pass(p_mkdir(dirname, 0777));
+       cl_git_pass(git_buf_joinpath(&path, dirname, ".gitconfig"));
+       cl_git_pass(git_config_open_ondisk(&config, path.ptr));
+       cl_git_pass(git_config_set_string(config, key, val));
+       git_config_free(config);
+       git_buf_dispose(&path);
 }
index 6783d5701017ec91dfed057843ef426a35950c55..2c9aeabeecd637d5e8a8b6acf808ee8925cc823f 100644 (file)
@@ -4,3 +4,5 @@
 
 extern void make_head_unborn(git_repository* repo, const char *target);
 extern void delete_head(git_repository* repo);
+extern int filesystem_supports_symlinks(const char *path);
+extern void create_tmp_global_config(const char *path, const char *key, const char *val);
index 2a5b382395d4ec7ec5d6121be3680893364f9fff..8e024bcbb72defd1145ba8bbaaf16bd6c48164c0 100644 (file)
@@ -128,5 +128,5 @@ void test_repo_reservedname__submodule_pointer_during_create(void)
        cl_git_pass(git_submodule_update(sm, 1, &update_options));
 
        git_submodule_free(sm);
-       git_buf_free(&url);
+       git_buf_dispose(&url);
 }
index 5a83fdbee4060aef0f085417a9fa85efed14385c..ea6ef12b19a9043ddffa7660b661c6069f8c43d0 100644 (file)
@@ -56,13 +56,13 @@ void test_repo_setters__setting_a_workdir_creates_a_gitlink(void)
        cl_git_pass(git_futils_readbuffer(&content, "./new_workdir/.git"));
        cl_assert(git__prefixcmp(git_buf_cstr(&content), "gitdir: ") == 0);
        cl_assert(git__suffixcmp(git_buf_cstr(&content), "testrepo.git/") == 0);
-       git_buf_free(&content);
+       git_buf_dispose(&content);
 
        cl_git_pass(git_repository_config(&cfg, repo));
        cl_git_pass(git_config_get_string_buf(&buf, cfg, "core.worktree"));
        cl_assert(git__suffixcmp(git_buf_cstr(&buf), "new_workdir/") == 0);
 
-       git_buf_free(&buf);
+       git_buf_dispose(&buf);
        git_config_free(cfg);
 }
 
index 5aeaf2def40399d5090c05db8f38bf234b6f4603..b9a7b810b2b44404d5e82120c141c238322af6a9 100644 (file)
@@ -35,5 +35,5 @@ void test_repo_shallow__clears_errors(void)
 {
        g_repo = cl_git_sandbox_init("testrepo.git");
        cl_assert_equal_i(0, git_repository_is_shallow(g_repo));
-       cl_assert_equal_p(NULL, giterr_last());
+       cl_assert_equal_p(NULL, git_error_last());
 }
index 7f20eebe8c543c70bc605a8de02c9ac1e118c342..fb8949775a55b2e3fdf70ef011fd0bd463e192c0 100644 (file)
@@ -15,7 +15,7 @@ void test_repo_state__initialize(void)
 void test_repo_state__cleanup(void)
 {
        cl_git_sandbox_cleanup();
-       git_buf_free(&_path);
+       git_buf_dispose(&_path);
 }
 
 static void setup_simple_state(const char *filename)
index 69ef41e50e2b821cda1bf8862e2acd61ce7f1143..b6e91395b6b22c61f7368486a8a48bfed568f532 100644 (file)
@@ -83,8 +83,8 @@ void test_reset_hard__resetting_reverts_modified_files(void)
                }
        }
 
-       git_buf_free(&content);
-       git_buf_free(&path);
+       git_buf_dispose(&content);
+       git_buf_dispose(&path);
 }
 
 void test_reset_hard__cannot_reset_in_a_bare_repository(void)
@@ -108,7 +108,7 @@ static void index_entry_init(git_index *index, int side, git_oid *oid)
        memset(&entry, 0x0, sizeof(git_index_entry));
 
        entry.path = "conflicting_file";
-       GIT_IDXENTRY_STAGE_SET(&entry, side);
+       GIT_INDEX_ENTRY_STAGE_SET(&entry, side);
        entry.mode = 0100644;
        git_oid_cpy(&entry.id, oid);
 
@@ -192,10 +192,10 @@ void test_reset_hard__cleans_up_merge(void)
        cl_assert(git_path_exists(git_buf_cstr(&orig_head_path)));
        cl_git_pass(p_unlink(git_buf_cstr(&orig_head_path)));
 
-       git_buf_free(&merge_head_path);
-       git_buf_free(&merge_msg_path);
-       git_buf_free(&merge_mode_path);
-       git_buf_free(&orig_head_path);
+       git_buf_dispose(&merge_head_path);
+       git_buf_dispose(&merge_msg_path);
+       git_buf_dispose(&merge_mode_path);
+       git_buf_dispose(&orig_head_path);
 }
 
 void test_reset_hard__reflog_is_correct(void)
@@ -223,7 +223,7 @@ void test_reset_hard__reflog_is_correct(void)
        reflog_check(repo, "HEAD", 4, NULL, git_buf_cstr(&buf));
        reflog_check(repo, "refs/heads/master", 4, NULL, git_buf_cstr(&buf));
 
-       git_buf_free(&buf);
+       git_buf_dispose(&buf);
 
        /* Moved branch, expect revspec in message */
        exp_msg = "reset: moving to HEAD~^{commit}";
@@ -248,7 +248,7 @@ void test_reset_hard__switch_file_to_dir(void)
        git_oid src_id, tgt_id;
 
        cl_git_pass(git_repository_odb(&odb, repo));
-       cl_git_pass(git_odb_write(&entry.id, odb, "", 0, GIT_OBJ_BLOB));
+       cl_git_pass(git_odb_write(&entry.id, odb, "", 0, GIT_OBJECT_BLOB));
        git_odb_free(odb);
 
        entry.mode = GIT_FILEMODE_BLOB;
@@ -282,12 +282,12 @@ void test_reset_hard__switch_file_to_dir(void)
        git_signature_free(sig);
 
        /* Let's go to a known state of the src commit with the file named 'dir' */
-       cl_git_pass(git_object_lookup(&commit, repo, &src_id, GIT_OBJ_COMMIT));
+       cl_git_pass(git_object_lookup(&commit, repo, &src_id, GIT_OBJECT_COMMIT));
        cl_git_pass(git_reset(repo, commit, GIT_RESET_HARD, NULL));
        git_object_free(commit);
 
        /* And now we move over to the commit with the directory named 'dir' */
-       cl_git_pass(git_object_lookup(&commit, repo, &tgt_id, GIT_OBJ_COMMIT));
+       cl_git_pass(git_object_lookup(&commit, repo, &tgt_id, GIT_OBJECT_COMMIT));
        cl_git_pass(git_reset(repo, commit, GIT_RESET_HARD, NULL));
        git_object_free(commit);
 }
index 97eac74e8b21b9a0d07b928f8133f4e5da619038..9928c687121ed0b37494d0edf793124284f49f3f 100644 (file)
@@ -73,7 +73,7 @@ void test_reset_mixed__reflog_is_correct(void)
        cl_git_pass(git_reset(repo, target, GIT_RESET_MIXED, NULL));
        reflog_check(repo, "HEAD", 10, NULL, git_buf_cstr(&buf));
        reflog_check(repo, "refs/heads/master", 10, NULL, git_buf_cstr(&buf));
-       git_buf_free(&buf);
+       git_buf_dispose(&buf);
 
        /* Moved branch, expect revspec in message */
        exp_msg = "reset: moving to HEAD~^{commit}";
index 506decaed9bea423ca0db1eb71d946b30bc32cbe..d9cfb0553e5187f1981948e7fcb60db78e250982 100644 (file)
@@ -127,7 +127,7 @@ void test_reset_soft__fails_when_merging(void)
        cl_assert_equal_i(GIT_EUNMERGED, git_reset(repo, target, GIT_RESET_SOFT, NULL));
        cl_git_pass(p_unlink(git_buf_cstr(&merge_head_path)));
 
-       git_buf_free(&merge_head_path);
+       git_buf_dispose(&merge_head_path);
 }
 
 void test_reset_soft__fails_when_index_contains_conflicts_independently_of_MERGE_HEAD_file_existence(void)
@@ -142,14 +142,14 @@ void test_reset_soft__fails_when_index_contains_conflicts_independently_of_MERGE
 
        cl_git_pass(git_buf_joinpath(&merge_head_path, git_repository_path(repo), "MERGE_HEAD"));
        cl_git_pass(p_unlink(git_buf_cstr(&merge_head_path)));
-       git_buf_free(&merge_head_path);
+       git_buf_dispose(&merge_head_path);
 
        cl_git_pass(git_repository_index(&index, repo));
        cl_assert_equal_i(true, git_index_has_conflicts(index));
        git_index_free(index);
 
        cl_git_pass(git_repository_head(&head, repo));
-       cl_git_pass(git_reference_peel(&target, head, GIT_OBJ_COMMIT));
+       cl_git_pass(git_reference_peel(&target, head, GIT_OBJECT_COMMIT));
        git_reference_free(head);
 
        cl_assert_equal_i(GIT_EUNMERGED, git_reset(repo, target, GIT_RESET_SOFT, NULL));
index 556f8c827b8e4a02ad5cab77dca2bcb3e226b0b3..047f77f55d2c45fa6f3c6bc439249e68e97cb98a 100644 (file)
@@ -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 (file)
index 0000000..fa1385d
--- /dev/null
@@ -0,0 +1 @@
+* -text
diff --git a/tests/resources/crlf/all-crlf b/tests/resources/crlf/all-crlf
new file mode 100644 (file)
index 0000000..a9a2e89
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf/all-crlf-utf8bom b/tests/resources/crlf/all-crlf-utf8bom
new file mode 100644 (file)
index 0000000..0aa76e4
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf/all-lf b/tests/resources/crlf/all-lf
new file mode 100644 (file)
index 0000000..799770d
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf/all-lf-utf8bom b/tests/resources/crlf/all-lf-utf8bom
new file mode 100644 (file)
index 0000000..7cce67e
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf/binary-all-crlf b/tests/resources/crlf/binary-all-crlf
new file mode 100644 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
diff --git a/tests/resources/crlf/binary-all-lf b/tests/resources/crlf/binary-all-lf
new file mode 100644 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+two
+three
+four
diff --git a/tests/resources/crlf/binary-mixed-lf-cr b/tests/resources/crlf/binary-mixed-lf-cr
new file mode 100644 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf/binary-mixed-lf-cr-crlf
new file mode 100644 (file)
index 0000000..aaf083a
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf/few-utf8-chars-crlf b/tests/resources/crlf/few-utf8-chars-crlf
new file mode 100644 (file)
index 0000000..0e05288
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.\r
+The rest is ASCII02.\r
+The rest is ASCII03.\r
+The rest is ASCII04.\r
+The rest is ASCII05.\r
+The rest is ASCII06.\r
+The rest is ASCII07.\r
+The rest is ASCII08.\r
+The rest is ASCII09.\r
+The rest is ASCII10.\r
+The rest is ASCII11.\r
+The rest is ASCII12.\r
+The rest is ASCII13.\r
+The rest is ASCII14.\r
+The rest is ASCII15.\r
+The rest is ASCII16.\r
+The rest is ASCII17.\r
+The rest is ASCII18.\r
+The rest is ASCII19.\r
+The rest is ASCII20.\r
+The rest is ASCII21.\r
+The rest is ASCII22.\r
diff --git a/tests/resources/crlf/few-utf8-chars-lf b/tests/resources/crlf/few-utf8-chars-lf
new file mode 100644 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf/many-utf8-chars-crlf b/tests/resources/crlf/many-utf8-chars-crlf
new file mode 100644 (file)
index 0000000..cd574f5
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!\r
+♫♪♬♩\r
+Eat food\r
+🍅🍕\r
diff --git a/tests/resources/crlf/many-utf8-chars-lf b/tests/resources/crlf/many-utf8-chars-lf
new file mode 100644 (file)
index 0000000..9a6c353
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf/mixed-lf-cr b/tests/resources/crlf/mixed-lf-cr
new file mode 100644 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf/mixed-lf-cr-crlf b/tests/resources/crlf/mixed-lf-cr-crlf
new file mode 100644 (file)
index 0000000..417786f
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf/more-crlf b/tests/resources/crlf/more-crlf
new file mode 100644 (file)
index 0000000..0ff5a53
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf/more-crlf-utf8bom b/tests/resources/crlf/more-crlf-utf8bom
new file mode 100644 (file)
index 0000000..ea030d3
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf/more-lf b/tests/resources/crlf/more-lf
new file mode 100644 (file)
index 0000000..04de00b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+lf
+lf
diff --git a/tests/resources/crlf/more-lf-utf8bom b/tests/resources/crlf/more-lf-utf8bom
new file mode 100644 (file)
index 0000000..dc88e3b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+lf
+lf
diff --git a/tests/resources/crlf/zero-byte b/tests/resources/crlf/zero-byte
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/tests/resources/crlf_data/README b/tests/resources/crlf_data/README
new file mode 100644 (file)
index 0000000..0c8badf
--- /dev/null
@@ -0,0 +1,3 @@
+This test data was generated using the `tests/resources/generate_crlf.sh`
+(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,-crlf/all-crlf b/tests/resources/crlf_data/posix/autocrlf_false,-crlf/all-crlf
deleted file mode 100644 (file)
index a9a2e89..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-crlf\r
-crlf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,-crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_false,-crlf/all-crlf-utf8bom
deleted file mode 100644 (file)
index 0aa76e4..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-crlf\r
-crlf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,-crlf/all-lf b/tests/resources/crlf_data/posix/autocrlf_false,-crlf/all-lf
deleted file mode 100644 (file)
index 799770d..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf
-lf
-lf
-lf
-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,-crlf/all-lf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_false,-crlf/all-lf-utf8bom
deleted file mode 100644 (file)
index 7cce67e..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf
-lf
-lf
-lf
-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,-crlf/binary-all-crlf b/tests/resources/crlf_data/posix/autocrlf_false,-crlf/binary-all-crlf
deleted file mode 100644 (file)
index 8534075..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-\ 1one\r
-two\r
-three\r
-four\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,-crlf/binary-all-lf b/tests/resources/crlf_data/posix/autocrlf_false,-crlf/binary-all-lf
deleted file mode 100644 (file)
index af6fcf6..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-\ 1one
-two
-three
-four
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,-crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix/autocrlf_false,-crlf/binary-mixed-lf-cr
deleted file mode 100644 (file)
index 203555c..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-\ 1one
-two\rthree
-four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,-crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix/autocrlf_false,-crlf/binary-mixed-lf-cr-crlf
deleted file mode 100644 (file)
index aaf083a..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-\ 1one
-two\rthree\r
-four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,-crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix/autocrlf_false,-crlf/few-utf8-chars-crlf
deleted file mode 100644 (file)
index 0e05288..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-⚽The rest is ASCII01.\r
-The rest is ASCII02.\r
-The rest is ASCII03.\r
-The rest is ASCII04.\r
-The rest is ASCII05.\r
-The rest is ASCII06.\r
-The rest is ASCII07.\r
-The rest is ASCII08.\r
-The rest is ASCII09.\r
-The rest is ASCII10.\r
-The rest is ASCII11.\r
-The rest is ASCII12.\r
-The rest is ASCII13.\r
-The rest is ASCII14.\r
-The rest is ASCII15.\r
-The rest is ASCII16.\r
-The rest is ASCII17.\r
-The rest is ASCII18.\r
-The rest is ASCII19.\r
-The rest is ASCII20.\r
-The rest is ASCII21.\r
-The rest is ASCII22.\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,-crlf/few-utf8-chars-lf b/tests/resources/crlf_data/posix/autocrlf_false,-crlf/few-utf8-chars-lf
deleted file mode 100644 (file)
index f4d25b7..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-⚽The rest is ASCII01.
-The rest is ASCII02.
-The rest is ASCII03.
-The rest is ASCII04.
-The rest is ASCII05.
-The rest is ASCII06.
-The rest is ASCII07.
-The rest is ASCII08.
-The rest is ASCII09.
-The rest is ASCII10.
-The rest is ASCII11.
-The rest is ASCII12.
-The rest is ASCII13.
-The rest is ASCII14.
-The rest is ASCII15.
-The rest is ASCII16.
-The rest is ASCII17.
-The rest is ASCII18.
-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,-crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix/autocrlf_false,-crlf/many-utf8-chars-crlf
deleted file mode 100644 (file)
index cd574f5..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-Lets sing!\r
-♫♪♬♩\r
-Eat food\r
-🍅🍕\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,-crlf/many-utf8-chars-lf b/tests/resources/crlf_data/posix/autocrlf_false,-crlf/many-utf8-chars-lf
deleted file mode 100644 (file)
index 9a6c353..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-Lets sing!
-♫♪♬♩
-Eat food
-🍅🍕
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,-crlf/mixed-lf-cr b/tests/resources/crlf_data/posix/autocrlf_false,-crlf/mixed-lf-cr
deleted file mode 100644 (file)
index d11e7ef..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-one
-two\rthree
-four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,-crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix/autocrlf_false,-crlf/mixed-lf-cr-crlf
deleted file mode 100644 (file)
index 417786f..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-one
-two\rthree\r
-four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,-crlf/more-crlf b/tests/resources/crlf_data/posix/autocrlf_false,-crlf/more-crlf
deleted file mode 100644 (file)
index 0ff5a53..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-crlf\r
-crlf\r
-lf
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,-crlf/more-crlf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_false,-crlf/more-crlf-utf8bom
deleted file mode 100644 (file)
index ea030d3..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-crlf\r
-crlf\r
-lf
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,-crlf/more-lf b/tests/resources/crlf_data/posix/autocrlf_false,-crlf/more-lf
deleted file mode 100644 (file)
index 04de00b..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf
-lf
-crlf\r
-lf
-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,-crlf/more-lf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_false,-crlf/more-lf-utf8bom
deleted file mode 100644 (file)
index dc88e3b..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf
-lf
-crlf\r
-lf
-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,-crlf/zero-byte b/tests/resources/crlf_data/posix/autocrlf_false,-crlf/zero-byte
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,-text/all-crlf b/tests/resources/crlf_data/posix/autocrlf_false,-text/all-crlf
deleted file mode 100644 (file)
index a9a2e89..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-crlf\r
-crlf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,-text/all-crlf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_false,-text/all-crlf-utf8bom
deleted file mode 100644 (file)
index 0aa76e4..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-crlf\r
-crlf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,-text/all-lf b/tests/resources/crlf_data/posix/autocrlf_false,-text/all-lf
deleted file mode 100644 (file)
index 799770d..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf
-lf
-lf
-lf
-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,-text/all-lf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_false,-text/all-lf-utf8bom
deleted file mode 100644 (file)
index 7cce67e..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf
-lf
-lf
-lf
-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,-text/binary-all-crlf b/tests/resources/crlf_data/posix/autocrlf_false,-text/binary-all-crlf
deleted file mode 100644 (file)
index 8534075..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-\ 1one\r
-two\r
-three\r
-four\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,-text/binary-all-lf b/tests/resources/crlf_data/posix/autocrlf_false,-text/binary-all-lf
deleted file mode 100644 (file)
index af6fcf6..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-\ 1one
-two
-three
-four
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,-text/binary-mixed-lf-cr b/tests/resources/crlf_data/posix/autocrlf_false,-text/binary-mixed-lf-cr
deleted file mode 100644 (file)
index 203555c..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-\ 1one
-two\rthree
-four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,-text/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix/autocrlf_false,-text/binary-mixed-lf-cr-crlf
deleted file mode 100644 (file)
index aaf083a..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-\ 1one
-two\rthree\r
-four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,-text/few-utf8-chars-crlf b/tests/resources/crlf_data/posix/autocrlf_false,-text/few-utf8-chars-crlf
deleted file mode 100644 (file)
index 0e05288..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-⚽The rest is ASCII01.\r
-The rest is ASCII02.\r
-The rest is ASCII03.\r
-The rest is ASCII04.\r
-The rest is ASCII05.\r
-The rest is ASCII06.\r
-The rest is ASCII07.\r
-The rest is ASCII08.\r
-The rest is ASCII09.\r
-The rest is ASCII10.\r
-The rest is ASCII11.\r
-The rest is ASCII12.\r
-The rest is ASCII13.\r
-The rest is ASCII14.\r
-The rest is ASCII15.\r
-The rest is ASCII16.\r
-The rest is ASCII17.\r
-The rest is ASCII18.\r
-The rest is ASCII19.\r
-The rest is ASCII20.\r
-The rest is ASCII21.\r
-The rest is ASCII22.\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,-text/few-utf8-chars-lf b/tests/resources/crlf_data/posix/autocrlf_false,-text/few-utf8-chars-lf
deleted file mode 100644 (file)
index f4d25b7..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-⚽The rest is ASCII01.
-The rest is ASCII02.
-The rest is ASCII03.
-The rest is ASCII04.
-The rest is ASCII05.
-The rest is ASCII06.
-The rest is ASCII07.
-The rest is ASCII08.
-The rest is ASCII09.
-The rest is ASCII10.
-The rest is ASCII11.
-The rest is ASCII12.
-The rest is ASCII13.
-The rest is ASCII14.
-The rest is ASCII15.
-The rest is ASCII16.
-The rest is ASCII17.
-The rest is ASCII18.
-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/many-utf8-chars-crlf b/tests/resources/crlf_data/posix/autocrlf_false,-text/many-utf8-chars-crlf
deleted file mode 100644 (file)
index cd574f5..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-Lets sing!\r
-♫♪♬♩\r
-Eat food\r
-🍅🍕\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,-text/many-utf8-chars-lf b/tests/resources/crlf_data/posix/autocrlf_false,-text/many-utf8-chars-lf
deleted file mode 100644 (file)
index 9a6c353..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-Lets sing!
-♫♪♬♩
-Eat food
-🍅🍕
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,-text/mixed-lf-cr b/tests/resources/crlf_data/posix/autocrlf_false,-text/mixed-lf-cr
deleted file mode 100644 (file)
index d11e7ef..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-one
-two\rthree
-four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,-text/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix/autocrlf_false,-text/mixed-lf-cr-crlf
deleted file mode 100644 (file)
index 417786f..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-one
-two\rthree\r
-four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,-text/more-crlf b/tests/resources/crlf_data/posix/autocrlf_false,-text/more-crlf
deleted file mode 100644 (file)
index 0ff5a53..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-crlf\r
-crlf\r
-lf
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,-text/more-crlf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_false,-text/more-crlf-utf8bom
deleted file mode 100644 (file)
index ea030d3..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-crlf\r
-crlf\r
-lf
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,-text/more-lf b/tests/resources/crlf_data/posix/autocrlf_false,-text/more-lf
deleted file mode 100644 (file)
index 04de00b..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf
-lf
-crlf\r
-lf
-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,-text/more-lf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_false,-text/more-lf-utf8bom
deleted file mode 100644 (file)
index dc88e3b..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf
-lf
-crlf\r
-lf
-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,-text/zero-byte b/tests/resources/crlf_data/posix/autocrlf_false,-text/zero-byte
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,crlf/all-crlf b/tests/resources/crlf_data/posix/autocrlf_false,crlf/all-crlf
deleted file mode 100644 (file)
index a9a2e89..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-crlf\r
-crlf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_false,crlf/all-crlf-utf8bom
deleted file mode 100644 (file)
index 0aa76e4..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-crlf\r
-crlf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,crlf/all-lf b/tests/resources/crlf_data/posix/autocrlf_false,crlf/all-lf
deleted file mode 100644 (file)
index 799770d..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf
-lf
-lf
-lf
-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,crlf/all-lf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_false,crlf/all-lf-utf8bom
deleted file mode 100644 (file)
index 7cce67e..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf
-lf
-lf
-lf
-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,crlf/binary-all-crlf b/tests/resources/crlf_data/posix/autocrlf_false,crlf/binary-all-crlf
deleted file mode 100644 (file)
index 8534075..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-\ 1one\r
-two\r
-three\r
-four\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,crlf/binary-all-lf b/tests/resources/crlf_data/posix/autocrlf_false,crlf/binary-all-lf
deleted file mode 100644 (file)
index af6fcf6..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-\ 1one
-two
-three
-four
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix/autocrlf_false,crlf/binary-mixed-lf-cr
deleted file mode 100644 (file)
index 203555c..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-\ 1one
-two\rthree
-four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix/autocrlf_false,crlf/binary-mixed-lf-cr-crlf
deleted file mode 100644 (file)
index aaf083a..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-\ 1one
-two\rthree\r
-four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix/autocrlf_false,crlf/few-utf8-chars-crlf
deleted file mode 100644 (file)
index 0e05288..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-⚽The rest is ASCII01.\r
-The rest is ASCII02.\r
-The rest is ASCII03.\r
-The rest is ASCII04.\r
-The rest is ASCII05.\r
-The rest is ASCII06.\r
-The rest is ASCII07.\r
-The rest is ASCII08.\r
-The rest is ASCII09.\r
-The rest is ASCII10.\r
-The rest is ASCII11.\r
-The rest is ASCII12.\r
-The rest is ASCII13.\r
-The rest is ASCII14.\r
-The rest is ASCII15.\r
-The rest is ASCII16.\r
-The rest is ASCII17.\r
-The rest is ASCII18.\r
-The rest is ASCII19.\r
-The rest is ASCII20.\r
-The rest is ASCII21.\r
-The rest is ASCII22.\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,crlf/few-utf8-chars-lf b/tests/resources/crlf_data/posix/autocrlf_false,crlf/few-utf8-chars-lf
deleted file mode 100644 (file)
index f4d25b7..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-⚽The rest is ASCII01.
-The rest is ASCII02.
-The rest is ASCII03.
-The rest is ASCII04.
-The rest is ASCII05.
-The rest is ASCII06.
-The rest is ASCII07.
-The rest is ASCII08.
-The rest is ASCII09.
-The rest is ASCII10.
-The rest is ASCII11.
-The rest is ASCII12.
-The rest is ASCII13.
-The rest is ASCII14.
-The rest is ASCII15.
-The rest is ASCII16.
-The rest is ASCII17.
-The rest is ASCII18.
-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,crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix/autocrlf_false,crlf/many-utf8-chars-crlf
deleted file mode 100644 (file)
index cd574f5..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-Lets sing!\r
-♫♪♬♩\r
-Eat food\r
-🍅🍕\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,crlf/many-utf8-chars-lf b/tests/resources/crlf_data/posix/autocrlf_false,crlf/many-utf8-chars-lf
deleted file mode 100644 (file)
index 9a6c353..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-Lets sing!
-♫♪♬♩
-Eat food
-🍅🍕
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,crlf/mixed-lf-cr b/tests/resources/crlf_data/posix/autocrlf_false,crlf/mixed-lf-cr
deleted file mode 100644 (file)
index d11e7ef..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-one
-two\rthree
-four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix/autocrlf_false,crlf/mixed-lf-cr-crlf
deleted file mode 100644 (file)
index 417786f..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-one
-two\rthree\r
-four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,crlf/more-crlf b/tests/resources/crlf_data/posix/autocrlf_false,crlf/more-crlf
deleted file mode 100644 (file)
index 0ff5a53..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-crlf\r
-crlf\r
-lf
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,crlf/more-crlf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_false,crlf/more-crlf-utf8bom
deleted file mode 100644 (file)
index ea030d3..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-crlf\r
-crlf\r
-lf
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,crlf/more-lf b/tests/resources/crlf_data/posix/autocrlf_false,crlf/more-lf
deleted file mode 100644 (file)
index 04de00b..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf
-lf
-crlf\r
-lf
-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,crlf/more-lf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_false,crlf/more-lf-utf8bom
deleted file mode 100644 (file)
index dc88e3b..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf
-lf
-crlf\r
-lf
-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,crlf/zero-byte b/tests/resources/crlf_data/posix/autocrlf_false,crlf/zero-byte
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/all-crlf b/tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/all-crlf
deleted file mode 100644 (file)
index a9a2e89..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-crlf\r
-crlf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/all-crlf-utf8bom
deleted file mode 100644 (file)
index 0aa76e4..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-crlf\r
-crlf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/all-lf b/tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/all-lf
deleted file mode 100644 (file)
index f557a02..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf\r
-lf\r
-lf\r
-lf\r
-lf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/all-lf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/all-lf-utf8bom
deleted file mode 100644 (file)
index 381cfe6..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf\r
-lf\r
-lf\r
-lf\r
-lf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/binary-all-crlf
deleted file mode 100644 (file)
index 8534075..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-\ 1one\r
-two\r
-three\r
-four\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/binary-all-lf b/tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/binary-all-lf
deleted file mode 100644 (file)
index 8534075..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-\ 1one\r
-two\r
-three\r
-four\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/binary-mixed-lf-cr
deleted file mode 100644 (file)
index fd2abfa..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-\ 1one\r
-two\rthree\r
-four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/binary-mixed-lf-cr-crlf
deleted file mode 100644 (file)
index fd2abfa..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-\ 1one\r
-two\rthree\r
-four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/few-utf8-chars-crlf
deleted file mode 100644 (file)
index 0e05288..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-⚽The rest is ASCII01.\r
-The rest is ASCII02.\r
-The rest is ASCII03.\r
-The rest is ASCII04.\r
-The rest is ASCII05.\r
-The rest is ASCII06.\r
-The rest is ASCII07.\r
-The rest is ASCII08.\r
-The rest is ASCII09.\r
-The rest is ASCII10.\r
-The rest is ASCII11.\r
-The rest is ASCII12.\r
-The rest is ASCII13.\r
-The rest is ASCII14.\r
-The rest is ASCII15.\r
-The rest is ASCII16.\r
-The rest is ASCII17.\r
-The rest is ASCII18.\r
-The rest is ASCII19.\r
-The rest is ASCII20.\r
-The rest is ASCII21.\r
-The rest is ASCII22.\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/few-utf8-chars-lf b/tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/few-utf8-chars-lf
deleted file mode 100644 (file)
index 0e05288..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-⚽The rest is ASCII01.\r
-The rest is ASCII02.\r
-The rest is ASCII03.\r
-The rest is ASCII04.\r
-The rest is ASCII05.\r
-The rest is ASCII06.\r
-The rest is ASCII07.\r
-The rest is ASCII08.\r
-The rest is ASCII09.\r
-The rest is ASCII10.\r
-The rest is ASCII11.\r
-The rest is ASCII12.\r
-The rest is ASCII13.\r
-The rest is ASCII14.\r
-The rest is ASCII15.\r
-The rest is ASCII16.\r
-The rest is ASCII17.\r
-The rest is ASCII18.\r
-The rest is ASCII19.\r
-The rest is ASCII20.\r
-The rest is ASCII21.\r
-The rest is ASCII22.\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/many-utf8-chars-crlf
deleted file mode 100644 (file)
index cd574f5..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-Lets sing!\r
-♫♪♬♩\r
-Eat food\r
-🍅🍕\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/many-utf8-chars-lf b/tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/many-utf8-chars-lf
deleted file mode 100644 (file)
index cd574f5..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-Lets sing!\r
-♫♪♬♩\r
-Eat food\r
-🍅🍕\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/mixed-lf-cr
deleted file mode 100644 (file)
index df8c0f6..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-one\r
-two\rthree\r
-four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/mixed-lf-cr-crlf
deleted file mode 100644 (file)
index df8c0f6..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-one\r
-two\rthree\r
-four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/more-crlf b/tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/more-crlf
deleted file mode 100644 (file)
index e682c30..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-crlf\r
-crlf\r
-lf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/more-crlf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/more-crlf-utf8bom
deleted file mode 100644 (file)
index 2e1220c..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-crlf\r
-crlf\r
-lf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/more-lf b/tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/more-lf
deleted file mode 100644 (file)
index 6da5b0c..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf\r
-lf\r
-crlf\r
-lf\r
-lf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/more-lf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/more-lf-utf8bom
deleted file mode 100644 (file)
index 3fa59c8..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf\r
-lf\r
-crlf\r
-lf\r
-lf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/zero-byte b/tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/zero-byte
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,eol_lf/all-crlf b/tests/resources/crlf_data/posix/autocrlf_false,eol_lf/all-crlf
deleted file mode 100644 (file)
index a9a2e89..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-crlf\r
-crlf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_false,eol_lf/all-crlf-utf8bom
deleted file mode 100644 (file)
index 0aa76e4..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-crlf\r
-crlf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,eol_lf/all-lf b/tests/resources/crlf_data/posix/autocrlf_false,eol_lf/all-lf
deleted file mode 100644 (file)
index 799770d..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf
-lf
-lf
-lf
-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_false,eol_lf/all-lf-utf8bom
deleted file mode 100644 (file)
index 7cce67e..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf
-lf
-lf
-lf
-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,eol_lf/binary-all-crlf b/tests/resources/crlf_data/posix/autocrlf_false,eol_lf/binary-all-crlf
deleted file mode 100644 (file)
index 8534075..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-\ 1one\r
-two\r
-three\r
-four\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,eol_lf/binary-all-lf b/tests/resources/crlf_data/posix/autocrlf_false,eol_lf/binary-all-lf
deleted file mode 100644 (file)
index af6fcf6..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-\ 1one
-two
-three
-four
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix/autocrlf_false,eol_lf/binary-mixed-lf-cr
deleted file mode 100644 (file)
index 203555c..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-\ 1one
-two\rthree
-four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,eol_lf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix/autocrlf_false,eol_lf/binary-mixed-lf-cr-crlf
deleted file mode 100644 (file)
index aaf083a..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-\ 1one
-two\rthree\r
-four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,eol_lf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix/autocrlf_false,eol_lf/few-utf8-chars-crlf
deleted file mode 100644 (file)
index 0e05288..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-⚽The rest is ASCII01.\r
-The rest is ASCII02.\r
-The rest is ASCII03.\r
-The rest is ASCII04.\r
-The rest is ASCII05.\r
-The rest is ASCII06.\r
-The rest is ASCII07.\r
-The rest is ASCII08.\r
-The rest is ASCII09.\r
-The rest is ASCII10.\r
-The rest is ASCII11.\r
-The rest is ASCII12.\r
-The rest is ASCII13.\r
-The rest is ASCII14.\r
-The rest is ASCII15.\r
-The rest is ASCII16.\r
-The rest is ASCII17.\r
-The rest is ASCII18.\r
-The rest is ASCII19.\r
-The rest is ASCII20.\r
-The rest is ASCII21.\r
-The rest is ASCII22.\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/posix/autocrlf_false,eol_lf/few-utf8-chars-lf
deleted file mode 100644 (file)
index f4d25b7..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-⚽The rest is ASCII01.
-The rest is ASCII02.
-The rest is ASCII03.
-The rest is ASCII04.
-The rest is ASCII05.
-The rest is ASCII06.
-The rest is ASCII07.
-The rest is ASCII08.
-The rest is ASCII09.
-The rest is ASCII10.
-The rest is ASCII11.
-The rest is ASCII12.
-The rest is ASCII13.
-The rest is ASCII14.
-The rest is ASCII15.
-The rest is ASCII16.
-The rest is ASCII17.
-The rest is ASCII18.
-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,eol_lf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix/autocrlf_false,eol_lf/many-utf8-chars-crlf
deleted file mode 100644 (file)
index cd574f5..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-Lets sing!\r
-♫♪♬♩\r
-Eat food\r
-🍅🍕\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/posix/autocrlf_false,eol_lf/many-utf8-chars-lf
deleted file mode 100644 (file)
index 9a6c353..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-Lets sing!
-♫♪♬♩
-Eat food
-🍅🍕
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/posix/autocrlf_false,eol_lf/mixed-lf-cr
deleted file mode 100644 (file)
index d11e7ef..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-one
-two\rthree
-four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix/autocrlf_false,eol_lf/mixed-lf-cr-crlf
deleted file mode 100644 (file)
index 417786f..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-one
-two\rthree\r
-four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,eol_lf/more-crlf b/tests/resources/crlf_data/posix/autocrlf_false,eol_lf/more-crlf
deleted file mode 100644 (file)
index 0ff5a53..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-crlf\r
-crlf\r
-lf
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_false,eol_lf/more-crlf-utf8bom
deleted file mode 100644 (file)
index ea030d3..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-crlf\r
-crlf\r
-lf
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,eol_lf/more-lf b/tests/resources/crlf_data/posix/autocrlf_false,eol_lf/more-lf
deleted file mode 100644 (file)
index 04de00b..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf
-lf
-crlf\r
-lf
-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_false,eol_lf/more-lf-utf8bom
deleted file mode 100644 (file)
index dc88e3b..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf
-lf
-crlf\r
-lf
-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,eol_lf/zero-byte b/tests/resources/crlf_data/posix/autocrlf_false,eol_lf/zero-byte
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/all-crlf b/tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/all-crlf
deleted file mode 100644 (file)
index a9a2e89..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-crlf\r
-crlf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/all-crlf-utf8bom
deleted file mode 100644 (file)
index 0aa76e4..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-crlf\r
-crlf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/all-lf b/tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/all-lf
deleted file mode 100644 (file)
index f557a02..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf\r
-lf\r
-lf\r
-lf\r
-lf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/all-lf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/all-lf-utf8bom
deleted file mode 100644 (file)
index 381cfe6..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf\r
-lf\r
-lf\r
-lf\r
-lf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/binary-all-crlf
deleted file mode 100644 (file)
index 8534075..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-\ 1one\r
-two\r
-three\r
-four\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/binary-all-lf b/tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/binary-all-lf
deleted file mode 100644 (file)
index 8534075..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-\ 1one\r
-two\r
-three\r
-four\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/binary-mixed-lf-cr
deleted file mode 100644 (file)
index fd2abfa..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-\ 1one\r
-two\rthree\r
-four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/binary-mixed-lf-cr-crlf
deleted file mode 100644 (file)
index fd2abfa..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-\ 1one\r
-two\rthree\r
-four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/few-utf8-chars-crlf
deleted file mode 100644 (file)
index 0e05288..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-⚽The rest is ASCII01.\r
-The rest is ASCII02.\r
-The rest is ASCII03.\r
-The rest is ASCII04.\r
-The rest is ASCII05.\r
-The rest is ASCII06.\r
-The rest is ASCII07.\r
-The rest is ASCII08.\r
-The rest is ASCII09.\r
-The rest is ASCII10.\r
-The rest is ASCII11.\r
-The rest is ASCII12.\r
-The rest is ASCII13.\r
-The rest is ASCII14.\r
-The rest is ASCII15.\r
-The rest is ASCII16.\r
-The rest is ASCII17.\r
-The rest is ASCII18.\r
-The rest is ASCII19.\r
-The rest is ASCII20.\r
-The rest is ASCII21.\r
-The rest is ASCII22.\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/few-utf8-chars-lf b/tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/few-utf8-chars-lf
deleted file mode 100644 (file)
index 0e05288..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-⚽The rest is ASCII01.\r
-The rest is ASCII02.\r
-The rest is ASCII03.\r
-The rest is ASCII04.\r
-The rest is ASCII05.\r
-The rest is ASCII06.\r
-The rest is ASCII07.\r
-The rest is ASCII08.\r
-The rest is ASCII09.\r
-The rest is ASCII10.\r
-The rest is ASCII11.\r
-The rest is ASCII12.\r
-The rest is ASCII13.\r
-The rest is ASCII14.\r
-The rest is ASCII15.\r
-The rest is ASCII16.\r
-The rest is ASCII17.\r
-The rest is ASCII18.\r
-The rest is ASCII19.\r
-The rest is ASCII20.\r
-The rest is ASCII21.\r
-The rest is ASCII22.\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/many-utf8-chars-crlf
deleted file mode 100644 (file)
index cd574f5..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-Lets sing!\r
-♫♪♬♩\r
-Eat food\r
-🍅🍕\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/many-utf8-chars-lf b/tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/many-utf8-chars-lf
deleted file mode 100644 (file)
index cd574f5..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-Lets sing!\r
-♫♪♬♩\r
-Eat food\r
-🍅🍕\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/mixed-lf-cr
deleted file mode 100644 (file)
index df8c0f6..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-one\r
-two\rthree\r
-four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/mixed-lf-cr-crlf
deleted file mode 100644 (file)
index df8c0f6..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-one\r
-two\rthree\r
-four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/more-crlf b/tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/more-crlf
deleted file mode 100644 (file)
index e682c30..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-crlf\r
-crlf\r
-lf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/more-crlf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/more-crlf-utf8bom
deleted file mode 100644 (file)
index 2e1220c..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-crlf\r
-crlf\r
-lf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/more-lf b/tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/more-lf
deleted file mode 100644 (file)
index 6da5b0c..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf\r
-lf\r
-crlf\r
-lf\r
-lf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/more-lf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/more-lf-utf8bom
deleted file mode 100644 (file)
index 3fa59c8..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf\r
-lf\r
-crlf\r
-lf\r
-lf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/zero-byte b/tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/zero-byte
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/all-crlf b/tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/all-crlf
deleted file mode 100644 (file)
index a9a2e89..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-crlf\r
-crlf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/all-crlf-utf8bom
deleted file mode 100644 (file)
index 0aa76e4..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-crlf\r
-crlf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/all-lf b/tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/all-lf
deleted file mode 100644 (file)
index 799770d..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf
-lf
-lf
-lf
-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/all-lf-utf8bom
deleted file mode 100644 (file)
index 7cce67e..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf
-lf
-lf
-lf
-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/binary-all-crlf b/tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/binary-all-crlf
deleted file mode 100644 (file)
index 8534075..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-\ 1one\r
-two\r
-three\r
-four\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/binary-all-lf b/tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/binary-all-lf
deleted file mode 100644 (file)
index af6fcf6..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-\ 1one
-two
-three
-four
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/binary-mixed-lf-cr
deleted file mode 100644 (file)
index 203555c..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-\ 1one
-two\rthree
-four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/binary-mixed-lf-cr-crlf
deleted file mode 100644 (file)
index aaf083a..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-\ 1one
-two\rthree\r
-four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/few-utf8-chars-crlf
deleted file mode 100644 (file)
index 0e05288..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-⚽The rest is ASCII01.\r
-The rest is ASCII02.\r
-The rest is ASCII03.\r
-The rest is ASCII04.\r
-The rest is ASCII05.\r
-The rest is ASCII06.\r
-The rest is ASCII07.\r
-The rest is ASCII08.\r
-The rest is ASCII09.\r
-The rest is ASCII10.\r
-The rest is ASCII11.\r
-The rest is ASCII12.\r
-The rest is ASCII13.\r
-The rest is ASCII14.\r
-The rest is ASCII15.\r
-The rest is ASCII16.\r
-The rest is ASCII17.\r
-The rest is ASCII18.\r
-The rest is ASCII19.\r
-The rest is ASCII20.\r
-The rest is ASCII21.\r
-The rest is ASCII22.\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/few-utf8-chars-lf
deleted file mode 100644 (file)
index f4d25b7..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-⚽The rest is ASCII01.
-The rest is ASCII02.
-The rest is ASCII03.
-The rest is ASCII04.
-The rest is ASCII05.
-The rest is ASCII06.
-The rest is ASCII07.
-The rest is ASCII08.
-The rest is ASCII09.
-The rest is ASCII10.
-The rest is ASCII11.
-The rest is ASCII12.
-The rest is ASCII13.
-The rest is ASCII14.
-The rest is ASCII15.
-The rest is ASCII16.
-The rest is ASCII17.
-The rest is ASCII18.
-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,eol_lf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/many-utf8-chars-crlf
deleted file mode 100644 (file)
index cd574f5..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-Lets sing!\r
-♫♪♬♩\r
-Eat food\r
-🍅🍕\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/many-utf8-chars-lf
deleted file mode 100644 (file)
index 9a6c353..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-Lets sing!
-♫♪♬♩
-Eat food
-🍅🍕
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/mixed-lf-cr
deleted file mode 100644 (file)
index d11e7ef..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-one
-two\rthree
-four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/mixed-lf-cr-crlf
deleted file mode 100644 (file)
index 417786f..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-one
-two\rthree\r
-four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/more-crlf b/tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/more-crlf
deleted file mode 100644 (file)
index 0ff5a53..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-crlf\r
-crlf\r
-lf
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/more-crlf-utf8bom
deleted file mode 100644 (file)
index ea030d3..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-crlf\r
-crlf\r
-lf
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/more-lf b/tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/more-lf
deleted file mode 100644 (file)
index 04de00b..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf
-lf
-crlf\r
-lf
-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/more-lf-utf8bom
deleted file mode 100644 (file)
index dc88e3b..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf
-lf
-crlf\r
-lf
-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/zero-byte b/tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/zero-byte
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text/all-crlf b/tests/resources/crlf_data/posix/autocrlf_false,text/all-crlf
deleted file mode 100644 (file)
index a9a2e89..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-crlf\r
-crlf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text/all-crlf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_false,text/all-crlf-utf8bom
deleted file mode 100644 (file)
index 0aa76e4..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-crlf\r
-crlf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text/all-lf b/tests/resources/crlf_data/posix/autocrlf_false,text/all-lf
deleted file mode 100644 (file)
index 799770d..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf
-lf
-lf
-lf
-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text/all-lf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_false,text/all-lf-utf8bom
deleted file mode 100644 (file)
index 7cce67e..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf
-lf
-lf
-lf
-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text/binary-all-crlf b/tests/resources/crlf_data/posix/autocrlf_false,text/binary-all-crlf
deleted file mode 100644 (file)
index 8534075..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-\ 1one\r
-two\r
-three\r
-four\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text/binary-all-lf b/tests/resources/crlf_data/posix/autocrlf_false,text/binary-all-lf
deleted file mode 100644 (file)
index af6fcf6..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-\ 1one
-two
-three
-four
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text/binary-mixed-lf-cr b/tests/resources/crlf_data/posix/autocrlf_false,text/binary-mixed-lf-cr
deleted file mode 100644 (file)
index 203555c..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-\ 1one
-two\rthree
-four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix/autocrlf_false,text/binary-mixed-lf-cr-crlf
deleted file mode 100644 (file)
index aaf083a..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-\ 1one
-two\rthree\r
-four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text/few-utf8-chars-crlf b/tests/resources/crlf_data/posix/autocrlf_false,text/few-utf8-chars-crlf
deleted file mode 100644 (file)
index 0e05288..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-⚽The rest is ASCII01.\r
-The rest is ASCII02.\r
-The rest is ASCII03.\r
-The rest is ASCII04.\r
-The rest is ASCII05.\r
-The rest is ASCII06.\r
-The rest is ASCII07.\r
-The rest is ASCII08.\r
-The rest is ASCII09.\r
-The rest is ASCII10.\r
-The rest is ASCII11.\r
-The rest is ASCII12.\r
-The rest is ASCII13.\r
-The rest is ASCII14.\r
-The rest is ASCII15.\r
-The rest is ASCII16.\r
-The rest is ASCII17.\r
-The rest is ASCII18.\r
-The rest is ASCII19.\r
-The rest is ASCII20.\r
-The rest is ASCII21.\r
-The rest is ASCII22.\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text/few-utf8-chars-lf b/tests/resources/crlf_data/posix/autocrlf_false,text/few-utf8-chars-lf
deleted file mode 100644 (file)
index f4d25b7..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-⚽The rest is ASCII01.
-The rest is ASCII02.
-The rest is ASCII03.
-The rest is ASCII04.
-The rest is ASCII05.
-The rest is ASCII06.
-The rest is ASCII07.
-The rest is ASCII08.
-The rest is ASCII09.
-The rest is ASCII10.
-The rest is ASCII11.
-The rest is ASCII12.
-The rest is ASCII13.
-The rest is ASCII14.
-The rest is ASCII15.
-The rest is ASCII16.
-The rest is ASCII17.
-The rest is ASCII18.
-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/many-utf8-chars-crlf b/tests/resources/crlf_data/posix/autocrlf_false,text/many-utf8-chars-crlf
deleted file mode 100644 (file)
index cd574f5..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-Lets sing!\r
-♫♪♬♩\r
-Eat food\r
-🍅🍕\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text/many-utf8-chars-lf b/tests/resources/crlf_data/posix/autocrlf_false,text/many-utf8-chars-lf
deleted file mode 100644 (file)
index 9a6c353..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-Lets sing!
-♫♪♬♩
-Eat food
-🍅🍕
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text/mixed-lf-cr b/tests/resources/crlf_data/posix/autocrlf_false,text/mixed-lf-cr
deleted file mode 100644 (file)
index d11e7ef..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-one
-two\rthree
-four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix/autocrlf_false,text/mixed-lf-cr-crlf
deleted file mode 100644 (file)
index 417786f..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-one
-two\rthree\r
-four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text/more-crlf b/tests/resources/crlf_data/posix/autocrlf_false,text/more-crlf
deleted file mode 100644 (file)
index 0ff5a53..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-crlf\r
-crlf\r
-lf
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text/more-crlf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_false,text/more-crlf-utf8bom
deleted file mode 100644 (file)
index ea030d3..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-crlf\r
-crlf\r
-lf
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text/more-lf b/tests/resources/crlf_data/posix/autocrlf_false,text/more-lf
deleted file mode 100644 (file)
index 04de00b..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf
-lf
-crlf\r
-lf
-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text/more-lf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_false,text/more-lf-utf8bom
deleted file mode 100644 (file)
index dc88e3b..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf
-lf
-crlf\r
-lf
-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text/zero-byte b/tests/resources/crlf_data/posix/autocrlf_false,text/zero-byte
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/all-crlf b/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/all-crlf
deleted file mode 100644 (file)
index a9a2e89..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-crlf\r
-crlf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/all-crlf-utf8bom
deleted file mode 100644 (file)
index 0aa76e4..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-crlf\r
-crlf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/all-lf b/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/all-lf
deleted file mode 100644 (file)
index f557a02..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf\r
-lf\r
-lf\r
-lf\r
-lf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/all-lf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/all-lf-utf8bom
deleted file mode 100644 (file)
index 381cfe6..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf\r
-lf\r
-lf\r
-lf\r
-lf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/binary-all-crlf
deleted file mode 100644 (file)
index 8534075..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-\ 1one\r
-two\r
-three\r
-four\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/binary-all-lf b/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/binary-all-lf
deleted file mode 100644 (file)
index 8534075..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-\ 1one\r
-two\r
-three\r
-four\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr
deleted file mode 100644 (file)
index fd2abfa..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-\ 1one\r
-two\rthree\r
-four\r
\ No newline at end of file
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/autocrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr-crlf
deleted file mode 100644 (file)
index fd2abfa..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-\ 1one\r
-two\rthree\r
-four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/few-utf8-chars-crlf
deleted file mode 100644 (file)
index 0e05288..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-⚽The rest is ASCII01.\r
-The rest is ASCII02.\r
-The rest is ASCII03.\r
-The rest is ASCII04.\r
-The rest is ASCII05.\r
-The rest is ASCII06.\r
-The rest is ASCII07.\r
-The rest is ASCII08.\r
-The rest is ASCII09.\r
-The rest is ASCII10.\r
-The rest is ASCII11.\r
-The rest is ASCII12.\r
-The rest is ASCII13.\r
-The rest is ASCII14.\r
-The rest is ASCII15.\r
-The rest is ASCII16.\r
-The rest is ASCII17.\r
-The rest is ASCII18.\r
-The rest is ASCII19.\r
-The rest is ASCII20.\r
-The rest is ASCII21.\r
-The rest is ASCII22.\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/few-utf8-chars-lf b/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/few-utf8-chars-lf
deleted file mode 100644 (file)
index 0e05288..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-⚽The rest is ASCII01.\r
-The rest is ASCII02.\r
-The rest is ASCII03.\r
-The rest is ASCII04.\r
-The rest is ASCII05.\r
-The rest is ASCII06.\r
-The rest is ASCII07.\r
-The rest is ASCII08.\r
-The rest is ASCII09.\r
-The rest is ASCII10.\r
-The rest is ASCII11.\r
-The rest is ASCII12.\r
-The rest is ASCII13.\r
-The rest is ASCII14.\r
-The rest is ASCII15.\r
-The rest is ASCII16.\r
-The rest is ASCII17.\r
-The rest is ASCII18.\r
-The rest is ASCII19.\r
-The rest is ASCII20.\r
-The rest is ASCII21.\r
-The rest is ASCII22.\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/many-utf8-chars-crlf
deleted file mode 100644 (file)
index cd574f5..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-Lets sing!\r
-♫♪♬♩\r
-Eat food\r
-🍅🍕\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/many-utf8-chars-lf b/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/many-utf8-chars-lf
deleted file mode 100644 (file)
index cd574f5..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-Lets sing!\r
-♫♪♬♩\r
-Eat food\r
-🍅🍕\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/mixed-lf-cr
deleted file mode 100644 (file)
index df8c0f6..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-one\r
-two\rthree\r
-four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/mixed-lf-cr-crlf
deleted file mode 100644 (file)
index df8c0f6..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-one\r
-two\rthree\r
-four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/more-crlf b/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/more-crlf
deleted file mode 100644 (file)
index e682c30..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-crlf\r
-crlf\r
-lf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/more-crlf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/more-crlf-utf8bom
deleted file mode 100644 (file)
index 2e1220c..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-crlf\r
-crlf\r
-lf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/more-lf b/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/more-lf
deleted file mode 100644 (file)
index 6da5b0c..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf\r
-lf\r
-crlf\r
-lf\r
-lf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/more-lf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/more-lf-utf8bom
deleted file mode 100644 (file)
index 3fa59c8..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf\r
-lf\r
-crlf\r
-lf\r
-lf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/zero-byte b/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/zero-byte
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/all-crlf b/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/all-crlf
deleted file mode 100644 (file)
index a9a2e89..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-crlf\r
-crlf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/all-crlf-utf8bom
deleted file mode 100644 (file)
index 0aa76e4..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-crlf\r
-crlf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/all-lf b/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/all-lf
deleted file mode 100644 (file)
index 799770d..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf
-lf
-lf
-lf
-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/all-lf-utf8bom
deleted file mode 100644 (file)
index 7cce67e..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf
-lf
-lf
-lf
-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/binary-all-crlf b/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/binary-all-crlf
deleted file mode 100644 (file)
index 8534075..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-\ 1one\r
-two\r
-three\r
-four\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/binary-all-lf b/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/binary-all-lf
deleted file mode 100644 (file)
index af6fcf6..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-\ 1one
-two
-three
-four
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/binary-mixed-lf-cr
deleted file mode 100644 (file)
index 203555c..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-\ 1one
-two\rthree
-four\r
\ No newline at end of file
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/autocrlf_false,text_auto,eol_lf/binary-mixed-lf-cr-crlf
deleted file mode 100644 (file)
index aaf083a..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-\ 1one
-two\rthree\r
-four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/few-utf8-chars-crlf
deleted file mode 100644 (file)
index 0e05288..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-⚽The rest is ASCII01.\r
-The rest is ASCII02.\r
-The rest is ASCII03.\r
-The rest is ASCII04.\r
-The rest is ASCII05.\r
-The rest is ASCII06.\r
-The rest is ASCII07.\r
-The rest is ASCII08.\r
-The rest is ASCII09.\r
-The rest is ASCII10.\r
-The rest is ASCII11.\r
-The rest is ASCII12.\r
-The rest is ASCII13.\r
-The rest is ASCII14.\r
-The rest is ASCII15.\r
-The rest is ASCII16.\r
-The rest is ASCII17.\r
-The rest is ASCII18.\r
-The rest is ASCII19.\r
-The rest is ASCII20.\r
-The rest is ASCII21.\r
-The rest is ASCII22.\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/few-utf8-chars-lf
deleted file mode 100644 (file)
index f4d25b7..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-⚽The rest is ASCII01.
-The rest is ASCII02.
-The rest is ASCII03.
-The rest is ASCII04.
-The rest is ASCII05.
-The rest is ASCII06.
-The rest is ASCII07.
-The rest is ASCII08.
-The rest is ASCII09.
-The rest is ASCII10.
-The rest is ASCII11.
-The rest is ASCII12.
-The rest is ASCII13.
-The rest is ASCII14.
-The rest is ASCII15.
-The rest is ASCII16.
-The rest is ASCII17.
-The rest is ASCII18.
-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/autocrlf_false,text_auto,eol_lf/many-utf8-chars-crlf
deleted file mode 100644 (file)
index cd574f5..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-Lets sing!\r
-♫♪♬♩\r
-Eat food\r
-🍅🍕\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/many-utf8-chars-lf
deleted file mode 100644 (file)
index 9a6c353..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-Lets sing!
-♫♪♬♩
-Eat food
-🍅🍕
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/mixed-lf-cr
deleted file mode 100644 (file)
index d11e7ef..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-one
-two\rthree
-four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/mixed-lf-cr-crlf
deleted file mode 100644 (file)
index 417786f..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-one
-two\rthree\r
-four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/more-crlf b/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/more-crlf
deleted file mode 100644 (file)
index 0ff5a53..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-crlf\r
-crlf\r
-lf
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/more-crlf-utf8bom
deleted file mode 100644 (file)
index ea030d3..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-crlf\r
-crlf\r
-lf
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/more-lf b/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/more-lf
deleted file mode 100644 (file)
index 04de00b..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf
-lf
-crlf\r
-lf
-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/more-lf-utf8bom
deleted file mode 100644 (file)
index dc88e3b..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf
-lf
-crlf\r
-lf
-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/zero-byte b/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/zero-byte
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto/all-crlf b/tests/resources/crlf_data/posix/autocrlf_false,text_auto/all-crlf
deleted file mode 100644 (file)
index a9a2e89..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-crlf\r
-crlf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto/all-crlf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_false,text_auto/all-crlf-utf8bom
deleted file mode 100644 (file)
index 0aa76e4..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-crlf\r
-crlf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto/all-lf b/tests/resources/crlf_data/posix/autocrlf_false,text_auto/all-lf
deleted file mode 100644 (file)
index 799770d..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf
-lf
-lf
-lf
-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto/all-lf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_false,text_auto/all-lf-utf8bom
deleted file mode 100644 (file)
index 7cce67e..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf
-lf
-lf
-lf
-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto/binary-all-crlf b/tests/resources/crlf_data/posix/autocrlf_false,text_auto/binary-all-crlf
deleted file mode 100644 (file)
index 8534075..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-\ 1one\r
-two\r
-three\r
-four\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto/binary-all-lf b/tests/resources/crlf_data/posix/autocrlf_false,text_auto/binary-all-lf
deleted file mode 100644 (file)
index af6fcf6..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-\ 1one
-two
-three
-four
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto/binary-mixed-lf-cr b/tests/resources/crlf_data/posix/autocrlf_false,text_auto/binary-mixed-lf-cr
deleted file mode 100644 (file)
index 203555c..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-\ 1one
-two\rthree
-four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix/autocrlf_false,text_auto/binary-mixed-lf-cr-crlf
deleted file mode 100644 (file)
index aaf083a..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-\ 1one
-two\rthree\r
-four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto/few-utf8-chars-crlf b/tests/resources/crlf_data/posix/autocrlf_false,text_auto/few-utf8-chars-crlf
deleted file mode 100644 (file)
index 0e05288..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-⚽The rest is ASCII01.\r
-The rest is ASCII02.\r
-The rest is ASCII03.\r
-The rest is ASCII04.\r
-The rest is ASCII05.\r
-The rest is ASCII06.\r
-The rest is ASCII07.\r
-The rest is ASCII08.\r
-The rest is ASCII09.\r
-The rest is ASCII10.\r
-The rest is ASCII11.\r
-The rest is ASCII12.\r
-The rest is ASCII13.\r
-The rest is ASCII14.\r
-The rest is ASCII15.\r
-The rest is ASCII16.\r
-The rest is ASCII17.\r
-The rest is ASCII18.\r
-The rest is ASCII19.\r
-The rest is ASCII20.\r
-The rest is ASCII21.\r
-The rest is ASCII22.\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto/few-utf8-chars-lf b/tests/resources/crlf_data/posix/autocrlf_false,text_auto/few-utf8-chars-lf
deleted file mode 100644 (file)
index f4d25b7..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-⚽The rest is ASCII01.
-The rest is ASCII02.
-The rest is ASCII03.
-The rest is ASCII04.
-The rest is ASCII05.
-The rest is ASCII06.
-The rest is ASCII07.
-The rest is ASCII08.
-The rest is ASCII09.
-The rest is ASCII10.
-The rest is ASCII11.
-The rest is ASCII12.
-The rest is ASCII13.
-The rest is ASCII14.
-The rest is ASCII15.
-The rest is ASCII16.
-The rest is ASCII17.
-The rest is ASCII18.
-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/autocrlf_false,text_auto/many-utf8-chars-crlf
deleted file mode 100644 (file)
index cd574f5..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-Lets sing!\r
-♫♪♬♩\r
-Eat food\r
-🍅🍕\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto/many-utf8-chars-lf b/tests/resources/crlf_data/posix/autocrlf_false,text_auto/many-utf8-chars-lf
deleted file mode 100644 (file)
index 9a6c353..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-Lets sing!
-♫♪♬♩
-Eat food
-🍅🍕
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto/mixed-lf-cr b/tests/resources/crlf_data/posix/autocrlf_false,text_auto/mixed-lf-cr
deleted file mode 100644 (file)
index d11e7ef..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-one
-two\rthree
-four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix/autocrlf_false,text_auto/mixed-lf-cr-crlf
deleted file mode 100644 (file)
index 417786f..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-one
-two\rthree\r
-four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto/more-crlf b/tests/resources/crlf_data/posix/autocrlf_false,text_auto/more-crlf
deleted file mode 100644 (file)
index 0ff5a53..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-crlf\r
-crlf\r
-lf
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto/more-crlf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_false,text_auto/more-crlf-utf8bom
deleted file mode 100644 (file)
index ea030d3..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-crlf\r
-crlf\r
-lf
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto/more-lf b/tests/resources/crlf_data/posix/autocrlf_false,text_auto/more-lf
deleted file mode 100644 (file)
index 04de00b..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf
-lf
-crlf\r
-lf
-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto/more-lf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_false,text_auto/more-lf-utf8bom
deleted file mode 100644 (file)
index dc88e3b..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf
-lf
-crlf\r
-lf
-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto/zero-byte b/tests/resources/crlf_data/posix/autocrlf_false,text_auto/zero-byte
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/tests/resources/crlf_data/posix/autocrlf_false/all-crlf b/tests/resources/crlf_data/posix/autocrlf_false/all-crlf
deleted file mode 100644 (file)
index a9a2e89..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-crlf\r
-crlf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_false/all-crlf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_false/all-crlf-utf8bom
deleted file mode 100644 (file)
index 0aa76e4..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-crlf\r
-crlf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_false/all-lf b/tests/resources/crlf_data/posix/autocrlf_false/all-lf
deleted file mode 100644 (file)
index 799770d..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf
-lf
-lf
-lf
-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false/all-lf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_false/all-lf-utf8bom
deleted file mode 100644 (file)
index 7cce67e..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf
-lf
-lf
-lf
-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false/binary-all-crlf b/tests/resources/crlf_data/posix/autocrlf_false/binary-all-crlf
deleted file mode 100644 (file)
index 8534075..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-\ 1one\r
-two\r
-three\r
-four\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_false/binary-all-lf b/tests/resources/crlf_data/posix/autocrlf_false/binary-all-lf
deleted file mode 100644 (file)
index af6fcf6..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-\ 1one
-two
-three
-four
diff --git a/tests/resources/crlf_data/posix/autocrlf_false/binary-mixed-lf-cr b/tests/resources/crlf_data/posix/autocrlf_false/binary-mixed-lf-cr
deleted file mode 100644 (file)
index 203555c..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-\ 1one
-two\rthree
-four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_false/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix/autocrlf_false/binary-mixed-lf-cr-crlf
deleted file mode 100644 (file)
index aaf083a..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-\ 1one
-two\rthree\r
-four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_false/few-utf8-chars-crlf b/tests/resources/crlf_data/posix/autocrlf_false/few-utf8-chars-crlf
deleted file mode 100644 (file)
index 0e05288..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-⚽The rest is ASCII01.\r
-The rest is ASCII02.\r
-The rest is ASCII03.\r
-The rest is ASCII04.\r
-The rest is ASCII05.\r
-The rest is ASCII06.\r
-The rest is ASCII07.\r
-The rest is ASCII08.\r
-The rest is ASCII09.\r
-The rest is ASCII10.\r
-The rest is ASCII11.\r
-The rest is ASCII12.\r
-The rest is ASCII13.\r
-The rest is ASCII14.\r
-The rest is ASCII15.\r
-The rest is ASCII16.\r
-The rest is ASCII17.\r
-The rest is ASCII18.\r
-The rest is ASCII19.\r
-The rest is ASCII20.\r
-The rest is ASCII21.\r
-The rest is ASCII22.\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_false/few-utf8-chars-lf b/tests/resources/crlf_data/posix/autocrlf_false/few-utf8-chars-lf
deleted file mode 100644 (file)
index f4d25b7..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-⚽The rest is ASCII01.
-The rest is ASCII02.
-The rest is ASCII03.
-The rest is ASCII04.
-The rest is ASCII05.
-The rest is ASCII06.
-The rest is ASCII07.
-The rest is ASCII08.
-The rest is ASCII09.
-The rest is ASCII10.
-The rest is ASCII11.
-The rest is ASCII12.
-The rest is ASCII13.
-The rest is ASCII14.
-The rest is ASCII15.
-The rest is ASCII16.
-The rest is ASCII17.
-The rest is ASCII18.
-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/autocrlf_false/many-utf8-chars-crlf
deleted file mode 100644 (file)
index cd574f5..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-Lets sing!\r
-♫♪♬♩\r
-Eat food\r
-🍅🍕\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_false/many-utf8-chars-lf b/tests/resources/crlf_data/posix/autocrlf_false/many-utf8-chars-lf
deleted file mode 100644 (file)
index 9a6c353..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-Lets sing!
-♫♪♬♩
-Eat food
-🍅🍕
diff --git a/tests/resources/crlf_data/posix/autocrlf_false/mixed-lf-cr b/tests/resources/crlf_data/posix/autocrlf_false/mixed-lf-cr
deleted file mode 100644 (file)
index d11e7ef..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-one
-two\rthree
-four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_false/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix/autocrlf_false/mixed-lf-cr-crlf
deleted file mode 100644 (file)
index 417786f..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-one
-two\rthree\r
-four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_false/more-crlf b/tests/resources/crlf_data/posix/autocrlf_false/more-crlf
deleted file mode 100644 (file)
index 0ff5a53..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-crlf\r
-crlf\r
-lf
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_false/more-crlf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_false/more-crlf-utf8bom
deleted file mode 100644 (file)
index ea030d3..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-crlf\r
-crlf\r
-lf
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_false/more-lf b/tests/resources/crlf_data/posix/autocrlf_false/more-lf
deleted file mode 100644 (file)
index 04de00b..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf
-lf
-crlf\r
-lf
-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false/more-lf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_false/more-lf-utf8bom
deleted file mode 100644 (file)
index dc88e3b..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf
-lf
-crlf\r
-lf
-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_false/zero-byte b/tests/resources/crlf_data/posix/autocrlf_false/zero-byte
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,-crlf/all-crlf b/tests/resources/crlf_data/posix/autocrlf_input,-crlf/all-crlf
deleted file mode 100644 (file)
index a9a2e89..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-crlf\r
-crlf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,-crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_input,-crlf/all-crlf-utf8bom
deleted file mode 100644 (file)
index 0aa76e4..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-crlf\r
-crlf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,-crlf/all-lf b/tests/resources/crlf_data/posix/autocrlf_input,-crlf/all-lf
deleted file mode 100644 (file)
index 799770d..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf
-lf
-lf
-lf
-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,-crlf/all-lf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_input,-crlf/all-lf-utf8bom
deleted file mode 100644 (file)
index 7cce67e..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf
-lf
-lf
-lf
-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,-crlf/binary-all-crlf b/tests/resources/crlf_data/posix/autocrlf_input,-crlf/binary-all-crlf
deleted file mode 100644 (file)
index 8534075..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-\ 1one\r
-two\r
-three\r
-four\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,-crlf/binary-all-lf b/tests/resources/crlf_data/posix/autocrlf_input,-crlf/binary-all-lf
deleted file mode 100644 (file)
index af6fcf6..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-\ 1one
-two
-three
-four
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,-crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix/autocrlf_input,-crlf/binary-mixed-lf-cr
deleted file mode 100644 (file)
index 203555c..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-\ 1one
-two\rthree
-four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,-crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix/autocrlf_input,-crlf/binary-mixed-lf-cr-crlf
deleted file mode 100644 (file)
index aaf083a..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-\ 1one
-two\rthree\r
-four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,-crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix/autocrlf_input,-crlf/few-utf8-chars-crlf
deleted file mode 100644 (file)
index 0e05288..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-⚽The rest is ASCII01.\r
-The rest is ASCII02.\r
-The rest is ASCII03.\r
-The rest is ASCII04.\r
-The rest is ASCII05.\r
-The rest is ASCII06.\r
-The rest is ASCII07.\r
-The rest is ASCII08.\r
-The rest is ASCII09.\r
-The rest is ASCII10.\r
-The rest is ASCII11.\r
-The rest is ASCII12.\r
-The rest is ASCII13.\r
-The rest is ASCII14.\r
-The rest is ASCII15.\r
-The rest is ASCII16.\r
-The rest is ASCII17.\r
-The rest is ASCII18.\r
-The rest is ASCII19.\r
-The rest is ASCII20.\r
-The rest is ASCII21.\r
-The rest is ASCII22.\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,-crlf/few-utf8-chars-lf b/tests/resources/crlf_data/posix/autocrlf_input,-crlf/few-utf8-chars-lf
deleted file mode 100644 (file)
index f4d25b7..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-⚽The rest is ASCII01.
-The rest is ASCII02.
-The rest is ASCII03.
-The rest is ASCII04.
-The rest is ASCII05.
-The rest is ASCII06.
-The rest is ASCII07.
-The rest is ASCII08.
-The rest is ASCII09.
-The rest is ASCII10.
-The rest is ASCII11.
-The rest is ASCII12.
-The rest is ASCII13.
-The rest is ASCII14.
-The rest is ASCII15.
-The rest is ASCII16.
-The rest is ASCII17.
-The rest is ASCII18.
-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/autocrlf_input,-crlf/many-utf8-chars-crlf
deleted file mode 100644 (file)
index cd574f5..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-Lets sing!\r
-♫♪♬♩\r
-Eat food\r
-🍅🍕\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,-crlf/many-utf8-chars-lf b/tests/resources/crlf_data/posix/autocrlf_input,-crlf/many-utf8-chars-lf
deleted file mode 100644 (file)
index 9a6c353..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-Lets sing!
-♫♪♬♩
-Eat food
-🍅🍕
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,-crlf/mixed-lf-cr b/tests/resources/crlf_data/posix/autocrlf_input,-crlf/mixed-lf-cr
deleted file mode 100644 (file)
index d11e7ef..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-one
-two\rthree
-four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,-crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix/autocrlf_input,-crlf/mixed-lf-cr-crlf
deleted file mode 100644 (file)
index 417786f..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-one
-two\rthree\r
-four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,-crlf/more-crlf b/tests/resources/crlf_data/posix/autocrlf_input,-crlf/more-crlf
deleted file mode 100644 (file)
index 0ff5a53..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-crlf\r
-crlf\r
-lf
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,-crlf/more-crlf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_input,-crlf/more-crlf-utf8bom
deleted file mode 100644 (file)
index ea030d3..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-crlf\r
-crlf\r
-lf
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,-crlf/more-lf b/tests/resources/crlf_data/posix/autocrlf_input,-crlf/more-lf
deleted file mode 100644 (file)
index 04de00b..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf
-lf
-crlf\r
-lf
-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,-crlf/more-lf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_input,-crlf/more-lf-utf8bom
deleted file mode 100644 (file)
index dc88e3b..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf
-lf
-crlf\r
-lf
-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,-crlf/zero-byte b/tests/resources/crlf_data/posix/autocrlf_input,-crlf/zero-byte
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,-text/all-crlf b/tests/resources/crlf_data/posix/autocrlf_input,-text/all-crlf
deleted file mode 100644 (file)
index a9a2e89..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-crlf\r
-crlf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,-text/all-crlf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_input,-text/all-crlf-utf8bom
deleted file mode 100644 (file)
index 0aa76e4..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-crlf\r
-crlf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,-text/all-lf b/tests/resources/crlf_data/posix/autocrlf_input,-text/all-lf
deleted file mode 100644 (file)
index 799770d..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf
-lf
-lf
-lf
-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,-text/all-lf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_input,-text/all-lf-utf8bom
deleted file mode 100644 (file)
index 7cce67e..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf
-lf
-lf
-lf
-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,-text/binary-all-crlf b/tests/resources/crlf_data/posix/autocrlf_input,-text/binary-all-crlf
deleted file mode 100644 (file)
index 8534075..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-\ 1one\r
-two\r
-three\r
-four\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,-text/binary-all-lf b/tests/resources/crlf_data/posix/autocrlf_input,-text/binary-all-lf
deleted file mode 100644 (file)
index af6fcf6..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-\ 1one
-two
-three
-four
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,-text/binary-mixed-lf-cr b/tests/resources/crlf_data/posix/autocrlf_input,-text/binary-mixed-lf-cr
deleted file mode 100644 (file)
index 203555c..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-\ 1one
-two\rthree
-four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,-text/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix/autocrlf_input,-text/binary-mixed-lf-cr-crlf
deleted file mode 100644 (file)
index aaf083a..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-\ 1one
-two\rthree\r
-four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,-text/few-utf8-chars-crlf b/tests/resources/crlf_data/posix/autocrlf_input,-text/few-utf8-chars-crlf
deleted file mode 100644 (file)
index 0e05288..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-⚽The rest is ASCII01.\r
-The rest is ASCII02.\r
-The rest is ASCII03.\r
-The rest is ASCII04.\r
-The rest is ASCII05.\r
-The rest is ASCII06.\r
-The rest is ASCII07.\r
-The rest is ASCII08.\r
-The rest is ASCII09.\r
-The rest is ASCII10.\r
-The rest is ASCII11.\r
-The rest is ASCII12.\r
-The rest is ASCII13.\r
-The rest is ASCII14.\r
-The rest is ASCII15.\r
-The rest is ASCII16.\r
-The rest is ASCII17.\r
-The rest is ASCII18.\r
-The rest is ASCII19.\r
-The rest is ASCII20.\r
-The rest is ASCII21.\r
-The rest is ASCII22.\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,-text/few-utf8-chars-lf b/tests/resources/crlf_data/posix/autocrlf_input,-text/few-utf8-chars-lf
deleted file mode 100644 (file)
index f4d25b7..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-⚽The rest is ASCII01.
-The rest is ASCII02.
-The rest is ASCII03.
-The rest is ASCII04.
-The rest is ASCII05.
-The rest is ASCII06.
-The rest is ASCII07.
-The rest is ASCII08.
-The rest is ASCII09.
-The rest is ASCII10.
-The rest is ASCII11.
-The rest is ASCII12.
-The rest is ASCII13.
-The rest is ASCII14.
-The rest is ASCII15.
-The rest is ASCII16.
-The rest is ASCII17.
-The rest is ASCII18.
-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/autocrlf_input,-text/many-utf8-chars-crlf
deleted file mode 100644 (file)
index cd574f5..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-Lets sing!\r
-♫♪♬♩\r
-Eat food\r
-🍅🍕\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,-text/many-utf8-chars-lf b/tests/resources/crlf_data/posix/autocrlf_input,-text/many-utf8-chars-lf
deleted file mode 100644 (file)
index 9a6c353..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-Lets sing!
-♫♪♬♩
-Eat food
-🍅🍕
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,-text/mixed-lf-cr b/tests/resources/crlf_data/posix/autocrlf_input,-text/mixed-lf-cr
deleted file mode 100644 (file)
index d11e7ef..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-one
-two\rthree
-four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,-text/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix/autocrlf_input,-text/mixed-lf-cr-crlf
deleted file mode 100644 (file)
index 417786f..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-one
-two\rthree\r
-four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,-text/more-crlf b/tests/resources/crlf_data/posix/autocrlf_input,-text/more-crlf
deleted file mode 100644 (file)
index 0ff5a53..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-crlf\r
-crlf\r
-lf
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,-text/more-crlf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_input,-text/more-crlf-utf8bom
deleted file mode 100644 (file)
index ea030d3..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-crlf\r
-crlf\r
-lf
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,-text/more-lf b/tests/resources/crlf_data/posix/autocrlf_input,-text/more-lf
deleted file mode 100644 (file)
index 04de00b..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf
-lf
-crlf\r
-lf
-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,-text/more-lf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_input,-text/more-lf-utf8bom
deleted file mode 100644 (file)
index dc88e3b..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf
-lf
-crlf\r
-lf
-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,-text/zero-byte b/tests/resources/crlf_data/posix/autocrlf_input,-text/zero-byte
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,crlf/all-crlf b/tests/resources/crlf_data/posix/autocrlf_input,crlf/all-crlf
deleted file mode 100644 (file)
index a9a2e89..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-crlf\r
-crlf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_input,crlf/all-crlf-utf8bom
deleted file mode 100644 (file)
index 0aa76e4..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-crlf\r
-crlf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,crlf/all-lf b/tests/resources/crlf_data/posix/autocrlf_input,crlf/all-lf
deleted file mode 100644 (file)
index 799770d..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf
-lf
-lf
-lf
-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,crlf/all-lf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_input,crlf/all-lf-utf8bom
deleted file mode 100644 (file)
index 7cce67e..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf
-lf
-lf
-lf
-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,crlf/binary-all-crlf b/tests/resources/crlf_data/posix/autocrlf_input,crlf/binary-all-crlf
deleted file mode 100644 (file)
index 8534075..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-\ 1one\r
-two\r
-three\r
-four\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,crlf/binary-all-lf b/tests/resources/crlf_data/posix/autocrlf_input,crlf/binary-all-lf
deleted file mode 100644 (file)
index af6fcf6..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-\ 1one
-two
-three
-four
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix/autocrlf_input,crlf/binary-mixed-lf-cr
deleted file mode 100644 (file)
index 203555c..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-\ 1one
-two\rthree
-four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix/autocrlf_input,crlf/binary-mixed-lf-cr-crlf
deleted file mode 100644 (file)
index aaf083a..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-\ 1one
-two\rthree\r
-four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix/autocrlf_input,crlf/few-utf8-chars-crlf
deleted file mode 100644 (file)
index 0e05288..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-⚽The rest is ASCII01.\r
-The rest is ASCII02.\r
-The rest is ASCII03.\r
-The rest is ASCII04.\r
-The rest is ASCII05.\r
-The rest is ASCII06.\r
-The rest is ASCII07.\r
-The rest is ASCII08.\r
-The rest is ASCII09.\r
-The rest is ASCII10.\r
-The rest is ASCII11.\r
-The rest is ASCII12.\r
-The rest is ASCII13.\r
-The rest is ASCII14.\r
-The rest is ASCII15.\r
-The rest is ASCII16.\r
-The rest is ASCII17.\r
-The rest is ASCII18.\r
-The rest is ASCII19.\r
-The rest is ASCII20.\r
-The rest is ASCII21.\r
-The rest is ASCII22.\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,crlf/few-utf8-chars-lf b/tests/resources/crlf_data/posix/autocrlf_input,crlf/few-utf8-chars-lf
deleted file mode 100644 (file)
index f4d25b7..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-⚽The rest is ASCII01.
-The rest is ASCII02.
-The rest is ASCII03.
-The rest is ASCII04.
-The rest is ASCII05.
-The rest is ASCII06.
-The rest is ASCII07.
-The rest is ASCII08.
-The rest is ASCII09.
-The rest is ASCII10.
-The rest is ASCII11.
-The rest is ASCII12.
-The rest is ASCII13.
-The rest is ASCII14.
-The rest is ASCII15.
-The rest is ASCII16.
-The rest is ASCII17.
-The rest is ASCII18.
-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/autocrlf_input,crlf/many-utf8-chars-crlf
deleted file mode 100644 (file)
index cd574f5..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-Lets sing!\r
-♫♪♬♩\r
-Eat food\r
-🍅🍕\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,crlf/many-utf8-chars-lf b/tests/resources/crlf_data/posix/autocrlf_input,crlf/many-utf8-chars-lf
deleted file mode 100644 (file)
index 9a6c353..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-Lets sing!
-♫♪♬♩
-Eat food
-🍅🍕
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,crlf/mixed-lf-cr b/tests/resources/crlf_data/posix/autocrlf_input,crlf/mixed-lf-cr
deleted file mode 100644 (file)
index d11e7ef..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-one
-two\rthree
-four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix/autocrlf_input,crlf/mixed-lf-cr-crlf
deleted file mode 100644 (file)
index 417786f..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-one
-two\rthree\r
-four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,crlf/more-crlf b/tests/resources/crlf_data/posix/autocrlf_input,crlf/more-crlf
deleted file mode 100644 (file)
index 0ff5a53..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-crlf\r
-crlf\r
-lf
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,crlf/more-crlf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_input,crlf/more-crlf-utf8bom
deleted file mode 100644 (file)
index ea030d3..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-crlf\r
-crlf\r
-lf
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,crlf/more-lf b/tests/resources/crlf_data/posix/autocrlf_input,crlf/more-lf
deleted file mode 100644 (file)
index 04de00b..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf
-lf
-crlf\r
-lf
-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,crlf/more-lf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_input,crlf/more-lf-utf8bom
deleted file mode 100644 (file)
index dc88e3b..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf
-lf
-crlf\r
-lf
-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,crlf/zero-byte b/tests/resources/crlf_data/posix/autocrlf_input,crlf/zero-byte
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/all-crlf b/tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/all-crlf
deleted file mode 100644 (file)
index a9a2e89..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-crlf\r
-crlf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/all-crlf-utf8bom
deleted file mode 100644 (file)
index 0aa76e4..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-crlf\r
-crlf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/all-lf b/tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/all-lf
deleted file mode 100644 (file)
index f557a02..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf\r
-lf\r
-lf\r
-lf\r
-lf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/all-lf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/all-lf-utf8bom
deleted file mode 100644 (file)
index 381cfe6..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf\r
-lf\r
-lf\r
-lf\r
-lf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/binary-all-crlf
deleted file mode 100644 (file)
index 8534075..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-\ 1one\r
-two\r
-three\r
-four\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/binary-all-lf b/tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/binary-all-lf
deleted file mode 100644 (file)
index 8534075..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-\ 1one\r
-two\r
-three\r
-four\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/binary-mixed-lf-cr
deleted file mode 100644 (file)
index fd2abfa..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-\ 1one\r
-two\rthree\r
-four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/binary-mixed-lf-cr-crlf
deleted file mode 100644 (file)
index fd2abfa..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-\ 1one\r
-two\rthree\r
-four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/few-utf8-chars-crlf
deleted file mode 100644 (file)
index 0e05288..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-⚽The rest is ASCII01.\r
-The rest is ASCII02.\r
-The rest is ASCII03.\r
-The rest is ASCII04.\r
-The rest is ASCII05.\r
-The rest is ASCII06.\r
-The rest is ASCII07.\r
-The rest is ASCII08.\r
-The rest is ASCII09.\r
-The rest is ASCII10.\r
-The rest is ASCII11.\r
-The rest is ASCII12.\r
-The rest is ASCII13.\r
-The rest is ASCII14.\r
-The rest is ASCII15.\r
-The rest is ASCII16.\r
-The rest is ASCII17.\r
-The rest is ASCII18.\r
-The rest is ASCII19.\r
-The rest is ASCII20.\r
-The rest is ASCII21.\r
-The rest is ASCII22.\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/few-utf8-chars-lf b/tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/few-utf8-chars-lf
deleted file mode 100644 (file)
index 0e05288..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-⚽The rest is ASCII01.\r
-The rest is ASCII02.\r
-The rest is ASCII03.\r
-The rest is ASCII04.\r
-The rest is ASCII05.\r
-The rest is ASCII06.\r
-The rest is ASCII07.\r
-The rest is ASCII08.\r
-The rest is ASCII09.\r
-The rest is ASCII10.\r
-The rest is ASCII11.\r
-The rest is ASCII12.\r
-The rest is ASCII13.\r
-The rest is ASCII14.\r
-The rest is ASCII15.\r
-The rest is ASCII16.\r
-The rest is ASCII17.\r
-The rest is ASCII18.\r
-The rest is ASCII19.\r
-The rest is ASCII20.\r
-The rest is ASCII21.\r
-The rest is ASCII22.\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/many-utf8-chars-crlf
deleted file mode 100644 (file)
index cd574f5..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-Lets sing!\r
-♫♪♬♩\r
-Eat food\r
-🍅🍕\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/many-utf8-chars-lf b/tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/many-utf8-chars-lf
deleted file mode 100644 (file)
index cd574f5..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-Lets sing!\r
-♫♪♬♩\r
-Eat food\r
-🍅🍕\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/mixed-lf-cr
deleted file mode 100644 (file)
index df8c0f6..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-one\r
-two\rthree\r
-four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/mixed-lf-cr-crlf
deleted file mode 100644 (file)
index df8c0f6..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-one\r
-two\rthree\r
-four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/more-crlf b/tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/more-crlf
deleted file mode 100644 (file)
index e682c30..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-crlf\r
-crlf\r
-lf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/more-crlf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/more-crlf-utf8bom
deleted file mode 100644 (file)
index 2e1220c..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-crlf\r
-crlf\r
-lf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/more-lf b/tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/more-lf
deleted file mode 100644 (file)
index 6da5b0c..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf\r
-lf\r
-crlf\r
-lf\r
-lf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/more-lf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/more-lf-utf8bom
deleted file mode 100644 (file)
index 3fa59c8..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf\r
-lf\r
-crlf\r
-lf\r
-lf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/zero-byte b/tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/zero-byte
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,eol_lf/all-crlf b/tests/resources/crlf_data/posix/autocrlf_input,eol_lf/all-crlf
deleted file mode 100644 (file)
index a9a2e89..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-crlf\r
-crlf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_input,eol_lf/all-crlf-utf8bom
deleted file mode 100644 (file)
index 0aa76e4..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-crlf\r
-crlf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,eol_lf/all-lf b/tests/resources/crlf_data/posix/autocrlf_input,eol_lf/all-lf
deleted file mode 100644 (file)
index 799770d..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf
-lf
-lf
-lf
-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_input,eol_lf/all-lf-utf8bom
deleted file mode 100644 (file)
index 7cce67e..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf
-lf
-lf
-lf
-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,eol_lf/binary-all-crlf b/tests/resources/crlf_data/posix/autocrlf_input,eol_lf/binary-all-crlf
deleted file mode 100644 (file)
index 8534075..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-\ 1one\r
-two\r
-three\r
-four\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,eol_lf/binary-all-lf b/tests/resources/crlf_data/posix/autocrlf_input,eol_lf/binary-all-lf
deleted file mode 100644 (file)
index af6fcf6..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-\ 1one
-two
-three
-four
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix/autocrlf_input,eol_lf/binary-mixed-lf-cr
deleted file mode 100644 (file)
index 203555c..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-\ 1one
-two\rthree
-four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,eol_lf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix/autocrlf_input,eol_lf/binary-mixed-lf-cr-crlf
deleted file mode 100644 (file)
index aaf083a..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-\ 1one
-two\rthree\r
-four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,eol_lf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix/autocrlf_input,eol_lf/few-utf8-chars-crlf
deleted file mode 100644 (file)
index 0e05288..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-⚽The rest is ASCII01.\r
-The rest is ASCII02.\r
-The rest is ASCII03.\r
-The rest is ASCII04.\r
-The rest is ASCII05.\r
-The rest is ASCII06.\r
-The rest is ASCII07.\r
-The rest is ASCII08.\r
-The rest is ASCII09.\r
-The rest is ASCII10.\r
-The rest is ASCII11.\r
-The rest is ASCII12.\r
-The rest is ASCII13.\r
-The rest is ASCII14.\r
-The rest is ASCII15.\r
-The rest is ASCII16.\r
-The rest is ASCII17.\r
-The rest is ASCII18.\r
-The rest is ASCII19.\r
-The rest is ASCII20.\r
-The rest is ASCII21.\r
-The rest is ASCII22.\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/posix/autocrlf_input,eol_lf/few-utf8-chars-lf
deleted file mode 100644 (file)
index f4d25b7..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-⚽The rest is ASCII01.
-The rest is ASCII02.
-The rest is ASCII03.
-The rest is ASCII04.
-The rest is ASCII05.
-The rest is ASCII06.
-The rest is ASCII07.
-The rest is ASCII08.
-The rest is ASCII09.
-The rest is ASCII10.
-The rest is ASCII11.
-The rest is ASCII12.
-The rest is ASCII13.
-The rest is ASCII14.
-The rest is ASCII15.
-The rest is ASCII16.
-The rest is ASCII17.
-The rest is ASCII18.
-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/autocrlf_input,eol_lf/many-utf8-chars-crlf
deleted file mode 100644 (file)
index cd574f5..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-Lets sing!\r
-♫♪♬♩\r
-Eat food\r
-🍅🍕\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/posix/autocrlf_input,eol_lf/many-utf8-chars-lf
deleted file mode 100644 (file)
index 9a6c353..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-Lets sing!
-♫♪♬♩
-Eat food
-🍅🍕
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/posix/autocrlf_input,eol_lf/mixed-lf-cr
deleted file mode 100644 (file)
index d11e7ef..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-one
-two\rthree
-four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix/autocrlf_input,eol_lf/mixed-lf-cr-crlf
deleted file mode 100644 (file)
index 417786f..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-one
-two\rthree\r
-four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,eol_lf/more-crlf b/tests/resources/crlf_data/posix/autocrlf_input,eol_lf/more-crlf
deleted file mode 100644 (file)
index 0ff5a53..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-crlf\r
-crlf\r
-lf
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_input,eol_lf/more-crlf-utf8bom
deleted file mode 100644 (file)
index ea030d3..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-crlf\r
-crlf\r
-lf
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,eol_lf/more-lf b/tests/resources/crlf_data/posix/autocrlf_input,eol_lf/more-lf
deleted file mode 100644 (file)
index 04de00b..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf
-lf
-crlf\r
-lf
-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_input,eol_lf/more-lf-utf8bom
deleted file mode 100644 (file)
index dc88e3b..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf
-lf
-crlf\r
-lf
-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,eol_lf/zero-byte b/tests/resources/crlf_data/posix/autocrlf_input,eol_lf/zero-byte
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/all-crlf b/tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/all-crlf
deleted file mode 100644 (file)
index a9a2e89..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-crlf\r
-crlf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/all-crlf-utf8bom
deleted file mode 100644 (file)
index 0aa76e4..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-crlf\r
-crlf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/all-lf b/tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/all-lf
deleted file mode 100644 (file)
index f557a02..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf\r
-lf\r
-lf\r
-lf\r
-lf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/all-lf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/all-lf-utf8bom
deleted file mode 100644 (file)
index 381cfe6..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf\r
-lf\r
-lf\r
-lf\r
-lf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/binary-all-crlf
deleted file mode 100644 (file)
index 8534075..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-\ 1one\r
-two\r
-three\r
-four\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/binary-all-lf b/tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/binary-all-lf
deleted file mode 100644 (file)
index 8534075..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-\ 1one\r
-two\r
-three\r
-four\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/binary-mixed-lf-cr
deleted file mode 100644 (file)
index fd2abfa..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-\ 1one\r
-two\rthree\r
-four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/binary-mixed-lf-cr-crlf
deleted file mode 100644 (file)
index fd2abfa..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-\ 1one\r
-two\rthree\r
-four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/few-utf8-chars-crlf
deleted file mode 100644 (file)
index 0e05288..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-⚽The rest is ASCII01.\r
-The rest is ASCII02.\r
-The rest is ASCII03.\r
-The rest is ASCII04.\r
-The rest is ASCII05.\r
-The rest is ASCII06.\r
-The rest is ASCII07.\r
-The rest is ASCII08.\r
-The rest is ASCII09.\r
-The rest is ASCII10.\r
-The rest is ASCII11.\r
-The rest is ASCII12.\r
-The rest is ASCII13.\r
-The rest is ASCII14.\r
-The rest is ASCII15.\r
-The rest is ASCII16.\r
-The rest is ASCII17.\r
-The rest is ASCII18.\r
-The rest is ASCII19.\r
-The rest is ASCII20.\r
-The rest is ASCII21.\r
-The rest is ASCII22.\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/few-utf8-chars-lf b/tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/few-utf8-chars-lf
deleted file mode 100644 (file)
index 0e05288..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-⚽The rest is ASCII01.\r
-The rest is ASCII02.\r
-The rest is ASCII03.\r
-The rest is ASCII04.\r
-The rest is ASCII05.\r
-The rest is ASCII06.\r
-The rest is ASCII07.\r
-The rest is ASCII08.\r
-The rest is ASCII09.\r
-The rest is ASCII10.\r
-The rest is ASCII11.\r
-The rest is ASCII12.\r
-The rest is ASCII13.\r
-The rest is ASCII14.\r
-The rest is ASCII15.\r
-The rest is ASCII16.\r
-The rest is ASCII17.\r
-The rest is ASCII18.\r
-The rest is ASCII19.\r
-The rest is ASCII20.\r
-The rest is ASCII21.\r
-The rest is ASCII22.\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/many-utf8-chars-crlf
deleted file mode 100644 (file)
index cd574f5..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-Lets sing!\r
-♫♪♬♩\r
-Eat food\r
-🍅🍕\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/many-utf8-chars-lf b/tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/many-utf8-chars-lf
deleted file mode 100644 (file)
index cd574f5..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-Lets sing!\r
-♫♪♬♩\r
-Eat food\r
-🍅🍕\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/mixed-lf-cr
deleted file mode 100644 (file)
index df8c0f6..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-one\r
-two\rthree\r
-four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/mixed-lf-cr-crlf
deleted file mode 100644 (file)
index df8c0f6..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-one\r
-two\rthree\r
-four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/more-crlf b/tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/more-crlf
deleted file mode 100644 (file)
index e682c30..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-crlf\r
-crlf\r
-lf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/more-crlf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/more-crlf-utf8bom
deleted file mode 100644 (file)
index 2e1220c..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-crlf\r
-crlf\r
-lf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/more-lf b/tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/more-lf
deleted file mode 100644 (file)
index 6da5b0c..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf\r
-lf\r
-crlf\r
-lf\r
-lf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/more-lf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/more-lf-utf8bom
deleted file mode 100644 (file)
index 3fa59c8..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf\r
-lf\r
-crlf\r
-lf\r
-lf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/zero-byte b/tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/zero-byte
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/all-crlf b/tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/all-crlf
deleted file mode 100644 (file)
index a9a2e89..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-crlf\r
-crlf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/all-crlf-utf8bom
deleted file mode 100644 (file)
index 0aa76e4..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-crlf\r
-crlf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/all-lf b/tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/all-lf
deleted file mode 100644 (file)
index 799770d..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf
-lf
-lf
-lf
-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/all-lf-utf8bom
deleted file mode 100644 (file)
index 7cce67e..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf
-lf
-lf
-lf
-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/binary-all-crlf b/tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/binary-all-crlf
deleted file mode 100644 (file)
index 8534075..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-\ 1one\r
-two\r
-three\r
-four\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/binary-all-lf b/tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/binary-all-lf
deleted file mode 100644 (file)
index af6fcf6..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-\ 1one
-two
-three
-four
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/binary-mixed-lf-cr
deleted file mode 100644 (file)
index 203555c..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-\ 1one
-two\rthree
-four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/binary-mixed-lf-cr-crlf
deleted file mode 100644 (file)
index aaf083a..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-\ 1one
-two\rthree\r
-four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/few-utf8-chars-crlf
deleted file mode 100644 (file)
index 0e05288..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-⚽The rest is ASCII01.\r
-The rest is ASCII02.\r
-The rest is ASCII03.\r
-The rest is ASCII04.\r
-The rest is ASCII05.\r
-The rest is ASCII06.\r
-The rest is ASCII07.\r
-The rest is ASCII08.\r
-The rest is ASCII09.\r
-The rest is ASCII10.\r
-The rest is ASCII11.\r
-The rest is ASCII12.\r
-The rest is ASCII13.\r
-The rest is ASCII14.\r
-The rest is ASCII15.\r
-The rest is ASCII16.\r
-The rest is ASCII17.\r
-The rest is ASCII18.\r
-The rest is ASCII19.\r
-The rest is ASCII20.\r
-The rest is ASCII21.\r
-The rest is ASCII22.\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/few-utf8-chars-lf
deleted file mode 100644 (file)
index f4d25b7..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-⚽The rest is ASCII01.
-The rest is ASCII02.
-The rest is ASCII03.
-The rest is ASCII04.
-The rest is ASCII05.
-The rest is ASCII06.
-The rest is ASCII07.
-The rest is ASCII08.
-The rest is ASCII09.
-The rest is ASCII10.
-The rest is ASCII11.
-The rest is ASCII12.
-The rest is ASCII13.
-The rest is ASCII14.
-The rest is ASCII15.
-The rest is ASCII16.
-The rest is ASCII17.
-The rest is ASCII18.
-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/autocrlf_input,text,eol_lf/many-utf8-chars-crlf
deleted file mode 100644 (file)
index cd574f5..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-Lets sing!\r
-♫♪♬♩\r
-Eat food\r
-🍅🍕\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/many-utf8-chars-lf
deleted file mode 100644 (file)
index 9a6c353..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-Lets sing!
-♫♪♬♩
-Eat food
-🍅🍕
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/mixed-lf-cr
deleted file mode 100644 (file)
index d11e7ef..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-one
-two\rthree
-four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/mixed-lf-cr-crlf
deleted file mode 100644 (file)
index 417786f..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-one
-two\rthree\r
-four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/more-crlf b/tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/more-crlf
deleted file mode 100644 (file)
index 0ff5a53..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-crlf\r
-crlf\r
-lf
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/more-crlf-utf8bom
deleted file mode 100644 (file)
index ea030d3..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-crlf\r
-crlf\r
-lf
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/more-lf b/tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/more-lf
deleted file mode 100644 (file)
index 04de00b..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf
-lf
-crlf\r
-lf
-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/more-lf-utf8bom
deleted file mode 100644 (file)
index dc88e3b..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf
-lf
-crlf\r
-lf
-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/zero-byte b/tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/zero-byte
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text/all-crlf b/tests/resources/crlf_data/posix/autocrlf_input,text/all-crlf
deleted file mode 100644 (file)
index a9a2e89..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-crlf\r
-crlf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text/all-crlf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_input,text/all-crlf-utf8bom
deleted file mode 100644 (file)
index 0aa76e4..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-crlf\r
-crlf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text/all-lf b/tests/resources/crlf_data/posix/autocrlf_input,text/all-lf
deleted file mode 100644 (file)
index 799770d..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf
-lf
-lf
-lf
-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text/all-lf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_input,text/all-lf-utf8bom
deleted file mode 100644 (file)
index 7cce67e..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf
-lf
-lf
-lf
-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text/binary-all-crlf b/tests/resources/crlf_data/posix/autocrlf_input,text/binary-all-crlf
deleted file mode 100644 (file)
index 8534075..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-\ 1one\r
-two\r
-three\r
-four\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text/binary-all-lf b/tests/resources/crlf_data/posix/autocrlf_input,text/binary-all-lf
deleted file mode 100644 (file)
index af6fcf6..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-\ 1one
-two
-three
-four
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text/binary-mixed-lf-cr b/tests/resources/crlf_data/posix/autocrlf_input,text/binary-mixed-lf-cr
deleted file mode 100644 (file)
index 203555c..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-\ 1one
-two\rthree
-four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix/autocrlf_input,text/binary-mixed-lf-cr-crlf
deleted file mode 100644 (file)
index aaf083a..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-\ 1one
-two\rthree\r
-four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text/few-utf8-chars-crlf b/tests/resources/crlf_data/posix/autocrlf_input,text/few-utf8-chars-crlf
deleted file mode 100644 (file)
index 0e05288..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-⚽The rest is ASCII01.\r
-The rest is ASCII02.\r
-The rest is ASCII03.\r
-The rest is ASCII04.\r
-The rest is ASCII05.\r
-The rest is ASCII06.\r
-The rest is ASCII07.\r
-The rest is ASCII08.\r
-The rest is ASCII09.\r
-The rest is ASCII10.\r
-The rest is ASCII11.\r
-The rest is ASCII12.\r
-The rest is ASCII13.\r
-The rest is ASCII14.\r
-The rest is ASCII15.\r
-The rest is ASCII16.\r
-The rest is ASCII17.\r
-The rest is ASCII18.\r
-The rest is ASCII19.\r
-The rest is ASCII20.\r
-The rest is ASCII21.\r
-The rest is ASCII22.\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text/few-utf8-chars-lf b/tests/resources/crlf_data/posix/autocrlf_input,text/few-utf8-chars-lf
deleted file mode 100644 (file)
index f4d25b7..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-⚽The rest is ASCII01.
-The rest is ASCII02.
-The rest is ASCII03.
-The rest is ASCII04.
-The rest is ASCII05.
-The rest is ASCII06.
-The rest is ASCII07.
-The rest is ASCII08.
-The rest is ASCII09.
-The rest is ASCII10.
-The rest is ASCII11.
-The rest is ASCII12.
-The rest is ASCII13.
-The rest is ASCII14.
-The rest is ASCII15.
-The rest is ASCII16.
-The rest is ASCII17.
-The rest is ASCII18.
-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/autocrlf_input,text/many-utf8-chars-crlf
deleted file mode 100644 (file)
index cd574f5..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-Lets sing!\r
-♫♪♬♩\r
-Eat food\r
-🍅🍕\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text/many-utf8-chars-lf b/tests/resources/crlf_data/posix/autocrlf_input,text/many-utf8-chars-lf
deleted file mode 100644 (file)
index 9a6c353..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-Lets sing!
-♫♪♬♩
-Eat food
-🍅🍕
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text/mixed-lf-cr b/tests/resources/crlf_data/posix/autocrlf_input,text/mixed-lf-cr
deleted file mode 100644 (file)
index d11e7ef..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-one
-two\rthree
-four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix/autocrlf_input,text/mixed-lf-cr-crlf
deleted file mode 100644 (file)
index 417786f..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-one
-two\rthree\r
-four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text/more-crlf b/tests/resources/crlf_data/posix/autocrlf_input,text/more-crlf
deleted file mode 100644 (file)
index 0ff5a53..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-crlf\r
-crlf\r
-lf
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text/more-crlf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_input,text/more-crlf-utf8bom
deleted file mode 100644 (file)
index ea030d3..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-crlf\r
-crlf\r
-lf
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text/more-lf b/tests/resources/crlf_data/posix/autocrlf_input,text/more-lf
deleted file mode 100644 (file)
index 04de00b..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf
-lf
-crlf\r
-lf
-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text/more-lf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_input,text/more-lf-utf8bom
deleted file mode 100644 (file)
index dc88e3b..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf
-lf
-crlf\r
-lf
-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text/zero-byte b/tests/resources/crlf_data/posix/autocrlf_input,text/zero-byte
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/all-crlf b/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/all-crlf
deleted file mode 100644 (file)
index a9a2e89..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-crlf\r
-crlf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/all-crlf-utf8bom
deleted file mode 100644 (file)
index 0aa76e4..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-crlf\r
-crlf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/all-lf b/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/all-lf
deleted file mode 100644 (file)
index f557a02..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf\r
-lf\r
-lf\r
-lf\r
-lf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/all-lf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/all-lf-utf8bom
deleted file mode 100644 (file)
index 381cfe6..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf\r
-lf\r
-lf\r
-lf\r
-lf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/binary-all-crlf
deleted file mode 100644 (file)
index 8534075..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-\ 1one\r
-two\r
-three\r
-four\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/binary-all-lf b/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/binary-all-lf
deleted file mode 100644 (file)
index 8534075..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-\ 1one\r
-two\r
-three\r
-four\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/binary-mixed-lf-cr
deleted file mode 100644 (file)
index fd2abfa..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-\ 1one\r
-two\rthree\r
-four\r
\ No newline at end of file
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/autocrlf_input,text_auto,eol_crlf/binary-mixed-lf-cr-crlf
deleted file mode 100644 (file)
index fd2abfa..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-\ 1one\r
-two\rthree\r
-four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/few-utf8-chars-crlf
deleted file mode 100644 (file)
index 0e05288..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-⚽The rest is ASCII01.\r
-The rest is ASCII02.\r
-The rest is ASCII03.\r
-The rest is ASCII04.\r
-The rest is ASCII05.\r
-The rest is ASCII06.\r
-The rest is ASCII07.\r
-The rest is ASCII08.\r
-The rest is ASCII09.\r
-The rest is ASCII10.\r
-The rest is ASCII11.\r
-The rest is ASCII12.\r
-The rest is ASCII13.\r
-The rest is ASCII14.\r
-The rest is ASCII15.\r
-The rest is ASCII16.\r
-The rest is ASCII17.\r
-The rest is ASCII18.\r
-The rest is ASCII19.\r
-The rest is ASCII20.\r
-The rest is ASCII21.\r
-The rest is ASCII22.\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/few-utf8-chars-lf b/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/few-utf8-chars-lf
deleted file mode 100644 (file)
index 0e05288..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-⚽The rest is ASCII01.\r
-The rest is ASCII02.\r
-The rest is ASCII03.\r
-The rest is ASCII04.\r
-The rest is ASCII05.\r
-The rest is ASCII06.\r
-The rest is ASCII07.\r
-The rest is ASCII08.\r
-The rest is ASCII09.\r
-The rest is ASCII10.\r
-The rest is ASCII11.\r
-The rest is ASCII12.\r
-The rest is ASCII13.\r
-The rest is ASCII14.\r
-The rest is ASCII15.\r
-The rest is ASCII16.\r
-The rest is ASCII17.\r
-The rest is ASCII18.\r
-The rest is ASCII19.\r
-The rest is ASCII20.\r
-The rest is ASCII21.\r
-The rest is ASCII22.\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/many-utf8-chars-crlf
deleted file mode 100644 (file)
index cd574f5..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-Lets sing!\r
-♫♪♬♩\r
-Eat food\r
-🍅🍕\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/many-utf8-chars-lf b/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/many-utf8-chars-lf
deleted file mode 100644 (file)
index cd574f5..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-Lets sing!\r
-♫♪♬♩\r
-Eat food\r
-🍅🍕\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/mixed-lf-cr
deleted file mode 100644 (file)
index df8c0f6..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-one\r
-two\rthree\r
-four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/mixed-lf-cr-crlf
deleted file mode 100644 (file)
index df8c0f6..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-one\r
-two\rthree\r
-four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/more-crlf b/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/more-crlf
deleted file mode 100644 (file)
index e682c30..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-crlf\r
-crlf\r
-lf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/more-crlf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/more-crlf-utf8bom
deleted file mode 100644 (file)
index 2e1220c..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-crlf\r
-crlf\r
-lf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/more-lf b/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/more-lf
deleted file mode 100644 (file)
index 6da5b0c..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf\r
-lf\r
-crlf\r
-lf\r
-lf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/more-lf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/more-lf-utf8bom
deleted file mode 100644 (file)
index 3fa59c8..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf\r
-lf\r
-crlf\r
-lf\r
-lf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/zero-byte b/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/zero-byte
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/all-crlf b/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/all-crlf
deleted file mode 100644 (file)
index a9a2e89..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-crlf\r
-crlf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/all-crlf-utf8bom
deleted file mode 100644 (file)
index 0aa76e4..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-crlf\r
-crlf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/all-lf b/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/all-lf
deleted file mode 100644 (file)
index 799770d..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf
-lf
-lf
-lf
-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/all-lf-utf8bom
deleted file mode 100644 (file)
index 7cce67e..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf
-lf
-lf
-lf
-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/binary-all-crlf b/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/binary-all-crlf
deleted file mode 100644 (file)
index 8534075..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-\ 1one\r
-two\r
-three\r
-four\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/binary-all-lf b/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/binary-all-lf
deleted file mode 100644 (file)
index af6fcf6..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-\ 1one
-two
-three
-four
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/binary-mixed-lf-cr
deleted file mode 100644 (file)
index 203555c..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-\ 1one
-two\rthree
-four\r
\ No newline at end of file
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/autocrlf_input,text_auto,eol_lf/binary-mixed-lf-cr-crlf
deleted file mode 100644 (file)
index aaf083a..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-\ 1one
-two\rthree\r
-four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/few-utf8-chars-crlf
deleted file mode 100644 (file)
index 0e05288..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-⚽The rest is ASCII01.\r
-The rest is ASCII02.\r
-The rest is ASCII03.\r
-The rest is ASCII04.\r
-The rest is ASCII05.\r
-The rest is ASCII06.\r
-The rest is ASCII07.\r
-The rest is ASCII08.\r
-The rest is ASCII09.\r
-The rest is ASCII10.\r
-The rest is ASCII11.\r
-The rest is ASCII12.\r
-The rest is ASCII13.\r
-The rest is ASCII14.\r
-The rest is ASCII15.\r
-The rest is ASCII16.\r
-The rest is ASCII17.\r
-The rest is ASCII18.\r
-The rest is ASCII19.\r
-The rest is ASCII20.\r
-The rest is ASCII21.\r
-The rest is ASCII22.\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/few-utf8-chars-lf
deleted file mode 100644 (file)
index f4d25b7..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-⚽The rest is ASCII01.
-The rest is ASCII02.
-The rest is ASCII03.
-The rest is ASCII04.
-The rest is ASCII05.
-The rest is ASCII06.
-The rest is ASCII07.
-The rest is ASCII08.
-The rest is ASCII09.
-The rest is ASCII10.
-The rest is ASCII11.
-The rest is ASCII12.
-The rest is ASCII13.
-The rest is ASCII14.
-The rest is ASCII15.
-The rest is ASCII16.
-The rest is ASCII17.
-The rest is ASCII18.
-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/autocrlf_input,text_auto,eol_lf/many-utf8-chars-crlf
deleted file mode 100644 (file)
index cd574f5..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-Lets sing!\r
-♫♪♬♩\r
-Eat food\r
-🍅🍕\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/many-utf8-chars-lf
deleted file mode 100644 (file)
index 9a6c353..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-Lets sing!
-♫♪♬♩
-Eat food
-🍅🍕
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/mixed-lf-cr
deleted file mode 100644 (file)
index d11e7ef..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-one
-two\rthree
-four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/mixed-lf-cr-crlf
deleted file mode 100644 (file)
index 417786f..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-one
-two\rthree\r
-four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/more-crlf b/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/more-crlf
deleted file mode 100644 (file)
index 0ff5a53..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-crlf\r
-crlf\r
-lf
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/more-crlf-utf8bom
deleted file mode 100644 (file)
index ea030d3..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-crlf\r
-crlf\r
-lf
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/more-lf b/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/more-lf
deleted file mode 100644 (file)
index 04de00b..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf
-lf
-crlf\r
-lf
-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/more-lf-utf8bom
deleted file mode 100644 (file)
index dc88e3b..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf
-lf
-crlf\r
-lf
-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/zero-byte b/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/zero-byte
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto/all-crlf b/tests/resources/crlf_data/posix/autocrlf_input,text_auto/all-crlf
deleted file mode 100644 (file)
index a9a2e89..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-crlf\r
-crlf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto/all-crlf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_input,text_auto/all-crlf-utf8bom
deleted file mode 100644 (file)
index 0aa76e4..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-crlf\r
-crlf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto/all-lf b/tests/resources/crlf_data/posix/autocrlf_input,text_auto/all-lf
deleted file mode 100644 (file)
index 799770d..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf
-lf
-lf
-lf
-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto/all-lf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_input,text_auto/all-lf-utf8bom
deleted file mode 100644 (file)
index 7cce67e..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-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/autocrlf_input,text_auto/binary-all-crlf
deleted file mode 100644 (file)
index 8534075..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-\ 1one\r
-two\r
-three\r
-four\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto/binary-all-lf b/tests/resources/crlf_data/posix/autocrlf_input,text_auto/binary-all-lf
deleted file mode 100644 (file)
index af6fcf6..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-\ 1one
-two
-three
-four
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto/binary-mixed-lf-cr b/tests/resources/crlf_data/posix/autocrlf_input,text_auto/binary-mixed-lf-cr
deleted file mode 100644 (file)
index 203555c..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-\ 1one
-two\rthree
-four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix/autocrlf_input,text_auto/binary-mixed-lf-cr-crlf
deleted file mode 100644 (file)
index aaf083a..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-\ 1one
-two\rthree\r
-four\r
\ 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/autocrlf_input,text_auto/few-utf8-chars-crlf
deleted file mode 100644 (file)
index 0e05288..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-⚽The rest is ASCII01.\r
-The rest is ASCII02.\r
-The rest is ASCII03.\r
-The rest is ASCII04.\r
-The rest is ASCII05.\r
-The rest is ASCII06.\r
-The rest is ASCII07.\r
-The rest is ASCII08.\r
-The rest is ASCII09.\r
-The rest is ASCII10.\r
-The rest is ASCII11.\r
-The rest is ASCII12.\r
-The rest is ASCII13.\r
-The rest is ASCII14.\r
-The rest is ASCII15.\r
-The rest is ASCII16.\r
-The rest is ASCII17.\r
-The rest is ASCII18.\r
-The rest is ASCII19.\r
-The rest is ASCII20.\r
-The rest is ASCII21.\r
-The rest is ASCII22.\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto/few-utf8-chars-lf b/tests/resources/crlf_data/posix/autocrlf_input,text_auto/few-utf8-chars-lf
deleted file mode 100644 (file)
index f4d25b7..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-⚽The rest is ASCII01.
-The rest is ASCII02.
-The rest is ASCII03.
-The rest is ASCII04.
-The rest is ASCII05.
-The rest is ASCII06.
-The rest is ASCII07.
-The rest is ASCII08.
-The rest is ASCII09.
-The rest is ASCII10.
-The rest is ASCII11.
-The rest is ASCII12.
-The rest is ASCII13.
-The rest is ASCII14.
-The rest is ASCII15.
-The rest is ASCII16.
-The rest is ASCII17.
-The rest is ASCII18.
-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/autocrlf_input,text_auto/many-utf8-chars-crlf
deleted file mode 100644 (file)
index cd574f5..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-Lets sing!\r
-♫♪♬♩\r
-Eat food\r
-🍅🍕\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto/many-utf8-chars-lf b/tests/resources/crlf_data/posix/autocrlf_input,text_auto/many-utf8-chars-lf
deleted file mode 100644 (file)
index 9a6c353..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-Lets sing!
-♫♪♬♩
-Eat food
-🍅🍕
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto/mixed-lf-cr b/tests/resources/crlf_data/posix/autocrlf_input,text_auto/mixed-lf-cr
deleted file mode 100644 (file)
index d11e7ef..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-one
-two\rthree
-four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix/autocrlf_input,text_auto/mixed-lf-cr-crlf
deleted file mode 100644 (file)
index 417786f..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-one
-two\rthree\r
-four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto/more-crlf b/tests/resources/crlf_data/posix/autocrlf_input,text_auto/more-crlf
deleted file mode 100644 (file)
index 0ff5a53..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-crlf\r
-crlf\r
-lf
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto/more-crlf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_input,text_auto/more-crlf-utf8bom
deleted file mode 100644 (file)
index ea030d3..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-crlf\r
-crlf\r
-lf
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto/more-lf b/tests/resources/crlf_data/posix/autocrlf_input,text_auto/more-lf
deleted file mode 100644 (file)
index 04de00b..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf
-lf
-crlf\r
-lf
-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto/more-lf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_input,text_auto/more-lf-utf8bom
deleted file mode 100644 (file)
index dc88e3b..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf
-lf
-crlf\r
-lf
-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto/zero-byte b/tests/resources/crlf_data/posix/autocrlf_input,text_auto/zero-byte
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/tests/resources/crlf_data/posix/autocrlf_input/all-crlf b/tests/resources/crlf_data/posix/autocrlf_input/all-crlf
deleted file mode 100644 (file)
index a9a2e89..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-crlf\r
-crlf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_input/all-crlf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_input/all-crlf-utf8bom
deleted file mode 100644 (file)
index 0aa76e4..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-crlf\r
-crlf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_input/all-lf b/tests/resources/crlf_data/posix/autocrlf_input/all-lf
deleted file mode 100644 (file)
index 799770d..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf
-lf
-lf
-lf
-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input/all-lf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_input/all-lf-utf8bom
deleted file mode 100644 (file)
index 7cce67e..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf
-lf
-lf
-lf
-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input/binary-all-crlf b/tests/resources/crlf_data/posix/autocrlf_input/binary-all-crlf
deleted file mode 100644 (file)
index 8534075..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-\ 1one\r
-two\r
-three\r
-four\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_input/binary-all-lf b/tests/resources/crlf_data/posix/autocrlf_input/binary-all-lf
deleted file mode 100644 (file)
index af6fcf6..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-\ 1one
-two
-three
-four
diff --git a/tests/resources/crlf_data/posix/autocrlf_input/binary-mixed-lf-cr b/tests/resources/crlf_data/posix/autocrlf_input/binary-mixed-lf-cr
deleted file mode 100644 (file)
index 203555c..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-\ 1one
-two\rthree
-four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_input/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix/autocrlf_input/binary-mixed-lf-cr-crlf
deleted file mode 100644 (file)
index aaf083a..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-\ 1one
-two\rthree\r
-four\r
\ 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/autocrlf_input/few-utf8-chars-crlf
deleted file mode 100644 (file)
index 0e05288..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-⚽The rest is ASCII01.\r
-The rest is ASCII02.\r
-The rest is ASCII03.\r
-The rest is ASCII04.\r
-The rest is ASCII05.\r
-The rest is ASCII06.\r
-The rest is ASCII07.\r
-The rest is ASCII08.\r
-The rest is ASCII09.\r
-The rest is ASCII10.\r
-The rest is ASCII11.\r
-The rest is ASCII12.\r
-The rest is ASCII13.\r
-The rest is ASCII14.\r
-The rest is ASCII15.\r
-The rest is ASCII16.\r
-The rest is ASCII17.\r
-The rest is ASCII18.\r
-The rest is ASCII19.\r
-The rest is ASCII20.\r
-The rest is ASCII21.\r
-The rest is ASCII22.\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_input/few-utf8-chars-lf b/tests/resources/crlf_data/posix/autocrlf_input/few-utf8-chars-lf
deleted file mode 100644 (file)
index f4d25b7..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-⚽The rest is ASCII01.
-The rest is ASCII02.
-The rest is ASCII03.
-The rest is ASCII04.
-The rest is ASCII05.
-The rest is ASCII06.
-The rest is ASCII07.
-The rest is ASCII08.
-The rest is ASCII09.
-The rest is ASCII10.
-The rest is ASCII11.
-The rest is ASCII12.
-The rest is ASCII13.
-The rest is ASCII14.
-The rest is ASCII15.
-The rest is ASCII16.
-The rest is ASCII17.
-The rest is ASCII18.
-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/autocrlf_input/many-utf8-chars-crlf
deleted file mode 100644 (file)
index cd574f5..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-Lets sing!\r
-♫♪♬♩\r
-Eat food\r
-🍅🍕\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_input/many-utf8-chars-lf b/tests/resources/crlf_data/posix/autocrlf_input/many-utf8-chars-lf
deleted file mode 100644 (file)
index 9a6c353..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-Lets sing!
-♫♪♬♩
-Eat food
-🍅🍕
diff --git a/tests/resources/crlf_data/posix/autocrlf_input/mixed-lf-cr b/tests/resources/crlf_data/posix/autocrlf_input/mixed-lf-cr
deleted file mode 100644 (file)
index d11e7ef..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-one
-two\rthree
-four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_input/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix/autocrlf_input/mixed-lf-cr-crlf
deleted file mode 100644 (file)
index 417786f..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-one
-two\rthree\r
-four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_input/more-crlf b/tests/resources/crlf_data/posix/autocrlf_input/more-crlf
deleted file mode 100644 (file)
index 0ff5a53..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-crlf\r
-crlf\r
-lf
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_input/more-crlf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_input/more-crlf-utf8bom
deleted file mode 100644 (file)
index ea030d3..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-crlf\r
-crlf\r
-lf
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_input/more-lf b/tests/resources/crlf_data/posix/autocrlf_input/more-lf
deleted file mode 100644 (file)
index 04de00b..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf
-lf
-crlf\r
-lf
-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input/more-lf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_input/more-lf-utf8bom
deleted file mode 100644 (file)
index dc88e3b..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf
-lf
-crlf\r
-lf
-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_input/zero-byte b/tests/resources/crlf_data/posix/autocrlf_input/zero-byte
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,-crlf/all-crlf b/tests/resources/crlf_data/posix/autocrlf_true,-crlf/all-crlf
deleted file mode 100644 (file)
index a9a2e89..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-crlf\r
-crlf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,-crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_true,-crlf/all-crlf-utf8bom
deleted file mode 100644 (file)
index 0aa76e4..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-crlf\r
-crlf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,-crlf/all-lf b/tests/resources/crlf_data/posix/autocrlf_true,-crlf/all-lf
deleted file mode 100644 (file)
index 799770d..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf
-lf
-lf
-lf
-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,-crlf/all-lf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_true,-crlf/all-lf-utf8bom
deleted file mode 100644 (file)
index 7cce67e..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-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/autocrlf_true,-crlf/binary-all-crlf
deleted file mode 100644 (file)
index 8534075..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-\ 1one\r
-two\r
-three\r
-four\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,-crlf/binary-all-lf b/tests/resources/crlf_data/posix/autocrlf_true,-crlf/binary-all-lf
deleted file mode 100644 (file)
index af6fcf6..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-\ 1one
-two
-three
-four
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,-crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix/autocrlf_true,-crlf/binary-mixed-lf-cr
deleted file mode 100644 (file)
index 203555c..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-\ 1one
-two\rthree
-four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,-crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix/autocrlf_true,-crlf/binary-mixed-lf-cr-crlf
deleted file mode 100644 (file)
index aaf083a..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-\ 1one
-two\rthree\r
-four\r
\ 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/autocrlf_true,-crlf/few-utf8-chars-crlf
deleted file mode 100644 (file)
index 0e05288..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-⚽The rest is ASCII01.\r
-The rest is ASCII02.\r
-The rest is ASCII03.\r
-The rest is ASCII04.\r
-The rest is ASCII05.\r
-The rest is ASCII06.\r
-The rest is ASCII07.\r
-The rest is ASCII08.\r
-The rest is ASCII09.\r
-The rest is ASCII10.\r
-The rest is ASCII11.\r
-The rest is ASCII12.\r
-The rest is ASCII13.\r
-The rest is ASCII14.\r
-The rest is ASCII15.\r
-The rest is ASCII16.\r
-The rest is ASCII17.\r
-The rest is ASCII18.\r
-The rest is ASCII19.\r
-The rest is ASCII20.\r
-The rest is ASCII21.\r
-The rest is ASCII22.\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,-crlf/few-utf8-chars-lf b/tests/resources/crlf_data/posix/autocrlf_true,-crlf/few-utf8-chars-lf
deleted file mode 100644 (file)
index f4d25b7..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-⚽The rest is ASCII01.
-The rest is ASCII02.
-The rest is ASCII03.
-The rest is ASCII04.
-The rest is ASCII05.
-The rest is ASCII06.
-The rest is ASCII07.
-The rest is ASCII08.
-The rest is ASCII09.
-The rest is ASCII10.
-The rest is ASCII11.
-The rest is ASCII12.
-The rest is ASCII13.
-The rest is ASCII14.
-The rest is ASCII15.
-The rest is ASCII16.
-The rest is ASCII17.
-The rest is ASCII18.
-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/autocrlf_true,-crlf/many-utf8-chars-crlf
deleted file mode 100644 (file)
index cd574f5..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-Lets sing!\r
-♫♪♬♩\r
-Eat food\r
-🍅🍕\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,-crlf/many-utf8-chars-lf b/tests/resources/crlf_data/posix/autocrlf_true,-crlf/many-utf8-chars-lf
deleted file mode 100644 (file)
index 9a6c353..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-Lets sing!
-♫♪♬♩
-Eat food
-🍅🍕
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,-crlf/mixed-lf-cr b/tests/resources/crlf_data/posix/autocrlf_true,-crlf/mixed-lf-cr
deleted file mode 100644 (file)
index d11e7ef..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-one
-two\rthree
-four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,-crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix/autocrlf_true,-crlf/mixed-lf-cr-crlf
deleted file mode 100644 (file)
index 417786f..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-one
-two\rthree\r
-four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,-crlf/more-crlf b/tests/resources/crlf_data/posix/autocrlf_true,-crlf/more-crlf
deleted file mode 100644 (file)
index 0ff5a53..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-crlf\r
-crlf\r
-lf
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,-crlf/more-crlf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_true,-crlf/more-crlf-utf8bom
deleted file mode 100644 (file)
index ea030d3..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-crlf\r
-crlf\r
-lf
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,-crlf/more-lf b/tests/resources/crlf_data/posix/autocrlf_true,-crlf/more-lf
deleted file mode 100644 (file)
index 04de00b..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf
-lf
-crlf\r
-lf
-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,-crlf/more-lf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_true,-crlf/more-lf-utf8bom
deleted file mode 100644 (file)
index dc88e3b..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf
-lf
-crlf\r
-lf
-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,-crlf/zero-byte b/tests/resources/crlf_data/posix/autocrlf_true,-crlf/zero-byte
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,-text/all-crlf b/tests/resources/crlf_data/posix/autocrlf_true,-text/all-crlf
deleted file mode 100644 (file)
index a9a2e89..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-crlf\r
-crlf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,-text/all-crlf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_true,-text/all-crlf-utf8bom
deleted file mode 100644 (file)
index 0aa76e4..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-crlf\r
-crlf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,-text/all-lf b/tests/resources/crlf_data/posix/autocrlf_true,-text/all-lf
deleted file mode 100644 (file)
index 799770d..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf
-lf
-lf
-lf
-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,-text/all-lf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_true,-text/all-lf-utf8bom
deleted file mode 100644 (file)
index 7cce67e..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-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/autocrlf_true,-text/binary-all-crlf
deleted file mode 100644 (file)
index 8534075..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-\ 1one\r
-two\r
-three\r
-four\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,-text/binary-all-lf b/tests/resources/crlf_data/posix/autocrlf_true,-text/binary-all-lf
deleted file mode 100644 (file)
index af6fcf6..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-\ 1one
-two
-three
-four
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,-text/binary-mixed-lf-cr b/tests/resources/crlf_data/posix/autocrlf_true,-text/binary-mixed-lf-cr
deleted file mode 100644 (file)
index 203555c..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-\ 1one
-two\rthree
-four\r
\ 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/autocrlf_true,-text/binary-mixed-lf-cr-crlf
deleted file mode 100644 (file)
index aaf083a..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-\ 1one
-two\rthree\r
-four\r
\ 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/autocrlf_true,-text/few-utf8-chars-crlf
deleted file mode 100644 (file)
index 0e05288..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-⚽The rest is ASCII01.\r
-The rest is ASCII02.\r
-The rest is ASCII03.\r
-The rest is ASCII04.\r
-The rest is ASCII05.\r
-The rest is ASCII06.\r
-The rest is ASCII07.\r
-The rest is ASCII08.\r
-The rest is ASCII09.\r
-The rest is ASCII10.\r
-The rest is ASCII11.\r
-The rest is ASCII12.\r
-The rest is ASCII13.\r
-The rest is ASCII14.\r
-The rest is ASCII15.\r
-The rest is ASCII16.\r
-The rest is ASCII17.\r
-The rest is ASCII18.\r
-The rest is ASCII19.\r
-The rest is ASCII20.\r
-The rest is ASCII21.\r
-The rest is ASCII22.\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,-text/few-utf8-chars-lf b/tests/resources/crlf_data/posix/autocrlf_true,-text/few-utf8-chars-lf
deleted file mode 100644 (file)
index f4d25b7..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-⚽The rest is ASCII01.
-The rest is ASCII02.
-The rest is ASCII03.
-The rest is ASCII04.
-The rest is ASCII05.
-The rest is ASCII06.
-The rest is ASCII07.
-The rest is ASCII08.
-The rest is ASCII09.
-The rest is ASCII10.
-The rest is ASCII11.
-The rest is ASCII12.
-The rest is ASCII13.
-The rest is ASCII14.
-The rest is ASCII15.
-The rest is ASCII16.
-The rest is ASCII17.
-The rest is ASCII18.
-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/autocrlf_true,-text/many-utf8-chars-crlf
deleted file mode 100644 (file)
index cd574f5..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-Lets sing!\r
-♫♪♬♩\r
-Eat food\r
-🍅🍕\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,-text/many-utf8-chars-lf b/tests/resources/crlf_data/posix/autocrlf_true,-text/many-utf8-chars-lf
deleted file mode 100644 (file)
index 9a6c353..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-Lets sing!
-♫♪♬♩
-Eat food
-🍅🍕
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,-text/mixed-lf-cr b/tests/resources/crlf_data/posix/autocrlf_true,-text/mixed-lf-cr
deleted file mode 100644 (file)
index d11e7ef..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-one
-two\rthree
-four\r
\ 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/autocrlf_true,-text/mixed-lf-cr-crlf
deleted file mode 100644 (file)
index 417786f..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-one
-two\rthree\r
-four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,-text/more-crlf b/tests/resources/crlf_data/posix/autocrlf_true,-text/more-crlf
deleted file mode 100644 (file)
index 0ff5a53..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-crlf\r
-crlf\r
-lf
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,-text/more-crlf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_true,-text/more-crlf-utf8bom
deleted file mode 100644 (file)
index ea030d3..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-crlf\r
-crlf\r
-lf
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,-text/more-lf b/tests/resources/crlf_data/posix/autocrlf_true,-text/more-lf
deleted file mode 100644 (file)
index 04de00b..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf
-lf
-crlf\r
-lf
-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,-text/more-lf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_true,-text/more-lf-utf8bom
deleted file mode 100644 (file)
index dc88e3b..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf
-lf
-crlf\r
-lf
-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,-text/zero-byte b/tests/resources/crlf_data/posix/autocrlf_true,-text/zero-byte
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,crlf/all-crlf b/tests/resources/crlf_data/posix/autocrlf_true,crlf/all-crlf
deleted file mode 100644 (file)
index a9a2e89..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-crlf\r
-crlf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_true,crlf/all-crlf-utf8bom
deleted file mode 100644 (file)
index 0aa76e4..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-crlf\r
-crlf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,crlf/all-lf b/tests/resources/crlf_data/posix/autocrlf_true,crlf/all-lf
deleted file mode 100644 (file)
index f557a02..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf\r
-lf\r
-lf\r
-lf\r
-lf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,crlf/all-lf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_true,crlf/all-lf-utf8bom
deleted file mode 100644 (file)
index 381cfe6..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf\r
-lf\r
-lf\r
-lf\r
-lf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,crlf/binary-all-crlf b/tests/resources/crlf_data/posix/autocrlf_true,crlf/binary-all-crlf
deleted file mode 100644 (file)
index 8534075..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-\ 1one\r
-two\r
-three\r
-four\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,crlf/binary-all-lf b/tests/resources/crlf_data/posix/autocrlf_true,crlf/binary-all-lf
deleted file mode 100644 (file)
index 8534075..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-\ 1one\r
-two\r
-three\r
-four\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix/autocrlf_true,crlf/binary-mixed-lf-cr
deleted file mode 100644 (file)
index fd2abfa..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-\ 1one\r
-two\rthree\r
-four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix/autocrlf_true,crlf/binary-mixed-lf-cr-crlf
deleted file mode 100644 (file)
index fd2abfa..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-\ 1one\r
-two\rthree\r
-four\r
\ 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/autocrlf_true,crlf/few-utf8-chars-crlf
deleted file mode 100644 (file)
index 0e05288..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-⚽The rest is ASCII01.\r
-The rest is ASCII02.\r
-The rest is ASCII03.\r
-The rest is ASCII04.\r
-The rest is ASCII05.\r
-The rest is ASCII06.\r
-The rest is ASCII07.\r
-The rest is ASCII08.\r
-The rest is ASCII09.\r
-The rest is ASCII10.\r
-The rest is ASCII11.\r
-The rest is ASCII12.\r
-The rest is ASCII13.\r
-The rest is ASCII14.\r
-The rest is ASCII15.\r
-The rest is ASCII16.\r
-The rest is ASCII17.\r
-The rest is ASCII18.\r
-The rest is ASCII19.\r
-The rest is ASCII20.\r
-The rest is ASCII21.\r
-The rest is ASCII22.\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,crlf/few-utf8-chars-lf b/tests/resources/crlf_data/posix/autocrlf_true,crlf/few-utf8-chars-lf
deleted file mode 100644 (file)
index 0e05288..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-⚽The rest is ASCII01.\r
-The rest is ASCII02.\r
-The rest is ASCII03.\r
-The rest is ASCII04.\r
-The rest is ASCII05.\r
-The rest is ASCII06.\r
-The rest is ASCII07.\r
-The rest is ASCII08.\r
-The rest is ASCII09.\r
-The rest is ASCII10.\r
-The rest is ASCII11.\r
-The rest is ASCII12.\r
-The rest is ASCII13.\r
-The rest is ASCII14.\r
-The rest is ASCII15.\r
-The rest is ASCII16.\r
-The rest is ASCII17.\r
-The rest is ASCII18.\r
-The rest is ASCII19.\r
-The rest is ASCII20.\r
-The rest is ASCII21.\r
-The rest is ASCII22.\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix/autocrlf_true,crlf/many-utf8-chars-crlf
deleted file mode 100644 (file)
index cd574f5..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-Lets sing!\r
-♫♪♬♩\r
-Eat food\r
-🍅🍕\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,crlf/many-utf8-chars-lf b/tests/resources/crlf_data/posix/autocrlf_true,crlf/many-utf8-chars-lf
deleted file mode 100644 (file)
index cd574f5..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-Lets sing!\r
-♫♪♬♩\r
-Eat food\r
-🍅🍕\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,crlf/mixed-lf-cr b/tests/resources/crlf_data/posix/autocrlf_true,crlf/mixed-lf-cr
deleted file mode 100644 (file)
index df8c0f6..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-one\r
-two\rthree\r
-four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix/autocrlf_true,crlf/mixed-lf-cr-crlf
deleted file mode 100644 (file)
index df8c0f6..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-one\r
-two\rthree\r
-four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,crlf/more-crlf b/tests/resources/crlf_data/posix/autocrlf_true,crlf/more-crlf
deleted file mode 100644 (file)
index e682c30..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-crlf\r
-crlf\r
-lf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,crlf/more-crlf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_true,crlf/more-crlf-utf8bom
deleted file mode 100644 (file)
index 2e1220c..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-crlf\r
-crlf\r
-lf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,crlf/more-lf b/tests/resources/crlf_data/posix/autocrlf_true,crlf/more-lf
deleted file mode 100644 (file)
index 6da5b0c..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf\r
-lf\r
-crlf\r
-lf\r
-lf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,crlf/more-lf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_true,crlf/more-lf-utf8bom
deleted file mode 100644 (file)
index 3fa59c8..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf\r
-lf\r
-crlf\r
-lf\r
-lf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,crlf/zero-byte b/tests/resources/crlf_data/posix/autocrlf_true,crlf/zero-byte
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/all-crlf b/tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/all-crlf
deleted file mode 100644 (file)
index a9a2e89..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-crlf\r
-crlf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/all-crlf-utf8bom
deleted file mode 100644 (file)
index 0aa76e4..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-crlf\r
-crlf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/all-lf b/tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/all-lf
deleted file mode 100644 (file)
index f557a02..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf\r
-lf\r
-lf\r
-lf\r
-lf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/all-lf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/all-lf-utf8bom
deleted file mode 100644 (file)
index 381cfe6..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf\r
-lf\r
-lf\r
-lf\r
-lf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/binary-all-crlf
deleted file mode 100644 (file)
index 8534075..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-\ 1one\r
-two\r
-three\r
-four\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/binary-all-lf b/tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/binary-all-lf
deleted file mode 100644 (file)
index 8534075..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-\ 1one\r
-two\r
-three\r
-four\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/binary-mixed-lf-cr
deleted file mode 100644 (file)
index fd2abfa..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-\ 1one\r
-two\rthree\r
-four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/binary-mixed-lf-cr-crlf
deleted file mode 100644 (file)
index fd2abfa..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-\ 1one\r
-two\rthree\r
-four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/few-utf8-chars-crlf
deleted file mode 100644 (file)
index 0e05288..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-⚽The rest is ASCII01.\r
-The rest is ASCII02.\r
-The rest is ASCII03.\r
-The rest is ASCII04.\r
-The rest is ASCII05.\r
-The rest is ASCII06.\r
-The rest is ASCII07.\r
-The rest is ASCII08.\r
-The rest is ASCII09.\r
-The rest is ASCII10.\r
-The rest is ASCII11.\r
-The rest is ASCII12.\r
-The rest is ASCII13.\r
-The rest is ASCII14.\r
-The rest is ASCII15.\r
-The rest is ASCII16.\r
-The rest is ASCII17.\r
-The rest is ASCII18.\r
-The rest is ASCII19.\r
-The rest is ASCII20.\r
-The rest is ASCII21.\r
-The rest is ASCII22.\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/few-utf8-chars-lf b/tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/few-utf8-chars-lf
deleted file mode 100644 (file)
index 0e05288..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-⚽The rest is ASCII01.\r
-The rest is ASCII02.\r
-The rest is ASCII03.\r
-The rest is ASCII04.\r
-The rest is ASCII05.\r
-The rest is ASCII06.\r
-The rest is ASCII07.\r
-The rest is ASCII08.\r
-The rest is ASCII09.\r
-The rest is ASCII10.\r
-The rest is ASCII11.\r
-The rest is ASCII12.\r
-The rest is ASCII13.\r
-The rest is ASCII14.\r
-The rest is ASCII15.\r
-The rest is ASCII16.\r
-The rest is ASCII17.\r
-The rest is ASCII18.\r
-The rest is ASCII19.\r
-The rest is ASCII20.\r
-The rest is ASCII21.\r
-The rest is ASCII22.\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/many-utf8-chars-crlf
deleted file mode 100644 (file)
index cd574f5..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-Lets sing!\r
-♫♪♬♩\r
-Eat food\r
-🍅🍕\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/many-utf8-chars-lf b/tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/many-utf8-chars-lf
deleted file mode 100644 (file)
index cd574f5..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-Lets sing!\r
-♫♪♬♩\r
-Eat food\r
-🍅🍕\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/mixed-lf-cr
deleted file mode 100644 (file)
index df8c0f6..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-one\r
-two\rthree\r
-four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/mixed-lf-cr-crlf
deleted file mode 100644 (file)
index df8c0f6..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-one\r
-two\rthree\r
-four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/more-crlf b/tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/more-crlf
deleted file mode 100644 (file)
index e682c30..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-crlf\r
-crlf\r
-lf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/more-crlf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/more-crlf-utf8bom
deleted file mode 100644 (file)
index 2e1220c..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-crlf\r
-crlf\r
-lf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/more-lf b/tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/more-lf
deleted file mode 100644 (file)
index 6da5b0c..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf\r
-lf\r
-crlf\r
-lf\r
-lf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/more-lf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/more-lf-utf8bom
deleted file mode 100644 (file)
index 3fa59c8..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf\r
-lf\r
-crlf\r
-lf\r
-lf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/zero-byte b/tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/zero-byte
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,eol_lf/all-crlf b/tests/resources/crlf_data/posix/autocrlf_true,eol_lf/all-crlf
deleted file mode 100644 (file)
index a9a2e89..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-crlf\r
-crlf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_true,eol_lf/all-crlf-utf8bom
deleted file mode 100644 (file)
index 0aa76e4..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-crlf\r
-crlf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,eol_lf/all-lf b/tests/resources/crlf_data/posix/autocrlf_true,eol_lf/all-lf
deleted file mode 100644 (file)
index 799770d..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf
-lf
-lf
-lf
-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_true,eol_lf/all-lf-utf8bom
deleted file mode 100644 (file)
index 7cce67e..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-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/autocrlf_true,eol_lf/binary-all-crlf
deleted file mode 100644 (file)
index 8534075..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-\ 1one\r
-two\r
-three\r
-four\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,eol_lf/binary-all-lf b/tests/resources/crlf_data/posix/autocrlf_true,eol_lf/binary-all-lf
deleted file mode 100644 (file)
index af6fcf6..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-\ 1one
-two
-three
-four
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix/autocrlf_true,eol_lf/binary-mixed-lf-cr
deleted file mode 100644 (file)
index 203555c..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-\ 1one
-two\rthree
-four\r
\ 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/autocrlf_true,eol_lf/binary-mixed-lf-cr-crlf
deleted file mode 100644 (file)
index aaf083a..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-\ 1one
-two\rthree\r
-four\r
\ 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/autocrlf_true,eol_lf/few-utf8-chars-crlf
deleted file mode 100644 (file)
index 0e05288..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-⚽The rest is ASCII01.\r
-The rest is ASCII02.\r
-The rest is ASCII03.\r
-The rest is ASCII04.\r
-The rest is ASCII05.\r
-The rest is ASCII06.\r
-The rest is ASCII07.\r
-The rest is ASCII08.\r
-The rest is ASCII09.\r
-The rest is ASCII10.\r
-The rest is ASCII11.\r
-The rest is ASCII12.\r
-The rest is ASCII13.\r
-The rest is ASCII14.\r
-The rest is ASCII15.\r
-The rest is ASCII16.\r
-The rest is ASCII17.\r
-The rest is ASCII18.\r
-The rest is ASCII19.\r
-The rest is ASCII20.\r
-The rest is ASCII21.\r
-The rest is ASCII22.\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/posix/autocrlf_true,eol_lf/few-utf8-chars-lf
deleted file mode 100644 (file)
index f4d25b7..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-⚽The rest is ASCII01.
-The rest is ASCII02.
-The rest is ASCII03.
-The rest is ASCII04.
-The rest is ASCII05.
-The rest is ASCII06.
-The rest is ASCII07.
-The rest is ASCII08.
-The rest is ASCII09.
-The rest is ASCII10.
-The rest is ASCII11.
-The rest is ASCII12.
-The rest is ASCII13.
-The rest is ASCII14.
-The rest is ASCII15.
-The rest is ASCII16.
-The rest is ASCII17.
-The rest is ASCII18.
-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/autocrlf_true,eol_lf/many-utf8-chars-crlf
deleted file mode 100644 (file)
index cd574f5..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-Lets sing!\r
-♫♪♬♩\r
-Eat food\r
-🍅🍕\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/posix/autocrlf_true,eol_lf/many-utf8-chars-lf
deleted file mode 100644 (file)
index 9a6c353..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-Lets sing!
-♫♪♬♩
-Eat food
-🍅🍕
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/posix/autocrlf_true,eol_lf/mixed-lf-cr
deleted file mode 100644 (file)
index d11e7ef..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-one
-two\rthree
-four\r
\ 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/autocrlf_true,eol_lf/mixed-lf-cr-crlf
deleted file mode 100644 (file)
index 417786f..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-one
-two\rthree\r
-four\r
\ 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/autocrlf_true,eol_lf/more-crlf
deleted file mode 100644 (file)
index 0ff5a53..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-crlf\r
-crlf\r
-lf
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_true,eol_lf/more-crlf-utf8bom
deleted file mode 100644 (file)
index ea030d3..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-crlf\r
-crlf\r
-lf
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,eol_lf/more-lf b/tests/resources/crlf_data/posix/autocrlf_true,eol_lf/more-lf
deleted file mode 100644 (file)
index 04de00b..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf
-lf
-crlf\r
-lf
-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_true,eol_lf/more-lf-utf8bom
deleted file mode 100644 (file)
index dc88e3b..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf
-lf
-crlf\r
-lf
-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,eol_lf/zero-byte b/tests/resources/crlf_data/posix/autocrlf_true,eol_lf/zero-byte
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/all-crlf b/tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/all-crlf
deleted file mode 100644 (file)
index a9a2e89..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-crlf\r
-crlf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/all-crlf-utf8bom
deleted file mode 100644 (file)
index 0aa76e4..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-crlf\r
-crlf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/all-lf b/tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/all-lf
deleted file mode 100644 (file)
index f557a02..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf\r
-lf\r
-lf\r
-lf\r
-lf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/all-lf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/all-lf-utf8bom
deleted file mode 100644 (file)
index 381cfe6..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf\r
-lf\r
-lf\r
-lf\r
-lf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/binary-all-crlf
deleted file mode 100644 (file)
index 8534075..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-\ 1one\r
-two\r
-three\r
-four\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/binary-all-lf b/tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/binary-all-lf
deleted file mode 100644 (file)
index 8534075..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-\ 1one\r
-two\r
-three\r
-four\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/binary-mixed-lf-cr
deleted file mode 100644 (file)
index fd2abfa..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-\ 1one\r
-two\rthree\r
-four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/binary-mixed-lf-cr-crlf
deleted file mode 100644 (file)
index fd2abfa..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-\ 1one\r
-two\rthree\r
-four\r
\ 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/autocrlf_true,text,eol_crlf/few-utf8-chars-crlf
deleted file mode 100644 (file)
index 0e05288..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-⚽The rest is ASCII01.\r
-The rest is ASCII02.\r
-The rest is ASCII03.\r
-The rest is ASCII04.\r
-The rest is ASCII05.\r
-The rest is ASCII06.\r
-The rest is ASCII07.\r
-The rest is ASCII08.\r
-The rest is ASCII09.\r
-The rest is ASCII10.\r
-The rest is ASCII11.\r
-The rest is ASCII12.\r
-The rest is ASCII13.\r
-The rest is ASCII14.\r
-The rest is ASCII15.\r
-The rest is ASCII16.\r
-The rest is ASCII17.\r
-The rest is ASCII18.\r
-The rest is ASCII19.\r
-The rest is ASCII20.\r
-The rest is ASCII21.\r
-The rest is ASCII22.\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/few-utf8-chars-lf b/tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/few-utf8-chars-lf
deleted file mode 100644 (file)
index 0e05288..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-⚽The rest is ASCII01.\r
-The rest is ASCII02.\r
-The rest is ASCII03.\r
-The rest is ASCII04.\r
-The rest is ASCII05.\r
-The rest is ASCII06.\r
-The rest is ASCII07.\r
-The rest is ASCII08.\r
-The rest is ASCII09.\r
-The rest is ASCII10.\r
-The rest is ASCII11.\r
-The rest is ASCII12.\r
-The rest is ASCII13.\r
-The rest is ASCII14.\r
-The rest is ASCII15.\r
-The rest is ASCII16.\r
-The rest is ASCII17.\r
-The rest is ASCII18.\r
-The rest is ASCII19.\r
-The rest is ASCII20.\r
-The rest is ASCII21.\r
-The rest is ASCII22.\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/many-utf8-chars-crlf
deleted file mode 100644 (file)
index cd574f5..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-Lets sing!\r
-♫♪♬♩\r
-Eat food\r
-🍅🍕\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/many-utf8-chars-lf b/tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/many-utf8-chars-lf
deleted file mode 100644 (file)
index cd574f5..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-Lets sing!\r
-♫♪♬♩\r
-Eat food\r
-🍅🍕\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/mixed-lf-cr
deleted file mode 100644 (file)
index df8c0f6..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-one\r
-two\rthree\r
-four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/mixed-lf-cr-crlf
deleted file mode 100644 (file)
index df8c0f6..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-one\r
-two\rthree\r
-four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/more-crlf b/tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/more-crlf
deleted file mode 100644 (file)
index e682c30..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-crlf\r
-crlf\r
-lf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/more-crlf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/more-crlf-utf8bom
deleted file mode 100644 (file)
index 2e1220c..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-crlf\r
-crlf\r
-lf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/more-lf b/tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/more-lf
deleted file mode 100644 (file)
index 6da5b0c..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf\r
-lf\r
-crlf\r
-lf\r
-lf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/more-lf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/more-lf-utf8bom
deleted file mode 100644 (file)
index 3fa59c8..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf\r
-lf\r
-crlf\r
-lf\r
-lf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/zero-byte b/tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/zero-byte
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/all-crlf b/tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/all-crlf
deleted file mode 100644 (file)
index a9a2e89..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-crlf\r
-crlf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/all-crlf-utf8bom
deleted file mode 100644 (file)
index 0aa76e4..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-crlf\r
-crlf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/all-lf b/tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/all-lf
deleted file mode 100644 (file)
index 799770d..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf
-lf
-lf
-lf
-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/all-lf-utf8bom
deleted file mode 100644 (file)
index 7cce67e..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-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/autocrlf_true,text,eol_lf/binary-all-crlf
deleted file mode 100644 (file)
index 8534075..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-\ 1one\r
-two\r
-three\r
-four\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/binary-all-lf b/tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/binary-all-lf
deleted file mode 100644 (file)
index af6fcf6..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-\ 1one
-two
-three
-four
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/binary-mixed-lf-cr
deleted file mode 100644 (file)
index 203555c..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-\ 1one
-two\rthree
-four\r
\ 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/autocrlf_true,text,eol_lf/binary-mixed-lf-cr-crlf
deleted file mode 100644 (file)
index aaf083a..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-\ 1one
-two\rthree\r
-four\r
\ 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/autocrlf_true,text,eol_lf/few-utf8-chars-crlf
deleted file mode 100644 (file)
index 0e05288..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-⚽The rest is ASCII01.\r
-The rest is ASCII02.\r
-The rest is ASCII03.\r
-The rest is ASCII04.\r
-The rest is ASCII05.\r
-The rest is ASCII06.\r
-The rest is ASCII07.\r
-The rest is ASCII08.\r
-The rest is ASCII09.\r
-The rest is ASCII10.\r
-The rest is ASCII11.\r
-The rest is ASCII12.\r
-The rest is ASCII13.\r
-The rest is ASCII14.\r
-The rest is ASCII15.\r
-The rest is ASCII16.\r
-The rest is ASCII17.\r
-The rest is ASCII18.\r
-The rest is ASCII19.\r
-The rest is ASCII20.\r
-The rest is ASCII21.\r
-The rest is ASCII22.\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/few-utf8-chars-lf
deleted file mode 100644 (file)
index f4d25b7..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-⚽The rest is ASCII01.
-The rest is ASCII02.
-The rest is ASCII03.
-The rest is ASCII04.
-The rest is ASCII05.
-The rest is ASCII06.
-The rest is ASCII07.
-The rest is ASCII08.
-The rest is ASCII09.
-The rest is ASCII10.
-The rest is ASCII11.
-The rest is ASCII12.
-The rest is ASCII13.
-The rest is ASCII14.
-The rest is ASCII15.
-The rest is ASCII16.
-The rest is ASCII17.
-The rest is ASCII18.
-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_lf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/many-utf8-chars-crlf
deleted file mode 100644 (file)
index cd574f5..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-Lets sing!\r
-♫♪♬♩\r
-Eat food\r
-🍅🍕\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/many-utf8-chars-lf
deleted file mode 100644 (file)
index 9a6c353..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-Lets sing!
-♫♪♬♩
-Eat food
-🍅🍕
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/mixed-lf-cr
deleted file mode 100644 (file)
index d11e7ef..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-one
-two\rthree
-four\r
\ 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/autocrlf_true,text,eol_lf/mixed-lf-cr-crlf
deleted file mode 100644 (file)
index 417786f..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-one
-two\rthree\r
-four\r
\ 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/autocrlf_true,text,eol_lf/more-crlf
deleted file mode 100644 (file)
index 0ff5a53..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-crlf\r
-crlf\r
-lf
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/more-crlf-utf8bom
deleted file mode 100644 (file)
index ea030d3..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-crlf\r
-crlf\r
-lf
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/more-lf b/tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/more-lf
deleted file mode 100644 (file)
index 04de00b..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf
-lf
-crlf\r
-lf
-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/more-lf-utf8bom
deleted file mode 100644 (file)
index dc88e3b..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf
-lf
-crlf\r
-lf
-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/zero-byte b/tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/zero-byte
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text/all-crlf b/tests/resources/crlf_data/posix/autocrlf_true,text/all-crlf
deleted file mode 100644 (file)
index a9a2e89..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-crlf\r
-crlf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text/all-crlf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_true,text/all-crlf-utf8bom
deleted file mode 100644 (file)
index 0aa76e4..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-crlf\r
-crlf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text/all-lf b/tests/resources/crlf_data/posix/autocrlf_true,text/all-lf
deleted file mode 100644 (file)
index f557a02..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf\r
-lf\r
-lf\r
-lf\r
-lf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text/all-lf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_true,text/all-lf-utf8bom
deleted file mode 100644 (file)
index 381cfe6..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf\r
-lf\r
-lf\r
-lf\r
-lf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text/binary-all-crlf b/tests/resources/crlf_data/posix/autocrlf_true,text/binary-all-crlf
deleted file mode 100644 (file)
index 8534075..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-\ 1one\r
-two\r
-three\r
-four\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text/binary-all-lf b/tests/resources/crlf_data/posix/autocrlf_true,text/binary-all-lf
deleted file mode 100644 (file)
index 8534075..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-\ 1one\r
-two\r
-three\r
-four\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text/binary-mixed-lf-cr b/tests/resources/crlf_data/posix/autocrlf_true,text/binary-mixed-lf-cr
deleted file mode 100644 (file)
index fd2abfa..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-\ 1one\r
-two\rthree\r
-four\r
\ 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/autocrlf_true,text/binary-mixed-lf-cr-crlf
deleted file mode 100644 (file)
index fd2abfa..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-\ 1one\r
-two\rthree\r
-four\r
\ 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/autocrlf_true,text/few-utf8-chars-crlf
deleted file mode 100644 (file)
index 0e05288..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-⚽The rest is ASCII01.\r
-The rest is ASCII02.\r
-The rest is ASCII03.\r
-The rest is ASCII04.\r
-The rest is ASCII05.\r
-The rest is ASCII06.\r
-The rest is ASCII07.\r
-The rest is ASCII08.\r
-The rest is ASCII09.\r
-The rest is ASCII10.\r
-The rest is ASCII11.\r
-The rest is ASCII12.\r
-The rest is ASCII13.\r
-The rest is ASCII14.\r
-The rest is ASCII15.\r
-The rest is ASCII16.\r
-The rest is ASCII17.\r
-The rest is ASCII18.\r
-The rest is ASCII19.\r
-The rest is ASCII20.\r
-The rest is ASCII21.\r
-The rest is ASCII22.\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text/few-utf8-chars-lf b/tests/resources/crlf_data/posix/autocrlf_true,text/few-utf8-chars-lf
deleted file mode 100644 (file)
index 0e05288..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-⚽The rest is ASCII01.\r
-The rest is ASCII02.\r
-The rest is ASCII03.\r
-The rest is ASCII04.\r
-The rest is ASCII05.\r
-The rest is ASCII06.\r
-The rest is ASCII07.\r
-The rest is ASCII08.\r
-The rest is ASCII09.\r
-The rest is ASCII10.\r
-The rest is ASCII11.\r
-The rest is ASCII12.\r
-The rest is ASCII13.\r
-The rest is ASCII14.\r
-The rest is ASCII15.\r
-The rest is ASCII16.\r
-The rest is ASCII17.\r
-The rest is ASCII18.\r
-The rest is ASCII19.\r
-The rest is ASCII20.\r
-The rest is ASCII21.\r
-The rest is ASCII22.\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text/many-utf8-chars-crlf b/tests/resources/crlf_data/posix/autocrlf_true,text/many-utf8-chars-crlf
deleted file mode 100644 (file)
index cd574f5..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-Lets sing!\r
-♫♪♬♩\r
-Eat food\r
-🍅🍕\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text/many-utf8-chars-lf b/tests/resources/crlf_data/posix/autocrlf_true,text/many-utf8-chars-lf
deleted file mode 100644 (file)
index cd574f5..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-Lets sing!\r
-♫♪♬♩\r
-Eat food\r
-🍅🍕\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text/mixed-lf-cr b/tests/resources/crlf_data/posix/autocrlf_true,text/mixed-lf-cr
deleted file mode 100644 (file)
index df8c0f6..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-one\r
-two\rthree\r
-four\r
\ 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/autocrlf_true,text/mixed-lf-cr-crlf
deleted file mode 100644 (file)
index df8c0f6..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-one\r
-two\rthree\r
-four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text/more-crlf b/tests/resources/crlf_data/posix/autocrlf_true,text/more-crlf
deleted file mode 100644 (file)
index e682c30..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-crlf\r
-crlf\r
-lf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text/more-crlf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_true,text/more-crlf-utf8bom
deleted file mode 100644 (file)
index 2e1220c..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-crlf\r
-crlf\r
-lf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text/more-lf b/tests/resources/crlf_data/posix/autocrlf_true,text/more-lf
deleted file mode 100644 (file)
index 6da5b0c..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf\r
-lf\r
-crlf\r
-lf\r
-lf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text/more-lf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_true,text/more-lf-utf8bom
deleted file mode 100644 (file)
index 3fa59c8..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf\r
-lf\r
-crlf\r
-lf\r
-lf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text/zero-byte b/tests/resources/crlf_data/posix/autocrlf_true,text/zero-byte
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/all-crlf b/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/all-crlf
deleted file mode 100644 (file)
index a9a2e89..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-crlf\r
-crlf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/all-crlf-utf8bom
deleted file mode 100644 (file)
index 0aa76e4..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-crlf\r
-crlf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/all-lf b/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/all-lf
deleted file mode 100644 (file)
index f557a02..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf\r
-lf\r
-lf\r
-lf\r
-lf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/all-lf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/all-lf-utf8bom
deleted file mode 100644 (file)
index 381cfe6..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf\r
-lf\r
-lf\r
-lf\r
-lf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/binary-all-crlf
deleted file mode 100644 (file)
index 8534075..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-\ 1one\r
-two\r
-three\r
-four\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/binary-all-lf b/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/binary-all-lf
deleted file mode 100644 (file)
index 8534075..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-\ 1one\r
-two\r
-three\r
-four\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr
deleted file mode 100644 (file)
index fd2abfa..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-\ 1one\r
-two\rthree\r
-four\r
\ 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/autocrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr-crlf
deleted file mode 100644 (file)
index fd2abfa..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-\ 1one\r
-two\rthree\r
-four\r
\ 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/autocrlf_true,text_auto,eol_crlf/few-utf8-chars-crlf
deleted file mode 100644 (file)
index 0e05288..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-⚽The rest is ASCII01.\r
-The rest is ASCII02.\r
-The rest is ASCII03.\r
-The rest is ASCII04.\r
-The rest is ASCII05.\r
-The rest is ASCII06.\r
-The rest is ASCII07.\r
-The rest is ASCII08.\r
-The rest is ASCII09.\r
-The rest is ASCII10.\r
-The rest is ASCII11.\r
-The rest is ASCII12.\r
-The rest is ASCII13.\r
-The rest is ASCII14.\r
-The rest is ASCII15.\r
-The rest is ASCII16.\r
-The rest is ASCII17.\r
-The rest is ASCII18.\r
-The rest is ASCII19.\r
-The rest is ASCII20.\r
-The rest is ASCII21.\r
-The rest is ASCII22.\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/few-utf8-chars-lf b/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/few-utf8-chars-lf
deleted file mode 100644 (file)
index 0e05288..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-⚽The rest is ASCII01.\r
-The rest is ASCII02.\r
-The rest is ASCII03.\r
-The rest is ASCII04.\r
-The rest is ASCII05.\r
-The rest is ASCII06.\r
-The rest is ASCII07.\r
-The rest is ASCII08.\r
-The rest is ASCII09.\r
-The rest is ASCII10.\r
-The rest is ASCII11.\r
-The rest is ASCII12.\r
-The rest is ASCII13.\r
-The rest is ASCII14.\r
-The rest is ASCII15.\r
-The rest is ASCII16.\r
-The rest is ASCII17.\r
-The rest is ASCII18.\r
-The rest is ASCII19.\r
-The rest is ASCII20.\r
-The rest is ASCII21.\r
-The rest is ASCII22.\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/many-utf8-chars-crlf
deleted file mode 100644 (file)
index cd574f5..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-Lets sing!\r
-♫♪♬♩\r
-Eat food\r
-🍅🍕\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/many-utf8-chars-lf b/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/many-utf8-chars-lf
deleted file mode 100644 (file)
index cd574f5..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-Lets sing!\r
-♫♪♬♩\r
-Eat food\r
-🍅🍕\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/mixed-lf-cr
deleted file mode 100644 (file)
index df8c0f6..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-one\r
-two\rthree\r
-four\r
\ 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/autocrlf_true,text_auto,eol_crlf/mixed-lf-cr-crlf
deleted file mode 100644 (file)
index df8c0f6..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-one\r
-two\rthree\r
-four\r
\ 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/autocrlf_true,text_auto,eol_crlf/more-crlf
deleted file mode 100644 (file)
index e682c30..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-crlf\r
-crlf\r
-lf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/more-crlf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/more-crlf-utf8bom
deleted file mode 100644 (file)
index 2e1220c..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-crlf\r
-crlf\r
-lf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/more-lf b/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/more-lf
deleted file mode 100644 (file)
index 6da5b0c..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf\r
-lf\r
-crlf\r
-lf\r
-lf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/more-lf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/more-lf-utf8bom
deleted file mode 100644 (file)
index 3fa59c8..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf\r
-lf\r
-crlf\r
-lf\r
-lf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/zero-byte b/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/zero-byte
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/all-crlf b/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/all-crlf
deleted file mode 100644 (file)
index a9a2e89..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-crlf\r
-crlf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/all-crlf-utf8bom
deleted file mode 100644 (file)
index 0aa76e4..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-crlf\r
-crlf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/all-lf b/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/all-lf
deleted file mode 100644 (file)
index 799770d..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf
-lf
-lf
-lf
-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/all-lf-utf8bom
deleted file mode 100644 (file)
index 7cce67e..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-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/autocrlf_true,text_auto,eol_lf/binary-all-crlf
deleted file mode 100644 (file)
index 8534075..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-\ 1one\r
-two\r
-three\r
-four\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/binary-all-lf b/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/binary-all-lf
deleted file mode 100644 (file)
index af6fcf6..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-\ 1one
-two
-three
-four
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/binary-mixed-lf-cr
deleted file mode 100644 (file)
index 203555c..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-\ 1one
-two\rthree
-four\r
\ 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/autocrlf_true,text_auto,eol_lf/binary-mixed-lf-cr-crlf
deleted file mode 100644 (file)
index aaf083a..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-\ 1one
-two\rthree\r
-four\r
\ 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/autocrlf_true,text_auto,eol_lf/few-utf8-chars-crlf
deleted file mode 100644 (file)
index 0e05288..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-⚽The rest is ASCII01.\r
-The rest is ASCII02.\r
-The rest is ASCII03.\r
-The rest is ASCII04.\r
-The rest is ASCII05.\r
-The rest is ASCII06.\r
-The rest is ASCII07.\r
-The rest is ASCII08.\r
-The rest is ASCII09.\r
-The rest is ASCII10.\r
-The rest is ASCII11.\r
-The rest is ASCII12.\r
-The rest is ASCII13.\r
-The rest is ASCII14.\r
-The rest is ASCII15.\r
-The rest is ASCII16.\r
-The rest is ASCII17.\r
-The rest is ASCII18.\r
-The rest is ASCII19.\r
-The rest is ASCII20.\r
-The rest is ASCII21.\r
-The rest is ASCII22.\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/few-utf8-chars-lf
deleted file mode 100644 (file)
index f4d25b7..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-⚽The rest is ASCII01.
-The rest is ASCII02.
-The rest is ASCII03.
-The rest is ASCII04.
-The rest is ASCII05.
-The rest is ASCII06.
-The rest is ASCII07.
-The rest is ASCII08.
-The rest is ASCII09.
-The rest is ASCII10.
-The rest is ASCII11.
-The rest is ASCII12.
-The rest is ASCII13.
-The rest is ASCII14.
-The rest is ASCII15.
-The rest is ASCII16.
-The rest is ASCII17.
-The rest is ASCII18.
-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/autocrlf_true,text_auto,eol_lf/many-utf8-chars-crlf
deleted file mode 100644 (file)
index cd574f5..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-Lets sing!\r
-♫♪♬♩\r
-Eat food\r
-🍅🍕\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/many-utf8-chars-lf
deleted file mode 100644 (file)
index 9a6c353..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-Lets sing!
-♫♪♬♩
-Eat food
-🍅🍕
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/mixed-lf-cr
deleted file mode 100644 (file)
index d11e7ef..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-one
-two\rthree
-four\r
\ 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/autocrlf_true,text_auto,eol_lf/mixed-lf-cr-crlf
deleted file mode 100644 (file)
index 417786f..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-one
-two\rthree\r
-four\r
\ 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/autocrlf_true,text_auto,eol_lf/more-crlf
deleted file mode 100644 (file)
index 0ff5a53..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-crlf\r
-crlf\r
-lf
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/more-crlf-utf8bom
deleted file mode 100644 (file)
index ea030d3..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-crlf\r
-crlf\r
-lf
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/more-lf b/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/more-lf
deleted file mode 100644 (file)
index 04de00b..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf
-lf
-crlf\r
-lf
-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/more-lf-utf8bom
deleted file mode 100644 (file)
index dc88e3b..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf
-lf
-crlf\r
-lf
-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/zero-byte b/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/zero-byte
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto/all-crlf b/tests/resources/crlf_data/posix/autocrlf_true,text_auto/all-crlf
deleted file mode 100644 (file)
index a9a2e89..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-crlf\r
-crlf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto/all-crlf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_true,text_auto/all-crlf-utf8bom
deleted file mode 100644 (file)
index 0aa76e4..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-crlf\r
-crlf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto/all-lf b/tests/resources/crlf_data/posix/autocrlf_true,text_auto/all-lf
deleted file mode 100644 (file)
index f557a02..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf\r
-lf\r
-lf\r
-lf\r
-lf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto/all-lf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_true,text_auto/all-lf-utf8bom
deleted file mode 100644 (file)
index 381cfe6..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf\r
-lf\r
-lf\r
-lf\r
-lf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto/binary-all-crlf b/tests/resources/crlf_data/posix/autocrlf_true,text_auto/binary-all-crlf
deleted file mode 100644 (file)
index 8534075..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-\ 1one\r
-two\r
-three\r
-four\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto/binary-all-lf b/tests/resources/crlf_data/posix/autocrlf_true,text_auto/binary-all-lf
deleted file mode 100644 (file)
index af6fcf6..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-\ 1one
-two
-three
-four
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto/binary-mixed-lf-cr b/tests/resources/crlf_data/posix/autocrlf_true,text_auto/binary-mixed-lf-cr
deleted file mode 100644 (file)
index 203555c..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-\ 1one
-two\rthree
-four\r
\ 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/autocrlf_true,text_auto/binary-mixed-lf-cr-crlf
deleted file mode 100644 (file)
index aaf083a..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-\ 1one
-two\rthree\r
-four\r
\ 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/autocrlf_true,text_auto/few-utf8-chars-crlf
deleted file mode 100644 (file)
index 0e05288..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-⚽The rest is ASCII01.\r
-The rest is ASCII02.\r
-The rest is ASCII03.\r
-The rest is ASCII04.\r
-The rest is ASCII05.\r
-The rest is ASCII06.\r
-The rest is ASCII07.\r
-The rest is ASCII08.\r
-The rest is ASCII09.\r
-The rest is ASCII10.\r
-The rest is ASCII11.\r
-The rest is ASCII12.\r
-The rest is ASCII13.\r
-The rest is ASCII14.\r
-The rest is ASCII15.\r
-The rest is ASCII16.\r
-The rest is ASCII17.\r
-The rest is ASCII18.\r
-The rest is ASCII19.\r
-The rest is ASCII20.\r
-The rest is ASCII21.\r
-The rest is ASCII22.\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto/few-utf8-chars-lf b/tests/resources/crlf_data/posix/autocrlf_true,text_auto/few-utf8-chars-lf
deleted file mode 100644 (file)
index 0e05288..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-⚽The rest is ASCII01.\r
-The rest is ASCII02.\r
-The rest is ASCII03.\r
-The rest is ASCII04.\r
-The rest is ASCII05.\r
-The rest is ASCII06.\r
-The rest is ASCII07.\r
-The rest is ASCII08.\r
-The rest is ASCII09.\r
-The rest is ASCII10.\r
-The rest is ASCII11.\r
-The rest is ASCII12.\r
-The rest is ASCII13.\r
-The rest is ASCII14.\r
-The rest is ASCII15.\r
-The rest is ASCII16.\r
-The rest is ASCII17.\r
-The rest is ASCII18.\r
-The rest is ASCII19.\r
-The rest is ASCII20.\r
-The rest is ASCII21.\r
-The rest is ASCII22.\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto/many-utf8-chars-crlf b/tests/resources/crlf_data/posix/autocrlf_true,text_auto/many-utf8-chars-crlf
deleted file mode 100644 (file)
index cd574f5..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-Lets sing!\r
-♫♪♬♩\r
-Eat food\r
-🍅🍕\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto/many-utf8-chars-lf b/tests/resources/crlf_data/posix/autocrlf_true,text_auto/many-utf8-chars-lf
deleted file mode 100644 (file)
index cd574f5..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-Lets sing!\r
-♫♪♬♩\r
-Eat food\r
-🍅🍕\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto/mixed-lf-cr b/tests/resources/crlf_data/posix/autocrlf_true,text_auto/mixed-lf-cr
deleted file mode 100644 (file)
index d11e7ef..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-one
-two\rthree
-four\r
\ 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/autocrlf_true,text_auto/mixed-lf-cr-crlf
deleted file mode 100644 (file)
index 417786f..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-one
-two\rthree\r
-four\r
\ 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/autocrlf_true,text_auto/more-crlf
deleted file mode 100644 (file)
index e682c30..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-crlf\r
-crlf\r
-lf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto/more-crlf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_true,text_auto/more-crlf-utf8bom
deleted file mode 100644 (file)
index 2e1220c..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-crlf\r
-crlf\r
-lf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto/more-lf b/tests/resources/crlf_data/posix/autocrlf_true,text_auto/more-lf
deleted file mode 100644 (file)
index 6da5b0c..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf\r
-lf\r
-crlf\r
-lf\r
-lf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto/more-lf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_true,text_auto/more-lf-utf8bom
deleted file mode 100644 (file)
index 3fa59c8..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf\r
-lf\r
-crlf\r
-lf\r
-lf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto/zero-byte b/tests/resources/crlf_data/posix/autocrlf_true,text_auto/zero-byte
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/tests/resources/crlf_data/posix/autocrlf_true/all-crlf b/tests/resources/crlf_data/posix/autocrlf_true/all-crlf
deleted file mode 100644 (file)
index a9a2e89..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-crlf\r
-crlf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_true/all-crlf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_true/all-crlf-utf8bom
deleted file mode 100644 (file)
index 0aa76e4..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-crlf\r
-crlf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_true/all-lf b/tests/resources/crlf_data/posix/autocrlf_true/all-lf
deleted file mode 100644 (file)
index f557a02..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf\r
-lf\r
-lf\r
-lf\r
-lf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_true/all-lf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_true/all-lf-utf8bom
deleted file mode 100644 (file)
index 381cfe6..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf\r
-lf\r
-lf\r
-lf\r
-lf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_true/binary-all-crlf b/tests/resources/crlf_data/posix/autocrlf_true/binary-all-crlf
deleted file mode 100644 (file)
index 8534075..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-\ 1one\r
-two\r
-three\r
-four\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_true/binary-all-lf b/tests/resources/crlf_data/posix/autocrlf_true/binary-all-lf
deleted file mode 100644 (file)
index af6fcf6..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-\ 1one
-two
-three
-four
diff --git a/tests/resources/crlf_data/posix/autocrlf_true/binary-mixed-lf-cr b/tests/resources/crlf_data/posix/autocrlf_true/binary-mixed-lf-cr
deleted file mode 100644 (file)
index 203555c..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-\ 1one
-two\rthree
-four\r
\ 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/autocrlf_true/binary-mixed-lf-cr-crlf
deleted file mode 100644 (file)
index aaf083a..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-\ 1one
-two\rthree\r
-four\r
\ 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/autocrlf_true/few-utf8-chars-crlf
deleted file mode 100644 (file)
index 0e05288..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-⚽The rest is ASCII01.\r
-The rest is ASCII02.\r
-The rest is ASCII03.\r
-The rest is ASCII04.\r
-The rest is ASCII05.\r
-The rest is ASCII06.\r
-The rest is ASCII07.\r
-The rest is ASCII08.\r
-The rest is ASCII09.\r
-The rest is ASCII10.\r
-The rest is ASCII11.\r
-The rest is ASCII12.\r
-The rest is ASCII13.\r
-The rest is ASCII14.\r
-The rest is ASCII15.\r
-The rest is ASCII16.\r
-The rest is ASCII17.\r
-The rest is ASCII18.\r
-The rest is ASCII19.\r
-The rest is ASCII20.\r
-The rest is ASCII21.\r
-The rest is ASCII22.\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_true/few-utf8-chars-lf b/tests/resources/crlf_data/posix/autocrlf_true/few-utf8-chars-lf
deleted file mode 100644 (file)
index 0e05288..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-⚽The rest is ASCII01.\r
-The rest is ASCII02.\r
-The rest is ASCII03.\r
-The rest is ASCII04.\r
-The rest is ASCII05.\r
-The rest is ASCII06.\r
-The rest is ASCII07.\r
-The rest is ASCII08.\r
-The rest is ASCII09.\r
-The rest is ASCII10.\r
-The rest is ASCII11.\r
-The rest is ASCII12.\r
-The rest is ASCII13.\r
-The rest is ASCII14.\r
-The rest is ASCII15.\r
-The rest is ASCII16.\r
-The rest is ASCII17.\r
-The rest is ASCII18.\r
-The rest is ASCII19.\r
-The rest is ASCII20.\r
-The rest is ASCII21.\r
-The rest is ASCII22.\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_true/many-utf8-chars-crlf b/tests/resources/crlf_data/posix/autocrlf_true/many-utf8-chars-crlf
deleted file mode 100644 (file)
index cd574f5..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-Lets sing!\r
-♫♪♬♩\r
-Eat food\r
-🍅🍕\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_true/many-utf8-chars-lf b/tests/resources/crlf_data/posix/autocrlf_true/many-utf8-chars-lf
deleted file mode 100644 (file)
index cd574f5..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-Lets sing!\r
-♫♪♬♩\r
-Eat food\r
-🍅🍕\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_true/mixed-lf-cr b/tests/resources/crlf_data/posix/autocrlf_true/mixed-lf-cr
deleted file mode 100644 (file)
index d11e7ef..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-one
-two\rthree
-four\r
\ 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/autocrlf_true/mixed-lf-cr-crlf
deleted file mode 100644 (file)
index 417786f..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-one
-two\rthree\r
-four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix/autocrlf_true/more-crlf b/tests/resources/crlf_data/posix/autocrlf_true/more-crlf
deleted file mode 100644 (file)
index 0ff5a53..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-crlf\r
-crlf\r
-lf
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_true/more-crlf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_true/more-crlf-utf8bom
deleted file mode 100644 (file)
index ea030d3..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-crlf\r
-crlf\r
-lf
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/posix/autocrlf_true/more-lf b/tests/resources/crlf_data/posix/autocrlf_true/more-lf
deleted file mode 100644 (file)
index 04de00b..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf
-lf
-crlf\r
-lf
-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true/more-lf-utf8bom b/tests/resources/crlf_data/posix/autocrlf_true/more-lf-utf8bom
deleted file mode 100644 (file)
index dc88e3b..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf
-lf
-crlf\r
-lf
-lf
diff --git a/tests/resources/crlf_data/posix/autocrlf_true/zero-byte b/tests/resources/crlf_data/posix/autocrlf_true/zero-byte
deleted file mode 100644 (file)
index e69de29..0000000
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 (file)
index 0000000..a9a2e89
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
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 (file)
index 0000000..0aa76e4
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/all-lf
new file mode 100644 (file)
index 0000000..799770d
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/all-lf-utf8bom
new file mode 100644 (file)
index 0000000..7cce67e
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/binary-all-crlf
new file mode 100644 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/binary-all-lf
new file mode 100644 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/binary-mixed-lf-cr
new file mode 100644 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/binary-mixed-lf-cr-crlf
new file mode 100644 (file)
index 0000000..aaf083a
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/few-utf8-chars-crlf
new file mode 100644 (file)
index 0000000..0e05288
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.\r
+The rest is ASCII02.\r
+The rest is ASCII03.\r
+The rest is ASCII04.\r
+The rest is ASCII05.\r
+The rest is ASCII06.\r
+The rest is ASCII07.\r
+The rest is ASCII08.\r
+The rest is ASCII09.\r
+The rest is ASCII10.\r
+The rest is ASCII11.\r
+The rest is ASCII12.\r
+The rest is ASCII13.\r
+The rest is ASCII14.\r
+The rest is ASCII15.\r
+The rest is ASCII16.\r
+The rest is ASCII17.\r
+The rest is ASCII18.\r
+The rest is ASCII19.\r
+The rest is ASCII20.\r
+The rest is ASCII21.\r
+The rest is ASCII22.\r
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/few-utf8-chars-lf
new file mode 100644 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/many-utf8-chars-crlf
new file mode 100644 (file)
index 0000000..cd574f5
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!\r
+♫♪♬♩\r
+Eat food\r
+🍅🍕\r
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/many-utf8-chars-lf
new file mode 100644 (file)
index 0000000..9a6c353
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/mixed-lf-cr
new file mode 100644 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/mixed-lf-cr-crlf
new file mode 100644 (file)
index 0000000..417786f
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/more-crlf
new file mode 100644 (file)
index 0000000..0ff5a53
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
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 (file)
index 0000000..ea030d3
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
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 (file)
index 0000000..04de00b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+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 (file)
index 0000000..dc88e3b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/zero-byte
new file mode 100644 (file)
index 0000000..e69de29
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 (file)
index 0000000..a9a2e89
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
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 (file)
index 0000000..0aa76e4
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/all-lf
new file mode 100644 (file)
index 0000000..799770d
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/all-lf-utf8bom
new file mode 100644 (file)
index 0000000..7cce67e
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/binary-all-crlf
new file mode 100644 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/binary-all-lf
new file mode 100644 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/binary-mixed-lf-cr
new file mode 100644 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/binary-mixed-lf-cr-crlf
new file mode 100644 (file)
index 0000000..aaf083a
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/few-utf8-chars-crlf
new file mode 100644 (file)
index 0000000..0e05288
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.\r
+The rest is ASCII02.\r
+The rest is ASCII03.\r
+The rest is ASCII04.\r
+The rest is ASCII05.\r
+The rest is ASCII06.\r
+The rest is ASCII07.\r
+The rest is ASCII08.\r
+The rest is ASCII09.\r
+The rest is ASCII10.\r
+The rest is ASCII11.\r
+The rest is ASCII12.\r
+The rest is ASCII13.\r
+The rest is ASCII14.\r
+The rest is ASCII15.\r
+The rest is ASCII16.\r
+The rest is ASCII17.\r
+The rest is ASCII18.\r
+The rest is ASCII19.\r
+The rest is ASCII20.\r
+The rest is ASCII21.\r
+The rest is ASCII22.\r
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/few-utf8-chars-lf
new file mode 100644 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/many-utf8-chars-crlf
new file mode 100644 (file)
index 0000000..cd574f5
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!\r
+♫♪♬♩\r
+Eat food\r
+🍅🍕\r
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/many-utf8-chars-lf
new file mode 100644 (file)
index 0000000..9a6c353
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/mixed-lf-cr
new file mode 100644 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/mixed-lf-cr-crlf
new file mode 100644 (file)
index 0000000..417786f
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/more-crlf
new file mode 100644 (file)
index 0000000..0ff5a53
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
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 (file)
index 0000000..ea030d3
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
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 (file)
index 0000000..04de00b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+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 (file)
index 0000000..dc88e3b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/zero-byte
new file mode 100644 (file)
index 0000000..e69de29
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 (file)
index 0000000..26e1a74
--- /dev/null
@@ -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 (file)
index 0000000..32c6f22
--- /dev/null
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/all-lf
new file mode 100644 (file)
index 0000000..799770d
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/all-lf-utf8bom
new file mode 100644 (file)
index 0000000..7cce67e
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/binary-all-crlf
new file mode 100644 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/binary-all-lf
new file mode 100644 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/binary-mixed-lf-cr
new file mode 100644 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/binary-mixed-lf-cr-crlf
new file mode 100644 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/few-utf8-chars-crlf
new file mode 100644 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/few-utf8-chars-lf
new file mode 100644 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/many-utf8-chars-crlf
new file mode 100644 (file)
index 0000000..9a6c353
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/many-utf8-chars-lf
new file mode 100644 (file)
index 0000000..9a6c353
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/mixed-lf-cr
new file mode 100644 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/mixed-lf-cr-crlf
new file mode 100644 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/more-crlf
new file mode 100644 (file)
index 0000000..37bb7fa
--- /dev/null
@@ -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 (file)
index 0000000..16001a1
--- /dev/null
@@ -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 (file)
index 0000000..2cda6f2
--- /dev/null
@@ -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 (file)
index 0000000..dc7d82a
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/zero-byte
new file mode 100644 (file)
index 0000000..e69de29
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 (file)
index 0000000..26e1a74
--- /dev/null
@@ -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 (file)
index 0000000..32c6f22
--- /dev/null
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/all-lf
new file mode 100644 (file)
index 0000000..799770d
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/all-lf-utf8bom
new file mode 100644 (file)
index 0000000..7cce67e
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/binary-all-crlf
new file mode 100644 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/binary-all-lf
new file mode 100644 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/binary-mixed-lf-cr
new file mode 100644 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/binary-mixed-lf-cr-crlf
new file mode 100644 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/few-utf8-chars-crlf
new file mode 100644 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/few-utf8-chars-lf
new file mode 100644 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/many-utf8-chars-crlf
new file mode 100644 (file)
index 0000000..9a6c353
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/many-utf8-chars-lf
new file mode 100644 (file)
index 0000000..9a6c353
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/mixed-lf-cr
new file mode 100644 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/mixed-lf-cr-crlf
new file mode 100644 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/more-crlf
new file mode 100644 (file)
index 0000000..37bb7fa
--- /dev/null
@@ -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 (file)
index 0000000..16001a1
--- /dev/null
@@ -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 (file)
index 0000000..2cda6f2
--- /dev/null
@@ -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 (file)
index 0000000..dc7d82a
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/zero-byte
new file mode 100644 (file)
index 0000000..e69de29
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 (file)
index 0000000..26e1a74
--- /dev/null
@@ -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 (file)
index 0000000..32c6f22
--- /dev/null
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/all-lf
new file mode 100644 (file)
index 0000000..799770d
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/all-lf-utf8bom
new file mode 100644 (file)
index 0000000..7cce67e
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/binary-all-crlf
new file mode 100644 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/binary-all-lf
new file mode 100644 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/binary-mixed-lf-cr
new file mode 100644 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/binary-mixed-lf-cr-crlf
new file mode 100644 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/few-utf8-chars-crlf
new file mode 100644 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/few-utf8-chars-lf
new file mode 100644 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/many-utf8-chars-crlf
new file mode 100644 (file)
index 0000000..9a6c353
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/many-utf8-chars-lf
new file mode 100644 (file)
index 0000000..9a6c353
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/mixed-lf-cr
new file mode 100644 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/mixed-lf-cr-crlf
new file mode 100644 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/more-crlf
new file mode 100644 (file)
index 0000000..37bb7fa
--- /dev/null
@@ -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 (file)
index 0000000..16001a1
--- /dev/null
@@ -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 (file)
index 0000000..2cda6f2
--- /dev/null
@@ -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 (file)
index 0000000..dc7d82a
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/zero-byte
new file mode 100644 (file)
index 0000000..e69de29
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 (file)
index 0000000..26e1a74
--- /dev/null
@@ -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 (file)
index 0000000..32c6f22
--- /dev/null
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/all-lf
new file mode 100644 (file)
index 0000000..799770d
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/all-lf-utf8bom
new file mode 100644 (file)
index 0000000..7cce67e
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/binary-all-crlf
new file mode 100644 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/binary-all-lf
new file mode 100644 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/binary-mixed-lf-cr
new file mode 100644 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/binary-mixed-lf-cr-crlf
new file mode 100644 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/few-utf8-chars-crlf
new file mode 100644 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/few-utf8-chars-lf
new file mode 100644 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/many-utf8-chars-crlf
new file mode 100644 (file)
index 0000000..9a6c353
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/many-utf8-chars-lf
new file mode 100644 (file)
index 0000000..9a6c353
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/mixed-lf-cr
new file mode 100644 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/mixed-lf-cr-crlf
new file mode 100644 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/more-crlf
new file mode 100644 (file)
index 0000000..37bb7fa
--- /dev/null
@@ -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 (file)
index 0000000..16001a1
--- /dev/null
@@ -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 (file)
index 0000000..2cda6f2
--- /dev/null
@@ -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 (file)
index 0000000..dc7d82a
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/zero-byte
new file mode 100644 (file)
index 0000000..e69de29
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 (file)
index 0000000..26e1a74
--- /dev/null
@@ -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 (file)
index 0000000..32c6f22
--- /dev/null
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/all-lf
new file mode 100644 (file)
index 0000000..799770d
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/all-lf-utf8bom
new file mode 100644 (file)
index 0000000..7cce67e
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/binary-all-crlf
new file mode 100644 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/binary-all-lf
new file mode 100644 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/binary-mixed-lf-cr
new file mode 100644 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/binary-mixed-lf-cr-crlf
new file mode 100644 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/few-utf8-chars-crlf
new file mode 100644 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/few-utf8-chars-lf
new file mode 100644 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/many-utf8-chars-crlf
new file mode 100644 (file)
index 0000000..9a6c353
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/many-utf8-chars-lf
new file mode 100644 (file)
index 0000000..9a6c353
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/mixed-lf-cr
new file mode 100644 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/mixed-lf-cr-crlf
new file mode 100644 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/more-crlf
new file mode 100644 (file)
index 0000000..37bb7fa
--- /dev/null
@@ -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 (file)
index 0000000..16001a1
--- /dev/null
@@ -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 (file)
index 0000000..2cda6f2
--- /dev/null
@@ -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 (file)
index 0000000..dc7d82a
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/zero-byte
new file mode 100644 (file)
index 0000000..e69de29
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 (file)
index 0000000..26e1a74
--- /dev/null
@@ -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 (file)
index 0000000..32c6f22
--- /dev/null
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/all-lf
new file mode 100644 (file)
index 0000000..799770d
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/all-lf-utf8bom
new file mode 100644 (file)
index 0000000..7cce67e
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/binary-all-crlf
new file mode 100644 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/binary-all-lf
new file mode 100644 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/binary-mixed-lf-cr
new file mode 100644 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/binary-mixed-lf-cr-crlf
new file mode 100644 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/few-utf8-chars-crlf
new file mode 100644 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/few-utf8-chars-lf
new file mode 100644 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/many-utf8-chars-crlf
new file mode 100644 (file)
index 0000000..9a6c353
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/many-utf8-chars-lf
new file mode 100644 (file)
index 0000000..9a6c353
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/mixed-lf-cr
new file mode 100644 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/mixed-lf-cr-crlf
new file mode 100644 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/more-crlf
new file mode 100644 (file)
index 0000000..37bb7fa
--- /dev/null
@@ -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 (file)
index 0000000..16001a1
--- /dev/null
@@ -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 (file)
index 0000000..2cda6f2
--- /dev/null
@@ -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 (file)
index 0000000..dc7d82a
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/zero-byte
new file mode 100644 (file)
index 0000000..e69de29
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 (file)
index 0000000..26e1a74
--- /dev/null
@@ -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 (file)
index 0000000..32c6f22
--- /dev/null
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/all-lf
new file mode 100644 (file)
index 0000000..799770d
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/all-lf-utf8bom
new file mode 100644 (file)
index 0000000..7cce67e
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/binary-all-crlf
new file mode 100644 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/binary-all-lf
new file mode 100644 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr
new file mode 100644 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr-crlf
new file mode 100644 (file)
index 0000000..aaf083a
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/few-utf8-chars-crlf
new file mode 100644 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/few-utf8-chars-lf
new file mode 100644 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/many-utf8-chars-crlf
new file mode 100644 (file)
index 0000000..9a6c353
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/many-utf8-chars-lf
new file mode 100644 (file)
index 0000000..9a6c353
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/mixed-lf-cr
new file mode 100644 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/mixed-lf-cr-crlf
new file mode 100644 (file)
index 0000000..417786f
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/more-crlf
new file mode 100644 (file)
index 0000000..37bb7fa
--- /dev/null
@@ -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 (file)
index 0000000..16001a1
--- /dev/null
@@ -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 (file)
index 0000000..2cda6f2
--- /dev/null
@@ -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 (file)
index 0000000..dc7d82a
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/zero-byte
new file mode 100644 (file)
index 0000000..e69de29
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 (file)
index 0000000..26e1a74
--- /dev/null
@@ -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 (file)
index 0000000..32c6f22
--- /dev/null
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/all-lf
new file mode 100644 (file)
index 0000000..799770d
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/all-lf-utf8bom
new file mode 100644 (file)
index 0000000..7cce67e
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/binary-all-crlf
new file mode 100644 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/binary-all-lf
new file mode 100644 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/binary-mixed-lf-cr
new file mode 100644 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/binary-mixed-lf-cr-crlf
new file mode 100644 (file)
index 0000000..aaf083a
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/few-utf8-chars-crlf
new file mode 100644 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/few-utf8-chars-lf
new file mode 100644 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/many-utf8-chars-crlf
new file mode 100644 (file)
index 0000000..9a6c353
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/many-utf8-chars-lf
new file mode 100644 (file)
index 0000000..9a6c353
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/mixed-lf-cr
new file mode 100644 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/mixed-lf-cr-crlf
new file mode 100644 (file)
index 0000000..417786f
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/more-crlf
new file mode 100644 (file)
index 0000000..37bb7fa
--- /dev/null
@@ -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 (file)
index 0000000..16001a1
--- /dev/null
@@ -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 (file)
index 0000000..2cda6f2
--- /dev/null
@@ -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 (file)
index 0000000..dc7d82a
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/zero-byte
new file mode 100644 (file)
index 0000000..e69de29
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 (file)
index 0000000..26e1a74
--- /dev/null
@@ -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 (file)
index 0000000..32c6f22
--- /dev/null
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/all-lf
new file mode 100644 (file)
index 0000000..799770d
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/all-lf-utf8bom
new file mode 100644 (file)
index 0000000..7cce67e
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/binary-all-crlf
new file mode 100644 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/binary-all-lf
new file mode 100644 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/binary-mixed-lf-cr
new file mode 100644 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/binary-mixed-lf-cr-crlf
new file mode 100644 (file)
index 0000000..aaf083a
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/few-utf8-chars-crlf
new file mode 100644 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/few-utf8-chars-lf
new file mode 100644 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/many-utf8-chars-crlf
new file mode 100644 (file)
index 0000000..9a6c353
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/many-utf8-chars-lf
new file mode 100644 (file)
index 0000000..9a6c353
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/mixed-lf-cr
new file mode 100644 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/mixed-lf-cr-crlf
new file mode 100644 (file)
index 0000000..417786f
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/more-crlf
new file mode 100644 (file)
index 0000000..37bb7fa
--- /dev/null
@@ -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 (file)
index 0000000..16001a1
--- /dev/null
@@ -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 (file)
index 0000000..2cda6f2
--- /dev/null
@@ -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 (file)
index 0000000..dc7d82a
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/zero-byte
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/all-crlf
new file mode 100644 (file)
index 0000000..a9a2e89
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/all-crlf-utf8bom
new file mode 100644 (file)
index 0000000..0aa76e4
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/all-lf
new file mode 100644 (file)
index 0000000..799770d
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/all-lf-utf8bom
new file mode 100644 (file)
index 0000000..7cce67e
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/binary-all-crlf
new file mode 100644 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/binary-all-lf
new file mode 100644 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/binary-mixed-lf-cr
new file mode 100644 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/binary-mixed-lf-cr-crlf
new file mode 100644 (file)
index 0000000..aaf083a
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/few-utf8-chars-crlf
new file mode 100644 (file)
index 0000000..0e05288
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.\r
+The rest is ASCII02.\r
+The rest is ASCII03.\r
+The rest is ASCII04.\r
+The rest is ASCII05.\r
+The rest is ASCII06.\r
+The rest is ASCII07.\r
+The rest is ASCII08.\r
+The rest is ASCII09.\r
+The rest is ASCII10.\r
+The rest is ASCII11.\r
+The rest is ASCII12.\r
+The rest is ASCII13.\r
+The rest is ASCII14.\r
+The rest is ASCII15.\r
+The rest is ASCII16.\r
+The rest is ASCII17.\r
+The rest is ASCII18.\r
+The rest is ASCII19.\r
+The rest is ASCII20.\r
+The rest is ASCII21.\r
+The rest is ASCII22.\r
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/few-utf8-chars-lf
new file mode 100644 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/many-utf8-chars-crlf
new file mode 100644 (file)
index 0000000..cd574f5
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!\r
+♫♪♬♩\r
+Eat food\r
+🍅🍕\r
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/many-utf8-chars-lf
new file mode 100644 (file)
index 0000000..9a6c353
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/mixed-lf-cr
new file mode 100644 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/mixed-lf-cr-crlf
new file mode 100644 (file)
index 0000000..417786f
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/more-crlf
new file mode 100644 (file)
index 0000000..0ff5a53
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/more-crlf-utf8bom
new file mode 100644 (file)
index 0000000..ea030d3
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/more-lf
new file mode 100644 (file)
index 0000000..04de00b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/more-lf-utf8bom
new file mode 100644 (file)
index 0000000..dc88e3b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/zero-byte
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/all-crlf
new file mode 100644 (file)
index 0000000..a9a2e89
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/all-crlf-utf8bom
new file mode 100644 (file)
index 0000000..0aa76e4
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/all-lf
new file mode 100644 (file)
index 0000000..799770d
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/all-lf-utf8bom
new file mode 100644 (file)
index 0000000..7cce67e
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/binary-all-crlf
new file mode 100644 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/binary-all-lf
new file mode 100644 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/binary-mixed-lf-cr
new file mode 100644 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/binary-mixed-lf-cr-crlf
new file mode 100644 (file)
index 0000000..aaf083a
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/few-utf8-chars-crlf
new file mode 100644 (file)
index 0000000..0e05288
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.\r
+The rest is ASCII02.\r
+The rest is ASCII03.\r
+The rest is ASCII04.\r
+The rest is ASCII05.\r
+The rest is ASCII06.\r
+The rest is ASCII07.\r
+The rest is ASCII08.\r
+The rest is ASCII09.\r
+The rest is ASCII10.\r
+The rest is ASCII11.\r
+The rest is ASCII12.\r
+The rest is ASCII13.\r
+The rest is ASCII14.\r
+The rest is ASCII15.\r
+The rest is ASCII16.\r
+The rest is ASCII17.\r
+The rest is ASCII18.\r
+The rest is ASCII19.\r
+The rest is ASCII20.\r
+The rest is ASCII21.\r
+The rest is ASCII22.\r
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/few-utf8-chars-lf
new file mode 100644 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/many-utf8-chars-crlf
new file mode 100644 (file)
index 0000000..cd574f5
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!\r
+♫♪♬♩\r
+Eat food\r
+🍅🍕\r
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/many-utf8-chars-lf
new file mode 100644 (file)
index 0000000..9a6c353
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/mixed-lf-cr
new file mode 100644 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/mixed-lf-cr-crlf
new file mode 100644 (file)
index 0000000..417786f
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/more-crlf
new file mode 100644 (file)
index 0000000..0ff5a53
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/more-crlf-utf8bom
new file mode 100644 (file)
index 0000000..ea030d3
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/more-lf
new file mode 100644 (file)
index 0000000..04de00b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/more-lf-utf8bom
new file mode 100644 (file)
index 0000000..dc88e3b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/zero-byte
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/all-crlf
new file mode 100644 (file)
index 0000000..a9a2e89
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/all-crlf-utf8bom
new file mode 100644 (file)
index 0000000..0aa76e4
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/all-lf
new file mode 100644 (file)
index 0000000..799770d
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/all-lf-utf8bom
new file mode 100644 (file)
index 0000000..7cce67e
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/binary-all-crlf
new file mode 100644 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/binary-all-lf
new file mode 100644 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/binary-mixed-lf-cr
new file mode 100644 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/binary-mixed-lf-cr-crlf
new file mode 100644 (file)
index 0000000..aaf083a
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/few-utf8-chars-crlf
new file mode 100644 (file)
index 0000000..0e05288
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.\r
+The rest is ASCII02.\r
+The rest is ASCII03.\r
+The rest is ASCII04.\r
+The rest is ASCII05.\r
+The rest is ASCII06.\r
+The rest is ASCII07.\r
+The rest is ASCII08.\r
+The rest is ASCII09.\r
+The rest is ASCII10.\r
+The rest is ASCII11.\r
+The rest is ASCII12.\r
+The rest is ASCII13.\r
+The rest is ASCII14.\r
+The rest is ASCII15.\r
+The rest is ASCII16.\r
+The rest is ASCII17.\r
+The rest is ASCII18.\r
+The rest is ASCII19.\r
+The rest is ASCII20.\r
+The rest is ASCII21.\r
+The rest is ASCII22.\r
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/few-utf8-chars-lf
new file mode 100644 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/many-utf8-chars-crlf
new file mode 100644 (file)
index 0000000..cd574f5
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!\r
+♫♪♬♩\r
+Eat food\r
+🍅🍕\r
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/many-utf8-chars-lf
new file mode 100644 (file)
index 0000000..9a6c353
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/mixed-lf-cr
new file mode 100644 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/mixed-lf-cr-crlf
new file mode 100644 (file)
index 0000000..417786f
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/more-crlf
new file mode 100644 (file)
index 0000000..0ff5a53
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/more-crlf-utf8bom
new file mode 100644 (file)
index 0000000..ea030d3
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/more-lf
new file mode 100644 (file)
index 0000000..04de00b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/more-lf-utf8bom
new file mode 100644 (file)
index 0000000..dc88e3b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/zero-byte
new file mode 100644 (file)
index 0000000..e69de29
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 (file)
index 0000000..213f972
--- /dev/null
@@ -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 (file)
index 0000000..851ef6c
--- /dev/null
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'all-crlf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/all-lf
new file mode 100644 (file)
index 0000000..799770d
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/all-lf-utf8bom
new file mode 100644 (file)
index 0000000..7cce67e
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/binary-all-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/binary-all-crlf.fail
new file mode 100644 (file)
index 0000000..26690f3
--- /dev/null
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'binary-all-crlf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/binary-all-lf
new file mode 100644 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/binary-mixed-lf-cr
new file mode 100644 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/binary-mixed-lf-cr-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/binary-mixed-lf-cr-crlf.fail
new file mode 100644 (file)
index 0000000..c6b706d
--- /dev/null
@@ -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 (file)
index 0000000..c23959d
--- /dev/null
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'few-utf8-chars-crlf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/few-utf8-chars-lf
new file mode 100644 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/many-utf8-chars-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/many-utf8-chars-crlf.fail
new file mode 100644 (file)
index 0000000..2e093c9
--- /dev/null
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'many-utf8-chars-crlf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/many-utf8-chars-lf
new file mode 100644 (file)
index 0000000..9a6c353
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/mixed-lf-cr
new file mode 100644 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/mixed-lf-cr-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/mixed-lf-cr-crlf.fail
new file mode 100644 (file)
index 0000000..3c6cbac
--- /dev/null
@@ -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 (file)
index 0000000..43b93db
--- /dev/null
@@ -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 (file)
index 0000000..b1a5dc9
--- /dev/null
@@ -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 (file)
index 0000000..13c4e3c
--- /dev/null
@@ -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 (file)
index 0000000..c964c72
--- /dev/null
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'more-lf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/zero-byte
new file mode 100644 (file)
index 0000000..e69de29
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 (file)
index 0000000..26e1a74
--- /dev/null
@@ -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 (file)
index 0000000..32c6f22
--- /dev/null
@@ -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 (file)
index 0000000..547008e
--- /dev/null
@@ -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 (file)
index 0000000..d992d47
--- /dev/null
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'all-lf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/binary-all-crlf
new file mode 100644 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/binary-all-lf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/binary-all-lf.fail
new file mode 100644 (file)
index 0000000..180663e
--- /dev/null
@@ -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 (file)
index 0000000..f87ce3f
--- /dev/null
@@ -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 (file)
index 0000000..63eac58
--- /dev/null
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'binary-mixed-lf-cr'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/few-utf8-chars-crlf
new file mode 100644 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/few-utf8-chars-lf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/few-utf8-chars-lf.fail
new file mode 100644 (file)
index 0000000..fabf466
--- /dev/null
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'few-utf8-chars-lf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/many-utf8-chars-crlf
new file mode 100644 (file)
index 0000000..9a6c353
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/many-utf8-chars-lf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/many-utf8-chars-lf.fail
new file mode 100644 (file)
index 0000000..b874f4b
--- /dev/null
@@ -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 (file)
index 0000000..a353e0e
--- /dev/null
@@ -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 (file)
index 0000000..0287e32
--- /dev/null
@@ -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 (file)
index 0000000..e77b2b9
--- /dev/null
@@ -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 (file)
index 0000000..07f50c3
--- /dev/null
@@ -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 (file)
index 0000000..6994a8d
--- /dev/null
@@ -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 (file)
index 0000000..067a2e8
--- /dev/null
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'more-lf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/zero-byte
new file mode 100644 (file)
index 0000000..e69de29
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 (file)
index 0000000..213f972
--- /dev/null
@@ -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 (file)
index 0000000..851ef6c
--- /dev/null
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'all-crlf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/all-lf
new file mode 100644 (file)
index 0000000..799770d
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/all-lf-utf8bom
new file mode 100644 (file)
index 0000000..7cce67e
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/binary-all-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/binary-all-crlf.fail
new file mode 100644 (file)
index 0000000..26690f3
--- /dev/null
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'binary-all-crlf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/binary-all-lf
new file mode 100644 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/binary-mixed-lf-cr
new file mode 100644 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/binary-mixed-lf-cr-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/binary-mixed-lf-cr-crlf.fail
new file mode 100644 (file)
index 0000000..c6b706d
--- /dev/null
@@ -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 (file)
index 0000000..c23959d
--- /dev/null
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'few-utf8-chars-crlf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/few-utf8-chars-lf
new file mode 100644 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/many-utf8-chars-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/many-utf8-chars-crlf.fail
new file mode 100644 (file)
index 0000000..2e093c9
--- /dev/null
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'many-utf8-chars-crlf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/many-utf8-chars-lf
new file mode 100644 (file)
index 0000000..9a6c353
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/mixed-lf-cr
new file mode 100644 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/mixed-lf-cr-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/mixed-lf-cr-crlf.fail
new file mode 100644 (file)
index 0000000..3c6cbac
--- /dev/null
@@ -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 (file)
index 0000000..43b93db
--- /dev/null
@@ -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 (file)
index 0000000..b1a5dc9
--- /dev/null
@@ -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 (file)
index 0000000..13c4e3c
--- /dev/null
@@ -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 (file)
index 0000000..c964c72
--- /dev/null
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'more-lf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/zero-byte
new file mode 100644 (file)
index 0000000..e69de29
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 (file)
index 0000000..26e1a74
--- /dev/null
@@ -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 (file)
index 0000000..32c6f22
--- /dev/null
@@ -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 (file)
index 0000000..547008e
--- /dev/null
@@ -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 (file)
index 0000000..d992d47
--- /dev/null
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'all-lf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/binary-all-crlf
new file mode 100644 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/binary-all-lf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/binary-all-lf.fail
new file mode 100644 (file)
index 0000000..180663e
--- /dev/null
@@ -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 (file)
index 0000000..f87ce3f
--- /dev/null
@@ -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 (file)
index 0000000..63eac58
--- /dev/null
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'binary-mixed-lf-cr'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/few-utf8-chars-crlf
new file mode 100644 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/few-utf8-chars-lf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/few-utf8-chars-lf.fail
new file mode 100644 (file)
index 0000000..fabf466
--- /dev/null
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'few-utf8-chars-lf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/many-utf8-chars-crlf
new file mode 100644 (file)
index 0000000..9a6c353
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/many-utf8-chars-lf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/many-utf8-chars-lf.fail
new file mode 100644 (file)
index 0000000..b874f4b
--- /dev/null
@@ -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 (file)
index 0000000..a353e0e
--- /dev/null
@@ -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 (file)
index 0000000..0287e32
--- /dev/null
@@ -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 (file)
index 0000000..e77b2b9
--- /dev/null
@@ -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 (file)
index 0000000..07f50c3
--- /dev/null
@@ -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 (file)
index 0000000..6994a8d
--- /dev/null
@@ -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 (file)
index 0000000..067a2e8
--- /dev/null
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'more-lf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/zero-byte
new file mode 100644 (file)
index 0000000..e69de29
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 (file)
index 0000000..213f972
--- /dev/null
@@ -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 (file)
index 0000000..851ef6c
--- /dev/null
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'all-crlf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/all-lf
new file mode 100644 (file)
index 0000000..799770d
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/all-lf-utf8bom
new file mode 100644 (file)
index 0000000..7cce67e
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/binary-all-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/binary-all-crlf.fail
new file mode 100644 (file)
index 0000000..26690f3
--- /dev/null
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'binary-all-crlf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/binary-all-lf
new file mode 100644 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/binary-mixed-lf-cr
new file mode 100644 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/binary-mixed-lf-cr-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/binary-mixed-lf-cr-crlf.fail
new file mode 100644 (file)
index 0000000..c6b706d
--- /dev/null
@@ -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 (file)
index 0000000..c23959d
--- /dev/null
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'few-utf8-chars-crlf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/few-utf8-chars-lf
new file mode 100644 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/many-utf8-chars-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/many-utf8-chars-crlf.fail
new file mode 100644 (file)
index 0000000..2e093c9
--- /dev/null
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'many-utf8-chars-crlf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/many-utf8-chars-lf
new file mode 100644 (file)
index 0000000..9a6c353
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/mixed-lf-cr
new file mode 100644 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/mixed-lf-cr-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/mixed-lf-cr-crlf.fail
new file mode 100644 (file)
index 0000000..3c6cbac
--- /dev/null
@@ -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 (file)
index 0000000..43b93db
--- /dev/null
@@ -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 (file)
index 0000000..b1a5dc9
--- /dev/null
@@ -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 (file)
index 0000000..13c4e3c
--- /dev/null
@@ -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 (file)
index 0000000..c964c72
--- /dev/null
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'more-lf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/zero-byte
new file mode 100644 (file)
index 0000000..e69de29
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 (file)
index 0000000..213f972
--- /dev/null
@@ -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 (file)
index 0000000..851ef6c
--- /dev/null
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'all-crlf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/all-lf
new file mode 100644 (file)
index 0000000..799770d
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/all-lf-utf8bom
new file mode 100644 (file)
index 0000000..7cce67e
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/binary-all-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/binary-all-crlf.fail
new file mode 100644 (file)
index 0000000..26690f3
--- /dev/null
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'binary-all-crlf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/binary-all-lf
new file mode 100644 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/binary-mixed-lf-cr
new file mode 100644 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/binary-mixed-lf-cr-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/binary-mixed-lf-cr-crlf.fail
new file mode 100644 (file)
index 0000000..c6b706d
--- /dev/null
@@ -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 (file)
index 0000000..c23959d
--- /dev/null
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'few-utf8-chars-crlf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/few-utf8-chars-lf
new file mode 100644 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/many-utf8-chars-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/many-utf8-chars-crlf.fail
new file mode 100644 (file)
index 0000000..2e093c9
--- /dev/null
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'many-utf8-chars-crlf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/many-utf8-chars-lf
new file mode 100644 (file)
index 0000000..9a6c353
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/mixed-lf-cr
new file mode 100644 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/mixed-lf-cr-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/mixed-lf-cr-crlf.fail
new file mode 100644 (file)
index 0000000..3c6cbac
--- /dev/null
@@ -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 (file)
index 0000000..43b93db
--- /dev/null
@@ -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 (file)
index 0000000..b1a5dc9
--- /dev/null
@@ -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 (file)
index 0000000..13c4e3c
--- /dev/null
@@ -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 (file)
index 0000000..c964c72
--- /dev/null
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'more-lf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/zero-byte
new file mode 100644 (file)
index 0000000..e69de29
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 (file)
index 0000000..26e1a74
--- /dev/null
@@ -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 (file)
index 0000000..32c6f22
--- /dev/null
@@ -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 (file)
index 0000000..547008e
--- /dev/null
@@ -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 (file)
index 0000000..d992d47
--- /dev/null
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'all-lf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/binary-all-crlf
new file mode 100644 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/binary-all-lf
new file mode 100644 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr
new file mode 100644 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr-crlf
new file mode 100644 (file)
index 0000000..aaf083a
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/few-utf8-chars-crlf
new file mode 100644 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/few-utf8-chars-lf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/few-utf8-chars-lf.fail
new file mode 100644 (file)
index 0000000..fabf466
--- /dev/null
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'few-utf8-chars-lf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/many-utf8-chars-crlf
new file mode 100644 (file)
index 0000000..9a6c353
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/many-utf8-chars-lf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/many-utf8-chars-lf.fail
new file mode 100644 (file)
index 0000000..b874f4b
--- /dev/null
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'many-utf8-chars-lf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/mixed-lf-cr
new file mode 100644 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/mixed-lf-cr-crlf
new file mode 100644 (file)
index 0000000..417786f
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/more-crlf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/more-crlf-utf8bom.fail
new file mode 100644 (file)
index 0000000..e77b2b9
--- /dev/null
@@ -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 (file)
index 0000000..07f50c3
--- /dev/null
@@ -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 (file)
index 0000000..6994a8d
--- /dev/null
@@ -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 (file)
index 0000000..067a2e8
--- /dev/null
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'more-lf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/zero-byte
new file mode 100644 (file)
index 0000000..e69de29
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 (file)
index 0000000..213f972
--- /dev/null
@@ -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 (file)
index 0000000..851ef6c
--- /dev/null
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'all-crlf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/all-lf
new file mode 100644 (file)
index 0000000..799770d
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/all-lf-utf8bom
new file mode 100644 (file)
index 0000000..7cce67e
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/binary-all-crlf
new file mode 100644 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/binary-all-lf
new file mode 100644 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/binary-mixed-lf-cr
new file mode 100644 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/binary-mixed-lf-cr-crlf
new file mode 100644 (file)
index 0000000..aaf083a
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/few-utf8-chars-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/few-utf8-chars-crlf.fail
new file mode 100644 (file)
index 0000000..c23959d
--- /dev/null
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'few-utf8-chars-crlf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/few-utf8-chars-lf
new file mode 100644 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/many-utf8-chars-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/many-utf8-chars-crlf.fail
new file mode 100644 (file)
index 0000000..2e093c9
--- /dev/null
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'many-utf8-chars-crlf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/many-utf8-chars-lf
new file mode 100644 (file)
index 0000000..9a6c353
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/mixed-lf-cr
new file mode 100644 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/mixed-lf-cr-crlf
new file mode 100644 (file)
index 0000000..417786f
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/more-crlf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/more-crlf-utf8bom.fail
new file mode 100644 (file)
index 0000000..43b93db
--- /dev/null
@@ -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 (file)
index 0000000..b1a5dc9
--- /dev/null
@@ -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 (file)
index 0000000..13c4e3c
--- /dev/null
@@ -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 (file)
index 0000000..c964c72
--- /dev/null
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'more-lf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/zero-byte
new file mode 100644 (file)
index 0000000..e69de29
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 (file)
index 0000000..213f972
--- /dev/null
@@ -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 (file)
index 0000000..851ef6c
--- /dev/null
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'all-crlf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/all-lf
new file mode 100644 (file)
index 0000000..799770d
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/all-lf-utf8bom
new file mode 100644 (file)
index 0000000..7cce67e
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/binary-all-crlf
new file mode 100644 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/binary-all-lf
new file mode 100644 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/binary-mixed-lf-cr
new file mode 100644 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/binary-mixed-lf-cr-crlf
new file mode 100644 (file)
index 0000000..aaf083a
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/few-utf8-chars-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/few-utf8-chars-crlf.fail
new file mode 100644 (file)
index 0000000..c23959d
--- /dev/null
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'few-utf8-chars-crlf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/few-utf8-chars-lf
new file mode 100644 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/many-utf8-chars-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/many-utf8-chars-crlf.fail
new file mode 100644 (file)
index 0000000..2e093c9
--- /dev/null
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'many-utf8-chars-crlf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/many-utf8-chars-lf
new file mode 100644 (file)
index 0000000..9a6c353
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/mixed-lf-cr
new file mode 100644 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/mixed-lf-cr-crlf
new file mode 100644 (file)
index 0000000..417786f
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/more-crlf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/more-crlf-utf8bom.fail
new file mode 100644 (file)
index 0000000..43b93db
--- /dev/null
@@ -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 (file)
index 0000000..b1a5dc9
--- /dev/null
@@ -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 (file)
index 0000000..13c4e3c
--- /dev/null
@@ -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 (file)
index 0000000..c964c72
--- /dev/null
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'more-lf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/zero-byte
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/all-crlf
new file mode 100644 (file)
index 0000000..a9a2e89
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/all-crlf-utf8bom
new file mode 100644 (file)
index 0000000..0aa76e4
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/all-lf
new file mode 100644 (file)
index 0000000..799770d
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/all-lf-utf8bom
new file mode 100644 (file)
index 0000000..7cce67e
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/binary-all-crlf
new file mode 100644 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/binary-all-lf
new file mode 100644 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/binary-mixed-lf-cr
new file mode 100644 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/binary-mixed-lf-cr-crlf
new file mode 100644 (file)
index 0000000..aaf083a
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/few-utf8-chars-crlf
new file mode 100644 (file)
index 0000000..0e05288
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.\r
+The rest is ASCII02.\r
+The rest is ASCII03.\r
+The rest is ASCII04.\r
+The rest is ASCII05.\r
+The rest is ASCII06.\r
+The rest is ASCII07.\r
+The rest is ASCII08.\r
+The rest is ASCII09.\r
+The rest is ASCII10.\r
+The rest is ASCII11.\r
+The rest is ASCII12.\r
+The rest is ASCII13.\r
+The rest is ASCII14.\r
+The rest is ASCII15.\r
+The rest is ASCII16.\r
+The rest is ASCII17.\r
+The rest is ASCII18.\r
+The rest is ASCII19.\r
+The rest is ASCII20.\r
+The rest is ASCII21.\r
+The rest is ASCII22.\r
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/few-utf8-chars-lf
new file mode 100644 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/many-utf8-chars-crlf
new file mode 100644 (file)
index 0000000..cd574f5
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!\r
+♫♪♬♩\r
+Eat food\r
+🍅🍕\r
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/many-utf8-chars-lf
new file mode 100644 (file)
index 0000000..9a6c353
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/mixed-lf-cr
new file mode 100644 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/mixed-lf-cr-crlf
new file mode 100644 (file)
index 0000000..417786f
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/more-crlf
new file mode 100644 (file)
index 0000000..0ff5a53
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/more-crlf-utf8bom
new file mode 100644 (file)
index 0000000..ea030d3
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/more-lf
new file mode 100644 (file)
index 0000000..04de00b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/more-lf-utf8bom
new file mode 100644 (file)
index 0000000..dc88e3b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/zero-byte
new file mode 100644 (file)
index 0000000..e69de29
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 (file)
index 0000000..a9a2e89
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
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 (file)
index 0000000..0aa76e4
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/all-lf
new file mode 100644 (file)
index 0000000..799770d
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/all-lf-utf8bom
new file mode 100644 (file)
index 0000000..7cce67e
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/binary-all-crlf
new file mode 100644 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/binary-all-lf
new file mode 100644 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/binary-mixed-lf-cr
new file mode 100644 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/binary-mixed-lf-cr-crlf
new file mode 100644 (file)
index 0000000..aaf083a
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/few-utf8-chars-crlf
new file mode 100644 (file)
index 0000000..0e05288
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.\r
+The rest is ASCII02.\r
+The rest is ASCII03.\r
+The rest is ASCII04.\r
+The rest is ASCII05.\r
+The rest is ASCII06.\r
+The rest is ASCII07.\r
+The rest is ASCII08.\r
+The rest is ASCII09.\r
+The rest is ASCII10.\r
+The rest is ASCII11.\r
+The rest is ASCII12.\r
+The rest is ASCII13.\r
+The rest is ASCII14.\r
+The rest is ASCII15.\r
+The rest is ASCII16.\r
+The rest is ASCII17.\r
+The rest is ASCII18.\r
+The rest is ASCII19.\r
+The rest is ASCII20.\r
+The rest is ASCII21.\r
+The rest is ASCII22.\r
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/few-utf8-chars-lf
new file mode 100644 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/many-utf8-chars-crlf
new file mode 100644 (file)
index 0000000..cd574f5
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!\r
+♫♪♬♩\r
+Eat food\r
+🍅🍕\r
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/many-utf8-chars-lf
new file mode 100644 (file)
index 0000000..9a6c353
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/mixed-lf-cr
new file mode 100644 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/mixed-lf-cr-crlf
new file mode 100644 (file)
index 0000000..417786f
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/more-crlf
new file mode 100644 (file)
index 0000000..0ff5a53
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
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 (file)
index 0000000..ea030d3
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
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 (file)
index 0000000..04de00b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+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 (file)
index 0000000..dc88e3b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/zero-byte
new file mode 100644 (file)
index 0000000..e69de29
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 (file)
index 0000000..a9a2e89
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
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 (file)
index 0000000..0aa76e4
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/all-lf
new file mode 100644 (file)
index 0000000..799770d
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/all-lf-utf8bom
new file mode 100644 (file)
index 0000000..7cce67e
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/binary-all-crlf
new file mode 100644 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/binary-all-lf
new file mode 100644 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/binary-mixed-lf-cr
new file mode 100644 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/binary-mixed-lf-cr-crlf
new file mode 100644 (file)
index 0000000..aaf083a
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/few-utf8-chars-crlf
new file mode 100644 (file)
index 0000000..0e05288
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.\r
+The rest is ASCII02.\r
+The rest is ASCII03.\r
+The rest is ASCII04.\r
+The rest is ASCII05.\r
+The rest is ASCII06.\r
+The rest is ASCII07.\r
+The rest is ASCII08.\r
+The rest is ASCII09.\r
+The rest is ASCII10.\r
+The rest is ASCII11.\r
+The rest is ASCII12.\r
+The rest is ASCII13.\r
+The rest is ASCII14.\r
+The rest is ASCII15.\r
+The rest is ASCII16.\r
+The rest is ASCII17.\r
+The rest is ASCII18.\r
+The rest is ASCII19.\r
+The rest is ASCII20.\r
+The rest is ASCII21.\r
+The rest is ASCII22.\r
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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is 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 (file)
index 0000000..cd574f5
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!\r
+♫♪♬♩\r
+Eat food\r
+🍅🍕\r
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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/mixed-lf-cr
new file mode 100644 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/mixed-lf-cr-crlf
new file mode 100644 (file)
index 0000000..417786f
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/more-crlf
new file mode 100644 (file)
index 0000000..0ff5a53
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
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 (file)
index 0000000..ea030d3
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
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 (file)
index 0000000..04de00b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+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 (file)
index 0000000..dc88e3b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/zero-byte
new file mode 100644 (file)
index 0000000..e69de29
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 (file)
index 0000000..26e1a74
--- /dev/null
@@ -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 (file)
index 0000000..32c6f22
--- /dev/null
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/all-lf
new file mode 100644 (file)
index 0000000..799770d
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/all-lf-utf8bom
new file mode 100644 (file)
index 0000000..7cce67e
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/binary-all-crlf
new file mode 100644 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/binary-all-lf
new file mode 100644 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/binary-mixed-lf-cr
new file mode 100644 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/binary-mixed-lf-cr-crlf
new file mode 100644 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/few-utf8-chars-crlf
new file mode 100644 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/few-utf8-chars-lf
new file mode 100644 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/many-utf8-chars-crlf
new file mode 100644 (file)
index 0000000..9a6c353
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/many-utf8-chars-lf
new file mode 100644 (file)
index 0000000..9a6c353
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/mixed-lf-cr
new file mode 100644 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/mixed-lf-cr-crlf
new file mode 100644 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/more-crlf
new file mode 100644 (file)
index 0000000..37bb7fa
--- /dev/null
@@ -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 (file)
index 0000000..16001a1
--- /dev/null
@@ -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 (file)
index 0000000..2cda6f2
--- /dev/null
@@ -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 (file)
index 0000000..dc7d82a
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/zero-byte
new file mode 100644 (file)
index 0000000..e69de29
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 (file)
index 0000000..26e1a74
--- /dev/null
@@ -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 (file)
index 0000000..32c6f22
--- /dev/null
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/all-lf
new file mode 100644 (file)
index 0000000..799770d
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/all-lf-utf8bom
new file mode 100644 (file)
index 0000000..7cce67e
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/binary-all-crlf
new file mode 100644 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/binary-all-lf
new file mode 100644 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/binary-mixed-lf-cr
new file mode 100644 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/binary-mixed-lf-cr-crlf
new file mode 100644 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/few-utf8-chars-crlf
new file mode 100644 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/few-utf8-chars-lf
new file mode 100644 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/many-utf8-chars-crlf
new file mode 100644 (file)
index 0000000..9a6c353
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/many-utf8-chars-lf
new file mode 100644 (file)
index 0000000..9a6c353
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/mixed-lf-cr
new file mode 100644 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/mixed-lf-cr-crlf
new file mode 100644 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/more-crlf
new file mode 100644 (file)
index 0000000..37bb7fa
--- /dev/null
@@ -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 (file)
index 0000000..16001a1
--- /dev/null
@@ -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 (file)
index 0000000..2cda6f2
--- /dev/null
@@ -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 (file)
index 0000000..dc7d82a
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/zero-byte
new file mode 100644 (file)
index 0000000..e69de29
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 (file)
index 0000000..26e1a74
--- /dev/null
@@ -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 (file)
index 0000000..32c6f22
--- /dev/null
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/all-lf
new file mode 100644 (file)
index 0000000..799770d
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/all-lf-utf8bom
new file mode 100644 (file)
index 0000000..7cce67e
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/binary-all-crlf
new file mode 100644 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/binary-all-lf
new file mode 100644 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/binary-mixed-lf-cr
new file mode 100644 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/binary-mixed-lf-cr-crlf
new file mode 100644 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/few-utf8-chars-crlf
new file mode 100644 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/few-utf8-chars-lf
new file mode 100644 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/many-utf8-chars-crlf
new file mode 100644 (file)
index 0000000..9a6c353
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/many-utf8-chars-lf
new file mode 100644 (file)
index 0000000..9a6c353
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/mixed-lf-cr
new file mode 100644 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/mixed-lf-cr-crlf
new file mode 100644 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/more-crlf
new file mode 100644 (file)
index 0000000..37bb7fa
--- /dev/null
@@ -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 (file)
index 0000000..16001a1
--- /dev/null
@@ -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 (file)
index 0000000..2cda6f2
--- /dev/null
@@ -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 (file)
index 0000000..dc7d82a
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/zero-byte
new file mode 100644 (file)
index 0000000..e69de29
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 (file)
index 0000000..26e1a74
--- /dev/null
@@ -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 (file)
index 0000000..32c6f22
--- /dev/null
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/all-lf
new file mode 100644 (file)
index 0000000..799770d
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/all-lf-utf8bom
new file mode 100644 (file)
index 0000000..7cce67e
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/binary-all-crlf
new file mode 100644 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/binary-all-lf
new file mode 100644 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/binary-mixed-lf-cr
new file mode 100644 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/binary-mixed-lf-cr-crlf
new file mode 100644 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/few-utf8-chars-crlf
new file mode 100644 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/few-utf8-chars-lf
new file mode 100644 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/many-utf8-chars-crlf
new file mode 100644 (file)
index 0000000..9a6c353
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/many-utf8-chars-lf
new file mode 100644 (file)
index 0000000..9a6c353
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/mixed-lf-cr
new file mode 100644 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/mixed-lf-cr-crlf
new file mode 100644 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/more-crlf
new file mode 100644 (file)
index 0000000..37bb7fa
--- /dev/null
@@ -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 (file)
index 0000000..16001a1
--- /dev/null
@@ -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 (file)
index 0000000..2cda6f2
--- /dev/null
@@ -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 (file)
index 0000000..dc7d82a
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/zero-byte
new file mode 100644 (file)
index 0000000..e69de29
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 (file)
index 0000000..26e1a74
--- /dev/null
@@ -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 (file)
index 0000000..32c6f22
--- /dev/null
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/all-lf
new file mode 100644 (file)
index 0000000..799770d
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/all-lf-utf8bom
new file mode 100644 (file)
index 0000000..7cce67e
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/binary-all-crlf
new file mode 100644 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/binary-all-lf
new file mode 100644 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/binary-mixed-lf-cr
new file mode 100644 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/binary-mixed-lf-cr-crlf
new file mode 100644 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/few-utf8-chars-crlf
new file mode 100644 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is 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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/mixed-lf-cr
new file mode 100644 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/mixed-lf-cr-crlf
new file mode 100644 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/more-crlf
new file mode 100644 (file)
index 0000000..37bb7fa
--- /dev/null
@@ -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 (file)
index 0000000..16001a1
--- /dev/null
@@ -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 (file)
index 0000000..2cda6f2
--- /dev/null
@@ -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 (file)
index 0000000..dc7d82a
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/zero-byte
new file mode 100644 (file)
index 0000000..e69de29
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 (file)
index 0000000..26e1a74
--- /dev/null
@@ -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 (file)
index 0000000..32c6f22
--- /dev/null
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/all-lf
new file mode 100644 (file)
index 0000000..799770d
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/all-lf-utf8bom
new file mode 100644 (file)
index 0000000..7cce67e
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/binary-all-crlf
new file mode 100644 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/binary-all-lf
new file mode 100644 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/binary-mixed-lf-cr
new file mode 100644 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/binary-mixed-lf-cr-crlf
new file mode 100644 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/few-utf8-chars-crlf
new file mode 100644 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is 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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/mixed-lf-cr
new file mode 100644 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/mixed-lf-cr-crlf
new file mode 100644 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/more-crlf
new file mode 100644 (file)
index 0000000..37bb7fa
--- /dev/null
@@ -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 (file)
index 0000000..16001a1
--- /dev/null
@@ -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 (file)
index 0000000..2cda6f2
--- /dev/null
@@ -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 (file)
index 0000000..dc7d82a
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/zero-byte
new file mode 100644 (file)
index 0000000..e69de29
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 (file)
index 0000000..26e1a74
--- /dev/null
@@ -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 (file)
index 0000000..32c6f22
--- /dev/null
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/all-lf
new file mode 100644 (file)
index 0000000..799770d
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/all-lf-utf8bom
new file mode 100644 (file)
index 0000000..7cce67e
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/binary-all-crlf
new file mode 100644 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/binary-all-lf
new file mode 100644 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/binary-mixed-lf-cr
new file mode 100644 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/binary-mixed-lf-cr-crlf
new file mode 100644 (file)
index 0000000..aaf083a
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/few-utf8-chars-crlf
new file mode 100644 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is 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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/mixed-lf-cr
new file mode 100644 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/mixed-lf-cr-crlf
new file mode 100644 (file)
index 0000000..417786f
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/more-crlf
new file mode 100644 (file)
index 0000000..37bb7fa
--- /dev/null
@@ -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 (file)
index 0000000..16001a1
--- /dev/null
@@ -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 (file)
index 0000000..2cda6f2
--- /dev/null
@@ -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 (file)
index 0000000..dc7d82a
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/zero-byte
new file mode 100644 (file)
index 0000000..e69de29
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 (file)
index 0000000..26e1a74
--- /dev/null
@@ -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 (file)
index 0000000..32c6f22
--- /dev/null
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/all-lf
new file mode 100644 (file)
index 0000000..799770d
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/all-lf-utf8bom
new file mode 100644 (file)
index 0000000..7cce67e
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/binary-all-crlf
new file mode 100644 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/binary-all-lf
new file mode 100644 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/binary-mixed-lf-cr
new file mode 100644 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/binary-mixed-lf-cr-crlf
new file mode 100644 (file)
index 0000000..aaf083a
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/few-utf8-chars-crlf
new file mode 100644 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is 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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/mixed-lf-cr
new file mode 100644 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/mixed-lf-cr-crlf
new file mode 100644 (file)
index 0000000..417786f
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/more-crlf
new file mode 100644 (file)
index 0000000..37bb7fa
--- /dev/null
@@ -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 (file)
index 0000000..16001a1
--- /dev/null
@@ -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 (file)
index 0000000..2cda6f2
--- /dev/null
@@ -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 (file)
index 0000000..dc7d82a
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/zero-byte
new file mode 100644 (file)
index 0000000..e69de29
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 (file)
index 0000000..26e1a74
--- /dev/null
@@ -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 (file)
index 0000000..32c6f22
--- /dev/null
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/all-lf
new file mode 100644 (file)
index 0000000..799770d
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/all-lf-utf8bom
new file mode 100644 (file)
index 0000000..7cce67e
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/binary-all-crlf
new file mode 100644 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/binary-all-lf
new file mode 100644 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/binary-mixed-lf-cr
new file mode 100644 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/binary-mixed-lf-cr-crlf
new file mode 100644 (file)
index 0000000..aaf083a
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/few-utf8-chars-crlf
new file mode 100644 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is 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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/mixed-lf-cr
new file mode 100644 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/mixed-lf-cr-crlf
new file mode 100644 (file)
index 0000000..417786f
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/more-crlf
new file mode 100644 (file)
index 0000000..37bb7fa
--- /dev/null
@@ -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 (file)
index 0000000..16001a1
--- /dev/null
@@ -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 (file)
index 0000000..2cda6f2
--- /dev/null
@@ -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 (file)
index 0000000..dc7d82a
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/zero-byte
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/all-crlf
new file mode 100644 (file)
index 0000000..a9a2e89
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/all-crlf-utf8bom
new file mode 100644 (file)
index 0000000..0aa76e4
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/all-lf
new file mode 100644 (file)
index 0000000..799770d
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/all-lf-utf8bom
new file mode 100644 (file)
index 0000000..7cce67e
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/binary-all-crlf
new file mode 100644 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/binary-all-lf
new file mode 100644 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/binary-mixed-lf-cr
new file mode 100644 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/binary-mixed-lf-cr-crlf
new file mode 100644 (file)
index 0000000..aaf083a
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/few-utf8-chars-crlf
new file mode 100644 (file)
index 0000000..0e05288
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.\r
+The rest is ASCII02.\r
+The rest is ASCII03.\r
+The rest is ASCII04.\r
+The rest is ASCII05.\r
+The rest is ASCII06.\r
+The rest is ASCII07.\r
+The rest is ASCII08.\r
+The rest is ASCII09.\r
+The rest is ASCII10.\r
+The rest is ASCII11.\r
+The rest is ASCII12.\r
+The rest is ASCII13.\r
+The rest is ASCII14.\r
+The rest is ASCII15.\r
+The rest is ASCII16.\r
+The rest is ASCII17.\r
+The rest is ASCII18.\r
+The rest is ASCII19.\r
+The rest is ASCII20.\r
+The rest is ASCII21.\r
+The rest is ASCII22.\r
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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/many-utf8-chars-crlf
new file mode 100644 (file)
index 0000000..cd574f5
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!\r
+♫♪♬♩\r
+Eat food\r
+🍅🍕\r
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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/mixed-lf-cr
new file mode 100644 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/mixed-lf-cr-crlf
new file mode 100644 (file)
index 0000000..417786f
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/more-crlf
new file mode 100644 (file)
index 0000000..0ff5a53
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/more-crlf-utf8bom
new file mode 100644 (file)
index 0000000..ea030d3
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/more-lf
new file mode 100644 (file)
index 0000000..04de00b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/more-lf-utf8bom
new file mode 100644 (file)
index 0000000..dc88e3b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/zero-byte
new file mode 100644 (file)
index 0000000..e69de29
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 (file)
index 0000000..a9a2e89
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
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 (file)
index 0000000..0aa76e4
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/all-lf
new file mode 100644 (file)
index 0000000..799770d
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/all-lf-utf8bom
new file mode 100644 (file)
index 0000000..7cce67e
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/binary-all-crlf
new file mode 100644 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/binary-all-lf
new file mode 100644 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/binary-mixed-lf-cr
new file mode 100644 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/binary-mixed-lf-cr-crlf
new file mode 100644 (file)
index 0000000..aaf083a
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/few-utf8-chars-crlf
new file mode 100644 (file)
index 0000000..0e05288
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.\r
+The rest is ASCII02.\r
+The rest is ASCII03.\r
+The rest is ASCII04.\r
+The rest is ASCII05.\r
+The rest is ASCII06.\r
+The rest is ASCII07.\r
+The rest is ASCII08.\r
+The rest is ASCII09.\r
+The rest is ASCII10.\r
+The rest is ASCII11.\r
+The rest is ASCII12.\r
+The rest is ASCII13.\r
+The rest is ASCII14.\r
+The rest is ASCII15.\r
+The rest is ASCII16.\r
+The rest is ASCII17.\r
+The rest is ASCII18.\r
+The rest is ASCII19.\r
+The rest is ASCII20.\r
+The rest is ASCII21.\r
+The rest is ASCII22.\r
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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is 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 (file)
index 0000000..cd574f5
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!\r
+♫♪♬♩\r
+Eat food\r
+🍅🍕\r
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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/mixed-lf-cr
new file mode 100644 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/mixed-lf-cr-crlf
new file mode 100644 (file)
index 0000000..417786f
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/more-crlf
new file mode 100644 (file)
index 0000000..0ff5a53
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
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 (file)
index 0000000..ea030d3
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
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 (file)
index 0000000..04de00b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+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 (file)
index 0000000..dc88e3b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/zero-byte
new file mode 100644 (file)
index 0000000..e69de29
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 (file)
index 0000000..a9a2e89
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
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 (file)
index 0000000..0aa76e4
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/all-lf
new file mode 100644 (file)
index 0000000..799770d
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/all-lf-utf8bom
new file mode 100644 (file)
index 0000000..7cce67e
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/binary-all-crlf
new file mode 100644 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..aaf083a
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..0e05288
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.\r
+The rest is ASCII02.\r
+The rest is ASCII03.\r
+The rest is ASCII04.\r
+The rest is ASCII05.\r
+The rest is ASCII06.\r
+The rest is ASCII07.\r
+The rest is ASCII08.\r
+The rest is ASCII09.\r
+The rest is ASCII10.\r
+The rest is ASCII11.\r
+The rest is ASCII12.\r
+The rest is ASCII13.\r
+The rest is ASCII14.\r
+The rest is ASCII15.\r
+The rest is ASCII16.\r
+The rest is ASCII17.\r
+The rest is ASCII18.\r
+The rest is ASCII19.\r
+The rest is ASCII20.\r
+The rest is ASCII21.\r
+The rest is ASCII22.\r
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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is 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 (file)
index 0000000..cd574f5
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!\r
+♫♪♬♩\r
+Eat food\r
+🍅🍕\r
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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..417786f
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..0ff5a53
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
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 (file)
index 0000000..ea030d3
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
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 (file)
index 0000000..04de00b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+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 (file)
index 0000000..dc88e3b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/zero-byte
new file mode 100644 (file)
index 0000000..e69de29
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 (file)
index 0000000..26e1a74
--- /dev/null
@@ -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 (file)
index 0000000..32c6f22
--- /dev/null
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/all-lf
new file mode 100644 (file)
index 0000000..799770d
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/all-lf-utf8bom
new file mode 100644 (file)
index 0000000..7cce67e
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/binary-all-crlf
new file mode 100644 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/binary-all-lf
new file mode 100644 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/binary-mixed-lf-cr
new file mode 100644 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/binary-mixed-lf-cr-crlf
new file mode 100644 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/few-utf8-chars-crlf
new file mode 100644 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is 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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/mixed-lf-cr
new file mode 100644 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/mixed-lf-cr-crlf
new file mode 100644 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/more-crlf
new file mode 100644 (file)
index 0000000..37bb7fa
--- /dev/null
@@ -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 (file)
index 0000000..16001a1
--- /dev/null
@@ -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 (file)
index 0000000..2cda6f2
--- /dev/null
@@ -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 (file)
index 0000000..dc7d82a
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/zero-byte
new file mode 100644 (file)
index 0000000..e69de29
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 (file)
index 0000000..26e1a74
--- /dev/null
@@ -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 (file)
index 0000000..32c6f22
--- /dev/null
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/all-lf
new file mode 100644 (file)
index 0000000..799770d
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/all-lf-utf8bom
new file mode 100644 (file)
index 0000000..7cce67e
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/binary-all-crlf
new file mode 100644 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/binary-all-lf
new file mode 100644 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/binary-mixed-lf-cr
new file mode 100644 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/binary-mixed-lf-cr-crlf
new file mode 100644 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/few-utf8-chars-crlf
new file mode 100644 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is 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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/mixed-lf-cr
new file mode 100644 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/mixed-lf-cr-crlf
new file mode 100644 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/more-crlf
new file mode 100644 (file)
index 0000000..37bb7fa
--- /dev/null
@@ -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 (file)
index 0000000..16001a1
--- /dev/null
@@ -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 (file)
index 0000000..2cda6f2
--- /dev/null
@@ -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 (file)
index 0000000..dc7d82a
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/zero-byte
new file mode 100644 (file)
index 0000000..e69de29
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 (file)
index 0000000..26e1a74
--- /dev/null
@@ -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 (file)
index 0000000..32c6f22
--- /dev/null
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/all-lf
new file mode 100644 (file)
index 0000000..799770d
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/all-lf-utf8bom
new file mode 100644 (file)
index 0000000..7cce67e
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/binary-all-crlf
new file mode 100644 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+two
+three
+four
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/binary-mixed-lf-cr
new file mode 100644 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/binary-mixed-lf-cr-crlf
new file mode 100644 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is 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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!
+♫♪♬♩
+Eat food
+🍅🍕
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/mixed-lf-cr
new file mode 100644 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/mixed-lf-cr-crlf
new file mode 100644 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..37bb7fa
--- /dev/null
@@ -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 (file)
index 0000000..16001a1
--- /dev/null
@@ -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 (file)
index 0000000..2cda6f2
--- /dev/null
@@ -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 (file)
index 0000000..dc7d82a
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/zero-byte
new file mode 100644 (file)
index 0000000..e69de29
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 (file)
index 0000000..26e1a74
--- /dev/null
@@ -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 (file)
index 0000000..32c6f22
--- /dev/null
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/all-lf
new file mode 100644 (file)
index 0000000..799770d
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/all-lf-utf8bom
new file mode 100644 (file)
index 0000000..7cce67e
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/binary-all-crlf
new file mode 100644 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is 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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..37bb7fa
--- /dev/null
@@ -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 (file)
index 0000000..16001a1
--- /dev/null
@@ -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 (file)
index 0000000..2cda6f2
--- /dev/null
@@ -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 (file)
index 0000000..dc7d82a
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/zero-byte
new file mode 100644 (file)
index 0000000..e69de29
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 (file)
index 0000000..26e1a74
--- /dev/null
@@ -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 (file)
index 0000000..32c6f22
--- /dev/null
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/all-lf
new file mode 100644 (file)
index 0000000..799770d
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/all-lf-utf8bom
new file mode 100644 (file)
index 0000000..7cce67e
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/binary-all-crlf
new file mode 100644 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is 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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..37bb7fa
--- /dev/null
@@ -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 (file)
index 0000000..16001a1
--- /dev/null
@@ -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 (file)
index 0000000..2cda6f2
--- /dev/null
@@ -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 (file)
index 0000000..dc7d82a
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/zero-byte
new file mode 100644 (file)
index 0000000..e69de29
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 (file)
index 0000000..26e1a74
--- /dev/null
@@ -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 (file)
index 0000000..32c6f22
--- /dev/null
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/all-lf
new file mode 100644 (file)
index 0000000..799770d
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/all-lf-utf8bom
new file mode 100644 (file)
index 0000000..7cce67e
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/binary-all-crlf
new file mode 100644 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is 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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..37bb7fa
--- /dev/null
@@ -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 (file)
index 0000000..16001a1
--- /dev/null
@@ -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 (file)
index 0000000..2cda6f2
--- /dev/null
@@ -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 (file)
index 0000000..dc7d82a
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/zero-byte
new file mode 100644 (file)
index 0000000..e69de29
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 (file)
index 0000000..26e1a74
--- /dev/null
@@ -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 (file)
index 0000000..32c6f22
--- /dev/null
@@ -0,0 +1,4 @@
+crlf
+crlf
+crlf
+crlf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/all-lf
new file mode 100644 (file)
index 0000000..799770d
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/all-lf-utf8bom
new file mode 100644 (file)
index 0000000..7cce67e
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/binary-all-crlf
new file mode 100644 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr-crlf
new file mode 100644 (file)
index 0000000..aaf083a
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/few-utf8-chars-crlf
new file mode 100644 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is 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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/mixed-lf-cr-crlf
new file mode 100644 (file)
index 0000000..417786f
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/more-crlf
new file mode 100644 (file)
index 0000000..37bb7fa
--- /dev/null
@@ -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 (file)
index 0000000..16001a1
--- /dev/null
@@ -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 (file)
index 0000000..2cda6f2
--- /dev/null
@@ -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 (file)
index 0000000..dc7d82a
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/zero-byte
new file mode 100644 (file)
index 0000000..e69de29
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 (file)
index 0000000..26e1a74
--- /dev/null
@@ -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 (file)
index 0000000..32c6f22
--- /dev/null
@@ -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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/binary-all-crlf
new file mode 100644 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/binary-mixed-lf-cr-crlf
new file mode 100644 (file)
index 0000000..aaf083a
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/few-utf8-chars-crlf
new file mode 100644 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is 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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/mixed-lf-cr-crlf
new file mode 100644 (file)
index 0000000..417786f
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/more-crlf
new file mode 100644 (file)
index 0000000..37bb7fa
--- /dev/null
@@ -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 (file)
index 0000000..16001a1
--- /dev/null
@@ -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 (file)
index 0000000..2cda6f2
--- /dev/null
@@ -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 (file)
index 0000000..dc7d82a
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/zero-byte
new file mode 100644 (file)
index 0000000..e69de29
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 (file)
index 0000000..26e1a74
--- /dev/null
@@ -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 (file)
index 0000000..32c6f22
--- /dev/null
@@ -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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/binary-all-crlf
new file mode 100644 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/binary-mixed-lf-cr-crlf
new file mode 100644 (file)
index 0000000..aaf083a
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/few-utf8-chars-crlf
new file mode 100644 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is 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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/mixed-lf-cr-crlf
new file mode 100644 (file)
index 0000000..417786f
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/more-crlf
new file mode 100644 (file)
index 0000000..37bb7fa
--- /dev/null
@@ -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 (file)
index 0000000..16001a1
--- /dev/null
@@ -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 (file)
index 0000000..2cda6f2
--- /dev/null
@@ -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 (file)
index 0000000..dc7d82a
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/zero-byte
new file mode 100644 (file)
index 0000000..e69de29
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 (file)
index 0000000..26e1a74
--- /dev/null
@@ -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 (file)
index 0000000..32c6f22
--- /dev/null
@@ -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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/binary-all-crlf
new file mode 100644 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/binary-mixed-lf-cr-crlf
new file mode 100644 (file)
index 0000000..aaf083a
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/few-utf8-chars-crlf
new file mode 100644 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is 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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/mixed-lf-cr-crlf
new file mode 100644 (file)
index 0000000..417786f
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/more-crlf
new file mode 100644 (file)
index 0000000..37bb7fa
--- /dev/null
@@ -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 (file)
index 0000000..16001a1
--- /dev/null
@@ -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 (file)
index 0000000..2cda6f2
--- /dev/null
@@ -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 (file)
index 0000000..dc7d82a
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/zero-byte
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/all-crlf
new file mode 100644 (file)
index 0000000..a9a2e89
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/all-crlf-utf8bom
new file mode 100644 (file)
index 0000000..0aa76e4
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/binary-all-crlf
new file mode 100644 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/binary-mixed-lf-cr-crlf
new file mode 100644 (file)
index 0000000..aaf083a
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/few-utf8-chars-crlf
new file mode 100644 (file)
index 0000000..0e05288
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.\r
+The rest is ASCII02.\r
+The rest is ASCII03.\r
+The rest is ASCII04.\r
+The rest is ASCII05.\r
+The rest is ASCII06.\r
+The rest is ASCII07.\r
+The rest is ASCII08.\r
+The rest is ASCII09.\r
+The rest is ASCII10.\r
+The rest is ASCII11.\r
+The rest is ASCII12.\r
+The rest is ASCII13.\r
+The rest is ASCII14.\r
+The rest is ASCII15.\r
+The rest is ASCII16.\r
+The rest is ASCII17.\r
+The rest is ASCII18.\r
+The rest is ASCII19.\r
+The rest is ASCII20.\r
+The rest is ASCII21.\r
+The rest is ASCII22.\r
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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/many-utf8-chars-crlf
new file mode 100644 (file)
index 0000000..cd574f5
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!\r
+♫♪♬♩\r
+Eat food\r
+🍅🍕\r
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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/mixed-lf-cr-crlf
new file mode 100644 (file)
index 0000000..417786f
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/more-crlf
new file mode 100644 (file)
index 0000000..0ff5a53
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/more-crlf-utf8bom
new file mode 100644 (file)
index 0000000..ea030d3
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/more-lf
new file mode 100644 (file)
index 0000000..04de00b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/more-lf-utf8bom
new file mode 100644 (file)
index 0000000..dc88e3b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/zero-byte
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/all-crlf
new file mode 100644 (file)
index 0000000..a9a2e89
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/all-crlf-utf8bom
new file mode 100644 (file)
index 0000000..0aa76e4
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/binary-all-crlf
new file mode 100644 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/binary-mixed-lf-cr-crlf
new file mode 100644 (file)
index 0000000..aaf083a
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/few-utf8-chars-crlf
new file mode 100644 (file)
index 0000000..0e05288
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.\r
+The rest is ASCII02.\r
+The rest is ASCII03.\r
+The rest is ASCII04.\r
+The rest is ASCII05.\r
+The rest is ASCII06.\r
+The rest is ASCII07.\r
+The rest is ASCII08.\r
+The rest is ASCII09.\r
+The rest is ASCII10.\r
+The rest is ASCII11.\r
+The rest is ASCII12.\r
+The rest is ASCII13.\r
+The rest is ASCII14.\r
+The rest is ASCII15.\r
+The rest is ASCII16.\r
+The rest is ASCII17.\r
+The rest is ASCII18.\r
+The rest is ASCII19.\r
+The rest is ASCII20.\r
+The rest is ASCII21.\r
+The rest is ASCII22.\r
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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/many-utf8-chars-crlf
new file mode 100644 (file)
index 0000000..cd574f5
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!\r
+♫♪♬♩\r
+Eat food\r
+🍅🍕\r
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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/mixed-lf-cr-crlf
new file mode 100644 (file)
index 0000000..417786f
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/more-crlf
new file mode 100644 (file)
index 0000000..0ff5a53
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/more-crlf-utf8bom
new file mode 100644 (file)
index 0000000..ea030d3
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/more-lf
new file mode 100644 (file)
index 0000000..04de00b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/more-lf-utf8bom
new file mode 100644 (file)
index 0000000..dc88e3b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/zero-byte
new file mode 100644 (file)
index 0000000..e69de29
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 (file)
index 0000000..213f972
--- /dev/null
@@ -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 (file)
index 0000000..851ef6c
--- /dev/null
@@ -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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -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 (file)
index 0000000..26690f3
--- /dev/null
@@ -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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..c6b706d
--- /dev/null
@@ -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 (file)
index 0000000..c23959d
--- /dev/null
@@ -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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is 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 (file)
index 0000000..2e093c9
--- /dev/null
@@ -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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..3c6cbac
--- /dev/null
@@ -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 (file)
index 0000000..43b93db
--- /dev/null
@@ -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 (file)
index 0000000..b1a5dc9
--- /dev/null
@@ -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 (file)
index 0000000..13c4e3c
--- /dev/null
@@ -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 (file)
index 0000000..c964c72
--- /dev/null
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'more-lf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/zero-byte
new file mode 100644 (file)
index 0000000..e69de29
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 (file)
index 0000000..26e1a74
--- /dev/null
@@ -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 (file)
index 0000000..32c6f22
--- /dev/null
@@ -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 (file)
index 0000000..547008e
--- /dev/null
@@ -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 (file)
index 0000000..d992d47
--- /dev/null
@@ -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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..180663e
--- /dev/null
@@ -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 (file)
index 0000000..f87ce3f
--- /dev/null
@@ -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 (file)
index 0000000..63eac58
--- /dev/null
@@ -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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is 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 (file)
index 0000000..fabf466
--- /dev/null
@@ -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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..b874f4b
--- /dev/null
@@ -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 (file)
index 0000000..a353e0e
--- /dev/null
@@ -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 (file)
index 0000000..0287e32
--- /dev/null
@@ -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 (file)
index 0000000..e77b2b9
--- /dev/null
@@ -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 (file)
index 0000000..07f50c3
--- /dev/null
@@ -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 (file)
index 0000000..6994a8d
--- /dev/null
@@ -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 (file)
index 0000000..067a2e8
--- /dev/null
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'more-lf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/zero-byte
new file mode 100644 (file)
index 0000000..e69de29
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 (file)
index 0000000..213f972
--- /dev/null
@@ -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 (file)
index 0000000..851ef6c
--- /dev/null
@@ -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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -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 (file)
index 0000000..26690f3
--- /dev/null
@@ -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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..c6b706d
--- /dev/null
@@ -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 (file)
index 0000000..c23959d
--- /dev/null
@@ -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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is 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 (file)
index 0000000..2e093c9
--- /dev/null
@@ -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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..3c6cbac
--- /dev/null
@@ -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 (file)
index 0000000..43b93db
--- /dev/null
@@ -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 (file)
index 0000000..b1a5dc9
--- /dev/null
@@ -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 (file)
index 0000000..13c4e3c
--- /dev/null
@@ -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 (file)
index 0000000..c964c72
--- /dev/null
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'more-lf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/zero-byte
new file mode 100644 (file)
index 0000000..e69de29
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 (file)
index 0000000..26e1a74
--- /dev/null
@@ -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 (file)
index 0000000..32c6f22
--- /dev/null
@@ -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 (file)
index 0000000..547008e
--- /dev/null
@@ -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 (file)
index 0000000..d992d47
--- /dev/null
@@ -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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..180663e
--- /dev/null
@@ -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 (file)
index 0000000..f87ce3f
--- /dev/null
@@ -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 (file)
index 0000000..63eac58
--- /dev/null
@@ -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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is 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 (file)
index 0000000..fabf466
--- /dev/null
@@ -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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..b874f4b
--- /dev/null
@@ -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 (file)
index 0000000..a353e0e
--- /dev/null
@@ -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 (file)
index 0000000..0287e32
--- /dev/null
@@ -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 (file)
index 0000000..e77b2b9
--- /dev/null
@@ -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 (file)
index 0000000..07f50c3
--- /dev/null
@@ -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 (file)
index 0000000..6994a8d
--- /dev/null
@@ -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 (file)
index 0000000..067a2e8
--- /dev/null
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'more-lf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/zero-byte
new file mode 100644 (file)
index 0000000..e69de29
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 (file)
index 0000000..213f972
--- /dev/null
@@ -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 (file)
index 0000000..851ef6c
--- /dev/null
@@ -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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -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 (file)
index 0000000..26690f3
--- /dev/null
@@ -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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..c6b706d
--- /dev/null
@@ -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 (file)
index 0000000..c23959d
--- /dev/null
@@ -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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is 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 (file)
index 0000000..2e093c9
--- /dev/null
@@ -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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..3c6cbac
--- /dev/null
@@ -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 (file)
index 0000000..43b93db
--- /dev/null
@@ -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 (file)
index 0000000..b1a5dc9
--- /dev/null
@@ -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 (file)
index 0000000..13c4e3c
--- /dev/null
@@ -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 (file)
index 0000000..c964c72
--- /dev/null
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'more-lf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/zero-byte
new file mode 100644 (file)
index 0000000..e69de29
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 (file)
index 0000000..213f972
--- /dev/null
@@ -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 (file)
index 0000000..851ef6c
--- /dev/null
@@ -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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -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 (file)
index 0000000..26690f3
--- /dev/null
@@ -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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..c6b706d
--- /dev/null
@@ -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 (file)
index 0000000..c23959d
--- /dev/null
@@ -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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is 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 (file)
index 0000000..2e093c9
--- /dev/null
@@ -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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..3c6cbac
--- /dev/null
@@ -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 (file)
index 0000000..43b93db
--- /dev/null
@@ -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 (file)
index 0000000..b1a5dc9
--- /dev/null
@@ -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 (file)
index 0000000..13c4e3c
--- /dev/null
@@ -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 (file)
index 0000000..c964c72
--- /dev/null
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'more-lf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/zero-byte
new file mode 100644 (file)
index 0000000..e69de29
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 (file)
index 0000000..26e1a74
--- /dev/null
@@ -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 (file)
index 0000000..32c6f22
--- /dev/null
@@ -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 (file)
index 0000000..547008e
--- /dev/null
@@ -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 (file)
index 0000000..d992d47
--- /dev/null
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'all-lf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/binary-all-crlf
new file mode 100644 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr-crlf
new file mode 100644 (file)
index 0000000..aaf083a
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/few-utf8-chars-crlf
new file mode 100644 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is 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 (file)
index 0000000..fabf466
--- /dev/null
@@ -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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..b874f4b
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/mixed-lf-cr-crlf
new file mode 100644 (file)
index 0000000..417786f
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/more-crlf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/more-crlf-utf8bom.fail
new file mode 100644 (file)
index 0000000..e77b2b9
--- /dev/null
@@ -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 (file)
index 0000000..07f50c3
--- /dev/null
@@ -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 (file)
index 0000000..6994a8d
--- /dev/null
@@ -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 (file)
index 0000000..067a2e8
--- /dev/null
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'more-lf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/zero-byte
new file mode 100644 (file)
index 0000000..e69de29
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 (file)
index 0000000..213f972
--- /dev/null
@@ -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 (file)
index 0000000..851ef6c
--- /dev/null
@@ -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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/binary-all-crlf
new file mode 100644 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/binary-mixed-lf-cr-crlf
new file mode 100644 (file)
index 0000000..aaf083a
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/few-utf8-chars-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/few-utf8-chars-crlf.fail
new file mode 100644 (file)
index 0000000..c23959d
--- /dev/null
@@ -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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is 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 (file)
index 0000000..2e093c9
--- /dev/null
@@ -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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/mixed-lf-cr-crlf
new file mode 100644 (file)
index 0000000..417786f
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/more-crlf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/more-crlf-utf8bom.fail
new file mode 100644 (file)
index 0000000..43b93db
--- /dev/null
@@ -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 (file)
index 0000000..b1a5dc9
--- /dev/null
@@ -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 (file)
index 0000000..13c4e3c
--- /dev/null
@@ -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 (file)
index 0000000..c964c72
--- /dev/null
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'more-lf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/zero-byte
new file mode 100644 (file)
index 0000000..e69de29
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 (file)
index 0000000..213f972
--- /dev/null
@@ -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 (file)
index 0000000..851ef6c
--- /dev/null
@@ -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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/binary-all-crlf
new file mode 100644 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/binary-mixed-lf-cr-crlf
new file mode 100644 (file)
index 0000000..aaf083a
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/few-utf8-chars-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/few-utf8-chars-crlf.fail
new file mode 100644 (file)
index 0000000..c23959d
--- /dev/null
@@ -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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is 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 (file)
index 0000000..2e093c9
--- /dev/null
@@ -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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/mixed-lf-cr-crlf
new file mode 100644 (file)
index 0000000..417786f
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/more-crlf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/more-crlf-utf8bom.fail
new file mode 100644 (file)
index 0000000..43b93db
--- /dev/null
@@ -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 (file)
index 0000000..b1a5dc9
--- /dev/null
@@ -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 (file)
index 0000000..13c4e3c
--- /dev/null
@@ -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 (file)
index 0000000..c964c72
--- /dev/null
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'more-lf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/zero-byte
new file mode 100644 (file)
index 0000000..e69de29
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 (file)
index 0000000..213f972
--- /dev/null
@@ -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 (file)
index 0000000..851ef6c
--- /dev/null
@@ -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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/binary-all-crlf
new file mode 100644 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/binary-mixed-lf-cr-crlf
new file mode 100644 (file)
index 0000000..aaf083a
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/few-utf8-chars-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/few-utf8-chars-crlf.fail
new file mode 100644 (file)
index 0000000..c23959d
--- /dev/null
@@ -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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is 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 (file)
index 0000000..2e093c9
--- /dev/null
@@ -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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/mixed-lf-cr-crlf
new file mode 100644 (file)
index 0000000..417786f
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/more-crlf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/more-crlf-utf8bom.fail
new file mode 100644 (file)
index 0000000..43b93db
--- /dev/null
@@ -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 (file)
index 0000000..b1a5dc9
--- /dev/null
@@ -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 (file)
index 0000000..13c4e3c
--- /dev/null
@@ -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 (file)
index 0000000..c964c72
--- /dev/null
@@ -0,0 +1 @@
+CRLF would be replaced by LF in 'more-lf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/zero-byte
new file mode 100644 (file)
index 0000000..e69de29
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 (file)
index 0000000..a9a2e89
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
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 (file)
index 0000000..0aa76e4
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -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 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..aaf083a
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..0e05288
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.\r
+The rest is ASCII02.\r
+The rest is ASCII03.\r
+The rest is ASCII04.\r
+The rest is ASCII05.\r
+The rest is ASCII06.\r
+The rest is ASCII07.\r
+The rest is ASCII08.\r
+The rest is ASCII09.\r
+The rest is ASCII10.\r
+The rest is ASCII11.\r
+The rest is ASCII12.\r
+The rest is ASCII13.\r
+The rest is ASCII14.\r
+The rest is ASCII15.\r
+The rest is ASCII16.\r
+The rest is ASCII17.\r
+The rest is ASCII18.\r
+The rest is ASCII19.\r
+The rest is ASCII20.\r
+The rest is ASCII21.\r
+The rest is ASCII22.\r
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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is 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 (file)
index 0000000..cd574f5
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!\r
+♫♪♬♩\r
+Eat food\r
+🍅🍕\r
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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..417786f
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..0ff5a53
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
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 (file)
index 0000000..ea030d3
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
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 (file)
index 0000000..04de00b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+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 (file)
index 0000000..dc88e3b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/zero-byte
new file mode 100644 (file)
index 0000000..e69de29
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 (file)
index 0000000..a9a2e89
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
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 (file)
index 0000000..0aa76e4
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -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 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..aaf083a
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..0e05288
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.\r
+The rest is ASCII02.\r
+The rest is ASCII03.\r
+The rest is ASCII04.\r
+The rest is ASCII05.\r
+The rest is ASCII06.\r
+The rest is ASCII07.\r
+The rest is ASCII08.\r
+The rest is ASCII09.\r
+The rest is ASCII10.\r
+The rest is ASCII11.\r
+The rest is ASCII12.\r
+The rest is ASCII13.\r
+The rest is ASCII14.\r
+The rest is ASCII15.\r
+The rest is ASCII16.\r
+The rest is ASCII17.\r
+The rest is ASCII18.\r
+The rest is ASCII19.\r
+The rest is ASCII20.\r
+The rest is ASCII21.\r
+The rest is ASCII22.\r
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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is 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 (file)
index 0000000..cd574f5
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!\r
+♫♪♬♩\r
+Eat food\r
+🍅🍕\r
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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..417786f
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..0ff5a53
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
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 (file)
index 0000000..ea030d3
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
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 (file)
index 0000000..04de00b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+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 (file)
index 0000000..dc88e3b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/zero-byte
new file mode 100644 (file)
index 0000000..e69de29
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 (file)
index 0000000..26e1a74
--- /dev/null
@@ -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 (file)
index 0000000..32c6f22
--- /dev/null
@@ -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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is 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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..37bb7fa
--- /dev/null
@@ -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 (file)
index 0000000..16001a1
--- /dev/null
@@ -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 (file)
index 0000000..2cda6f2
--- /dev/null
@@ -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 (file)
index 0000000..dc7d82a
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/zero-byte
new file mode 100644 (file)
index 0000000..e69de29
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 (file)
index 0000000..26e1a74
--- /dev/null
@@ -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 (file)
index 0000000..32c6f22
--- /dev/null
@@ -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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is 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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..37bb7fa
--- /dev/null
@@ -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 (file)
index 0000000..16001a1
--- /dev/null
@@ -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 (file)
index 0000000..2cda6f2
--- /dev/null
@@ -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 (file)
index 0000000..dc7d82a
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/zero-byte
new file mode 100644 (file)
index 0000000..e69de29
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 (file)
index 0000000..26e1a74
--- /dev/null
@@ -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 (file)
index 0000000..32c6f22
--- /dev/null
@@ -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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is 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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..37bb7fa
--- /dev/null
@@ -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 (file)
index 0000000..16001a1
--- /dev/null
@@ -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 (file)
index 0000000..2cda6f2
--- /dev/null
@@ -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 (file)
index 0000000..dc7d82a
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/zero-byte
new file mode 100644 (file)
index 0000000..e69de29
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 (file)
index 0000000..26e1a74
--- /dev/null
@@ -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 (file)
index 0000000..32c6f22
--- /dev/null
@@ -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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is 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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..37bb7fa
--- /dev/null
@@ -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 (file)
index 0000000..16001a1
--- /dev/null
@@ -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 (file)
index 0000000..2cda6f2
--- /dev/null
@@ -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 (file)
index 0000000..dc7d82a
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/zero-byte
new file mode 100644 (file)
index 0000000..e69de29
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 (file)
index 0000000..26e1a74
--- /dev/null
@@ -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 (file)
index 0000000..32c6f22
--- /dev/null
@@ -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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is 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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..37bb7fa
--- /dev/null
@@ -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 (file)
index 0000000..16001a1
--- /dev/null
@@ -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 (file)
index 0000000..2cda6f2
--- /dev/null
@@ -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 (file)
index 0000000..dc7d82a
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/zero-byte
new file mode 100644 (file)
index 0000000..e69de29
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 (file)
index 0000000..26e1a74
--- /dev/null
@@ -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 (file)
index 0000000..32c6f22
--- /dev/null
@@ -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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is 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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..37bb7fa
--- /dev/null
@@ -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 (file)
index 0000000..16001a1
--- /dev/null
@@ -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 (file)
index 0000000..2cda6f2
--- /dev/null
@@ -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 (file)
index 0000000..dc7d82a
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/zero-byte
new file mode 100644 (file)
index 0000000..e69de29
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 (file)
index 0000000..26e1a74
--- /dev/null
@@ -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 (file)
index 0000000..32c6f22
--- /dev/null
@@ -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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/binary-all-crlf
new file mode 100644 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/binary-mixed-lf-cr-crlf
new file mode 100644 (file)
index 0000000..aaf083a
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/few-utf8-chars-crlf
new file mode 100644 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is 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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/mixed-lf-cr-crlf
new file mode 100644 (file)
index 0000000..417786f
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/more-crlf
new file mode 100644 (file)
index 0000000..37bb7fa
--- /dev/null
@@ -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 (file)
index 0000000..16001a1
--- /dev/null
@@ -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 (file)
index 0000000..2cda6f2
--- /dev/null
@@ -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 (file)
index 0000000..dc7d82a
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/zero-byte
new file mode 100644 (file)
index 0000000..e69de29
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 (file)
index 0000000..26e1a74
--- /dev/null
@@ -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 (file)
index 0000000..32c6f22
--- /dev/null
@@ -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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/binary-all-crlf
new file mode 100644 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/binary-mixed-lf-cr-crlf
new file mode 100644 (file)
index 0000000..aaf083a
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/few-utf8-chars-crlf
new file mode 100644 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is 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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/mixed-lf-cr-crlf
new file mode 100644 (file)
index 0000000..417786f
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/more-crlf
new file mode 100644 (file)
index 0000000..37bb7fa
--- /dev/null
@@ -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 (file)
index 0000000..16001a1
--- /dev/null
@@ -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 (file)
index 0000000..2cda6f2
--- /dev/null
@@ -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 (file)
index 0000000..dc7d82a
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/zero-byte
new file mode 100644 (file)
index 0000000..e69de29
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 (file)
index 0000000..26e1a74
--- /dev/null
@@ -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 (file)
index 0000000..32c6f22
--- /dev/null
@@ -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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/binary-all-crlf
new file mode 100644 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/binary-mixed-lf-cr-crlf
new file mode 100644 (file)
index 0000000..aaf083a
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/few-utf8-chars-crlf
new file mode 100644 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is 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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/mixed-lf-cr-crlf
new file mode 100644 (file)
index 0000000..417786f
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/more-crlf
new file mode 100644 (file)
index 0000000..37bb7fa
--- /dev/null
@@ -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 (file)
index 0000000..16001a1
--- /dev/null
@@ -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 (file)
index 0000000..2cda6f2
--- /dev/null
@@ -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 (file)
index 0000000..dc7d82a
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/zero-byte
new file mode 100644 (file)
index 0000000..e69de29
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 (file)
index 0000000..26e1a74
--- /dev/null
@@ -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 (file)
index 0000000..32c6f22
--- /dev/null
@@ -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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/binary-all-crlf
new file mode 100644 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/binary-mixed-lf-cr-crlf
new file mode 100644 (file)
index 0000000..aaf083a
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/few-utf8-chars-crlf
new file mode 100644 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is 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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/mixed-lf-cr-crlf
new file mode 100644 (file)
index 0000000..417786f
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/more-crlf
new file mode 100644 (file)
index 0000000..37bb7fa
--- /dev/null
@@ -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 (file)
index 0000000..16001a1
--- /dev/null
@@ -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 (file)
index 0000000..2cda6f2
--- /dev/null
@@ -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 (file)
index 0000000..dc7d82a
--- /dev/null
@@ -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 (file)
index 0000000..e69de29
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 (file)
index 0000000..a9a2e89
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
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 (file)
index 0000000..0aa76e4
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -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 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..aaf083a
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..0e05288
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.\r
+The rest is ASCII02.\r
+The rest is ASCII03.\r
+The rest is ASCII04.\r
+The rest is ASCII05.\r
+The rest is ASCII06.\r
+The rest is ASCII07.\r
+The rest is ASCII08.\r
+The rest is ASCII09.\r
+The rest is ASCII10.\r
+The rest is ASCII11.\r
+The rest is ASCII12.\r
+The rest is ASCII13.\r
+The rest is ASCII14.\r
+The rest is ASCII15.\r
+The rest is ASCII16.\r
+The rest is ASCII17.\r
+The rest is ASCII18.\r
+The rest is ASCII19.\r
+The rest is ASCII20.\r
+The rest is ASCII21.\r
+The rest is ASCII22.\r
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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is 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 (file)
index 0000000..cd574f5
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!\r
+♫♪♬♩\r
+Eat food\r
+🍅🍕\r
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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..417786f
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..0ff5a53
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
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 (file)
index 0000000..ea030d3
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
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 (file)
index 0000000..04de00b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+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 (file)
index 0000000..dc88e3b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+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 (file)
index 0000000..e69de29
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 (file)
index 0000000..a9a2e89
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
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 (file)
index 0000000..0aa76e4
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -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 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..aaf083a
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..0e05288
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.\r
+The rest is ASCII02.\r
+The rest is ASCII03.\r
+The rest is ASCII04.\r
+The rest is ASCII05.\r
+The rest is ASCII06.\r
+The rest is ASCII07.\r
+The rest is ASCII08.\r
+The rest is ASCII09.\r
+The rest is ASCII10.\r
+The rest is ASCII11.\r
+The rest is ASCII12.\r
+The rest is ASCII13.\r
+The rest is ASCII14.\r
+The rest is ASCII15.\r
+The rest is ASCII16.\r
+The rest is ASCII17.\r
+The rest is ASCII18.\r
+The rest is ASCII19.\r
+The rest is ASCII20.\r
+The rest is ASCII21.\r
+The rest is ASCII22.\r
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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is 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 (file)
index 0000000..cd574f5
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!\r
+♫♪♬♩\r
+Eat food\r
+🍅🍕\r
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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..417786f
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..0ff5a53
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
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 (file)
index 0000000..ea030d3
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
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 (file)
index 0000000..04de00b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+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 (file)
index 0000000..dc88e3b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+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 (file)
index 0000000..e69de29
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 (file)
index 0000000..26e1a74
--- /dev/null
@@ -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 (file)
index 0000000..32c6f22
--- /dev/null
@@ -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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is 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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..37bb7fa
--- /dev/null
@@ -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 (file)
index 0000000..16001a1
--- /dev/null
@@ -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 (file)
index 0000000..2cda6f2
--- /dev/null
@@ -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 (file)
index 0000000..dc7d82a
--- /dev/null
@@ -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 (file)
index 0000000..e69de29
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 (file)
index 0000000..26e1a74
--- /dev/null
@@ -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 (file)
index 0000000..32c6f22
--- /dev/null
@@ -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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is 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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..37bb7fa
--- /dev/null
@@ -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 (file)
index 0000000..16001a1
--- /dev/null
@@ -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 (file)
index 0000000..2cda6f2
--- /dev/null
@@ -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 (file)
index 0000000..dc7d82a
--- /dev/null
@@ -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 (file)
index 0000000..e69de29
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 (file)
index 0000000..26e1a74
--- /dev/null
@@ -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 (file)
index 0000000..32c6f22
--- /dev/null
@@ -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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is 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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..37bb7fa
--- /dev/null
@@ -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 (file)
index 0000000..16001a1
--- /dev/null
@@ -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 (file)
index 0000000..2cda6f2
--- /dev/null
@@ -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 (file)
index 0000000..dc7d82a
--- /dev/null
@@ -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 (file)
index 0000000..e69de29
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 (file)
index 0000000..26e1a74
--- /dev/null
@@ -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 (file)
index 0000000..32c6f22
--- /dev/null
@@ -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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is 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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..37bb7fa
--- /dev/null
@@ -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 (file)
index 0000000..16001a1
--- /dev/null
@@ -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 (file)
index 0000000..2cda6f2
--- /dev/null
@@ -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 (file)
index 0000000..dc7d82a
--- /dev/null
@@ -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 (file)
index 0000000..e69de29
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 (file)
index 0000000..26e1a74
--- /dev/null
@@ -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 (file)
index 0000000..32c6f22
--- /dev/null
@@ -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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is 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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..37bb7fa
--- /dev/null
@@ -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 (file)
index 0000000..16001a1
--- /dev/null
@@ -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 (file)
index 0000000..2cda6f2
--- /dev/null
@@ -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 (file)
index 0000000..dc7d82a
--- /dev/null
@@ -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 (file)
index 0000000..e69de29
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 (file)
index 0000000..26e1a74
--- /dev/null
@@ -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 (file)
index 0000000..32c6f22
--- /dev/null
@@ -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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is 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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..37bb7fa
--- /dev/null
@@ -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 (file)
index 0000000..16001a1
--- /dev/null
@@ -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 (file)
index 0000000..2cda6f2
--- /dev/null
@@ -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 (file)
index 0000000..dc7d82a
--- /dev/null
@@ -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 (file)
index 0000000..e69de29
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 (file)
index 0000000..26e1a74
--- /dev/null
@@ -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 (file)
index 0000000..32c6f22
--- /dev/null
@@ -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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/binary-all-crlf
new file mode 100644 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr-crlf
new file mode 100644 (file)
index 0000000..aaf083a
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/few-utf8-chars-crlf
new file mode 100644 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is 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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/mixed-lf-cr-crlf
new file mode 100644 (file)
index 0000000..417786f
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/more-crlf
new file mode 100644 (file)
index 0000000..37bb7fa
--- /dev/null
@@ -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 (file)
index 0000000..16001a1
--- /dev/null
@@ -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 (file)
index 0000000..2cda6f2
--- /dev/null
@@ -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 (file)
index 0000000..dc7d82a
--- /dev/null
@@ -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 (file)
index 0000000..e69de29
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 (file)
index 0000000..26e1a74
--- /dev/null
@@ -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 (file)
index 0000000..32c6f22
--- /dev/null
@@ -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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/binary-all-crlf
new file mode 100644 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/binary-mixed-lf-cr-crlf
new file mode 100644 (file)
index 0000000..aaf083a
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/few-utf8-chars-crlf
new file mode 100644 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is 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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/mixed-lf-cr-crlf
new file mode 100644 (file)
index 0000000..417786f
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/more-crlf
new file mode 100644 (file)
index 0000000..37bb7fa
--- /dev/null
@@ -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 (file)
index 0000000..16001a1
--- /dev/null
@@ -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 (file)
index 0000000..2cda6f2
--- /dev/null
@@ -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 (file)
index 0000000..dc7d82a
--- /dev/null
@@ -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 (file)
index 0000000..e69de29
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 (file)
index 0000000..26e1a74
--- /dev/null
@@ -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 (file)
index 0000000..32c6f22
--- /dev/null
@@ -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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/binary-all-crlf
new file mode 100644 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/binary-mixed-lf-cr-crlf
new file mode 100644 (file)
index 0000000..aaf083a
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/few-utf8-chars-crlf
new file mode 100644 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is 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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/mixed-lf-cr-crlf
new file mode 100644 (file)
index 0000000..417786f
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/more-crlf
new file mode 100644 (file)
index 0000000..37bb7fa
--- /dev/null
@@ -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 (file)
index 0000000..16001a1
--- /dev/null
@@ -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 (file)
index 0000000..2cda6f2
--- /dev/null
@@ -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 (file)
index 0000000..dc7d82a
--- /dev/null
@@ -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 (file)
index 0000000..e69de29
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 (file)
index 0000000..26e1a74
--- /dev/null
@@ -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 (file)
index 0000000..32c6f22
--- /dev/null
@@ -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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/binary-all-crlf
new file mode 100644 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/binary-mixed-lf-cr-crlf
new file mode 100644 (file)
index 0000000..aaf083a
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/few-utf8-chars-crlf
new file mode 100644 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is 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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/mixed-lf-cr-crlf
new file mode 100644 (file)
index 0000000..417786f
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/more-crlf
new file mode 100644 (file)
index 0000000..37bb7fa
--- /dev/null
@@ -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 (file)
index 0000000..16001a1
--- /dev/null
@@ -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 (file)
index 0000000..2cda6f2
--- /dev/null
@@ -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 (file)
index 0000000..dc7d82a
--- /dev/null
@@ -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 (file)
index 0000000..e69de29
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 (file)
index 0000000..a9a2e89
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
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 (file)
index 0000000..0aa76e4
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/binary-all-crlf
new file mode 100644 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/binary-mixed-lf-cr-crlf
new file mode 100644 (file)
index 0000000..aaf083a
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/few-utf8-chars-crlf
new file mode 100644 (file)
index 0000000..0e05288
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.\r
+The rest is ASCII02.\r
+The rest is ASCII03.\r
+The rest is ASCII04.\r
+The rest is ASCII05.\r
+The rest is ASCII06.\r
+The rest is ASCII07.\r
+The rest is ASCII08.\r
+The rest is ASCII09.\r
+The rest is ASCII10.\r
+The rest is ASCII11.\r
+The rest is ASCII12.\r
+The rest is ASCII13.\r
+The rest is ASCII14.\r
+The rest is ASCII15.\r
+The rest is ASCII16.\r
+The rest is ASCII17.\r
+The rest is ASCII18.\r
+The rest is ASCII19.\r
+The rest is ASCII20.\r
+The rest is ASCII21.\r
+The rest is ASCII22.\r
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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/many-utf8-chars-crlf
new file mode 100644 (file)
index 0000000..cd574f5
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!\r
+♫♪♬♩\r
+Eat food\r
+🍅🍕\r
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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/mixed-lf-cr-crlf
new file mode 100644 (file)
index 0000000..417786f
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/more-crlf
new file mode 100644 (file)
index 0000000..0ff5a53
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/more-crlf-utf8bom
new file mode 100644 (file)
index 0000000..ea030d3
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/more-lf
new file mode 100644 (file)
index 0000000..04de00b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/more-lf-utf8bom
new file mode 100644 (file)
index 0000000..dc88e3b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/zero-byte
new file mode 100644 (file)
index 0000000..e69de29
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 (file)
index 0000000..a9a2e89
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
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 (file)
index 0000000..0aa76e4
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/binary-all-crlf
new file mode 100644 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/binary-mixed-lf-cr-crlf
new file mode 100644 (file)
index 0000000..aaf083a
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/few-utf8-chars-crlf
new file mode 100644 (file)
index 0000000..0e05288
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.\r
+The rest is ASCII02.\r
+The rest is ASCII03.\r
+The rest is ASCII04.\r
+The rest is ASCII05.\r
+The rest is ASCII06.\r
+The rest is ASCII07.\r
+The rest is ASCII08.\r
+The rest is ASCII09.\r
+The rest is ASCII10.\r
+The rest is ASCII11.\r
+The rest is ASCII12.\r
+The rest is ASCII13.\r
+The rest is ASCII14.\r
+The rest is ASCII15.\r
+The rest is ASCII16.\r
+The rest is ASCII17.\r
+The rest is ASCII18.\r
+The rest is ASCII19.\r
+The rest is ASCII20.\r
+The rest is ASCII21.\r
+The rest is ASCII22.\r
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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/many-utf8-chars-crlf
new file mode 100644 (file)
index 0000000..cd574f5
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!\r
+♫♪♬♩\r
+Eat food\r
+🍅🍕\r
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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/mixed-lf-cr-crlf
new file mode 100644 (file)
index 0000000..417786f
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/more-crlf
new file mode 100644 (file)
index 0000000..0ff5a53
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/more-crlf-utf8bom
new file mode 100644 (file)
index 0000000..ea030d3
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/more-lf
new file mode 100644 (file)
index 0000000..04de00b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/more-lf-utf8bom
new file mode 100644 (file)
index 0000000..dc88e3b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/zero-byte
new file mode 100644 (file)
index 0000000..e69de29
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 (file)
index 0000000..26e1a74
--- /dev/null
@@ -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 (file)
index 0000000..32c6f22
--- /dev/null
@@ -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 (file)
index 0000000..547008e
--- /dev/null
@@ -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 (file)
index 0000000..d992d47
--- /dev/null
@@ -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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..180663e
--- /dev/null
@@ -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 (file)
index 0000000..f87ce3f
--- /dev/null
@@ -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 (file)
index 0000000..63eac58
--- /dev/null
@@ -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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is 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 (file)
index 0000000..fabf466
--- /dev/null
@@ -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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..b874f4b
--- /dev/null
@@ -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 (file)
index 0000000..a353e0e
--- /dev/null
@@ -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 (file)
index 0000000..0287e32
--- /dev/null
@@ -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 (file)
index 0000000..e77b2b9
--- /dev/null
@@ -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 (file)
index 0000000..07f50c3
--- /dev/null
@@ -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 (file)
index 0000000..6994a8d
--- /dev/null
@@ -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 (file)
index 0000000..067a2e8
--- /dev/null
@@ -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 (file)
index 0000000..e69de29
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 (file)
index 0000000..26e1a74
--- /dev/null
@@ -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 (file)
index 0000000..32c6f22
--- /dev/null
@@ -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 (file)
index 0000000..547008e
--- /dev/null
@@ -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 (file)
index 0000000..d992d47
--- /dev/null
@@ -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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..180663e
--- /dev/null
@@ -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 (file)
index 0000000..f87ce3f
--- /dev/null
@@ -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 (file)
index 0000000..63eac58
--- /dev/null
@@ -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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is 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 (file)
index 0000000..fabf466
--- /dev/null
@@ -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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..b874f4b
--- /dev/null
@@ -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 (file)
index 0000000..a353e0e
--- /dev/null
@@ -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 (file)
index 0000000..0287e32
--- /dev/null
@@ -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 (file)
index 0000000..e77b2b9
--- /dev/null
@@ -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 (file)
index 0000000..07f50c3
--- /dev/null
@@ -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 (file)
index 0000000..6994a8d
--- /dev/null
@@ -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 (file)
index 0000000..067a2e8
--- /dev/null
@@ -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 (file)
index 0000000..e69de29
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 (file)
index 0000000..213f972
--- /dev/null
@@ -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 (file)
index 0000000..851ef6c
--- /dev/null
@@ -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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -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 (file)
index 0000000..26690f3
--- /dev/null
@@ -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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..c6b706d
--- /dev/null
@@ -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 (file)
index 0000000..c23959d
--- /dev/null
@@ -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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is 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 (file)
index 0000000..2e093c9
--- /dev/null
@@ -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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..3c6cbac
--- /dev/null
@@ -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 (file)
index 0000000..43b93db
--- /dev/null
@@ -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 (file)
index 0000000..b1a5dc9
--- /dev/null
@@ -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 (file)
index 0000000..13c4e3c
--- /dev/null
@@ -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 (file)
index 0000000..c964c72
--- /dev/null
@@ -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 (file)
index 0000000..e69de29
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 (file)
index 0000000..26e1a74
--- /dev/null
@@ -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 (file)
index 0000000..32c6f22
--- /dev/null
@@ -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 (file)
index 0000000..547008e
--- /dev/null
@@ -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 (file)
index 0000000..d992d47
--- /dev/null
@@ -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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..180663e
--- /dev/null
@@ -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 (file)
index 0000000..f87ce3f
--- /dev/null
@@ -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 (file)
index 0000000..63eac58
--- /dev/null
@@ -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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is 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 (file)
index 0000000..fabf466
--- /dev/null
@@ -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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..b874f4b
--- /dev/null
@@ -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 (file)
index 0000000..a353e0e
--- /dev/null
@@ -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 (file)
index 0000000..0287e32
--- /dev/null
@@ -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 (file)
index 0000000..e77b2b9
--- /dev/null
@@ -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 (file)
index 0000000..07f50c3
--- /dev/null
@@ -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 (file)
index 0000000..6994a8d
--- /dev/null
@@ -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 (file)
index 0000000..067a2e8
--- /dev/null
@@ -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 (file)
index 0000000..e69de29
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 (file)
index 0000000..213f972
--- /dev/null
@@ -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 (file)
index 0000000..851ef6c
--- /dev/null
@@ -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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -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 (file)
index 0000000..26690f3
--- /dev/null
@@ -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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..c6b706d
--- /dev/null
@@ -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 (file)
index 0000000..c23959d
--- /dev/null
@@ -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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is 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 (file)
index 0000000..2e093c9
--- /dev/null
@@ -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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..3c6cbac
--- /dev/null
@@ -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 (file)
index 0000000..43b93db
--- /dev/null
@@ -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 (file)
index 0000000..b1a5dc9
--- /dev/null
@@ -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 (file)
index 0000000..13c4e3c
--- /dev/null
@@ -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 (file)
index 0000000..c964c72
--- /dev/null
@@ -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 (file)
index 0000000..e69de29
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 (file)
index 0000000..26e1a74
--- /dev/null
@@ -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 (file)
index 0000000..32c6f22
--- /dev/null
@@ -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 (file)
index 0000000..547008e
--- /dev/null
@@ -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 (file)
index 0000000..d992d47
--- /dev/null
@@ -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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..180663e
--- /dev/null
@@ -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 (file)
index 0000000..f87ce3f
--- /dev/null
@@ -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 (file)
index 0000000..63eac58
--- /dev/null
@@ -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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is 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 (file)
index 0000000..fabf466
--- /dev/null
@@ -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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..b874f4b
--- /dev/null
@@ -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 (file)
index 0000000..a353e0e
--- /dev/null
@@ -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 (file)
index 0000000..0287e32
--- /dev/null
@@ -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 (file)
index 0000000..e77b2b9
--- /dev/null
@@ -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 (file)
index 0000000..07f50c3
--- /dev/null
@@ -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 (file)
index 0000000..6994a8d
--- /dev/null
@@ -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 (file)
index 0000000..067a2e8
--- /dev/null
@@ -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 (file)
index 0000000..e69de29
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 (file)
index 0000000..26e1a74
--- /dev/null
@@ -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 (file)
index 0000000..32c6f22
--- /dev/null
@@ -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 (file)
index 0000000..547008e
--- /dev/null
@@ -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 (file)
index 0000000..d992d47
--- /dev/null
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'all-lf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/binary-all-crlf
new file mode 100644 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr-crlf
new file mode 100644 (file)
index 0000000..aaf083a
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/few-utf8-chars-crlf
new file mode 100644 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is 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 (file)
index 0000000..fabf466
--- /dev/null
@@ -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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..b874f4b
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/mixed-lf-cr-crlf
new file mode 100644 (file)
index 0000000..417786f
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/more-crlf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/more-crlf-utf8bom.fail
new file mode 100644 (file)
index 0000000..e77b2b9
--- /dev/null
@@ -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 (file)
index 0000000..07f50c3
--- /dev/null
@@ -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 (file)
index 0000000..6994a8d
--- /dev/null
@@ -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 (file)
index 0000000..067a2e8
--- /dev/null
@@ -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 (file)
index 0000000..e69de29
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 (file)
index 0000000..213f972
--- /dev/null
@@ -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 (file)
index 0000000..851ef6c
--- /dev/null
@@ -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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/binary-all-crlf
new file mode 100644 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/binary-mixed-lf-cr-crlf
new file mode 100644 (file)
index 0000000..aaf083a
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/few-utf8-chars-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/few-utf8-chars-crlf.fail
new file mode 100644 (file)
index 0000000..c23959d
--- /dev/null
@@ -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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is 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 (file)
index 0000000..2e093c9
--- /dev/null
@@ -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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/mixed-lf-cr-crlf
new file mode 100644 (file)
index 0000000..417786f
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/more-crlf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/more-crlf-utf8bom.fail
new file mode 100644 (file)
index 0000000..43b93db
--- /dev/null
@@ -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 (file)
index 0000000..b1a5dc9
--- /dev/null
@@ -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 (file)
index 0000000..13c4e3c
--- /dev/null
@@ -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 (file)
index 0000000..c964c72
--- /dev/null
@@ -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 (file)
index 0000000..e69de29
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 (file)
index 0000000..26e1a74
--- /dev/null
@@ -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 (file)
index 0000000..32c6f22
--- /dev/null
@@ -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 (file)
index 0000000..547008e
--- /dev/null
@@ -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 (file)
index 0000000..d992d47
--- /dev/null
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'all-lf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/binary-all-crlf
new file mode 100644 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/binary-mixed-lf-cr-crlf
new file mode 100644 (file)
index 0000000..aaf083a
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/few-utf8-chars-crlf
new file mode 100644 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is 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 (file)
index 0000000..fabf466
--- /dev/null
@@ -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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..b874f4b
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/mixed-lf-cr-crlf
new file mode 100644 (file)
index 0000000..417786f
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/more-crlf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/more-crlf-utf8bom.fail
new file mode 100644 (file)
index 0000000..e77b2b9
--- /dev/null
@@ -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 (file)
index 0000000..07f50c3
--- /dev/null
@@ -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 (file)
index 0000000..6994a8d
--- /dev/null
@@ -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 (file)
index 0000000..067a2e8
--- /dev/null
@@ -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 (file)
index 0000000..e69de29
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 (file)
index 0000000..26e1a74
--- /dev/null
@@ -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 (file)
index 0000000..32c6f22
--- /dev/null
@@ -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 (file)
index 0000000..547008e
--- /dev/null
@@ -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 (file)
index 0000000..d992d47
--- /dev/null
@@ -0,0 +1 @@
+LF would be replaced by CRLF in 'all-lf'
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/binary-all-crlf
new file mode 100644 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/binary-mixed-lf-cr-crlf
new file mode 100644 (file)
index 0000000..aaf083a
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/few-utf8-chars-crlf
new file mode 100644 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is 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 (file)
index 0000000..fabf466
--- /dev/null
@@ -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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..b874f4b
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/mixed-lf-cr-crlf
new file mode 100644 (file)
index 0000000..417786f
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/more-crlf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/more-crlf-utf8bom.fail
new file mode 100644 (file)
index 0000000..e77b2b9
--- /dev/null
@@ -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 (file)
index 0000000..07f50c3
--- /dev/null
@@ -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 (file)
index 0000000..6994a8d
--- /dev/null
@@ -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 (file)
index 0000000..067a2e8
--- /dev/null
@@ -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 (file)
index 0000000..e69de29
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 (file)
index 0000000..a9a2e89
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
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 (file)
index 0000000..0aa76e4
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -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 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..aaf083a
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..0e05288
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.\r
+The rest is ASCII02.\r
+The rest is ASCII03.\r
+The rest is ASCII04.\r
+The rest is ASCII05.\r
+The rest is ASCII06.\r
+The rest is ASCII07.\r
+The rest is ASCII08.\r
+The rest is ASCII09.\r
+The rest is ASCII10.\r
+The rest is ASCII11.\r
+The rest is ASCII12.\r
+The rest is ASCII13.\r
+The rest is ASCII14.\r
+The rest is ASCII15.\r
+The rest is ASCII16.\r
+The rest is ASCII17.\r
+The rest is ASCII18.\r
+The rest is ASCII19.\r
+The rest is ASCII20.\r
+The rest is ASCII21.\r
+The rest is ASCII22.\r
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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is 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 (file)
index 0000000..cd574f5
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!\r
+♫♪♬♩\r
+Eat food\r
+🍅🍕\r
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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..417786f
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..0ff5a53
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
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 (file)
index 0000000..ea030d3
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
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 (file)
index 0000000..04de00b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+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 (file)
index 0000000..dc88e3b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+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 (file)
index 0000000..e69de29
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 (file)
index 0000000..a9a2e89
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
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 (file)
index 0000000..0aa76e4
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -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 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..aaf083a
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..0e05288
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.\r
+The rest is ASCII02.\r
+The rest is ASCII03.\r
+The rest is ASCII04.\r
+The rest is ASCII05.\r
+The rest is ASCII06.\r
+The rest is ASCII07.\r
+The rest is ASCII08.\r
+The rest is ASCII09.\r
+The rest is ASCII10.\r
+The rest is ASCII11.\r
+The rest is ASCII12.\r
+The rest is ASCII13.\r
+The rest is ASCII14.\r
+The rest is ASCII15.\r
+The rest is ASCII16.\r
+The rest is ASCII17.\r
+The rest is ASCII18.\r
+The rest is ASCII19.\r
+The rest is ASCII20.\r
+The rest is ASCII21.\r
+The rest is ASCII22.\r
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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is 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 (file)
index 0000000..cd574f5
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!\r
+♫♪♬♩\r
+Eat food\r
+🍅🍕\r
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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..417786f
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..0ff5a53
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
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 (file)
index 0000000..ea030d3
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
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 (file)
index 0000000..04de00b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+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 (file)
index 0000000..dc88e3b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+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 (file)
index 0000000..e69de29
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 (file)
index 0000000..26e1a74
--- /dev/null
@@ -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 (file)
index 0000000..32c6f22
--- /dev/null
@@ -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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is 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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..37bb7fa
--- /dev/null
@@ -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 (file)
index 0000000..16001a1
--- /dev/null
@@ -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 (file)
index 0000000..2cda6f2
--- /dev/null
@@ -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 (file)
index 0000000..dc7d82a
--- /dev/null
@@ -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 (file)
index 0000000..e69de29
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 (file)
index 0000000..26e1a74
--- /dev/null
@@ -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 (file)
index 0000000..32c6f22
--- /dev/null
@@ -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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is 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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..37bb7fa
--- /dev/null
@@ -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 (file)
index 0000000..16001a1
--- /dev/null
@@ -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 (file)
index 0000000..2cda6f2
--- /dev/null
@@ -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 (file)
index 0000000..dc7d82a
--- /dev/null
@@ -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 (file)
index 0000000..e69de29
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 (file)
index 0000000..26e1a74
--- /dev/null
@@ -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 (file)
index 0000000..32c6f22
--- /dev/null
@@ -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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is 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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..37bb7fa
--- /dev/null
@@ -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 (file)
index 0000000..16001a1
--- /dev/null
@@ -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 (file)
index 0000000..2cda6f2
--- /dev/null
@@ -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 (file)
index 0000000..dc7d82a
--- /dev/null
@@ -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 (file)
index 0000000..e69de29
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 (file)
index 0000000..26e1a74
--- /dev/null
@@ -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 (file)
index 0000000..32c6f22
--- /dev/null
@@ -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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is 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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..37bb7fa
--- /dev/null
@@ -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 (file)
index 0000000..16001a1
--- /dev/null
@@ -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 (file)
index 0000000..2cda6f2
--- /dev/null
@@ -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 (file)
index 0000000..dc7d82a
--- /dev/null
@@ -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 (file)
index 0000000..e69de29
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 (file)
index 0000000..26e1a74
--- /dev/null
@@ -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 (file)
index 0000000..32c6f22
--- /dev/null
@@ -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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is 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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..37bb7fa
--- /dev/null
@@ -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 (file)
index 0000000..16001a1
--- /dev/null
@@ -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 (file)
index 0000000..2cda6f2
--- /dev/null
@@ -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 (file)
index 0000000..dc7d82a
--- /dev/null
@@ -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 (file)
index 0000000..e69de29
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 (file)
index 0000000..26e1a74
--- /dev/null
@@ -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 (file)
index 0000000..32c6f22
--- /dev/null
@@ -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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is 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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..37bb7fa
--- /dev/null
@@ -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 (file)
index 0000000..16001a1
--- /dev/null
@@ -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 (file)
index 0000000..2cda6f2
--- /dev/null
@@ -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 (file)
index 0000000..dc7d82a
--- /dev/null
@@ -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 (file)
index 0000000..e69de29
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 (file)
index 0000000..cb089cd
--- /dev/null
@@ -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 (file)
index 0000000..26e1a74
--- /dev/null
@@ -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 (file)
index 0000000..32c6f22
--- /dev/null
@@ -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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/binary-all-crlf
new file mode 100644 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/binary-mixed-lf-cr-crlf
new file mode 100644 (file)
index 0000000..aaf083a
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/branches b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/branches
new file mode 100644 (file)
index 0000000..e69de29
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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is 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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/mixed-lf-cr-crlf
new file mode 100644 (file)
index 0000000..417786f
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/more-crlf
new file mode 100644 (file)
index 0000000..37bb7fa
--- /dev/null
@@ -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 (file)
index 0000000..16001a1
--- /dev/null
@@ -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 (file)
index 0000000..2cda6f2
--- /dev/null
@@ -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 (file)
index 0000000..dc7d82a
--- /dev/null
@@ -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 (file)
index 0000000..e69de29
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 (file)
index 0000000..26e1a74
--- /dev/null
@@ -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 (file)
index 0000000..32c6f22
--- /dev/null
@@ -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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/binary-all-crlf
new file mode 100644 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/binary-mixed-lf-cr-crlf
new file mode 100644 (file)
index 0000000..aaf083a
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/few-utf8-chars-crlf
new file mode 100644 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is 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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/mixed-lf-cr-crlf
new file mode 100644 (file)
index 0000000..417786f
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/more-crlf
new file mode 100644 (file)
index 0000000..37bb7fa
--- /dev/null
@@ -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 (file)
index 0000000..16001a1
--- /dev/null
@@ -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 (file)
index 0000000..2cda6f2
--- /dev/null
@@ -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 (file)
index 0000000..dc7d82a
--- /dev/null
@@ -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 (file)
index 0000000..e69de29
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 (file)
index 0000000..26e1a74
--- /dev/null
@@ -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 (file)
index 0000000..32c6f22
--- /dev/null
@@ -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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/binary-all-crlf
new file mode 100644 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/binary-mixed-lf-cr-crlf
new file mode 100644 (file)
index 0000000..aaf083a
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/few-utf8-chars-crlf
new file mode 100644 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is 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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/mixed-lf-cr-crlf
new file mode 100644 (file)
index 0000000..417786f
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/more-crlf
new file mode 100644 (file)
index 0000000..37bb7fa
--- /dev/null
@@ -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 (file)
index 0000000..16001a1
--- /dev/null
@@ -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 (file)
index 0000000..2cda6f2
--- /dev/null
@@ -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 (file)
index 0000000..dc7d82a
--- /dev/null
@@ -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 (file)
index 0000000..e69de29
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 (file)
index 0000000..26e1a74
--- /dev/null
@@ -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 (file)
index 0000000..32c6f22
--- /dev/null
@@ -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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/binary-all-crlf
new file mode 100644 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..aaf083a
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is 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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..417786f
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..37bb7fa
--- /dev/null
@@ -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 (file)
index 0000000..16001a1
--- /dev/null
@@ -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 (file)
index 0000000..2cda6f2
--- /dev/null
@@ -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 (file)
index 0000000..dc7d82a
--- /dev/null
@@ -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 (file)
index 0000000..e69de29
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-crlf/all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-crlf/all-crlf
new file mode 100644 (file)
index 0000000..a9a2e89
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-crlf/all-crlf-utf8bom
new file mode 100644 (file)
index 0000000..0aa76e4
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-crlf/binary-all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-crlf/binary-all-crlf
new file mode 100644 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..aaf083a
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-crlf/few-utf8-chars-crlf
new file mode 100644 (file)
index 0000000..0e05288
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.\r
+The rest is ASCII02.\r
+The rest is ASCII03.\r
+The rest is ASCII04.\r
+The rest is ASCII05.\r
+The rest is ASCII06.\r
+The rest is ASCII07.\r
+The rest is ASCII08.\r
+The rest is ASCII09.\r
+The rest is ASCII10.\r
+The rest is ASCII11.\r
+The rest is ASCII12.\r
+The rest is ASCII13.\r
+The rest is ASCII14.\r
+The rest is ASCII15.\r
+The rest is ASCII16.\r
+The rest is ASCII17.\r
+The rest is ASCII18.\r
+The rest is ASCII19.\r
+The rest is ASCII20.\r
+The rest is ASCII21.\r
+The rest is ASCII22.\r
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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-crlf/many-utf8-chars-crlf
new file mode 100644 (file)
index 0000000..cd574f5
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!\r
+♫♪♬♩\r
+Eat food\r
+🍅🍕\r
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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..417786f
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-crlf/more-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-crlf/more-crlf
new file mode 100644 (file)
index 0000000..0ff5a53
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-crlf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-crlf/more-crlf-utf8bom
new file mode 100644 (file)
index 0000000..ea030d3
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-crlf/more-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-crlf/more-lf
new file mode 100644 (file)
index 0000000..04de00b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-crlf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-crlf/more-lf-utf8bom
new file mode 100644 (file)
index 0000000..dc88e3b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+lf
+lf
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 (file)
index 0000000..e69de29
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-text/all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-text/all-crlf
new file mode 100644 (file)
index 0000000..a9a2e89
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-text/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-text/all-crlf-utf8bom
new file mode 100644 (file)
index 0000000..0aa76e4
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-text/binary-all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-text/binary-all-crlf
new file mode 100644 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..aaf083a
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-text/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-text/few-utf8-chars-crlf
new file mode 100644 (file)
index 0000000..0e05288
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.\r
+The rest is ASCII02.\r
+The rest is ASCII03.\r
+The rest is ASCII04.\r
+The rest is ASCII05.\r
+The rest is ASCII06.\r
+The rest is ASCII07.\r
+The rest is ASCII08.\r
+The rest is ASCII09.\r
+The rest is ASCII10.\r
+The rest is ASCII11.\r
+The rest is ASCII12.\r
+The rest is ASCII13.\r
+The rest is ASCII14.\r
+The rest is ASCII15.\r
+The rest is ASCII16.\r
+The rest is ASCII17.\r
+The rest is ASCII18.\r
+The rest is ASCII19.\r
+The rest is ASCII20.\r
+The rest is ASCII21.\r
+The rest is ASCII22.\r
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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-text/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-text/many-utf8-chars-crlf
new file mode 100644 (file)
index 0000000..cd574f5
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!\r
+♫♪♬♩\r
+Eat food\r
+🍅🍕\r
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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..417786f
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-text/more-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-text/more-crlf
new file mode 100644 (file)
index 0000000..0ff5a53
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-text/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-text/more-crlf-utf8bom
new file mode 100644 (file)
index 0000000..ea030d3
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-text/more-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-text/more-lf
new file mode 100644 (file)
index 0000000..04de00b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-text/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-text/more-lf-utf8bom
new file mode 100644 (file)
index 0000000..dc88e3b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+lf
+lf
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 (file)
index 0000000..e69de29
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,crlf/all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,crlf/all-crlf
new file mode 100644 (file)
index 0000000..a9a2e89
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,crlf/all-crlf-utf8bom
new file mode 100644 (file)
index 0000000..0aa76e4
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,crlf/binary-all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,crlf/binary-all-crlf
new file mode 100644 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..aaf083a
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,crlf/few-utf8-chars-crlf
new file mode 100644 (file)
index 0000000..0e05288
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.\r
+The rest is ASCII02.\r
+The rest is ASCII03.\r
+The rest is ASCII04.\r
+The rest is ASCII05.\r
+The rest is ASCII06.\r
+The rest is ASCII07.\r
+The rest is ASCII08.\r
+The rest is ASCII09.\r
+The rest is ASCII10.\r
+The rest is ASCII11.\r
+The rest is ASCII12.\r
+The rest is ASCII13.\r
+The rest is ASCII14.\r
+The rest is ASCII15.\r
+The rest is ASCII16.\r
+The rest is ASCII17.\r
+The rest is ASCII18.\r
+The rest is ASCII19.\r
+The rest is ASCII20.\r
+The rest is ASCII21.\r
+The rest is ASCII22.\r
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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,crlf/many-utf8-chars-crlf
new file mode 100644 (file)
index 0000000..cd574f5
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!\r
+♫♪♬♩\r
+Eat food\r
+🍅🍕\r
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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..417786f
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,crlf/more-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,crlf/more-crlf
new file mode 100644 (file)
index 0000000..0ff5a53
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,crlf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,crlf/more-crlf-utf8bom
new file mode 100644 (file)
index 0000000..ea030d3
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,crlf/more-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,crlf/more-lf
new file mode 100644 (file)
index 0000000..04de00b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,crlf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,crlf/more-lf-utf8bom
new file mode 100644 (file)
index 0000000..dc88e3b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+lf
+lf
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 (file)
index 0000000..e69de29
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_crlf/all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_crlf/all-crlf
new file mode 100644 (file)
index 0000000..a9a2e89
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_crlf/all-crlf-utf8bom
new file mode 100644 (file)
index 0000000..0aa76e4
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_crlf/all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_crlf/all-lf
new file mode 100644 (file)
index 0000000..f557a02
--- /dev/null
@@ -0,0 +1,5 @@
+lf\r
+lf\r
+lf\r
+lf\r
+lf\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_crlf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_crlf/all-lf-utf8bom
new file mode 100644 (file)
index 0000000..381cfe6
--- /dev/null
@@ -0,0 +1,5 @@
+lf\r
+lf\r
+lf\r
+lf\r
+lf\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_crlf/binary-all-crlf
new file mode 100644 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_crlf/binary-all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_crlf/binary-all-lf
new file mode 100644 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_crlf/binary-mixed-lf-cr
new file mode 100644 (file)
index 0000000..fd2abfa
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one\r
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_workdir/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
new file mode 100644 (file)
index 0000000..fd2abfa
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one\r
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_crlf/few-utf8-chars-crlf
new file mode 100644 (file)
index 0000000..0e05288
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.\r
+The rest is ASCII02.\r
+The rest is ASCII03.\r
+The rest is ASCII04.\r
+The rest is ASCII05.\r
+The rest is ASCII06.\r
+The rest is ASCII07.\r
+The rest is ASCII08.\r
+The rest is ASCII09.\r
+The rest is ASCII10.\r
+The rest is ASCII11.\r
+The rest is ASCII12.\r
+The rest is ASCII13.\r
+The rest is ASCII14.\r
+The rest is ASCII15.\r
+The rest is ASCII16.\r
+The rest is ASCII17.\r
+The rest is ASCII18.\r
+The rest is ASCII19.\r
+The rest is ASCII20.\r
+The rest is ASCII21.\r
+The rest is ASCII22.\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_crlf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_crlf/few-utf8-chars-lf
new file mode 100644 (file)
index 0000000..0e05288
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.\r
+The rest is ASCII02.\r
+The rest is ASCII03.\r
+The rest is ASCII04.\r
+The rest is ASCII05.\r
+The rest is ASCII06.\r
+The rest is ASCII07.\r
+The rest is ASCII08.\r
+The rest is ASCII09.\r
+The rest is ASCII10.\r
+The rest is ASCII11.\r
+The rest is ASCII12.\r
+The rest is ASCII13.\r
+The rest is ASCII14.\r
+The rest is ASCII15.\r
+The rest is ASCII16.\r
+The rest is ASCII17.\r
+The rest is ASCII18.\r
+The rest is ASCII19.\r
+The rest is ASCII20.\r
+The rest is ASCII21.\r
+The rest is ASCII22.\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_crlf/many-utf8-chars-crlf
new file mode 100644 (file)
index 0000000..cd574f5
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!\r
+♫♪♬♩\r
+Eat food\r
+🍅🍕\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_crlf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_crlf/many-utf8-chars-lf
new file mode 100644 (file)
index 0000000..cd574f5
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!\r
+♫♪♬♩\r
+Eat food\r
+🍅🍕\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_crlf/mixed-lf-cr
new file mode 100644 (file)
index 0000000..df8c0f6
--- /dev/null
@@ -0,0 +1,3 @@
+one\r
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_crlf/mixed-lf-cr-crlf
new file mode 100644 (file)
index 0000000..df8c0f6
--- /dev/null
@@ -0,0 +1,3 @@
+one\r
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_crlf/more-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_crlf/more-crlf
new file mode 100644 (file)
index 0000000..e682c30
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf\r
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_crlf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_crlf/more-crlf-utf8bom
new file mode 100644 (file)
index 0000000..2e1220c
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf\r
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_crlf/more-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_crlf/more-lf
new file mode 100644 (file)
index 0000000..6da5b0c
--- /dev/null
@@ -0,0 +1,5 @@
+lf\r
+lf\r
+crlf\r
+lf\r
+lf\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_crlf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_crlf/more-lf-utf8bom
new file mode 100644 (file)
index 0000000..3fa59c8
--- /dev/null
@@ -0,0 +1,5 @@
+lf\r
+lf\r
+crlf\r
+lf\r
+lf\r
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 (file)
index 0000000..e69de29
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_lf/all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_lf/all-crlf
new file mode 100644 (file)
index 0000000..a9a2e89
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_lf/all-crlf-utf8bom
new file mode 100644 (file)
index 0000000..0aa76e4
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_lf/binary-all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_lf/binary-all-crlf
new file mode 100644 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..aaf083a
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_lf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_lf/few-utf8-chars-crlf
new file mode 100644 (file)
index 0000000..0e05288
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.\r
+The rest is ASCII02.\r
+The rest is ASCII03.\r
+The rest is ASCII04.\r
+The rest is ASCII05.\r
+The rest is ASCII06.\r
+The rest is ASCII07.\r
+The rest is ASCII08.\r
+The rest is ASCII09.\r
+The rest is ASCII10.\r
+The rest is ASCII11.\r
+The rest is ASCII12.\r
+The rest is ASCII13.\r
+The rest is ASCII14.\r
+The rest is ASCII15.\r
+The rest is ASCII16.\r
+The rest is ASCII17.\r
+The rest is ASCII18.\r
+The rest is ASCII19.\r
+The rest is ASCII20.\r
+The rest is ASCII21.\r
+The rest is ASCII22.\r
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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_lf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_lf/many-utf8-chars-crlf
new file mode 100644 (file)
index 0000000..cd574f5
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!\r
+♫♪♬♩\r
+Eat food\r
+🍅🍕\r
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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..417786f
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_lf/more-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_lf/more-crlf
new file mode 100644 (file)
index 0000000..0ff5a53
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_lf/more-crlf-utf8bom
new file mode 100644 (file)
index 0000000..ea030d3
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_lf/more-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_lf/more-lf
new file mode 100644 (file)
index 0000000..04de00b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_lf/more-lf-utf8bom
new file mode 100644 (file)
index 0000000..dc88e3b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+lf
+lf
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 (file)
index 0000000..e69de29
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_crlf/all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_crlf/all-crlf
new file mode 100644 (file)
index 0000000..a9a2e89
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_crlf/all-crlf-utf8bom
new file mode 100644 (file)
index 0000000..0aa76e4
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_crlf/all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_crlf/all-lf
new file mode 100644 (file)
index 0000000..f557a02
--- /dev/null
@@ -0,0 +1,5 @@
+lf\r
+lf\r
+lf\r
+lf\r
+lf\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_crlf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_crlf/all-lf-utf8bom
new file mode 100644 (file)
index 0000000..381cfe6
--- /dev/null
@@ -0,0 +1,5 @@
+lf\r
+lf\r
+lf\r
+lf\r
+lf\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_crlf/binary-all-crlf
new file mode 100644 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_crlf/binary-all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_crlf/binary-all-lf
new file mode 100644 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/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
new file mode 100644 (file)
index 0000000..fd2abfa
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one\r
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_workdir/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
new file mode 100644 (file)
index 0000000..fd2abfa
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one\r
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_crlf/few-utf8-chars-crlf
new file mode 100644 (file)
index 0000000..0e05288
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.\r
+The rest is ASCII02.\r
+The rest is ASCII03.\r
+The rest is ASCII04.\r
+The rest is ASCII05.\r
+The rest is ASCII06.\r
+The rest is ASCII07.\r
+The rest is ASCII08.\r
+The rest is ASCII09.\r
+The rest is ASCII10.\r
+The rest is ASCII11.\r
+The rest is ASCII12.\r
+The rest is ASCII13.\r
+The rest is ASCII14.\r
+The rest is ASCII15.\r
+The rest is ASCII16.\r
+The rest is ASCII17.\r
+The rest is ASCII18.\r
+The rest is ASCII19.\r
+The rest is ASCII20.\r
+The rest is ASCII21.\r
+The rest is ASCII22.\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/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
new file mode 100644 (file)
index 0000000..0e05288
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.\r
+The rest is ASCII02.\r
+The rest is ASCII03.\r
+The rest is ASCII04.\r
+The rest is ASCII05.\r
+The rest is ASCII06.\r
+The rest is ASCII07.\r
+The rest is ASCII08.\r
+The rest is ASCII09.\r
+The rest is ASCII10.\r
+The rest is ASCII11.\r
+The rest is ASCII12.\r
+The rest is ASCII13.\r
+The rest is ASCII14.\r
+The rest is ASCII15.\r
+The rest is ASCII16.\r
+The rest is ASCII17.\r
+The rest is ASCII18.\r
+The rest is ASCII19.\r
+The rest is ASCII20.\r
+The rest is ASCII21.\r
+The rest is ASCII22.\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_crlf/many-utf8-chars-crlf
new file mode 100644 (file)
index 0000000..cd574f5
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!\r
+♫♪♬♩\r
+Eat food\r
+🍅🍕\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/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
new file mode 100644 (file)
index 0000000..cd574f5
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!\r
+♫♪♬♩\r
+Eat food\r
+🍅🍕\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_crlf/mixed-lf-cr
new file mode 100644 (file)
index 0000000..df8c0f6
--- /dev/null
@@ -0,0 +1,3 @@
+one\r
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_workdir/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
new file mode 100644 (file)
index 0000000..df8c0f6
--- /dev/null
@@ -0,0 +1,3 @@
+one\r
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_crlf/more-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_crlf/more-crlf
new file mode 100644 (file)
index 0000000..e682c30
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf\r
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_crlf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_crlf/more-crlf-utf8bom
new file mode 100644 (file)
index 0000000..2e1220c
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf\r
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_crlf/more-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_crlf/more-lf
new file mode 100644 (file)
index 0000000..6da5b0c
--- /dev/null
@@ -0,0 +1,5 @@
+lf\r
+lf\r
+crlf\r
+lf\r
+lf\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_crlf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_crlf/more-lf-utf8bom
new file mode 100644 (file)
index 0000000..3fa59c8
--- /dev/null
@@ -0,0 +1,5 @@
+lf\r
+lf\r
+crlf\r
+lf\r
+lf\r
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 (file)
index 0000000..e69de29
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_lf/all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_lf/all-crlf
new file mode 100644 (file)
index 0000000..a9a2e89
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_lf/all-crlf-utf8bom
new file mode 100644 (file)
index 0000000..0aa76e4
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_lf/binary-all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_lf/binary-all-crlf
new file mode 100644 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..aaf083a
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_lf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_lf/few-utf8-chars-crlf
new file mode 100644 (file)
index 0000000..0e05288
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.\r
+The rest is ASCII02.\r
+The rest is ASCII03.\r
+The rest is ASCII04.\r
+The rest is ASCII05.\r
+The rest is ASCII06.\r
+The rest is ASCII07.\r
+The rest is ASCII08.\r
+The rest is ASCII09.\r
+The rest is ASCII10.\r
+The rest is ASCII11.\r
+The rest is ASCII12.\r
+The rest is ASCII13.\r
+The rest is ASCII14.\r
+The rest is ASCII15.\r
+The rest is ASCII16.\r
+The rest is ASCII17.\r
+The rest is ASCII18.\r
+The rest is ASCII19.\r
+The rest is ASCII20.\r
+The rest is ASCII21.\r
+The rest is ASCII22.\r
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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_lf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_lf/many-utf8-chars-crlf
new file mode 100644 (file)
index 0000000..cd574f5
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!\r
+♫♪♬♩\r
+Eat food\r
+🍅🍕\r
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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..417786f
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_lf/more-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_lf/more-crlf
new file mode 100644 (file)
index 0000000..0ff5a53
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_lf/more-crlf-utf8bom
new file mode 100644 (file)
index 0000000..ea030d3
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_lf/more-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_lf/more-lf
new file mode 100644 (file)
index 0000000..04de00b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_lf/more-lf-utf8bom
new file mode 100644 (file)
index 0000000..dc88e3b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+lf
+lf
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 (file)
index 0000000..e69de29
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text/all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text/all-crlf
new file mode 100644 (file)
index 0000000..a9a2e89
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text/all-crlf-utf8bom
new file mode 100644 (file)
index 0000000..0aa76e4
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text/binary-all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text/binary-all-crlf
new file mode 100644 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..aaf083a
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text/few-utf8-chars-crlf
new file mode 100644 (file)
index 0000000..0e05288
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.\r
+The rest is ASCII02.\r
+The rest is ASCII03.\r
+The rest is ASCII04.\r
+The rest is ASCII05.\r
+The rest is ASCII06.\r
+The rest is ASCII07.\r
+The rest is ASCII08.\r
+The rest is ASCII09.\r
+The rest is ASCII10.\r
+The rest is ASCII11.\r
+The rest is ASCII12.\r
+The rest is ASCII13.\r
+The rest is ASCII14.\r
+The rest is ASCII15.\r
+The rest is ASCII16.\r
+The rest is ASCII17.\r
+The rest is ASCII18.\r
+The rest is ASCII19.\r
+The rest is ASCII20.\r
+The rest is ASCII21.\r
+The rest is ASCII22.\r
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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text/many-utf8-chars-crlf
new file mode 100644 (file)
index 0000000..cd574f5
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!\r
+♫♪♬♩\r
+Eat food\r
+🍅🍕\r
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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..417786f
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text/more-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text/more-crlf
new file mode 100644 (file)
index 0000000..0ff5a53
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text/more-crlf-utf8bom
new file mode 100644 (file)
index 0000000..ea030d3
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text/more-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text/more-lf
new file mode 100644 (file)
index 0000000..04de00b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text/more-lf-utf8bom
new file mode 100644 (file)
index 0000000..dc88e3b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+lf
+lf
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 (file)
index 0000000..e69de29
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_crlf/all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_crlf/all-crlf
new file mode 100644 (file)
index 0000000..a9a2e89
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_crlf/all-crlf-utf8bom
new file mode 100644 (file)
index 0000000..0aa76e4
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_crlf/all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_crlf/all-lf
new file mode 100644 (file)
index 0000000..f557a02
--- /dev/null
@@ -0,0 +1,5 @@
+lf\r
+lf\r
+lf\r
+lf\r
+lf\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/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
new file mode 100644 (file)
index 0000000..381cfe6
--- /dev/null
@@ -0,0 +1,5 @@
+lf\r
+lf\r
+lf\r
+lf\r
+lf\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_crlf/binary-all-crlf
new file mode 100644 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..aaf083a
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_crlf/few-utf8-chars-crlf
new file mode 100644 (file)
index 0000000..0e05288
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.\r
+The rest is ASCII02.\r
+The rest is ASCII03.\r
+The rest is ASCII04.\r
+The rest is ASCII05.\r
+The rest is ASCII06.\r
+The rest is ASCII07.\r
+The rest is ASCII08.\r
+The rest is ASCII09.\r
+The rest is ASCII10.\r
+The rest is ASCII11.\r
+The rest is ASCII12.\r
+The rest is ASCII13.\r
+The rest is ASCII14.\r
+The rest is ASCII15.\r
+The rest is ASCII16.\r
+The rest is ASCII17.\r
+The rest is ASCII18.\r
+The rest is ASCII19.\r
+The rest is ASCII20.\r
+The rest is ASCII21.\r
+The rest is ASCII22.\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/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
new file mode 100644 (file)
index 0000000..0e05288
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.\r
+The rest is ASCII02.\r
+The rest is ASCII03.\r
+The rest is ASCII04.\r
+The rest is ASCII05.\r
+The rest is ASCII06.\r
+The rest is ASCII07.\r
+The rest is ASCII08.\r
+The rest is ASCII09.\r
+The rest is ASCII10.\r
+The rest is ASCII11.\r
+The rest is ASCII12.\r
+The rest is ASCII13.\r
+The rest is ASCII14.\r
+The rest is ASCII15.\r
+The rest is ASCII16.\r
+The rest is ASCII17.\r
+The rest is ASCII18.\r
+The rest is ASCII19.\r
+The rest is ASCII20.\r
+The rest is ASCII21.\r
+The rest is ASCII22.\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_crlf/many-utf8-chars-crlf
new file mode 100644 (file)
index 0000000..cd574f5
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!\r
+♫♪♬♩\r
+Eat food\r
+🍅🍕\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/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
new file mode 100644 (file)
index 0000000..cd574f5
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!\r
+♫♪♬♩\r
+Eat food\r
+🍅🍕\r
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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..417786f
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_crlf/more-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_crlf/more-crlf
new file mode 100644 (file)
index 0000000..0ff5a53
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_crlf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_crlf/more-crlf-utf8bom
new file mode 100644 (file)
index 0000000..ea030d3
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_crlf/more-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_crlf/more-lf
new file mode 100644 (file)
index 0000000..04de00b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_crlf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_crlf/more-lf-utf8bom
new file mode 100644 (file)
index 0000000..dc88e3b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+lf
+lf
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 (file)
index 0000000..e69de29
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_lf/all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_lf/all-crlf
new file mode 100644 (file)
index 0000000..a9a2e89
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_lf/all-crlf-utf8bom
new file mode 100644 (file)
index 0000000..0aa76e4
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -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/binary-all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_lf/binary-all-crlf
new file mode 100644 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..aaf083a
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_lf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_lf/few-utf8-chars-crlf
new file mode 100644 (file)
index 0000000..0e05288
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.\r
+The rest is ASCII02.\r
+The rest is ASCII03.\r
+The rest is ASCII04.\r
+The rest is ASCII05.\r
+The rest is ASCII06.\r
+The rest is ASCII07.\r
+The rest is ASCII08.\r
+The rest is ASCII09.\r
+The rest is ASCII10.\r
+The rest is ASCII11.\r
+The rest is ASCII12.\r
+The rest is ASCII13.\r
+The rest is ASCII14.\r
+The rest is ASCII15.\r
+The rest is ASCII16.\r
+The rest is ASCII17.\r
+The rest is ASCII18.\r
+The rest is ASCII19.\r
+The rest is ASCII20.\r
+The rest is ASCII21.\r
+The rest is ASCII22.\r
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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_lf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_lf/many-utf8-chars-crlf
new file mode 100644 (file)
index 0000000..cd574f5
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!\r
+♫♪♬♩\r
+Eat food\r
+🍅🍕\r
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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..417786f
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_lf/more-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_lf/more-crlf
new file mode 100644 (file)
index 0000000..0ff5a53
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_lf/more-crlf-utf8bom
new file mode 100644 (file)
index 0000000..ea030d3
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_lf/more-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_lf/more-lf
new file mode 100644 (file)
index 0000000..04de00b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_lf/more-lf-utf8bom
new file mode 100644 (file)
index 0000000..dc88e3b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+lf
+lf
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 (file)
index 0000000..e69de29
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto/all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto/all-crlf
new file mode 100644 (file)
index 0000000..a9a2e89
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto/all-crlf-utf8bom
new file mode 100644 (file)
index 0000000..0aa76e4
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto/binary-all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto/binary-all-crlf
new file mode 100644 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..aaf083a
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto/few-utf8-chars-crlf
new file mode 100644 (file)
index 0000000..0e05288
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.\r
+The rest is ASCII02.\r
+The rest is ASCII03.\r
+The rest is ASCII04.\r
+The rest is ASCII05.\r
+The rest is ASCII06.\r
+The rest is ASCII07.\r
+The rest is ASCII08.\r
+The rest is ASCII09.\r
+The rest is ASCII10.\r
+The rest is ASCII11.\r
+The rest is ASCII12.\r
+The rest is ASCII13.\r
+The rest is ASCII14.\r
+The rest is ASCII15.\r
+The rest is ASCII16.\r
+The rest is ASCII17.\r
+The rest is ASCII18.\r
+The rest is ASCII19.\r
+The rest is ASCII20.\r
+The rest is ASCII21.\r
+The rest is ASCII22.\r
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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto/many-utf8-chars-crlf
new file mode 100644 (file)
index 0000000..cd574f5
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!\r
+♫♪♬♩\r
+Eat food\r
+🍅🍕\r
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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..417786f
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto/more-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto/more-crlf
new file mode 100644 (file)
index 0000000..0ff5a53
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto/more-crlf-utf8bom
new file mode 100644 (file)
index 0000000..ea030d3
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto/more-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto/more-lf
new file mode 100644 (file)
index 0000000..04de00b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto/more-lf-utf8bom
new file mode 100644 (file)
index 0000000..dc88e3b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+lf
+lf
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 (file)
index 0000000..e69de29
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false/all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false/all-crlf
new file mode 100644 (file)
index 0000000..a9a2e89
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false/all-crlf-utf8bom
new file mode 100644 (file)
index 0000000..0aa76e4
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false/binary-all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false/binary-all-crlf
new file mode 100644 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..aaf083a
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false/few-utf8-chars-crlf
new file mode 100644 (file)
index 0000000..0e05288
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.\r
+The rest is ASCII02.\r
+The rest is ASCII03.\r
+The rest is ASCII04.\r
+The rest is ASCII05.\r
+The rest is ASCII06.\r
+The rest is ASCII07.\r
+The rest is ASCII08.\r
+The rest is ASCII09.\r
+The rest is ASCII10.\r
+The rest is ASCII11.\r
+The rest is ASCII12.\r
+The rest is ASCII13.\r
+The rest is ASCII14.\r
+The rest is ASCII15.\r
+The rest is ASCII16.\r
+The rest is ASCII17.\r
+The rest is ASCII18.\r
+The rest is ASCII19.\r
+The rest is ASCII20.\r
+The rest is ASCII21.\r
+The rest is ASCII22.\r
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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false/many-utf8-chars-crlf
new file mode 100644 (file)
index 0000000..cd574f5
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!\r
+♫♪♬♩\r
+Eat food\r
+🍅🍕\r
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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..417786f
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false/more-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false/more-crlf
new file mode 100644 (file)
index 0000000..0ff5a53
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false/more-crlf-utf8bom
new file mode 100644 (file)
index 0000000..ea030d3
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false/more-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false/more-lf
new file mode 100644 (file)
index 0000000..04de00b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false/more-lf-utf8bom
new file mode 100644 (file)
index 0000000..dc88e3b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+lf
+lf
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 (file)
index 0000000..e69de29
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-crlf/all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-crlf/all-crlf
new file mode 100644 (file)
index 0000000..a9a2e89
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-crlf/all-crlf-utf8bom
new file mode 100644 (file)
index 0000000..0aa76e4
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-crlf/binary-all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-crlf/binary-all-crlf
new file mode 100644 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..aaf083a
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-crlf/few-utf8-chars-crlf
new file mode 100644 (file)
index 0000000..0e05288
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.\r
+The rest is ASCII02.\r
+The rest is ASCII03.\r
+The rest is ASCII04.\r
+The rest is ASCII05.\r
+The rest is ASCII06.\r
+The rest is ASCII07.\r
+The rest is ASCII08.\r
+The rest is ASCII09.\r
+The rest is ASCII10.\r
+The rest is ASCII11.\r
+The rest is ASCII12.\r
+The rest is ASCII13.\r
+The rest is ASCII14.\r
+The rest is ASCII15.\r
+The rest is ASCII16.\r
+The rest is ASCII17.\r
+The rest is ASCII18.\r
+The rest is ASCII19.\r
+The rest is ASCII20.\r
+The rest is ASCII21.\r
+The rest is ASCII22.\r
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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-crlf/many-utf8-chars-crlf
new file mode 100644 (file)
index 0000000..cd574f5
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!\r
+♫♪♬♩\r
+Eat food\r
+🍅🍕\r
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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..417786f
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-crlf/more-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-crlf/more-crlf
new file mode 100644 (file)
index 0000000..0ff5a53
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-crlf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-crlf/more-crlf-utf8bom
new file mode 100644 (file)
index 0000000..ea030d3
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-crlf/more-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-crlf/more-lf
new file mode 100644 (file)
index 0000000..04de00b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-crlf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-crlf/more-lf-utf8bom
new file mode 100644 (file)
index 0000000..dc88e3b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+lf
+lf
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 (file)
index 0000000..e69de29
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-text/all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-text/all-crlf
new file mode 100644 (file)
index 0000000..a9a2e89
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-text/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-text/all-crlf-utf8bom
new file mode 100644 (file)
index 0000000..0aa76e4
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-text/binary-all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-text/binary-all-crlf
new file mode 100644 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..aaf083a
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-text/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-text/few-utf8-chars-crlf
new file mode 100644 (file)
index 0000000..0e05288
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.\r
+The rest is ASCII02.\r
+The rest is ASCII03.\r
+The rest is ASCII04.\r
+The rest is ASCII05.\r
+The rest is ASCII06.\r
+The rest is ASCII07.\r
+The rest is ASCII08.\r
+The rest is ASCII09.\r
+The rest is ASCII10.\r
+The rest is ASCII11.\r
+The rest is ASCII12.\r
+The rest is ASCII13.\r
+The rest is ASCII14.\r
+The rest is ASCII15.\r
+The rest is ASCII16.\r
+The rest is ASCII17.\r
+The rest is ASCII18.\r
+The rest is ASCII19.\r
+The rest is ASCII20.\r
+The rest is ASCII21.\r
+The rest is ASCII22.\r
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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-text/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-text/many-utf8-chars-crlf
new file mode 100644 (file)
index 0000000..cd574f5
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!\r
+♫♪♬♩\r
+Eat food\r
+🍅🍕\r
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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..417786f
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-text/more-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-text/more-crlf
new file mode 100644 (file)
index 0000000..0ff5a53
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-text/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-text/more-crlf-utf8bom
new file mode 100644 (file)
index 0000000..ea030d3
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-text/more-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-text/more-lf
new file mode 100644 (file)
index 0000000..04de00b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-text/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-text/more-lf-utf8bom
new file mode 100644 (file)
index 0000000..dc88e3b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+lf
+lf
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 (file)
index 0000000..e69de29
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,crlf/all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,crlf/all-crlf
new file mode 100644 (file)
index 0000000..a9a2e89
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,crlf/all-crlf-utf8bom
new file mode 100644 (file)
index 0000000..0aa76e4
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,crlf/binary-all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,crlf/binary-all-crlf
new file mode 100644 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..aaf083a
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,crlf/few-utf8-chars-crlf
new file mode 100644 (file)
index 0000000..0e05288
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.\r
+The rest is ASCII02.\r
+The rest is ASCII03.\r
+The rest is ASCII04.\r
+The rest is ASCII05.\r
+The rest is ASCII06.\r
+The rest is ASCII07.\r
+The rest is ASCII08.\r
+The rest is ASCII09.\r
+The rest is ASCII10.\r
+The rest is ASCII11.\r
+The rest is ASCII12.\r
+The rest is ASCII13.\r
+The rest is ASCII14.\r
+The rest is ASCII15.\r
+The rest is ASCII16.\r
+The rest is ASCII17.\r
+The rest is ASCII18.\r
+The rest is ASCII19.\r
+The rest is ASCII20.\r
+The rest is ASCII21.\r
+The rest is ASCII22.\r
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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,crlf/many-utf8-chars-crlf
new file mode 100644 (file)
index 0000000..cd574f5
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!\r
+♫♪♬♩\r
+Eat food\r
+🍅🍕\r
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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..417786f
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,crlf/more-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,crlf/more-crlf
new file mode 100644 (file)
index 0000000..0ff5a53
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,crlf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,crlf/more-crlf-utf8bom
new file mode 100644 (file)
index 0000000..ea030d3
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,crlf/more-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,crlf/more-lf
new file mode 100644 (file)
index 0000000..04de00b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,crlf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,crlf/more-lf-utf8bom
new file mode 100644 (file)
index 0000000..dc88e3b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+lf
+lf
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 (file)
index 0000000..e69de29
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_crlf/all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_crlf/all-crlf
new file mode 100644 (file)
index 0000000..a9a2e89
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_crlf/all-crlf-utf8bom
new file mode 100644 (file)
index 0000000..0aa76e4
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_crlf/all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_crlf/all-lf
new file mode 100644 (file)
index 0000000..f557a02
--- /dev/null
@@ -0,0 +1,5 @@
+lf\r
+lf\r
+lf\r
+lf\r
+lf\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_crlf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_crlf/all-lf-utf8bom
new file mode 100644 (file)
index 0000000..381cfe6
--- /dev/null
@@ -0,0 +1,5 @@
+lf\r
+lf\r
+lf\r
+lf\r
+lf\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_crlf/binary-all-crlf
new file mode 100644 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_crlf/binary-all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_crlf/binary-all-lf
new file mode 100644 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_crlf/binary-mixed-lf-cr
new file mode 100644 (file)
index 0000000..fd2abfa
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one\r
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_workdir/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
new file mode 100644 (file)
index 0000000..fd2abfa
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one\r
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_crlf/few-utf8-chars-crlf
new file mode 100644 (file)
index 0000000..0e05288
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.\r
+The rest is ASCII02.\r
+The rest is ASCII03.\r
+The rest is ASCII04.\r
+The rest is ASCII05.\r
+The rest is ASCII06.\r
+The rest is ASCII07.\r
+The rest is ASCII08.\r
+The rest is ASCII09.\r
+The rest is ASCII10.\r
+The rest is ASCII11.\r
+The rest is ASCII12.\r
+The rest is ASCII13.\r
+The rest is ASCII14.\r
+The rest is ASCII15.\r
+The rest is ASCII16.\r
+The rest is ASCII17.\r
+The rest is ASCII18.\r
+The rest is ASCII19.\r
+The rest is ASCII20.\r
+The rest is ASCII21.\r
+The rest is ASCII22.\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_crlf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_crlf/few-utf8-chars-lf
new file mode 100644 (file)
index 0000000..0e05288
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.\r
+The rest is ASCII02.\r
+The rest is ASCII03.\r
+The rest is ASCII04.\r
+The rest is ASCII05.\r
+The rest is ASCII06.\r
+The rest is ASCII07.\r
+The rest is ASCII08.\r
+The rest is ASCII09.\r
+The rest is ASCII10.\r
+The rest is ASCII11.\r
+The rest is ASCII12.\r
+The rest is ASCII13.\r
+The rest is ASCII14.\r
+The rest is ASCII15.\r
+The rest is ASCII16.\r
+The rest is ASCII17.\r
+The rest is ASCII18.\r
+The rest is ASCII19.\r
+The rest is ASCII20.\r
+The rest is ASCII21.\r
+The rest is ASCII22.\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_crlf/many-utf8-chars-crlf
new file mode 100644 (file)
index 0000000..cd574f5
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!\r
+♫♪♬♩\r
+Eat food\r
+🍅🍕\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_crlf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_crlf/many-utf8-chars-lf
new file mode 100644 (file)
index 0000000..cd574f5
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!\r
+♫♪♬♩\r
+Eat food\r
+🍅🍕\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_crlf/mixed-lf-cr
new file mode 100644 (file)
index 0000000..df8c0f6
--- /dev/null
@@ -0,0 +1,3 @@
+one\r
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_crlf/mixed-lf-cr-crlf
new file mode 100644 (file)
index 0000000..df8c0f6
--- /dev/null
@@ -0,0 +1,3 @@
+one\r
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_crlf/more-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_crlf/more-crlf
new file mode 100644 (file)
index 0000000..e682c30
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf\r
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_crlf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_crlf/more-crlf-utf8bom
new file mode 100644 (file)
index 0000000..2e1220c
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf\r
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_crlf/more-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_crlf/more-lf
new file mode 100644 (file)
index 0000000..6da5b0c
--- /dev/null
@@ -0,0 +1,5 @@
+lf\r
+lf\r
+crlf\r
+lf\r
+lf\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_crlf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_crlf/more-lf-utf8bom
new file mode 100644 (file)
index 0000000..3fa59c8
--- /dev/null
@@ -0,0 +1,5 @@
+lf\r
+lf\r
+crlf\r
+lf\r
+lf\r
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 (file)
index 0000000..e69de29
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_lf/all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_lf/all-crlf
new file mode 100644 (file)
index 0000000..a9a2e89
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_lf/all-crlf-utf8bom
new file mode 100644 (file)
index 0000000..0aa76e4
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_lf/binary-all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_lf/binary-all-crlf
new file mode 100644 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..aaf083a
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_lf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_lf/few-utf8-chars-crlf
new file mode 100644 (file)
index 0000000..0e05288
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.\r
+The rest is ASCII02.\r
+The rest is ASCII03.\r
+The rest is ASCII04.\r
+The rest is ASCII05.\r
+The rest is ASCII06.\r
+The rest is ASCII07.\r
+The rest is ASCII08.\r
+The rest is ASCII09.\r
+The rest is ASCII10.\r
+The rest is ASCII11.\r
+The rest is ASCII12.\r
+The rest is ASCII13.\r
+The rest is ASCII14.\r
+The rest is ASCII15.\r
+The rest is ASCII16.\r
+The rest is ASCII17.\r
+The rest is ASCII18.\r
+The rest is ASCII19.\r
+The rest is ASCII20.\r
+The rest is ASCII21.\r
+The rest is ASCII22.\r
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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_lf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_lf/many-utf8-chars-crlf
new file mode 100644 (file)
index 0000000..cd574f5
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!\r
+♫♪♬♩\r
+Eat food\r
+🍅🍕\r
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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..417786f
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_lf/more-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_lf/more-crlf
new file mode 100644 (file)
index 0000000..0ff5a53
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_lf/more-crlf-utf8bom
new file mode 100644 (file)
index 0000000..ea030d3
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_lf/more-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_lf/more-lf
new file mode 100644 (file)
index 0000000..04de00b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_lf/more-lf-utf8bom
new file mode 100644 (file)
index 0000000..dc88e3b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+lf
+lf
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 (file)
index 0000000..e69de29
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_crlf/all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_crlf/all-crlf
new file mode 100644 (file)
index 0000000..a9a2e89
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_crlf/all-crlf-utf8bom
new file mode 100644 (file)
index 0000000..0aa76e4
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_crlf/all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_crlf/all-lf
new file mode 100644 (file)
index 0000000..f557a02
--- /dev/null
@@ -0,0 +1,5 @@
+lf\r
+lf\r
+lf\r
+lf\r
+lf\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_crlf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_crlf/all-lf-utf8bom
new file mode 100644 (file)
index 0000000..381cfe6
--- /dev/null
@@ -0,0 +1,5 @@
+lf\r
+lf\r
+lf\r
+lf\r
+lf\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_crlf/binary-all-crlf
new file mode 100644 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_crlf/binary-all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_crlf/binary-all-lf
new file mode 100644 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/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
new file mode 100644 (file)
index 0000000..fd2abfa
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one\r
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_workdir/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
new file mode 100644 (file)
index 0000000..fd2abfa
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one\r
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_crlf/few-utf8-chars-crlf
new file mode 100644 (file)
index 0000000..0e05288
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.\r
+The rest is ASCII02.\r
+The rest is ASCII03.\r
+The rest is ASCII04.\r
+The rest is ASCII05.\r
+The rest is ASCII06.\r
+The rest is ASCII07.\r
+The rest is ASCII08.\r
+The rest is ASCII09.\r
+The rest is ASCII10.\r
+The rest is ASCII11.\r
+The rest is ASCII12.\r
+The rest is ASCII13.\r
+The rest is ASCII14.\r
+The rest is ASCII15.\r
+The rest is ASCII16.\r
+The rest is ASCII17.\r
+The rest is ASCII18.\r
+The rest is ASCII19.\r
+The rest is ASCII20.\r
+The rest is ASCII21.\r
+The rest is ASCII22.\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/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
new file mode 100644 (file)
index 0000000..0e05288
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.\r
+The rest is ASCII02.\r
+The rest is ASCII03.\r
+The rest is ASCII04.\r
+The rest is ASCII05.\r
+The rest is ASCII06.\r
+The rest is ASCII07.\r
+The rest is ASCII08.\r
+The rest is ASCII09.\r
+The rest is ASCII10.\r
+The rest is ASCII11.\r
+The rest is ASCII12.\r
+The rest is ASCII13.\r
+The rest is ASCII14.\r
+The rest is ASCII15.\r
+The rest is ASCII16.\r
+The rest is ASCII17.\r
+The rest is ASCII18.\r
+The rest is ASCII19.\r
+The rest is ASCII20.\r
+The rest is ASCII21.\r
+The rest is ASCII22.\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_crlf/many-utf8-chars-crlf
new file mode 100644 (file)
index 0000000..cd574f5
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!\r
+♫♪♬♩\r
+Eat food\r
+🍅🍕\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/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
new file mode 100644 (file)
index 0000000..cd574f5
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!\r
+♫♪♬♩\r
+Eat food\r
+🍅🍕\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_crlf/mixed-lf-cr
new file mode 100644 (file)
index 0000000..df8c0f6
--- /dev/null
@@ -0,0 +1,3 @@
+one\r
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_workdir/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
new file mode 100644 (file)
index 0000000..df8c0f6
--- /dev/null
@@ -0,0 +1,3 @@
+one\r
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_crlf/more-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_crlf/more-crlf
new file mode 100644 (file)
index 0000000..e682c30
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf\r
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_crlf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_crlf/more-crlf-utf8bom
new file mode 100644 (file)
index 0000000..2e1220c
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf\r
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_crlf/more-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_crlf/more-lf
new file mode 100644 (file)
index 0000000..6da5b0c
--- /dev/null
@@ -0,0 +1,5 @@
+lf\r
+lf\r
+crlf\r
+lf\r
+lf\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_crlf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_crlf/more-lf-utf8bom
new file mode 100644 (file)
index 0000000..3fa59c8
--- /dev/null
@@ -0,0 +1,5 @@
+lf\r
+lf\r
+crlf\r
+lf\r
+lf\r
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 (file)
index 0000000..e69de29
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_lf/all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_lf/all-crlf
new file mode 100644 (file)
index 0000000..a9a2e89
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_lf/all-crlf-utf8bom
new file mode 100644 (file)
index 0000000..0aa76e4
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_lf/binary-all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_lf/binary-all-crlf
new file mode 100644 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..aaf083a
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_lf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_lf/few-utf8-chars-crlf
new file mode 100644 (file)
index 0000000..0e05288
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.\r
+The rest is ASCII02.\r
+The rest is ASCII03.\r
+The rest is ASCII04.\r
+The rest is ASCII05.\r
+The rest is ASCII06.\r
+The rest is ASCII07.\r
+The rest is ASCII08.\r
+The rest is ASCII09.\r
+The rest is ASCII10.\r
+The rest is ASCII11.\r
+The rest is ASCII12.\r
+The rest is ASCII13.\r
+The rest is ASCII14.\r
+The rest is ASCII15.\r
+The rest is ASCII16.\r
+The rest is ASCII17.\r
+The rest is ASCII18.\r
+The rest is ASCII19.\r
+The rest is ASCII20.\r
+The rest is ASCII21.\r
+The rest is ASCII22.\r
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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_lf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_lf/many-utf8-chars-crlf
new file mode 100644 (file)
index 0000000..cd574f5
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!\r
+♫♪♬♩\r
+Eat food\r
+🍅🍕\r
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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..417786f
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_lf/more-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_lf/more-crlf
new file mode 100644 (file)
index 0000000..0ff5a53
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_lf/more-crlf-utf8bom
new file mode 100644 (file)
index 0000000..ea030d3
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_lf/more-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_lf/more-lf
new file mode 100644 (file)
index 0000000..04de00b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_lf/more-lf-utf8bom
new file mode 100644 (file)
index 0000000..dc88e3b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+lf
+lf
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 (file)
index 0000000..e69de29
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text/all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text/all-crlf
new file mode 100644 (file)
index 0000000..a9a2e89
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text/all-crlf-utf8bom
new file mode 100644 (file)
index 0000000..0aa76e4
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text/binary-all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text/binary-all-crlf
new file mode 100644 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..aaf083a
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text/few-utf8-chars-crlf
new file mode 100644 (file)
index 0000000..0e05288
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.\r
+The rest is ASCII02.\r
+The rest is ASCII03.\r
+The rest is ASCII04.\r
+The rest is ASCII05.\r
+The rest is ASCII06.\r
+The rest is ASCII07.\r
+The rest is ASCII08.\r
+The rest is ASCII09.\r
+The rest is ASCII10.\r
+The rest is ASCII11.\r
+The rest is ASCII12.\r
+The rest is ASCII13.\r
+The rest is ASCII14.\r
+The rest is ASCII15.\r
+The rest is ASCII16.\r
+The rest is ASCII17.\r
+The rest is ASCII18.\r
+The rest is ASCII19.\r
+The rest is ASCII20.\r
+The rest is ASCII21.\r
+The rest is ASCII22.\r
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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text/many-utf8-chars-crlf
new file mode 100644 (file)
index 0000000..cd574f5
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!\r
+♫♪♬♩\r
+Eat food\r
+🍅🍕\r
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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..417786f
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text/more-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text/more-crlf
new file mode 100644 (file)
index 0000000..0ff5a53
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text/more-crlf-utf8bom
new file mode 100644 (file)
index 0000000..ea030d3
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text/more-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text/more-lf
new file mode 100644 (file)
index 0000000..04de00b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text/more-lf-utf8bom
new file mode 100644 (file)
index 0000000..dc88e3b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+lf
+lf
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 (file)
index 0000000..e69de29
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_crlf/all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_crlf/all-crlf
new file mode 100644 (file)
index 0000000..a9a2e89
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_crlf/all-crlf-utf8bom
new file mode 100644 (file)
index 0000000..0aa76e4
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_crlf/all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_crlf/all-lf
new file mode 100644 (file)
index 0000000..f557a02
--- /dev/null
@@ -0,0 +1,5 @@
+lf\r
+lf\r
+lf\r
+lf\r
+lf\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/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
new file mode 100644 (file)
index 0000000..381cfe6
--- /dev/null
@@ -0,0 +1,5 @@
+lf\r
+lf\r
+lf\r
+lf\r
+lf\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_crlf/binary-all-crlf
new file mode 100644 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..aaf083a
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_crlf/few-utf8-chars-crlf
new file mode 100644 (file)
index 0000000..0e05288
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.\r
+The rest is ASCII02.\r
+The rest is ASCII03.\r
+The rest is ASCII04.\r
+The rest is ASCII05.\r
+The rest is ASCII06.\r
+The rest is ASCII07.\r
+The rest is ASCII08.\r
+The rest is ASCII09.\r
+The rest is ASCII10.\r
+The rest is ASCII11.\r
+The rest is ASCII12.\r
+The rest is ASCII13.\r
+The rest is ASCII14.\r
+The rest is ASCII15.\r
+The rest is ASCII16.\r
+The rest is ASCII17.\r
+The rest is ASCII18.\r
+The rest is ASCII19.\r
+The rest is ASCII20.\r
+The rest is ASCII21.\r
+The rest is ASCII22.\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/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
new file mode 100644 (file)
index 0000000..0e05288
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.\r
+The rest is ASCII02.\r
+The rest is ASCII03.\r
+The rest is ASCII04.\r
+The rest is ASCII05.\r
+The rest is ASCII06.\r
+The rest is ASCII07.\r
+The rest is ASCII08.\r
+The rest is ASCII09.\r
+The rest is ASCII10.\r
+The rest is ASCII11.\r
+The rest is ASCII12.\r
+The rest is ASCII13.\r
+The rest is ASCII14.\r
+The rest is ASCII15.\r
+The rest is ASCII16.\r
+The rest is ASCII17.\r
+The rest is ASCII18.\r
+The rest is ASCII19.\r
+The rest is ASCII20.\r
+The rest is ASCII21.\r
+The rest is ASCII22.\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_crlf/many-utf8-chars-crlf
new file mode 100644 (file)
index 0000000..cd574f5
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!\r
+♫♪♬♩\r
+Eat food\r
+🍅🍕\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/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
new file mode 100644 (file)
index 0000000..cd574f5
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!\r
+♫♪♬♩\r
+Eat food\r
+🍅🍕\r
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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..417786f
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_crlf/more-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_crlf/more-crlf
new file mode 100644 (file)
index 0000000..0ff5a53
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_crlf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_crlf/more-crlf-utf8bom
new file mode 100644 (file)
index 0000000..ea030d3
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_crlf/more-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_crlf/more-lf
new file mode 100644 (file)
index 0000000..04de00b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_crlf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_crlf/more-lf-utf8bom
new file mode 100644 (file)
index 0000000..dc88e3b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+lf
+lf
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 (file)
index 0000000..e69de29
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_lf/all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_lf/all-crlf
new file mode 100644 (file)
index 0000000..a9a2e89
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_lf/all-crlf-utf8bom
new file mode 100644 (file)
index 0000000..0aa76e4
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -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/binary-all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_lf/binary-all-crlf
new file mode 100644 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..aaf083a
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_lf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_lf/few-utf8-chars-crlf
new file mode 100644 (file)
index 0000000..0e05288
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.\r
+The rest is ASCII02.\r
+The rest is ASCII03.\r
+The rest is ASCII04.\r
+The rest is ASCII05.\r
+The rest is ASCII06.\r
+The rest is ASCII07.\r
+The rest is ASCII08.\r
+The rest is ASCII09.\r
+The rest is ASCII10.\r
+The rest is ASCII11.\r
+The rest is ASCII12.\r
+The rest is ASCII13.\r
+The rest is ASCII14.\r
+The rest is ASCII15.\r
+The rest is ASCII16.\r
+The rest is ASCII17.\r
+The rest is ASCII18.\r
+The rest is ASCII19.\r
+The rest is ASCII20.\r
+The rest is ASCII21.\r
+The rest is ASCII22.\r
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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_lf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_lf/many-utf8-chars-crlf
new file mode 100644 (file)
index 0000000..cd574f5
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!\r
+♫♪♬♩\r
+Eat food\r
+🍅🍕\r
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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..417786f
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_lf/more-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_lf/more-crlf
new file mode 100644 (file)
index 0000000..0ff5a53
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_lf/more-crlf-utf8bom
new file mode 100644 (file)
index 0000000..ea030d3
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_lf/more-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_lf/more-lf
new file mode 100644 (file)
index 0000000..04de00b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_lf/more-lf-utf8bom
new file mode 100644 (file)
index 0000000..dc88e3b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+lf
+lf
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 (file)
index 0000000..e69de29
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto/all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto/all-crlf
new file mode 100644 (file)
index 0000000..a9a2e89
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto/all-crlf-utf8bom
new file mode 100644 (file)
index 0000000..0aa76e4
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto/binary-all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto/binary-all-crlf
new file mode 100644 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..aaf083a
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto/few-utf8-chars-crlf
new file mode 100644 (file)
index 0000000..0e05288
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.\r
+The rest is ASCII02.\r
+The rest is ASCII03.\r
+The rest is ASCII04.\r
+The rest is ASCII05.\r
+The rest is ASCII06.\r
+The rest is ASCII07.\r
+The rest is ASCII08.\r
+The rest is ASCII09.\r
+The rest is ASCII10.\r
+The rest is ASCII11.\r
+The rest is ASCII12.\r
+The rest is ASCII13.\r
+The rest is ASCII14.\r
+The rest is ASCII15.\r
+The rest is ASCII16.\r
+The rest is ASCII17.\r
+The rest is ASCII18.\r
+The rest is ASCII19.\r
+The rest is ASCII20.\r
+The rest is ASCII21.\r
+The rest is ASCII22.\r
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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto/many-utf8-chars-crlf
new file mode 100644 (file)
index 0000000..cd574f5
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!\r
+♫♪♬♩\r
+Eat food\r
+🍅🍕\r
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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..417786f
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto/more-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto/more-crlf
new file mode 100644 (file)
index 0000000..0ff5a53
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto/more-crlf-utf8bom
new file mode 100644 (file)
index 0000000..ea030d3
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto/more-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto/more-lf
new file mode 100644 (file)
index 0000000..04de00b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto/more-lf-utf8bom
new file mode 100644 (file)
index 0000000..dc88e3b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+lf
+lf
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 (file)
index 0000000..e69de29
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input/all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input/all-crlf
new file mode 100644 (file)
index 0000000..a9a2e89
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input/all-crlf-utf8bom
new file mode 100644 (file)
index 0000000..0aa76e4
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input/binary-all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input/binary-all-crlf
new file mode 100644 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..aaf083a
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input/few-utf8-chars-crlf
new file mode 100644 (file)
index 0000000..0e05288
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.\r
+The rest is ASCII02.\r
+The rest is ASCII03.\r
+The rest is ASCII04.\r
+The rest is ASCII05.\r
+The rest is ASCII06.\r
+The rest is ASCII07.\r
+The rest is ASCII08.\r
+The rest is ASCII09.\r
+The rest is ASCII10.\r
+The rest is ASCII11.\r
+The rest is ASCII12.\r
+The rest is ASCII13.\r
+The rest is ASCII14.\r
+The rest is ASCII15.\r
+The rest is ASCII16.\r
+The rest is ASCII17.\r
+The rest is ASCII18.\r
+The rest is ASCII19.\r
+The rest is ASCII20.\r
+The rest is ASCII21.\r
+The rest is ASCII22.\r
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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input/many-utf8-chars-crlf
new file mode 100644 (file)
index 0000000..cd574f5
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!\r
+♫♪♬♩\r
+Eat food\r
+🍅🍕\r
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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..417786f
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input/more-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input/more-crlf
new file mode 100644 (file)
index 0000000..0ff5a53
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input/more-crlf-utf8bom
new file mode 100644 (file)
index 0000000..ea030d3
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input/more-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input/more-lf
new file mode 100644 (file)
index 0000000..04de00b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input/more-lf-utf8bom
new file mode 100644 (file)
index 0000000..dc88e3b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+lf
+lf
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 (file)
index 0000000..e69de29
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-crlf/all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-crlf/all-crlf
new file mode 100644 (file)
index 0000000..a9a2e89
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-crlf/all-crlf-utf8bom
new file mode 100644 (file)
index 0000000..0aa76e4
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-crlf/binary-all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-crlf/binary-all-crlf
new file mode 100644 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..aaf083a
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-crlf/few-utf8-chars-crlf
new file mode 100644 (file)
index 0000000..0e05288
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.\r
+The rest is ASCII02.\r
+The rest is ASCII03.\r
+The rest is ASCII04.\r
+The rest is ASCII05.\r
+The rest is ASCII06.\r
+The rest is ASCII07.\r
+The rest is ASCII08.\r
+The rest is ASCII09.\r
+The rest is ASCII10.\r
+The rest is ASCII11.\r
+The rest is ASCII12.\r
+The rest is ASCII13.\r
+The rest is ASCII14.\r
+The rest is ASCII15.\r
+The rest is ASCII16.\r
+The rest is ASCII17.\r
+The rest is ASCII18.\r
+The rest is ASCII19.\r
+The rest is ASCII20.\r
+The rest is ASCII21.\r
+The rest is ASCII22.\r
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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-crlf/many-utf8-chars-crlf
new file mode 100644 (file)
index 0000000..cd574f5
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!\r
+♫♪♬♩\r
+Eat food\r
+🍅🍕\r
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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..417786f
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-crlf/more-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-crlf/more-crlf
new file mode 100644 (file)
index 0000000..0ff5a53
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-crlf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-crlf/more-crlf-utf8bom
new file mode 100644 (file)
index 0000000..ea030d3
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-crlf/more-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-crlf/more-lf
new file mode 100644 (file)
index 0000000..04de00b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-crlf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-crlf/more-lf-utf8bom
new file mode 100644 (file)
index 0000000..dc88e3b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+lf
+lf
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 (file)
index 0000000..e69de29
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-text/all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-text/all-crlf
new file mode 100644 (file)
index 0000000..a9a2e89
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-text/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-text/all-crlf-utf8bom
new file mode 100644 (file)
index 0000000..0aa76e4
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
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 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..aaf083a
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-text/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-text/few-utf8-chars-crlf
new file mode 100644 (file)
index 0000000..0e05288
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.\r
+The rest is ASCII02.\r
+The rest is ASCII03.\r
+The rest is ASCII04.\r
+The rest is ASCII05.\r
+The rest is ASCII06.\r
+The rest is ASCII07.\r
+The rest is ASCII08.\r
+The rest is ASCII09.\r
+The rest is ASCII10.\r
+The rest is ASCII11.\r
+The rest is ASCII12.\r
+The rest is ASCII13.\r
+The rest is ASCII14.\r
+The rest is ASCII15.\r
+The rest is ASCII16.\r
+The rest is ASCII17.\r
+The rest is ASCII18.\r
+The rest is ASCII19.\r
+The rest is ASCII20.\r
+The rest is ASCII21.\r
+The rest is ASCII22.\r
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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-text/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-text/many-utf8-chars-crlf
new file mode 100644 (file)
index 0000000..cd574f5
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!\r
+♫♪♬♩\r
+Eat food\r
+🍅🍕\r
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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..417786f
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-text/more-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-text/more-crlf
new file mode 100644 (file)
index 0000000..0ff5a53
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-text/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-text/more-crlf-utf8bom
new file mode 100644 (file)
index 0000000..ea030d3
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-text/more-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-text/more-lf
new file mode 100644 (file)
index 0000000..04de00b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-text/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-text/more-lf-utf8bom
new file mode 100644 (file)
index 0000000..dc88e3b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+lf
+lf
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 (file)
index 0000000..e69de29
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,crlf/all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,crlf/all-crlf
new file mode 100644 (file)
index 0000000..a9a2e89
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,crlf/all-crlf-utf8bom
new file mode 100644 (file)
index 0000000..0aa76e4
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
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 (file)
index 0000000..f557a02
--- /dev/null
@@ -0,0 +1,5 @@
+lf\r
+lf\r
+lf\r
+lf\r
+lf\r
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 (file)
index 0000000..381cfe6
--- /dev/null
@@ -0,0 +1,5 @@
+lf\r
+lf\r
+lf\r
+lf\r
+lf\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,crlf/binary-all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,crlf/binary-all-crlf
new file mode 100644 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
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 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
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 (file)
index 0000000..fd2abfa
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one\r
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..fd2abfa
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one\r
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,crlf/few-utf8-chars-crlf
new file mode 100644 (file)
index 0000000..0e05288
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.\r
+The rest is ASCII02.\r
+The rest is ASCII03.\r
+The rest is ASCII04.\r
+The rest is ASCII05.\r
+The rest is ASCII06.\r
+The rest is ASCII07.\r
+The rest is ASCII08.\r
+The rest is ASCII09.\r
+The rest is ASCII10.\r
+The rest is ASCII11.\r
+The rest is ASCII12.\r
+The rest is ASCII13.\r
+The rest is ASCII14.\r
+The rest is ASCII15.\r
+The rest is ASCII16.\r
+The rest is ASCII17.\r
+The rest is ASCII18.\r
+The rest is ASCII19.\r
+The rest is ASCII20.\r
+The rest is ASCII21.\r
+The rest is ASCII22.\r
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 (file)
index 0000000..0e05288
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.\r
+The rest is ASCII02.\r
+The rest is ASCII03.\r
+The rest is ASCII04.\r
+The rest is ASCII05.\r
+The rest is ASCII06.\r
+The rest is ASCII07.\r
+The rest is ASCII08.\r
+The rest is ASCII09.\r
+The rest is ASCII10.\r
+The rest is ASCII11.\r
+The rest is ASCII12.\r
+The rest is ASCII13.\r
+The rest is ASCII14.\r
+The rest is ASCII15.\r
+The rest is ASCII16.\r
+The rest is ASCII17.\r
+The rest is ASCII18.\r
+The rest is ASCII19.\r
+The rest is ASCII20.\r
+The rest is ASCII21.\r
+The rest is ASCII22.\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,crlf/many-utf8-chars-crlf
new file mode 100644 (file)
index 0000000..cd574f5
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!\r
+♫♪♬♩\r
+Eat food\r
+🍅🍕\r
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 (file)
index 0000000..cd574f5
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!\r
+♫♪♬♩\r
+Eat food\r
+🍅🍕\r
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 (file)
index 0000000..df8c0f6
--- /dev/null
@@ -0,0 +1,3 @@
+one\r
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..df8c0f6
--- /dev/null
@@ -0,0 +1,3 @@
+one\r
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,crlf/more-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,crlf/more-crlf
new file mode 100644 (file)
index 0000000..e682c30
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf\r
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,crlf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,crlf/more-crlf-utf8bom
new file mode 100644 (file)
index 0000000..2e1220c
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf\r
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,crlf/more-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,crlf/more-lf
new file mode 100644 (file)
index 0000000..6da5b0c
--- /dev/null
@@ -0,0 +1,5 @@
+lf\r
+lf\r
+crlf\r
+lf\r
+lf\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,crlf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,crlf/more-lf-utf8bom
new file mode 100644 (file)
index 0000000..3fa59c8
--- /dev/null
@@ -0,0 +1,5 @@
+lf\r
+lf\r
+crlf\r
+lf\r
+lf\r
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 (file)
index 0000000..e69de29
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_crlf/all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_crlf/all-crlf
new file mode 100644 (file)
index 0000000..a9a2e89
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_crlf/all-crlf-utf8bom
new file mode 100644 (file)
index 0000000..0aa76e4
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_crlf/all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_crlf/all-lf
new file mode 100644 (file)
index 0000000..f557a02
--- /dev/null
@@ -0,0 +1,5 @@
+lf\r
+lf\r
+lf\r
+lf\r
+lf\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_crlf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_crlf/all-lf-utf8bom
new file mode 100644 (file)
index 0000000..381cfe6
--- /dev/null
@@ -0,0 +1,5 @@
+lf\r
+lf\r
+lf\r
+lf\r
+lf\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_crlf/binary-all-crlf
new file mode 100644 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_crlf/binary-all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_crlf/binary-all-lf
new file mode 100644 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_crlf/binary-mixed-lf-cr
new file mode 100644 (file)
index 0000000..fd2abfa
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one\r
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_workdir/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
new file mode 100644 (file)
index 0000000..fd2abfa
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one\r
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_crlf/few-utf8-chars-crlf
new file mode 100644 (file)
index 0000000..0e05288
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.\r
+The rest is ASCII02.\r
+The rest is ASCII03.\r
+The rest is ASCII04.\r
+The rest is ASCII05.\r
+The rest is ASCII06.\r
+The rest is ASCII07.\r
+The rest is ASCII08.\r
+The rest is ASCII09.\r
+The rest is ASCII10.\r
+The rest is ASCII11.\r
+The rest is ASCII12.\r
+The rest is ASCII13.\r
+The rest is ASCII14.\r
+The rest is ASCII15.\r
+The rest is ASCII16.\r
+The rest is ASCII17.\r
+The rest is ASCII18.\r
+The rest is ASCII19.\r
+The rest is ASCII20.\r
+The rest is ASCII21.\r
+The rest is ASCII22.\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_crlf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_crlf/few-utf8-chars-lf
new file mode 100644 (file)
index 0000000..0e05288
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.\r
+The rest is ASCII02.\r
+The rest is ASCII03.\r
+The rest is ASCII04.\r
+The rest is ASCII05.\r
+The rest is ASCII06.\r
+The rest is ASCII07.\r
+The rest is ASCII08.\r
+The rest is ASCII09.\r
+The rest is ASCII10.\r
+The rest is ASCII11.\r
+The rest is ASCII12.\r
+The rest is ASCII13.\r
+The rest is ASCII14.\r
+The rest is ASCII15.\r
+The rest is ASCII16.\r
+The rest is ASCII17.\r
+The rest is ASCII18.\r
+The rest is ASCII19.\r
+The rest is ASCII20.\r
+The rest is ASCII21.\r
+The rest is ASCII22.\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_crlf/many-utf8-chars-crlf
new file mode 100644 (file)
index 0000000..cd574f5
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!\r
+♫♪♬♩\r
+Eat food\r
+🍅🍕\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_crlf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_crlf/many-utf8-chars-lf
new file mode 100644 (file)
index 0000000..cd574f5
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!\r
+♫♪♬♩\r
+Eat food\r
+🍅🍕\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_crlf/mixed-lf-cr
new file mode 100644 (file)
index 0000000..df8c0f6
--- /dev/null
@@ -0,0 +1,3 @@
+one\r
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_crlf/mixed-lf-cr-crlf
new file mode 100644 (file)
index 0000000..df8c0f6
--- /dev/null
@@ -0,0 +1,3 @@
+one\r
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_crlf/more-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_crlf/more-crlf
new file mode 100644 (file)
index 0000000..e682c30
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf\r
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_crlf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_crlf/more-crlf-utf8bom
new file mode 100644 (file)
index 0000000..2e1220c
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf\r
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_crlf/more-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_crlf/more-lf
new file mode 100644 (file)
index 0000000..6da5b0c
--- /dev/null
@@ -0,0 +1,5 @@
+lf\r
+lf\r
+crlf\r
+lf\r
+lf\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_crlf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_crlf/more-lf-utf8bom
new file mode 100644 (file)
index 0000000..3fa59c8
--- /dev/null
@@ -0,0 +1,5 @@
+lf\r
+lf\r
+crlf\r
+lf\r
+lf\r
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 (file)
index 0000000..e69de29
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_lf/all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_lf/all-crlf
new file mode 100644 (file)
index 0000000..a9a2e89
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_lf/all-crlf-utf8bom
new file mode 100644 (file)
index 0000000..0aa76e4
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+lf
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_lf/binary-all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_lf/binary-all-crlf
new file mode 100644 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..aaf083a
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_lf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_lf/few-utf8-chars-crlf
new file mode 100644 (file)
index 0000000..0e05288
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.\r
+The rest is ASCII02.\r
+The rest is ASCII03.\r
+The rest is ASCII04.\r
+The rest is ASCII05.\r
+The rest is ASCII06.\r
+The rest is ASCII07.\r
+The rest is ASCII08.\r
+The rest is ASCII09.\r
+The rest is ASCII10.\r
+The rest is ASCII11.\r
+The rest is ASCII12.\r
+The rest is ASCII13.\r
+The rest is ASCII14.\r
+The rest is ASCII15.\r
+The rest is ASCII16.\r
+The rest is ASCII17.\r
+The rest is ASCII18.\r
+The rest is ASCII19.\r
+The rest is ASCII20.\r
+The rest is ASCII21.\r
+The rest is ASCII22.\r
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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_lf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_lf/many-utf8-chars-crlf
new file mode 100644 (file)
index 0000000..cd574f5
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!\r
+♫♪♬♩\r
+Eat food\r
+🍅🍕\r
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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..417786f
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_lf/more-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_lf/more-crlf
new file mode 100644 (file)
index 0000000..0ff5a53
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_lf/more-crlf-utf8bom
new file mode 100644 (file)
index 0000000..ea030d3
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_lf/more-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_lf/more-lf
new file mode 100644 (file)
index 0000000..04de00b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_lf/more-lf-utf8bom
new file mode 100644 (file)
index 0000000..dc88e3b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+lf
+lf
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 (file)
index 0000000..e69de29
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_crlf/all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_crlf/all-crlf
new file mode 100644 (file)
index 0000000..a9a2e89
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_crlf/all-crlf-utf8bom
new file mode 100644 (file)
index 0000000..0aa76e4
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_crlf/all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_crlf/all-lf
new file mode 100644 (file)
index 0000000..f557a02
--- /dev/null
@@ -0,0 +1,5 @@
+lf\r
+lf\r
+lf\r
+lf\r
+lf\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_crlf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_crlf/all-lf-utf8bom
new file mode 100644 (file)
index 0000000..381cfe6
--- /dev/null
@@ -0,0 +1,5 @@
+lf\r
+lf\r
+lf\r
+lf\r
+lf\r
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 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
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 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/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
new file mode 100644 (file)
index 0000000..fd2abfa
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one\r
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_workdir/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
new file mode 100644 (file)
index 0000000..fd2abfa
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one\r
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_crlf/few-utf8-chars-crlf
new file mode 100644 (file)
index 0000000..0e05288
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.\r
+The rest is ASCII02.\r
+The rest is ASCII03.\r
+The rest is ASCII04.\r
+The rest is ASCII05.\r
+The rest is ASCII06.\r
+The rest is ASCII07.\r
+The rest is ASCII08.\r
+The rest is ASCII09.\r
+The rest is ASCII10.\r
+The rest is ASCII11.\r
+The rest is ASCII12.\r
+The rest is ASCII13.\r
+The rest is ASCII14.\r
+The rest is ASCII15.\r
+The rest is ASCII16.\r
+The rest is ASCII17.\r
+The rest is ASCII18.\r
+The rest is ASCII19.\r
+The rest is ASCII20.\r
+The rest is ASCII21.\r
+The rest is ASCII22.\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/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
new file mode 100644 (file)
index 0000000..0e05288
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.\r
+The rest is ASCII02.\r
+The rest is ASCII03.\r
+The rest is ASCII04.\r
+The rest is ASCII05.\r
+The rest is ASCII06.\r
+The rest is ASCII07.\r
+The rest is ASCII08.\r
+The rest is ASCII09.\r
+The rest is ASCII10.\r
+The rest is ASCII11.\r
+The rest is ASCII12.\r
+The rest is ASCII13.\r
+The rest is ASCII14.\r
+The rest is ASCII15.\r
+The rest is ASCII16.\r
+The rest is ASCII17.\r
+The rest is ASCII18.\r
+The rest is ASCII19.\r
+The rest is ASCII20.\r
+The rest is ASCII21.\r
+The rest is ASCII22.\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_crlf/many-utf8-chars-crlf
new file mode 100644 (file)
index 0000000..cd574f5
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!\r
+♫♪♬♩\r
+Eat food\r
+🍅🍕\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/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
new file mode 100644 (file)
index 0000000..cd574f5
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!\r
+♫♪♬♩\r
+Eat food\r
+🍅🍕\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_crlf/mixed-lf-cr
new file mode 100644 (file)
index 0000000..df8c0f6
--- /dev/null
@@ -0,0 +1,3 @@
+one\r
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_workdir/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
new file mode 100644 (file)
index 0000000..df8c0f6
--- /dev/null
@@ -0,0 +1,3 @@
+one\r
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_crlf/more-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_crlf/more-crlf
new file mode 100644 (file)
index 0000000..e682c30
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf\r
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_crlf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_crlf/more-crlf-utf8bom
new file mode 100644 (file)
index 0000000..2e1220c
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf\r
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_crlf/more-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_crlf/more-lf
new file mode 100644 (file)
index 0000000..6da5b0c
--- /dev/null
@@ -0,0 +1,5 @@
+lf\r
+lf\r
+crlf\r
+lf\r
+lf\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_crlf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_crlf/more-lf-utf8bom
new file mode 100644 (file)
index 0000000..3fa59c8
--- /dev/null
@@ -0,0 +1,5 @@
+lf\r
+lf\r
+crlf\r
+lf\r
+lf\r
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 (file)
index 0000000..e69de29
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_lf/all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_lf/all-crlf
new file mode 100644 (file)
index 0000000..a9a2e89
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_lf/all-crlf-utf8bom
new file mode 100644 (file)
index 0000000..0aa76e4
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -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 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..aaf083a
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_lf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_lf/few-utf8-chars-crlf
new file mode 100644 (file)
index 0000000..0e05288
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.\r
+The rest is ASCII02.\r
+The rest is ASCII03.\r
+The rest is ASCII04.\r
+The rest is ASCII05.\r
+The rest is ASCII06.\r
+The rest is ASCII07.\r
+The rest is ASCII08.\r
+The rest is ASCII09.\r
+The rest is ASCII10.\r
+The rest is ASCII11.\r
+The rest is ASCII12.\r
+The rest is ASCII13.\r
+The rest is ASCII14.\r
+The rest is ASCII15.\r
+The rest is ASCII16.\r
+The rest is ASCII17.\r
+The rest is ASCII18.\r
+The rest is ASCII19.\r
+The rest is ASCII20.\r
+The rest is ASCII21.\r
+The rest is ASCII22.\r
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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_lf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_lf/many-utf8-chars-crlf
new file mode 100644 (file)
index 0000000..cd574f5
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!\r
+♫♪♬♩\r
+Eat food\r
+🍅🍕\r
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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..417786f
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_lf/more-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_lf/more-crlf
new file mode 100644 (file)
index 0000000..0ff5a53
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_lf/more-crlf-utf8bom
new file mode 100644 (file)
index 0000000..ea030d3
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_lf/more-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_lf/more-lf
new file mode 100644 (file)
index 0000000..04de00b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_lf/more-lf-utf8bom
new file mode 100644 (file)
index 0000000..dc88e3b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+lf
+lf
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 (file)
index 0000000..e69de29
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text/all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text/all-crlf
new file mode 100644 (file)
index 0000000..a9a2e89
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text/all-crlf-utf8bom
new file mode 100644 (file)
index 0000000..0aa76e4
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
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 (file)
index 0000000..f557a02
--- /dev/null
@@ -0,0 +1,5 @@
+lf\r
+lf\r
+lf\r
+lf\r
+lf\r
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 (file)
index 0000000..381cfe6
--- /dev/null
@@ -0,0 +1,5 @@
+lf\r
+lf\r
+lf\r
+lf\r
+lf\r
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 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
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 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
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 (file)
index 0000000..fd2abfa
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one\r
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..fd2abfa
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one\r
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text/few-utf8-chars-crlf
new file mode 100644 (file)
index 0000000..0e05288
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.\r
+The rest is ASCII02.\r
+The rest is ASCII03.\r
+The rest is ASCII04.\r
+The rest is ASCII05.\r
+The rest is ASCII06.\r
+The rest is ASCII07.\r
+The rest is ASCII08.\r
+The rest is ASCII09.\r
+The rest is ASCII10.\r
+The rest is ASCII11.\r
+The rest is ASCII12.\r
+The rest is ASCII13.\r
+The rest is ASCII14.\r
+The rest is ASCII15.\r
+The rest is ASCII16.\r
+The rest is ASCII17.\r
+The rest is ASCII18.\r
+The rest is ASCII19.\r
+The rest is ASCII20.\r
+The rest is ASCII21.\r
+The rest is ASCII22.\r
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 (file)
index 0000000..0e05288
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.\r
+The rest is ASCII02.\r
+The rest is ASCII03.\r
+The rest is ASCII04.\r
+The rest is ASCII05.\r
+The rest is ASCII06.\r
+The rest is ASCII07.\r
+The rest is ASCII08.\r
+The rest is ASCII09.\r
+The rest is ASCII10.\r
+The rest is ASCII11.\r
+The rest is ASCII12.\r
+The rest is ASCII13.\r
+The rest is ASCII14.\r
+The rest is ASCII15.\r
+The rest is ASCII16.\r
+The rest is ASCII17.\r
+The rest is ASCII18.\r
+The rest is ASCII19.\r
+The rest is ASCII20.\r
+The rest is ASCII21.\r
+The rest is ASCII22.\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text/many-utf8-chars-crlf
new file mode 100644 (file)
index 0000000..cd574f5
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!\r
+♫♪♬♩\r
+Eat food\r
+🍅🍕\r
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 (file)
index 0000000..cd574f5
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!\r
+♫♪♬♩\r
+Eat food\r
+🍅🍕\r
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 (file)
index 0000000..df8c0f6
--- /dev/null
@@ -0,0 +1,3 @@
+one\r
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..df8c0f6
--- /dev/null
@@ -0,0 +1,3 @@
+one\r
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text/more-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text/more-crlf
new file mode 100644 (file)
index 0000000..e682c30
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf\r
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text/more-crlf-utf8bom
new file mode 100644 (file)
index 0000000..2e1220c
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf\r
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text/more-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text/more-lf
new file mode 100644 (file)
index 0000000..6da5b0c
--- /dev/null
@@ -0,0 +1,5 @@
+lf\r
+lf\r
+crlf\r
+lf\r
+lf\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text/more-lf-utf8bom
new file mode 100644 (file)
index 0000000..3fa59c8
--- /dev/null
@@ -0,0 +1,5 @@
+lf\r
+lf\r
+crlf\r
+lf\r
+lf\r
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 (file)
index 0000000..e69de29
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_crlf/all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_crlf/all-crlf
new file mode 100644 (file)
index 0000000..a9a2e89
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_crlf/all-crlf-utf8bom
new file mode 100644 (file)
index 0000000..0aa76e4
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_crlf/all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_crlf/all-lf
new file mode 100644 (file)
index 0000000..f557a02
--- /dev/null
@@ -0,0 +1,5 @@
+lf\r
+lf\r
+lf\r
+lf\r
+lf\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/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
new file mode 100644 (file)
index 0000000..381cfe6
--- /dev/null
@@ -0,0 +1,5 @@
+lf\r
+lf\r
+lf\r
+lf\r
+lf\r
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 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..aaf083a
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_crlf/few-utf8-chars-crlf
new file mode 100644 (file)
index 0000000..0e05288
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.\r
+The rest is ASCII02.\r
+The rest is ASCII03.\r
+The rest is ASCII04.\r
+The rest is ASCII05.\r
+The rest is ASCII06.\r
+The rest is ASCII07.\r
+The rest is ASCII08.\r
+The rest is ASCII09.\r
+The rest is ASCII10.\r
+The rest is ASCII11.\r
+The rest is ASCII12.\r
+The rest is ASCII13.\r
+The rest is ASCII14.\r
+The rest is ASCII15.\r
+The rest is ASCII16.\r
+The rest is ASCII17.\r
+The rest is ASCII18.\r
+The rest is ASCII19.\r
+The rest is ASCII20.\r
+The rest is ASCII21.\r
+The rest is ASCII22.\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/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
new file mode 100644 (file)
index 0000000..0e05288
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.\r
+The rest is ASCII02.\r
+The rest is ASCII03.\r
+The rest is ASCII04.\r
+The rest is ASCII05.\r
+The rest is ASCII06.\r
+The rest is ASCII07.\r
+The rest is ASCII08.\r
+The rest is ASCII09.\r
+The rest is ASCII10.\r
+The rest is ASCII11.\r
+The rest is ASCII12.\r
+The rest is ASCII13.\r
+The rest is ASCII14.\r
+The rest is ASCII15.\r
+The rest is ASCII16.\r
+The rest is ASCII17.\r
+The rest is ASCII18.\r
+The rest is ASCII19.\r
+The rest is ASCII20.\r
+The rest is ASCII21.\r
+The rest is ASCII22.\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_crlf/many-utf8-chars-crlf
new file mode 100644 (file)
index 0000000..cd574f5
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!\r
+♫♪♬♩\r
+Eat food\r
+🍅🍕\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/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
new file mode 100644 (file)
index 0000000..cd574f5
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!\r
+♫♪♬♩\r
+Eat food\r
+🍅🍕\r
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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..417786f
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_crlf/more-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_crlf/more-crlf
new file mode 100644 (file)
index 0000000..0ff5a53
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_crlf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_crlf/more-crlf-utf8bom
new file mode 100644 (file)
index 0000000..ea030d3
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_crlf/more-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_crlf/more-lf
new file mode 100644 (file)
index 0000000..04de00b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_crlf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_crlf/more-lf-utf8bom
new file mode 100644 (file)
index 0000000..dc88e3b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+lf
+lf
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 (file)
index 0000000..e69de29
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_lf/all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_lf/all-crlf
new file mode 100644 (file)
index 0000000..a9a2e89
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_lf/all-crlf-utf8bom
new file mode 100644 (file)
index 0000000..0aa76e4
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -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 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..aaf083a
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_lf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_lf/few-utf8-chars-crlf
new file mode 100644 (file)
index 0000000..0e05288
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.\r
+The rest is ASCII02.\r
+The rest is ASCII03.\r
+The rest is ASCII04.\r
+The rest is ASCII05.\r
+The rest is ASCII06.\r
+The rest is ASCII07.\r
+The rest is ASCII08.\r
+The rest is ASCII09.\r
+The rest is ASCII10.\r
+The rest is ASCII11.\r
+The rest is ASCII12.\r
+The rest is ASCII13.\r
+The rest is ASCII14.\r
+The rest is ASCII15.\r
+The rest is ASCII16.\r
+The rest is ASCII17.\r
+The rest is ASCII18.\r
+The rest is ASCII19.\r
+The rest is ASCII20.\r
+The rest is ASCII21.\r
+The rest is ASCII22.\r
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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_lf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_lf/many-utf8-chars-crlf
new file mode 100644 (file)
index 0000000..cd574f5
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!\r
+♫♪♬♩\r
+Eat food\r
+🍅🍕\r
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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..417786f
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_lf/more-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_lf/more-crlf
new file mode 100644 (file)
index 0000000..0ff5a53
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_lf/more-crlf-utf8bom
new file mode 100644 (file)
index 0000000..ea030d3
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_lf/more-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_lf/more-lf
new file mode 100644 (file)
index 0000000..04de00b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_lf/more-lf-utf8bom
new file mode 100644 (file)
index 0000000..dc88e3b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+lf
+lf
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 (file)
index 0000000..e69de29
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto/all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto/all-crlf
new file mode 100644 (file)
index 0000000..a9a2e89
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto/all-crlf-utf8bom
new file mode 100644 (file)
index 0000000..0aa76e4
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto/all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto/all-lf
new file mode 100644 (file)
index 0000000..f557a02
--- /dev/null
@@ -0,0 +1,5 @@
+lf\r
+lf\r
+lf\r
+lf\r
+lf\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto/all-lf-utf8bom
new file mode 100644 (file)
index 0000000..381cfe6
--- /dev/null
@@ -0,0 +1,5 @@
+lf\r
+lf\r
+lf\r
+lf\r
+lf\r
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 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..aaf083a
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto/few-utf8-chars-crlf
new file mode 100644 (file)
index 0000000..0e05288
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.\r
+The rest is ASCII02.\r
+The rest is ASCII03.\r
+The rest is ASCII04.\r
+The rest is ASCII05.\r
+The rest is ASCII06.\r
+The rest is ASCII07.\r
+The rest is ASCII08.\r
+The rest is ASCII09.\r
+The rest is ASCII10.\r
+The rest is ASCII11.\r
+The rest is ASCII12.\r
+The rest is ASCII13.\r
+The rest is ASCII14.\r
+The rest is ASCII15.\r
+The rest is ASCII16.\r
+The rest is ASCII17.\r
+The rest is ASCII18.\r
+The rest is ASCII19.\r
+The rest is ASCII20.\r
+The rest is ASCII21.\r
+The rest is ASCII22.\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto/few-utf8-chars-lf
new file mode 100644 (file)
index 0000000..0e05288
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.\r
+The rest is ASCII02.\r
+The rest is ASCII03.\r
+The rest is ASCII04.\r
+The rest is ASCII05.\r
+The rest is ASCII06.\r
+The rest is ASCII07.\r
+The rest is ASCII08.\r
+The rest is ASCII09.\r
+The rest is ASCII10.\r
+The rest is ASCII11.\r
+The rest is ASCII12.\r
+The rest is ASCII13.\r
+The rest is ASCII14.\r
+The rest is ASCII15.\r
+The rest is ASCII16.\r
+The rest is ASCII17.\r
+The rest is ASCII18.\r
+The rest is ASCII19.\r
+The rest is ASCII20.\r
+The rest is ASCII21.\r
+The rest is ASCII22.\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto/many-utf8-chars-crlf
new file mode 100644 (file)
index 0000000..cd574f5
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!\r
+♫♪♬♩\r
+Eat food\r
+🍅🍕\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto/many-utf8-chars-lf
new file mode 100644 (file)
index 0000000..cd574f5
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!\r
+♫♪♬♩\r
+Eat food\r
+🍅🍕\r
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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..417786f
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto/more-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto/more-crlf
new file mode 100644 (file)
index 0000000..0ff5a53
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto/more-crlf-utf8bom
new file mode 100644 (file)
index 0000000..ea030d3
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto/more-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto/more-lf
new file mode 100644 (file)
index 0000000..04de00b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto/more-lf-utf8bom
new file mode 100644 (file)
index 0000000..dc88e3b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+lf
+lf
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 (file)
index 0000000..e69de29
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true/all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true/all-crlf
new file mode 100644 (file)
index 0000000..a9a2e89
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true/all-crlf-utf8bom
new file mode 100644 (file)
index 0000000..0aa76e4
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true/all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true/all-lf
new file mode 100644 (file)
index 0000000..f557a02
--- /dev/null
@@ -0,0 +1,5 @@
+lf\r
+lf\r
+lf\r
+lf\r
+lf\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true/all-lf-utf8bom
new file mode 100644 (file)
index 0000000..381cfe6
--- /dev/null
@@ -0,0 +1,5 @@
+lf\r
+lf\r
+lf\r
+lf\r
+lf\r
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 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..aaf083a
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true/few-utf8-chars-crlf
new file mode 100644 (file)
index 0000000..0e05288
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.\r
+The rest is ASCII02.\r
+The rest is ASCII03.\r
+The rest is ASCII04.\r
+The rest is ASCII05.\r
+The rest is ASCII06.\r
+The rest is ASCII07.\r
+The rest is ASCII08.\r
+The rest is ASCII09.\r
+The rest is ASCII10.\r
+The rest is ASCII11.\r
+The rest is ASCII12.\r
+The rest is ASCII13.\r
+The rest is ASCII14.\r
+The rest is ASCII15.\r
+The rest is ASCII16.\r
+The rest is ASCII17.\r
+The rest is ASCII18.\r
+The rest is ASCII19.\r
+The rest is ASCII20.\r
+The rest is ASCII21.\r
+The rest is ASCII22.\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true/few-utf8-chars-lf
new file mode 100644 (file)
index 0000000..0e05288
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.\r
+The rest is ASCII02.\r
+The rest is ASCII03.\r
+The rest is ASCII04.\r
+The rest is ASCII05.\r
+The rest is ASCII06.\r
+The rest is ASCII07.\r
+The rest is ASCII08.\r
+The rest is ASCII09.\r
+The rest is ASCII10.\r
+The rest is ASCII11.\r
+The rest is ASCII12.\r
+The rest is ASCII13.\r
+The rest is ASCII14.\r
+The rest is ASCII15.\r
+The rest is ASCII16.\r
+The rest is ASCII17.\r
+The rest is ASCII18.\r
+The rest is ASCII19.\r
+The rest is ASCII20.\r
+The rest is ASCII21.\r
+The rest is ASCII22.\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true/many-utf8-chars-crlf
new file mode 100644 (file)
index 0000000..cd574f5
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!\r
+♫♪♬♩\r
+Eat food\r
+🍅🍕\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true/many-utf8-chars-lf
new file mode 100644 (file)
index 0000000..cd574f5
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!\r
+♫♪♬♩\r
+Eat food\r
+🍅🍕\r
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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..417786f
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true/more-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true/more-crlf
new file mode 100644 (file)
index 0000000..0ff5a53
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true/more-crlf-utf8bom
new file mode 100644 (file)
index 0000000..ea030d3
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true/more-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true/more-lf
new file mode 100644 (file)
index 0000000..04de00b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+lf
+lf
diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true/more-lf-utf8bom
new file mode 100644 (file)
index 0000000..dc88e3b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+lf
+lf
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 (file)
index 0000000..e69de29
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,-crlf/all-crlf b/tests/resources/crlf_data/windows/autocrlf_false,-crlf/all-crlf
deleted file mode 100644 (file)
index a9a2e89..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-crlf\r
-crlf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,-crlf/all-crlf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_false,-crlf/all-crlf-utf8bom
deleted file mode 100644 (file)
index 0aa76e4..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-crlf\r
-crlf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,-crlf/all-lf b/tests/resources/crlf_data/windows/autocrlf_false,-crlf/all-lf
deleted file mode 100644 (file)
index 799770d..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf
-lf
-lf
-lf
-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,-crlf/all-lf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_false,-crlf/all-lf-utf8bom
deleted file mode 100644 (file)
index 7cce67e..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf
-lf
-lf
-lf
-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,-crlf/binary-all-crlf b/tests/resources/crlf_data/windows/autocrlf_false,-crlf/binary-all-crlf
deleted file mode 100644 (file)
index 8534075..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-\ 1one\r
-two\r
-three\r
-four\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,-crlf/binary-all-lf b/tests/resources/crlf_data/windows/autocrlf_false,-crlf/binary-all-lf
deleted file mode 100644 (file)
index af6fcf6..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-\ 1one
-two
-three
-four
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,-crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows/autocrlf_false,-crlf/binary-mixed-lf-cr
deleted file mode 100644 (file)
index 203555c..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-\ 1one
-two\rthree
-four\r
\ 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/windows/autocrlf_false,-crlf/binary-mixed-lf-cr-crlf
deleted file mode 100644 (file)
index aaf083a..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-\ 1one
-two\rthree\r
-four\r
\ 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/windows/autocrlf_false,-crlf/few-utf8-chars-crlf
deleted file mode 100644 (file)
index 0e05288..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-⚽The rest is ASCII01.\r
-The rest is ASCII02.\r
-The rest is ASCII03.\r
-The rest is ASCII04.\r
-The rest is ASCII05.\r
-The rest is ASCII06.\r
-The rest is ASCII07.\r
-The rest is ASCII08.\r
-The rest is ASCII09.\r
-The rest is ASCII10.\r
-The rest is ASCII11.\r
-The rest is ASCII12.\r
-The rest is ASCII13.\r
-The rest is ASCII14.\r
-The rest is ASCII15.\r
-The rest is ASCII16.\r
-The rest is ASCII17.\r
-The rest is ASCII18.\r
-The rest is ASCII19.\r
-The rest is ASCII20.\r
-The rest is ASCII21.\r
-The rest is ASCII22.\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,-crlf/few-utf8-chars-lf b/tests/resources/crlf_data/windows/autocrlf_false,-crlf/few-utf8-chars-lf
deleted file mode 100644 (file)
index f4d25b7..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-⚽The rest is ASCII01.
-The rest is ASCII02.
-The rest is ASCII03.
-The rest is ASCII04.
-The rest is ASCII05.
-The rest is ASCII06.
-The rest is ASCII07.
-The rest is ASCII08.
-The rest is ASCII09.
-The rest is ASCII10.
-The rest is ASCII11.
-The rest is ASCII12.
-The rest is ASCII13.
-The rest is ASCII14.
-The rest is ASCII15.
-The rest is ASCII16.
-The rest is ASCII17.
-The rest is ASCII18.
-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/windows/autocrlf_false,-crlf/many-utf8-chars-crlf
deleted file mode 100644 (file)
index cd574f5..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-Lets sing!\r
-♫♪♬♩\r
-Eat food\r
-🍅🍕\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,-crlf/many-utf8-chars-lf b/tests/resources/crlf_data/windows/autocrlf_false,-crlf/many-utf8-chars-lf
deleted file mode 100644 (file)
index 9a6c353..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-Lets sing!
-♫♪♬♩
-Eat food
-🍅🍕
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,-crlf/mixed-lf-cr b/tests/resources/crlf_data/windows/autocrlf_false,-crlf/mixed-lf-cr
deleted file mode 100644 (file)
index d11e7ef..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-one
-two\rthree
-four\r
\ 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/windows/autocrlf_false,-crlf/mixed-lf-cr-crlf
deleted file mode 100644 (file)
index 417786f..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-one
-two\rthree\r
-four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,-crlf/more-crlf b/tests/resources/crlf_data/windows/autocrlf_false,-crlf/more-crlf
deleted file mode 100644 (file)
index 0ff5a53..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-crlf\r
-crlf\r
-lf
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,-crlf/more-crlf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_false,-crlf/more-crlf-utf8bom
deleted file mode 100644 (file)
index ea030d3..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-crlf\r
-crlf\r
-lf
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,-crlf/more-lf b/tests/resources/crlf_data/windows/autocrlf_false,-crlf/more-lf
deleted file mode 100644 (file)
index 04de00b..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf
-lf
-crlf\r
-lf
-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,-crlf/more-lf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_false,-crlf/more-lf-utf8bom
deleted file mode 100644 (file)
index dc88e3b..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf
-lf
-crlf\r
-lf
-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,-crlf/zero-byte b/tests/resources/crlf_data/windows/autocrlf_false,-crlf/zero-byte
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,-text/all-crlf b/tests/resources/crlf_data/windows/autocrlf_false,-text/all-crlf
deleted file mode 100644 (file)
index a9a2e89..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-crlf\r
-crlf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,-text/all-crlf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_false,-text/all-crlf-utf8bom
deleted file mode 100644 (file)
index 0aa76e4..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-crlf\r
-crlf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,-text/all-lf b/tests/resources/crlf_data/windows/autocrlf_false,-text/all-lf
deleted file mode 100644 (file)
index 799770d..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf
-lf
-lf
-lf
-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,-text/all-lf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_false,-text/all-lf-utf8bom
deleted file mode 100644 (file)
index 7cce67e..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf
-lf
-lf
-lf
-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,-text/binary-all-crlf b/tests/resources/crlf_data/windows/autocrlf_false,-text/binary-all-crlf
deleted file mode 100644 (file)
index 8534075..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-\ 1one\r
-two\r
-three\r
-four\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,-text/binary-all-lf b/tests/resources/crlf_data/windows/autocrlf_false,-text/binary-all-lf
deleted file mode 100644 (file)
index af6fcf6..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-\ 1one
-two
-three
-four
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,-text/binary-mixed-lf-cr b/tests/resources/crlf_data/windows/autocrlf_false,-text/binary-mixed-lf-cr
deleted file mode 100644 (file)
index 203555c..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-\ 1one
-two\rthree
-four\r
\ 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/windows/autocrlf_false,-text/binary-mixed-lf-cr-crlf
deleted file mode 100644 (file)
index aaf083a..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-\ 1one
-two\rthree\r
-four\r
\ 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/windows/autocrlf_false,-text/few-utf8-chars-crlf
deleted file mode 100644 (file)
index 0e05288..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-⚽The rest is ASCII01.\r
-The rest is ASCII02.\r
-The rest is ASCII03.\r
-The rest is ASCII04.\r
-The rest is ASCII05.\r
-The rest is ASCII06.\r
-The rest is ASCII07.\r
-The rest is ASCII08.\r
-The rest is ASCII09.\r
-The rest is ASCII10.\r
-The rest is ASCII11.\r
-The rest is ASCII12.\r
-The rest is ASCII13.\r
-The rest is ASCII14.\r
-The rest is ASCII15.\r
-The rest is ASCII16.\r
-The rest is ASCII17.\r
-The rest is ASCII18.\r
-The rest is ASCII19.\r
-The rest is ASCII20.\r
-The rest is ASCII21.\r
-The rest is ASCII22.\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,-text/few-utf8-chars-lf b/tests/resources/crlf_data/windows/autocrlf_false,-text/few-utf8-chars-lf
deleted file mode 100644 (file)
index f4d25b7..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-⚽The rest is ASCII01.
-The rest is ASCII02.
-The rest is ASCII03.
-The rest is ASCII04.
-The rest is ASCII05.
-The rest is ASCII06.
-The rest is ASCII07.
-The rest is ASCII08.
-The rest is ASCII09.
-The rest is ASCII10.
-The rest is ASCII11.
-The rest is ASCII12.
-The rest is ASCII13.
-The rest is ASCII14.
-The rest is ASCII15.
-The rest is ASCII16.
-The rest is ASCII17.
-The rest is ASCII18.
-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/windows/autocrlf_false,-text/many-utf8-chars-crlf
deleted file mode 100644 (file)
index cd574f5..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-Lets sing!\r
-♫♪♬♩\r
-Eat food\r
-🍅🍕\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,-text/many-utf8-chars-lf b/tests/resources/crlf_data/windows/autocrlf_false,-text/many-utf8-chars-lf
deleted file mode 100644 (file)
index 9a6c353..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-Lets sing!
-♫♪♬♩
-Eat food
-🍅🍕
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,-text/mixed-lf-cr b/tests/resources/crlf_data/windows/autocrlf_false,-text/mixed-lf-cr
deleted file mode 100644 (file)
index d11e7ef..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-one
-two\rthree
-four\r
\ 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/windows/autocrlf_false,-text/mixed-lf-cr-crlf
deleted file mode 100644 (file)
index 417786f..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-one
-two\rthree\r
-four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,-text/more-crlf b/tests/resources/crlf_data/windows/autocrlf_false,-text/more-crlf
deleted file mode 100644 (file)
index 0ff5a53..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-crlf\r
-crlf\r
-lf
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,-text/more-crlf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_false,-text/more-crlf-utf8bom
deleted file mode 100644 (file)
index ea030d3..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-crlf\r
-crlf\r
-lf
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,-text/more-lf b/tests/resources/crlf_data/windows/autocrlf_false,-text/more-lf
deleted file mode 100644 (file)
index 04de00b..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf
-lf
-crlf\r
-lf
-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,-text/more-lf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_false,-text/more-lf-utf8bom
deleted file mode 100644 (file)
index dc88e3b..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf
-lf
-crlf\r
-lf
-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,-text/zero-byte b/tests/resources/crlf_data/windows/autocrlf_false,-text/zero-byte
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,crlf/all-crlf b/tests/resources/crlf_data/windows/autocrlf_false,crlf/all-crlf
deleted file mode 100644 (file)
index a9a2e89..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-crlf\r
-crlf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,crlf/all-crlf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_false,crlf/all-crlf-utf8bom
deleted file mode 100644 (file)
index 0aa76e4..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-crlf\r
-crlf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,crlf/all-lf b/tests/resources/crlf_data/windows/autocrlf_false,crlf/all-lf
deleted file mode 100644 (file)
index f557a02..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf\r
-lf\r
-lf\r
-lf\r
-lf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,crlf/all-lf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_false,crlf/all-lf-utf8bom
deleted file mode 100644 (file)
index 381cfe6..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf\r
-lf\r
-lf\r
-lf\r
-lf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,crlf/binary-all-crlf b/tests/resources/crlf_data/windows/autocrlf_false,crlf/binary-all-crlf
deleted file mode 100644 (file)
index 8534075..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-\ 1one\r
-two\r
-three\r
-four\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,crlf/binary-all-lf b/tests/resources/crlf_data/windows/autocrlf_false,crlf/binary-all-lf
deleted file mode 100644 (file)
index 8534075..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-\ 1one\r
-two\r
-three\r
-four\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows/autocrlf_false,crlf/binary-mixed-lf-cr
deleted file mode 100644 (file)
index fd2abfa..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-\ 1one\r
-two\rthree\r
-four\r
\ 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/windows/autocrlf_false,crlf/binary-mixed-lf-cr-crlf
deleted file mode 100644 (file)
index fd2abfa..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-\ 1one\r
-two\rthree\r
-four\r
\ 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/windows/autocrlf_false,crlf/few-utf8-chars-crlf
deleted file mode 100644 (file)
index 0e05288..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-⚽The rest is ASCII01.\r
-The rest is ASCII02.\r
-The rest is ASCII03.\r
-The rest is ASCII04.\r
-The rest is ASCII05.\r
-The rest is ASCII06.\r
-The rest is ASCII07.\r
-The rest is ASCII08.\r
-The rest is ASCII09.\r
-The rest is ASCII10.\r
-The rest is ASCII11.\r
-The rest is ASCII12.\r
-The rest is ASCII13.\r
-The rest is ASCII14.\r
-The rest is ASCII15.\r
-The rest is ASCII16.\r
-The rest is ASCII17.\r
-The rest is ASCII18.\r
-The rest is ASCII19.\r
-The rest is ASCII20.\r
-The rest is ASCII21.\r
-The rest is ASCII22.\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,crlf/few-utf8-chars-lf b/tests/resources/crlf_data/windows/autocrlf_false,crlf/few-utf8-chars-lf
deleted file mode 100644 (file)
index 0e05288..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-⚽The rest is ASCII01.\r
-The rest is ASCII02.\r
-The rest is ASCII03.\r
-The rest is ASCII04.\r
-The rest is ASCII05.\r
-The rest is ASCII06.\r
-The rest is ASCII07.\r
-The rest is ASCII08.\r
-The rest is ASCII09.\r
-The rest is ASCII10.\r
-The rest is ASCII11.\r
-The rest is ASCII12.\r
-The rest is ASCII13.\r
-The rest is ASCII14.\r
-The rest is ASCII15.\r
-The rest is ASCII16.\r
-The rest is ASCII17.\r
-The rest is ASCII18.\r
-The rest is ASCII19.\r
-The rest is ASCII20.\r
-The rest is ASCII21.\r
-The rest is ASCII22.\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows/autocrlf_false,crlf/many-utf8-chars-crlf
deleted file mode 100644 (file)
index cd574f5..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-Lets sing!\r
-♫♪♬♩\r
-Eat food\r
-🍅🍕\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,crlf/many-utf8-chars-lf b/tests/resources/crlf_data/windows/autocrlf_false,crlf/many-utf8-chars-lf
deleted file mode 100644 (file)
index cd574f5..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-Lets sing!\r
-♫♪♬♩\r
-Eat food\r
-🍅🍕\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,crlf/mixed-lf-cr b/tests/resources/crlf_data/windows/autocrlf_false,crlf/mixed-lf-cr
deleted file mode 100644 (file)
index df8c0f6..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-one\r
-two\rthree\r
-four\r
\ 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/windows/autocrlf_false,crlf/mixed-lf-cr-crlf
deleted file mode 100644 (file)
index df8c0f6..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-one\r
-two\rthree\r
-four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,crlf/more-crlf b/tests/resources/crlf_data/windows/autocrlf_false,crlf/more-crlf
deleted file mode 100644 (file)
index e682c30..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-crlf\r
-crlf\r
-lf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,crlf/more-crlf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_false,crlf/more-crlf-utf8bom
deleted file mode 100644 (file)
index 2e1220c..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-crlf\r
-crlf\r
-lf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,crlf/more-lf b/tests/resources/crlf_data/windows/autocrlf_false,crlf/more-lf
deleted file mode 100644 (file)
index 6da5b0c..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf\r
-lf\r
-crlf\r
-lf\r
-lf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,crlf/more-lf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_false,crlf/more-lf-utf8bom
deleted file mode 100644 (file)
index 3fa59c8..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf\r
-lf\r
-crlf\r
-lf\r
-lf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,crlf/zero-byte b/tests/resources/crlf_data/windows/autocrlf_false,crlf/zero-byte
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/all-crlf b/tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/all-crlf
deleted file mode 100644 (file)
index a9a2e89..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-crlf\r
-crlf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/all-crlf-utf8bom
deleted file mode 100644 (file)
index 0aa76e4..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-crlf\r
-crlf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/all-lf b/tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/all-lf
deleted file mode 100644 (file)
index f557a02..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf\r
-lf\r
-lf\r
-lf\r
-lf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/all-lf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/all-lf-utf8bom
deleted file mode 100644 (file)
index 381cfe6..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf\r
-lf\r
-lf\r
-lf\r
-lf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/binary-all-crlf
deleted file mode 100644 (file)
index 8534075..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-\ 1one\r
-two\r
-three\r
-four\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/binary-all-lf b/tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/binary-all-lf
deleted file mode 100644 (file)
index 8534075..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-\ 1one\r
-two\r
-three\r
-four\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/binary-mixed-lf-cr
deleted file mode 100644 (file)
index fd2abfa..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-\ 1one\r
-two\rthree\r
-four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/binary-mixed-lf-cr-crlf
deleted file mode 100644 (file)
index fd2abfa..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-\ 1one\r
-two\rthree\r
-four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/few-utf8-chars-crlf
deleted file mode 100644 (file)
index 0e05288..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-⚽The rest is ASCII01.\r
-The rest is ASCII02.\r
-The rest is ASCII03.\r
-The rest is ASCII04.\r
-The rest is ASCII05.\r
-The rest is ASCII06.\r
-The rest is ASCII07.\r
-The rest is ASCII08.\r
-The rest is ASCII09.\r
-The rest is ASCII10.\r
-The rest is ASCII11.\r
-The rest is ASCII12.\r
-The rest is ASCII13.\r
-The rest is ASCII14.\r
-The rest is ASCII15.\r
-The rest is ASCII16.\r
-The rest is ASCII17.\r
-The rest is ASCII18.\r
-The rest is ASCII19.\r
-The rest is ASCII20.\r
-The rest is ASCII21.\r
-The rest is ASCII22.\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/few-utf8-chars-lf b/tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/few-utf8-chars-lf
deleted file mode 100644 (file)
index 0e05288..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-⚽The rest is ASCII01.\r
-The rest is ASCII02.\r
-The rest is ASCII03.\r
-The rest is ASCII04.\r
-The rest is ASCII05.\r
-The rest is ASCII06.\r
-The rest is ASCII07.\r
-The rest is ASCII08.\r
-The rest is ASCII09.\r
-The rest is ASCII10.\r
-The rest is ASCII11.\r
-The rest is ASCII12.\r
-The rest is ASCII13.\r
-The rest is ASCII14.\r
-The rest is ASCII15.\r
-The rest is ASCII16.\r
-The rest is ASCII17.\r
-The rest is ASCII18.\r
-The rest is ASCII19.\r
-The rest is ASCII20.\r
-The rest is ASCII21.\r
-The rest is ASCII22.\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/many-utf8-chars-crlf
deleted file mode 100644 (file)
index cd574f5..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-Lets sing!\r
-♫♪♬♩\r
-Eat food\r
-🍅🍕\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/many-utf8-chars-lf b/tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/many-utf8-chars-lf
deleted file mode 100644 (file)
index cd574f5..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-Lets sing!\r
-♫♪♬♩\r
-Eat food\r
-🍅🍕\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/mixed-lf-cr
deleted file mode 100644 (file)
index df8c0f6..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-one\r
-two\rthree\r
-four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/mixed-lf-cr-crlf
deleted file mode 100644 (file)
index df8c0f6..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-one\r
-two\rthree\r
-four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/more-crlf b/tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/more-crlf
deleted file mode 100644 (file)
index e682c30..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-crlf\r
-crlf\r
-lf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/more-crlf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/more-crlf-utf8bom
deleted file mode 100644 (file)
index 2e1220c..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-crlf\r
-crlf\r
-lf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/more-lf b/tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/more-lf
deleted file mode 100644 (file)
index 6da5b0c..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf\r
-lf\r
-crlf\r
-lf\r
-lf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/more-lf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/more-lf-utf8bom
deleted file mode 100644 (file)
index 3fa59c8..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf\r
-lf\r
-crlf\r
-lf\r
-lf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/zero-byte b/tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/zero-byte
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,eol_lf/all-crlf b/tests/resources/crlf_data/windows/autocrlf_false,eol_lf/all-crlf
deleted file mode 100644 (file)
index a9a2e89..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-crlf\r
-crlf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_false,eol_lf/all-crlf-utf8bom
deleted file mode 100644 (file)
index 0aa76e4..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-crlf\r
-crlf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,eol_lf/all-lf b/tests/resources/crlf_data/windows/autocrlf_false,eol_lf/all-lf
deleted file mode 100644 (file)
index 799770d..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf
-lf
-lf
-lf
-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_false,eol_lf/all-lf-utf8bom
deleted file mode 100644 (file)
index 7cce67e..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-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/windows/autocrlf_false,eol_lf/binary-all-crlf
deleted file mode 100644 (file)
index 8534075..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-\ 1one\r
-two\r
-three\r
-four\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,eol_lf/binary-all-lf b/tests/resources/crlf_data/windows/autocrlf_false,eol_lf/binary-all-lf
deleted file mode 100644 (file)
index af6fcf6..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-\ 1one
-two
-three
-four
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows/autocrlf_false,eol_lf/binary-mixed-lf-cr
deleted file mode 100644 (file)
index 203555c..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-\ 1one
-two\rthree
-four\r
\ 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/windows/autocrlf_false,eol_lf/binary-mixed-lf-cr-crlf
deleted file mode 100644 (file)
index aaf083a..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-\ 1one
-two\rthree\r
-four\r
\ 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/windows/autocrlf_false,eol_lf/few-utf8-chars-crlf
deleted file mode 100644 (file)
index 0e05288..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-⚽The rest is ASCII01.\r
-The rest is ASCII02.\r
-The rest is ASCII03.\r
-The rest is ASCII04.\r
-The rest is ASCII05.\r
-The rest is ASCII06.\r
-The rest is ASCII07.\r
-The rest is ASCII08.\r
-The rest is ASCII09.\r
-The rest is ASCII10.\r
-The rest is ASCII11.\r
-The rest is ASCII12.\r
-The rest is ASCII13.\r
-The rest is ASCII14.\r
-The rest is ASCII15.\r
-The rest is ASCII16.\r
-The rest is ASCII17.\r
-The rest is ASCII18.\r
-The rest is ASCII19.\r
-The rest is ASCII20.\r
-The rest is ASCII21.\r
-The rest is ASCII22.\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/windows/autocrlf_false,eol_lf/few-utf8-chars-lf
deleted file mode 100644 (file)
index f4d25b7..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-⚽The rest is ASCII01.
-The rest is ASCII02.
-The rest is ASCII03.
-The rest is ASCII04.
-The rest is ASCII05.
-The rest is ASCII06.
-The rest is ASCII07.
-The rest is ASCII08.
-The rest is ASCII09.
-The rest is ASCII10.
-The rest is ASCII11.
-The rest is ASCII12.
-The rest is ASCII13.
-The rest is ASCII14.
-The rest is ASCII15.
-The rest is ASCII16.
-The rest is ASCII17.
-The rest is ASCII18.
-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/windows/autocrlf_false,eol_lf/many-utf8-chars-crlf
deleted file mode 100644 (file)
index cd574f5..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-Lets sing!\r
-♫♪♬♩\r
-Eat food\r
-🍅🍕\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/windows/autocrlf_false,eol_lf/many-utf8-chars-lf
deleted file mode 100644 (file)
index 9a6c353..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-Lets sing!
-♫♪♬♩
-Eat food
-🍅🍕
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/windows/autocrlf_false,eol_lf/mixed-lf-cr
deleted file mode 100644 (file)
index d11e7ef..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-one
-two\rthree
-four\r
\ 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/windows/autocrlf_false,eol_lf/mixed-lf-cr-crlf
deleted file mode 100644 (file)
index 417786f..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-one
-two\rthree\r
-four\r
\ 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/windows/autocrlf_false,eol_lf/more-crlf
deleted file mode 100644 (file)
index 0ff5a53..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-crlf\r
-crlf\r
-lf
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_false,eol_lf/more-crlf-utf8bom
deleted file mode 100644 (file)
index ea030d3..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-crlf\r
-crlf\r
-lf
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,eol_lf/more-lf b/tests/resources/crlf_data/windows/autocrlf_false,eol_lf/more-lf
deleted file mode 100644 (file)
index 04de00b..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf
-lf
-crlf\r
-lf
-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_false,eol_lf/more-lf-utf8bom
deleted file mode 100644 (file)
index dc88e3b..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf
-lf
-crlf\r
-lf
-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,eol_lf/zero-byte b/tests/resources/crlf_data/windows/autocrlf_false,eol_lf/zero-byte
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/all-crlf b/tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/all-crlf
deleted file mode 100644 (file)
index a9a2e89..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-crlf\r
-crlf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/all-crlf-utf8bom
deleted file mode 100644 (file)
index 0aa76e4..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-crlf\r
-crlf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/all-lf b/tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/all-lf
deleted file mode 100644 (file)
index f557a02..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf\r
-lf\r
-lf\r
-lf\r
-lf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/all-lf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/all-lf-utf8bom
deleted file mode 100644 (file)
index 381cfe6..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf\r
-lf\r
-lf\r
-lf\r
-lf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/binary-all-crlf
deleted file mode 100644 (file)
index 8534075..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-\ 1one\r
-two\r
-three\r
-four\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/binary-all-lf b/tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/binary-all-lf
deleted file mode 100644 (file)
index 8534075..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-\ 1one\r
-two\r
-three\r
-four\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/binary-mixed-lf-cr
deleted file mode 100644 (file)
index fd2abfa..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-\ 1one\r
-two\rthree\r
-four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/binary-mixed-lf-cr-crlf
deleted file mode 100644 (file)
index fd2abfa..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-\ 1one\r
-two\rthree\r
-four\r
\ 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/windows/autocrlf_false,text,eol_crlf/few-utf8-chars-crlf
deleted file mode 100644 (file)
index 0e05288..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-⚽The rest is ASCII01.\r
-The rest is ASCII02.\r
-The rest is ASCII03.\r
-The rest is ASCII04.\r
-The rest is ASCII05.\r
-The rest is ASCII06.\r
-The rest is ASCII07.\r
-The rest is ASCII08.\r
-The rest is ASCII09.\r
-The rest is ASCII10.\r
-The rest is ASCII11.\r
-The rest is ASCII12.\r
-The rest is ASCII13.\r
-The rest is ASCII14.\r
-The rest is ASCII15.\r
-The rest is ASCII16.\r
-The rest is ASCII17.\r
-The rest is ASCII18.\r
-The rest is ASCII19.\r
-The rest is ASCII20.\r
-The rest is ASCII21.\r
-The rest is ASCII22.\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/few-utf8-chars-lf b/tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/few-utf8-chars-lf
deleted file mode 100644 (file)
index 0e05288..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-⚽The rest is ASCII01.\r
-The rest is ASCII02.\r
-The rest is ASCII03.\r
-The rest is ASCII04.\r
-The rest is ASCII05.\r
-The rest is ASCII06.\r
-The rest is ASCII07.\r
-The rest is ASCII08.\r
-The rest is ASCII09.\r
-The rest is ASCII10.\r
-The rest is ASCII11.\r
-The rest is ASCII12.\r
-The rest is ASCII13.\r
-The rest is ASCII14.\r
-The rest is ASCII15.\r
-The rest is ASCII16.\r
-The rest is ASCII17.\r
-The rest is ASCII18.\r
-The rest is ASCII19.\r
-The rest is ASCII20.\r
-The rest is ASCII21.\r
-The rest is ASCII22.\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/many-utf8-chars-crlf
deleted file mode 100644 (file)
index cd574f5..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-Lets sing!\r
-♫♪♬♩\r
-Eat food\r
-🍅🍕\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/many-utf8-chars-lf b/tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/many-utf8-chars-lf
deleted file mode 100644 (file)
index cd574f5..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-Lets sing!\r
-♫♪♬♩\r
-Eat food\r
-🍅🍕\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/mixed-lf-cr
deleted file mode 100644 (file)
index df8c0f6..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-one\r
-two\rthree\r
-four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/mixed-lf-cr-crlf
deleted file mode 100644 (file)
index df8c0f6..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-one\r
-two\rthree\r
-four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/more-crlf b/tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/more-crlf
deleted file mode 100644 (file)
index e682c30..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-crlf\r
-crlf\r
-lf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/more-crlf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/more-crlf-utf8bom
deleted file mode 100644 (file)
index 2e1220c..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-crlf\r
-crlf\r
-lf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/more-lf b/tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/more-lf
deleted file mode 100644 (file)
index 6da5b0c..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf\r
-lf\r
-crlf\r
-lf\r
-lf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/more-lf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/more-lf-utf8bom
deleted file mode 100644 (file)
index 3fa59c8..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf\r
-lf\r
-crlf\r
-lf\r
-lf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/zero-byte b/tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/zero-byte
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/all-crlf b/tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/all-crlf
deleted file mode 100644 (file)
index a9a2e89..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-crlf\r
-crlf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/all-crlf-utf8bom
deleted file mode 100644 (file)
index 0aa76e4..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-crlf\r
-crlf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/all-lf b/tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/all-lf
deleted file mode 100644 (file)
index 799770d..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf
-lf
-lf
-lf
-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/all-lf-utf8bom
deleted file mode 100644 (file)
index 7cce67e..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-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/windows/autocrlf_false,text,eol_lf/binary-all-crlf
deleted file mode 100644 (file)
index 8534075..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-\ 1one\r
-two\r
-three\r
-four\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/binary-all-lf b/tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/binary-all-lf
deleted file mode 100644 (file)
index af6fcf6..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-\ 1one
-two
-three
-four
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/binary-mixed-lf-cr
deleted file mode 100644 (file)
index 203555c..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-\ 1one
-two\rthree
-four\r
\ 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/windows/autocrlf_false,text,eol_lf/binary-mixed-lf-cr-crlf
deleted file mode 100644 (file)
index aaf083a..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-\ 1one
-two\rthree\r
-four\r
\ 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/windows/autocrlf_false,text,eol_lf/few-utf8-chars-crlf
deleted file mode 100644 (file)
index 0e05288..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-⚽The rest is ASCII01.\r
-The rest is ASCII02.\r
-The rest is ASCII03.\r
-The rest is ASCII04.\r
-The rest is ASCII05.\r
-The rest is ASCII06.\r
-The rest is ASCII07.\r
-The rest is ASCII08.\r
-The rest is ASCII09.\r
-The rest is ASCII10.\r
-The rest is ASCII11.\r
-The rest is ASCII12.\r
-The rest is ASCII13.\r
-The rest is ASCII14.\r
-The rest is ASCII15.\r
-The rest is ASCII16.\r
-The rest is ASCII17.\r
-The rest is ASCII18.\r
-The rest is ASCII19.\r
-The rest is ASCII20.\r
-The rest is ASCII21.\r
-The rest is ASCII22.\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/few-utf8-chars-lf
deleted file mode 100644 (file)
index f4d25b7..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-⚽The rest is ASCII01.
-The rest is ASCII02.
-The rest is ASCII03.
-The rest is ASCII04.
-The rest is ASCII05.
-The rest is ASCII06.
-The rest is ASCII07.
-The rest is ASCII08.
-The rest is ASCII09.
-The rest is ASCII10.
-The rest is ASCII11.
-The rest is ASCII12.
-The rest is ASCII13.
-The rest is ASCII14.
-The rest is ASCII15.
-The rest is ASCII16.
-The rest is ASCII17.
-The rest is ASCII18.
-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_lf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/many-utf8-chars-crlf
deleted file mode 100644 (file)
index cd574f5..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-Lets sing!\r
-♫♪♬♩\r
-Eat food\r
-🍅🍕\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/many-utf8-chars-lf
deleted file mode 100644 (file)
index 9a6c353..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-Lets sing!
-♫♪♬♩
-Eat food
-🍅🍕
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/mixed-lf-cr
deleted file mode 100644 (file)
index d11e7ef..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-one
-two\rthree
-four\r
\ 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/windows/autocrlf_false,text,eol_lf/mixed-lf-cr-crlf
deleted file mode 100644 (file)
index 417786f..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-one
-two\rthree\r
-four\r
\ 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/windows/autocrlf_false,text,eol_lf/more-crlf
deleted file mode 100644 (file)
index 0ff5a53..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-crlf\r
-crlf\r
-lf
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/more-crlf-utf8bom
deleted file mode 100644 (file)
index ea030d3..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-crlf\r
-crlf\r
-lf
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/more-lf b/tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/more-lf
deleted file mode 100644 (file)
index 04de00b..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf
-lf
-crlf\r
-lf
-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/more-lf-utf8bom
deleted file mode 100644 (file)
index dc88e3b..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf
-lf
-crlf\r
-lf
-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/zero-byte b/tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/zero-byte
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text/all-crlf b/tests/resources/crlf_data/windows/autocrlf_false,text/all-crlf
deleted file mode 100644 (file)
index a9a2e89..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-crlf\r
-crlf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text/all-crlf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_false,text/all-crlf-utf8bom
deleted file mode 100644 (file)
index 0aa76e4..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-crlf\r
-crlf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text/all-lf b/tests/resources/crlf_data/windows/autocrlf_false,text/all-lf
deleted file mode 100644 (file)
index f557a02..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf\r
-lf\r
-lf\r
-lf\r
-lf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text/all-lf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_false,text/all-lf-utf8bom
deleted file mode 100644 (file)
index 381cfe6..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf\r
-lf\r
-lf\r
-lf\r
-lf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text/binary-all-crlf b/tests/resources/crlf_data/windows/autocrlf_false,text/binary-all-crlf
deleted file mode 100644 (file)
index 8534075..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-\ 1one\r
-two\r
-three\r
-four\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text/binary-all-lf b/tests/resources/crlf_data/windows/autocrlf_false,text/binary-all-lf
deleted file mode 100644 (file)
index 8534075..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-\ 1one\r
-two\r
-three\r
-four\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text/binary-mixed-lf-cr b/tests/resources/crlf_data/windows/autocrlf_false,text/binary-mixed-lf-cr
deleted file mode 100644 (file)
index fd2abfa..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-\ 1one\r
-two\rthree\r
-four\r
\ 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/windows/autocrlf_false,text/binary-mixed-lf-cr-crlf
deleted file mode 100644 (file)
index fd2abfa..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-\ 1one\r
-two\rthree\r
-four\r
\ 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/windows/autocrlf_false,text/few-utf8-chars-crlf
deleted file mode 100644 (file)
index 0e05288..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-⚽The rest is ASCII01.\r
-The rest is ASCII02.\r
-The rest is ASCII03.\r
-The rest is ASCII04.\r
-The rest is ASCII05.\r
-The rest is ASCII06.\r
-The rest is ASCII07.\r
-The rest is ASCII08.\r
-The rest is ASCII09.\r
-The rest is ASCII10.\r
-The rest is ASCII11.\r
-The rest is ASCII12.\r
-The rest is ASCII13.\r
-The rest is ASCII14.\r
-The rest is ASCII15.\r
-The rest is ASCII16.\r
-The rest is ASCII17.\r
-The rest is ASCII18.\r
-The rest is ASCII19.\r
-The rest is ASCII20.\r
-The rest is ASCII21.\r
-The rest is ASCII22.\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text/few-utf8-chars-lf b/tests/resources/crlf_data/windows/autocrlf_false,text/few-utf8-chars-lf
deleted file mode 100644 (file)
index 0e05288..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-⚽The rest is ASCII01.\r
-The rest is ASCII02.\r
-The rest is ASCII03.\r
-The rest is ASCII04.\r
-The rest is ASCII05.\r
-The rest is ASCII06.\r
-The rest is ASCII07.\r
-The rest is ASCII08.\r
-The rest is ASCII09.\r
-The rest is ASCII10.\r
-The rest is ASCII11.\r
-The rest is ASCII12.\r
-The rest is ASCII13.\r
-The rest is ASCII14.\r
-The rest is ASCII15.\r
-The rest is ASCII16.\r
-The rest is ASCII17.\r
-The rest is ASCII18.\r
-The rest is ASCII19.\r
-The rest is ASCII20.\r
-The rest is ASCII21.\r
-The rest is ASCII22.\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text/many-utf8-chars-crlf b/tests/resources/crlf_data/windows/autocrlf_false,text/many-utf8-chars-crlf
deleted file mode 100644 (file)
index cd574f5..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-Lets sing!\r
-♫♪♬♩\r
-Eat food\r
-🍅🍕\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text/many-utf8-chars-lf b/tests/resources/crlf_data/windows/autocrlf_false,text/many-utf8-chars-lf
deleted file mode 100644 (file)
index cd574f5..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-Lets sing!\r
-♫♪♬♩\r
-Eat food\r
-🍅🍕\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text/mixed-lf-cr b/tests/resources/crlf_data/windows/autocrlf_false,text/mixed-lf-cr
deleted file mode 100644 (file)
index df8c0f6..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-one\r
-two\rthree\r
-four\r
\ 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/windows/autocrlf_false,text/mixed-lf-cr-crlf
deleted file mode 100644 (file)
index df8c0f6..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-one\r
-two\rthree\r
-four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text/more-crlf b/tests/resources/crlf_data/windows/autocrlf_false,text/more-crlf
deleted file mode 100644 (file)
index e682c30..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-crlf\r
-crlf\r
-lf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text/more-crlf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_false,text/more-crlf-utf8bom
deleted file mode 100644 (file)
index 2e1220c..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-crlf\r
-crlf\r
-lf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text/more-lf b/tests/resources/crlf_data/windows/autocrlf_false,text/more-lf
deleted file mode 100644 (file)
index 6da5b0c..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf\r
-lf\r
-crlf\r
-lf\r
-lf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text/more-lf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_false,text/more-lf-utf8bom
deleted file mode 100644 (file)
index 3fa59c8..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf\r
-lf\r
-crlf\r
-lf\r
-lf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text/zero-byte b/tests/resources/crlf_data/windows/autocrlf_false,text/zero-byte
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/all-crlf b/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/all-crlf
deleted file mode 100644 (file)
index a9a2e89..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-crlf\r
-crlf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/all-crlf-utf8bom
deleted file mode 100644 (file)
index 0aa76e4..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-crlf\r
-crlf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/all-lf b/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/all-lf
deleted file mode 100644 (file)
index f557a02..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf\r
-lf\r
-lf\r
-lf\r
-lf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/all-lf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/all-lf-utf8bom
deleted file mode 100644 (file)
index 381cfe6..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf\r
-lf\r
-lf\r
-lf\r
-lf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/binary-all-crlf
deleted file mode 100644 (file)
index 8534075..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-\ 1one\r
-two\r
-three\r
-four\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/binary-all-lf b/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/binary-all-lf
deleted file mode 100644 (file)
index 8534075..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-\ 1one\r
-two\r
-three\r
-four\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr
deleted file mode 100644 (file)
index fd2abfa..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-\ 1one\r
-two\rthree\r
-four\r
\ 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/windows/autocrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr-crlf
deleted file mode 100644 (file)
index fd2abfa..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-\ 1one\r
-two\rthree\r
-four\r
\ 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/windows/autocrlf_false,text_auto,eol_crlf/few-utf8-chars-crlf
deleted file mode 100644 (file)
index 0e05288..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-⚽The rest is ASCII01.\r
-The rest is ASCII02.\r
-The rest is ASCII03.\r
-The rest is ASCII04.\r
-The rest is ASCII05.\r
-The rest is ASCII06.\r
-The rest is ASCII07.\r
-The rest is ASCII08.\r
-The rest is ASCII09.\r
-The rest is ASCII10.\r
-The rest is ASCII11.\r
-The rest is ASCII12.\r
-The rest is ASCII13.\r
-The rest is ASCII14.\r
-The rest is ASCII15.\r
-The rest is ASCII16.\r
-The rest is ASCII17.\r
-The rest is ASCII18.\r
-The rest is ASCII19.\r
-The rest is ASCII20.\r
-The rest is ASCII21.\r
-The rest is ASCII22.\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/few-utf8-chars-lf b/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/few-utf8-chars-lf
deleted file mode 100644 (file)
index 0e05288..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-⚽The rest is ASCII01.\r
-The rest is ASCII02.\r
-The rest is ASCII03.\r
-The rest is ASCII04.\r
-The rest is ASCII05.\r
-The rest is ASCII06.\r
-The rest is ASCII07.\r
-The rest is ASCII08.\r
-The rest is ASCII09.\r
-The rest is ASCII10.\r
-The rest is ASCII11.\r
-The rest is ASCII12.\r
-The rest is ASCII13.\r
-The rest is ASCII14.\r
-The rest is ASCII15.\r
-The rest is ASCII16.\r
-The rest is ASCII17.\r
-The rest is ASCII18.\r
-The rest is ASCII19.\r
-The rest is ASCII20.\r
-The rest is ASCII21.\r
-The rest is ASCII22.\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/many-utf8-chars-crlf
deleted file mode 100644 (file)
index cd574f5..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-Lets sing!\r
-♫♪♬♩\r
-Eat food\r
-🍅🍕\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/many-utf8-chars-lf b/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/many-utf8-chars-lf
deleted file mode 100644 (file)
index cd574f5..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-Lets sing!\r
-♫♪♬♩\r
-Eat food\r
-🍅🍕\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/mixed-lf-cr
deleted file mode 100644 (file)
index df8c0f6..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-one\r
-two\rthree\r
-four\r
\ 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/windows/autocrlf_false,text_auto,eol_crlf/mixed-lf-cr-crlf
deleted file mode 100644 (file)
index df8c0f6..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-one\r
-two\rthree\r
-four\r
\ 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/windows/autocrlf_false,text_auto,eol_crlf/more-crlf
deleted file mode 100644 (file)
index e682c30..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-crlf\r
-crlf\r
-lf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/more-crlf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/more-crlf-utf8bom
deleted file mode 100644 (file)
index 2e1220c..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-crlf\r
-crlf\r
-lf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/more-lf b/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/more-lf
deleted file mode 100644 (file)
index 6da5b0c..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf\r
-lf\r
-crlf\r
-lf\r
-lf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/more-lf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/more-lf-utf8bom
deleted file mode 100644 (file)
index 3fa59c8..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf\r
-lf\r
-crlf\r
-lf\r
-lf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/zero-byte b/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/zero-byte
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/all-crlf b/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/all-crlf
deleted file mode 100644 (file)
index a9a2e89..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-crlf\r
-crlf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/all-crlf-utf8bom
deleted file mode 100644 (file)
index 0aa76e4..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-crlf\r
-crlf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/all-lf b/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/all-lf
deleted file mode 100644 (file)
index 799770d..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf
-lf
-lf
-lf
-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/all-lf-utf8bom
deleted file mode 100644 (file)
index 7cce67e..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf
-lf
-lf
-lf
-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/binary-all-crlf b/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/binary-all-crlf
deleted file mode 100644 (file)
index 8534075..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-\ 1one\r
-two\r
-three\r
-four\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/binary-all-lf b/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/binary-all-lf
deleted file mode 100644 (file)
index af6fcf6..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-\ 1one
-two
-three
-four
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/binary-mixed-lf-cr
deleted file mode 100644 (file)
index 203555c..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-\ 1one
-two\rthree
-four\r
\ 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/windows/autocrlf_false,text_auto,eol_lf/binary-mixed-lf-cr-crlf
deleted file mode 100644 (file)
index aaf083a..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-\ 1one
-two\rthree\r
-four\r
\ 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/windows/autocrlf_false,text_auto,eol_lf/few-utf8-chars-crlf
deleted file mode 100644 (file)
index 0e05288..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-⚽The rest is ASCII01.\r
-The rest is ASCII02.\r
-The rest is ASCII03.\r
-The rest is ASCII04.\r
-The rest is ASCII05.\r
-The rest is ASCII06.\r
-The rest is ASCII07.\r
-The rest is ASCII08.\r
-The rest is ASCII09.\r
-The rest is ASCII10.\r
-The rest is ASCII11.\r
-The rest is ASCII12.\r
-The rest is ASCII13.\r
-The rest is ASCII14.\r
-The rest is ASCII15.\r
-The rest is ASCII16.\r
-The rest is ASCII17.\r
-The rest is ASCII18.\r
-The rest is ASCII19.\r
-The rest is ASCII20.\r
-The rest is ASCII21.\r
-The rest is ASCII22.\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/few-utf8-chars-lf
deleted file mode 100644 (file)
index f4d25b7..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-⚽The rest is ASCII01.
-The rest is ASCII02.
-The rest is ASCII03.
-The rest is ASCII04.
-The rest is ASCII05.
-The rest is ASCII06.
-The rest is ASCII07.
-The rest is ASCII08.
-The rest is ASCII09.
-The rest is ASCII10.
-The rest is ASCII11.
-The rest is ASCII12.
-The rest is ASCII13.
-The rest is ASCII14.
-The rest is ASCII15.
-The rest is ASCII16.
-The rest is ASCII17.
-The rest is ASCII18.
-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/windows/autocrlf_false,text_auto,eol_lf/many-utf8-chars-crlf
deleted file mode 100644 (file)
index cd574f5..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-Lets sing!\r
-♫♪♬♩\r
-Eat food\r
-🍅🍕\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/many-utf8-chars-lf
deleted file mode 100644 (file)
index 9a6c353..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-Lets sing!
-♫♪♬♩
-Eat food
-🍅🍕
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/mixed-lf-cr
deleted file mode 100644 (file)
index d11e7ef..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-one
-two\rthree
-four\r
\ 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/windows/autocrlf_false,text_auto,eol_lf/mixed-lf-cr-crlf
deleted file mode 100644 (file)
index 417786f..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-one
-two\rthree\r
-four\r
\ 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/windows/autocrlf_false,text_auto,eol_lf/more-crlf
deleted file mode 100644 (file)
index 0ff5a53..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-crlf\r
-crlf\r
-lf
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/more-crlf-utf8bom
deleted file mode 100644 (file)
index ea030d3..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-crlf\r
-crlf\r
-lf
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/more-lf b/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/more-lf
deleted file mode 100644 (file)
index 04de00b..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf
-lf
-crlf\r
-lf
-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/more-lf-utf8bom
deleted file mode 100644 (file)
index dc88e3b..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf
-lf
-crlf\r
-lf
-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/zero-byte b/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/zero-byte
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto/all-crlf b/tests/resources/crlf_data/windows/autocrlf_false,text_auto/all-crlf
deleted file mode 100644 (file)
index a9a2e89..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-crlf\r
-crlf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto/all-crlf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_false,text_auto/all-crlf-utf8bom
deleted file mode 100644 (file)
index 0aa76e4..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-crlf\r
-crlf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto/all-lf b/tests/resources/crlf_data/windows/autocrlf_false,text_auto/all-lf
deleted file mode 100644 (file)
index f557a02..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf\r
-lf\r
-lf\r
-lf\r
-lf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto/all-lf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_false,text_auto/all-lf-utf8bom
deleted file mode 100644 (file)
index 381cfe6..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf\r
-lf\r
-lf\r
-lf\r
-lf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto/binary-all-crlf b/tests/resources/crlf_data/windows/autocrlf_false,text_auto/binary-all-crlf
deleted file mode 100644 (file)
index 8534075..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-\ 1one\r
-two\r
-three\r
-four\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto/binary-all-lf b/tests/resources/crlf_data/windows/autocrlf_false,text_auto/binary-all-lf
deleted file mode 100644 (file)
index af6fcf6..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-\ 1one
-two
-three
-four
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto/binary-mixed-lf-cr b/tests/resources/crlf_data/windows/autocrlf_false,text_auto/binary-mixed-lf-cr
deleted file mode 100644 (file)
index 203555c..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-\ 1one
-two\rthree
-four\r
\ 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/windows/autocrlf_false,text_auto/binary-mixed-lf-cr-crlf
deleted file mode 100644 (file)
index aaf083a..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-\ 1one
-two\rthree\r
-four\r
\ 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/windows/autocrlf_false,text_auto/few-utf8-chars-crlf
deleted file mode 100644 (file)
index 0e05288..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-⚽The rest is ASCII01.\r
-The rest is ASCII02.\r
-The rest is ASCII03.\r
-The rest is ASCII04.\r
-The rest is ASCII05.\r
-The rest is ASCII06.\r
-The rest is ASCII07.\r
-The rest is ASCII08.\r
-The rest is ASCII09.\r
-The rest is ASCII10.\r
-The rest is ASCII11.\r
-The rest is ASCII12.\r
-The rest is ASCII13.\r
-The rest is ASCII14.\r
-The rest is ASCII15.\r
-The rest is ASCII16.\r
-The rest is ASCII17.\r
-The rest is ASCII18.\r
-The rest is ASCII19.\r
-The rest is ASCII20.\r
-The rest is ASCII21.\r
-The rest is ASCII22.\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto/few-utf8-chars-lf b/tests/resources/crlf_data/windows/autocrlf_false,text_auto/few-utf8-chars-lf
deleted file mode 100644 (file)
index 0e05288..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-⚽The rest is ASCII01.\r
-The rest is ASCII02.\r
-The rest is ASCII03.\r
-The rest is ASCII04.\r
-The rest is ASCII05.\r
-The rest is ASCII06.\r
-The rest is ASCII07.\r
-The rest is ASCII08.\r
-The rest is ASCII09.\r
-The rest is ASCII10.\r
-The rest is ASCII11.\r
-The rest is ASCII12.\r
-The rest is ASCII13.\r
-The rest is ASCII14.\r
-The rest is ASCII15.\r
-The rest is ASCII16.\r
-The rest is ASCII17.\r
-The rest is ASCII18.\r
-The rest is ASCII19.\r
-The rest is ASCII20.\r
-The rest is ASCII21.\r
-The rest is ASCII22.\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto/many-utf8-chars-crlf b/tests/resources/crlf_data/windows/autocrlf_false,text_auto/many-utf8-chars-crlf
deleted file mode 100644 (file)
index cd574f5..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-Lets sing!\r
-♫♪♬♩\r
-Eat food\r
-🍅🍕\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto/many-utf8-chars-lf b/tests/resources/crlf_data/windows/autocrlf_false,text_auto/many-utf8-chars-lf
deleted file mode 100644 (file)
index cd574f5..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-Lets sing!\r
-♫♪♬♩\r
-Eat food\r
-🍅🍕\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto/mixed-lf-cr b/tests/resources/crlf_data/windows/autocrlf_false,text_auto/mixed-lf-cr
deleted file mode 100644 (file)
index d11e7ef..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-one
-two\rthree
-four\r
\ 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/windows/autocrlf_false,text_auto/mixed-lf-cr-crlf
deleted file mode 100644 (file)
index 417786f..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-one
-two\rthree\r
-four\r
\ 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/windows/autocrlf_false,text_auto/more-crlf
deleted file mode 100644 (file)
index e682c30..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-crlf\r
-crlf\r
-lf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto/more-crlf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_false,text_auto/more-crlf-utf8bom
deleted file mode 100644 (file)
index 2e1220c..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-crlf\r
-crlf\r
-lf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto/more-lf b/tests/resources/crlf_data/windows/autocrlf_false,text_auto/more-lf
deleted file mode 100644 (file)
index 6da5b0c..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf\r
-lf\r
-crlf\r
-lf\r
-lf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto/more-lf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_false,text_auto/more-lf-utf8bom
deleted file mode 100644 (file)
index 3fa59c8..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf\r
-lf\r
-crlf\r
-lf\r
-lf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto/zero-byte b/tests/resources/crlf_data/windows/autocrlf_false,text_auto/zero-byte
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/tests/resources/crlf_data/windows/autocrlf_false/all-crlf b/tests/resources/crlf_data/windows/autocrlf_false/all-crlf
deleted file mode 100644 (file)
index a9a2e89..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-crlf\r
-crlf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_false/all-crlf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_false/all-crlf-utf8bom
deleted file mode 100644 (file)
index 0aa76e4..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-crlf\r
-crlf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_false/all-lf b/tests/resources/crlf_data/windows/autocrlf_false/all-lf
deleted file mode 100644 (file)
index 799770d..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf
-lf
-lf
-lf
-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false/all-lf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_false/all-lf-utf8bom
deleted file mode 100644 (file)
index 7cce67e..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf
-lf
-lf
-lf
-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false/binary-all-crlf b/tests/resources/crlf_data/windows/autocrlf_false/binary-all-crlf
deleted file mode 100644 (file)
index 8534075..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-\ 1one\r
-two\r
-three\r
-four\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_false/binary-all-lf b/tests/resources/crlf_data/windows/autocrlf_false/binary-all-lf
deleted file mode 100644 (file)
index af6fcf6..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-\ 1one
-two
-three
-four
diff --git a/tests/resources/crlf_data/windows/autocrlf_false/binary-mixed-lf-cr b/tests/resources/crlf_data/windows/autocrlf_false/binary-mixed-lf-cr
deleted file mode 100644 (file)
index 203555c..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-\ 1one
-two\rthree
-four\r
\ 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/windows/autocrlf_false/binary-mixed-lf-cr-crlf
deleted file mode 100644 (file)
index aaf083a..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-\ 1one
-two\rthree\r
-four\r
\ 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/windows/autocrlf_false/few-utf8-chars-crlf
deleted file mode 100644 (file)
index 0e05288..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-⚽The rest is ASCII01.\r
-The rest is ASCII02.\r
-The rest is ASCII03.\r
-The rest is ASCII04.\r
-The rest is ASCII05.\r
-The rest is ASCII06.\r
-The rest is ASCII07.\r
-The rest is ASCII08.\r
-The rest is ASCII09.\r
-The rest is ASCII10.\r
-The rest is ASCII11.\r
-The rest is ASCII12.\r
-The rest is ASCII13.\r
-The rest is ASCII14.\r
-The rest is ASCII15.\r
-The rest is ASCII16.\r
-The rest is ASCII17.\r
-The rest is ASCII18.\r
-The rest is ASCII19.\r
-The rest is ASCII20.\r
-The rest is ASCII21.\r
-The rest is ASCII22.\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_false/few-utf8-chars-lf b/tests/resources/crlf_data/windows/autocrlf_false/few-utf8-chars-lf
deleted file mode 100644 (file)
index f4d25b7..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-⚽The rest is ASCII01.
-The rest is ASCII02.
-The rest is ASCII03.
-The rest is ASCII04.
-The rest is ASCII05.
-The rest is ASCII06.
-The rest is ASCII07.
-The rest is ASCII08.
-The rest is ASCII09.
-The rest is ASCII10.
-The rest is ASCII11.
-The rest is ASCII12.
-The rest is ASCII13.
-The rest is ASCII14.
-The rest is ASCII15.
-The rest is ASCII16.
-The rest is ASCII17.
-The rest is ASCII18.
-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/windows/autocrlf_false/many-utf8-chars-crlf
deleted file mode 100644 (file)
index cd574f5..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-Lets sing!\r
-♫♪♬♩\r
-Eat food\r
-🍅🍕\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_false/many-utf8-chars-lf b/tests/resources/crlf_data/windows/autocrlf_false/many-utf8-chars-lf
deleted file mode 100644 (file)
index 9a6c353..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-Lets sing!
-♫♪♬♩
-Eat food
-🍅🍕
diff --git a/tests/resources/crlf_data/windows/autocrlf_false/mixed-lf-cr b/tests/resources/crlf_data/windows/autocrlf_false/mixed-lf-cr
deleted file mode 100644 (file)
index d11e7ef..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-one
-two\rthree
-four\r
\ 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/windows/autocrlf_false/mixed-lf-cr-crlf
deleted file mode 100644 (file)
index 417786f..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-one
-two\rthree\r
-four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_false/more-crlf b/tests/resources/crlf_data/windows/autocrlf_false/more-crlf
deleted file mode 100644 (file)
index 0ff5a53..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-crlf\r
-crlf\r
-lf
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_false/more-crlf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_false/more-crlf-utf8bom
deleted file mode 100644 (file)
index ea030d3..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-crlf\r
-crlf\r
-lf
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_false/more-lf b/tests/resources/crlf_data/windows/autocrlf_false/more-lf
deleted file mode 100644 (file)
index 04de00b..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf
-lf
-crlf\r
-lf
-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false/more-lf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_false/more-lf-utf8bom
deleted file mode 100644 (file)
index dc88e3b..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf
-lf
-crlf\r
-lf
-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_false/zero-byte b/tests/resources/crlf_data/windows/autocrlf_false/zero-byte
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,-crlf/all-crlf b/tests/resources/crlf_data/windows/autocrlf_input,-crlf/all-crlf
deleted file mode 100644 (file)
index a9a2e89..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-crlf\r
-crlf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,-crlf/all-crlf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_input,-crlf/all-crlf-utf8bom
deleted file mode 100644 (file)
index 0aa76e4..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-crlf\r
-crlf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,-crlf/all-lf b/tests/resources/crlf_data/windows/autocrlf_input,-crlf/all-lf
deleted file mode 100644 (file)
index 799770d..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf
-lf
-lf
-lf
-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,-crlf/all-lf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_input,-crlf/all-lf-utf8bom
deleted file mode 100644 (file)
index 7cce67e..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf
-lf
-lf
-lf
-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,-crlf/binary-all-crlf b/tests/resources/crlf_data/windows/autocrlf_input,-crlf/binary-all-crlf
deleted file mode 100644 (file)
index 8534075..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-\ 1one\r
-two\r
-three\r
-four\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,-crlf/binary-all-lf b/tests/resources/crlf_data/windows/autocrlf_input,-crlf/binary-all-lf
deleted file mode 100644 (file)
index af6fcf6..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-\ 1one
-two
-three
-four
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,-crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows/autocrlf_input,-crlf/binary-mixed-lf-cr
deleted file mode 100644 (file)
index 203555c..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-\ 1one
-two\rthree
-four\r
\ 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/windows/autocrlf_input,-crlf/binary-mixed-lf-cr-crlf
deleted file mode 100644 (file)
index aaf083a..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-\ 1one
-two\rthree\r
-four\r
\ 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/windows/autocrlf_input,-crlf/few-utf8-chars-crlf
deleted file mode 100644 (file)
index 0e05288..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-⚽The rest is ASCII01.\r
-The rest is ASCII02.\r
-The rest is ASCII03.\r
-The rest is ASCII04.\r
-The rest is ASCII05.\r
-The rest is ASCII06.\r
-The rest is ASCII07.\r
-The rest is ASCII08.\r
-The rest is ASCII09.\r
-The rest is ASCII10.\r
-The rest is ASCII11.\r
-The rest is ASCII12.\r
-The rest is ASCII13.\r
-The rest is ASCII14.\r
-The rest is ASCII15.\r
-The rest is ASCII16.\r
-The rest is ASCII17.\r
-The rest is ASCII18.\r
-The rest is ASCII19.\r
-The rest is ASCII20.\r
-The rest is ASCII21.\r
-The rest is ASCII22.\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,-crlf/few-utf8-chars-lf b/tests/resources/crlf_data/windows/autocrlf_input,-crlf/few-utf8-chars-lf
deleted file mode 100644 (file)
index f4d25b7..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-⚽The rest is ASCII01.
-The rest is ASCII02.
-The rest is ASCII03.
-The rest is ASCII04.
-The rest is ASCII05.
-The rest is ASCII06.
-The rest is ASCII07.
-The rest is ASCII08.
-The rest is ASCII09.
-The rest is ASCII10.
-The rest is ASCII11.
-The rest is ASCII12.
-The rest is ASCII13.
-The rest is ASCII14.
-The rest is ASCII15.
-The rest is ASCII16.
-The rest is ASCII17.
-The rest is ASCII18.
-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/windows/autocrlf_input,-crlf/many-utf8-chars-crlf
deleted file mode 100644 (file)
index cd574f5..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-Lets sing!\r
-♫♪♬♩\r
-Eat food\r
-🍅🍕\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,-crlf/many-utf8-chars-lf b/tests/resources/crlf_data/windows/autocrlf_input,-crlf/many-utf8-chars-lf
deleted file mode 100644 (file)
index 9a6c353..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-Lets sing!
-♫♪♬♩
-Eat food
-🍅🍕
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,-crlf/mixed-lf-cr b/tests/resources/crlf_data/windows/autocrlf_input,-crlf/mixed-lf-cr
deleted file mode 100644 (file)
index d11e7ef..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-one
-two\rthree
-four\r
\ 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/windows/autocrlf_input,-crlf/mixed-lf-cr-crlf
deleted file mode 100644 (file)
index 417786f..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-one
-two\rthree\r
-four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,-crlf/more-crlf b/tests/resources/crlf_data/windows/autocrlf_input,-crlf/more-crlf
deleted file mode 100644 (file)
index 0ff5a53..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-crlf\r
-crlf\r
-lf
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,-crlf/more-crlf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_input,-crlf/more-crlf-utf8bom
deleted file mode 100644 (file)
index ea030d3..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-crlf\r
-crlf\r
-lf
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,-crlf/more-lf b/tests/resources/crlf_data/windows/autocrlf_input,-crlf/more-lf
deleted file mode 100644 (file)
index 04de00b..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf
-lf
-crlf\r
-lf
-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,-crlf/more-lf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_input,-crlf/more-lf-utf8bom
deleted file mode 100644 (file)
index dc88e3b..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf
-lf
-crlf\r
-lf
-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,-crlf/zero-byte b/tests/resources/crlf_data/windows/autocrlf_input,-crlf/zero-byte
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,-text/all-crlf b/tests/resources/crlf_data/windows/autocrlf_input,-text/all-crlf
deleted file mode 100644 (file)
index a9a2e89..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-crlf\r
-crlf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,-text/all-crlf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_input,-text/all-crlf-utf8bom
deleted file mode 100644 (file)
index 0aa76e4..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-crlf\r
-crlf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,-text/all-lf b/tests/resources/crlf_data/windows/autocrlf_input,-text/all-lf
deleted file mode 100644 (file)
index 799770d..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf
-lf
-lf
-lf
-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,-text/all-lf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_input,-text/all-lf-utf8bom
deleted file mode 100644 (file)
index 7cce67e..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf
-lf
-lf
-lf
-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,-text/binary-all-crlf b/tests/resources/crlf_data/windows/autocrlf_input,-text/binary-all-crlf
deleted file mode 100644 (file)
index 8534075..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-\ 1one\r
-two\r
-three\r
-four\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,-text/binary-all-lf b/tests/resources/crlf_data/windows/autocrlf_input,-text/binary-all-lf
deleted file mode 100644 (file)
index af6fcf6..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-\ 1one
-two
-three
-four
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,-text/binary-mixed-lf-cr b/tests/resources/crlf_data/windows/autocrlf_input,-text/binary-mixed-lf-cr
deleted file mode 100644 (file)
index 203555c..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-\ 1one
-two\rthree
-four\r
\ 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/windows/autocrlf_input,-text/binary-mixed-lf-cr-crlf
deleted file mode 100644 (file)
index aaf083a..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-\ 1one
-two\rthree\r
-four\r
\ 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/windows/autocrlf_input,-text/few-utf8-chars-crlf
deleted file mode 100644 (file)
index 0e05288..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-⚽The rest is ASCII01.\r
-The rest is ASCII02.\r
-The rest is ASCII03.\r
-The rest is ASCII04.\r
-The rest is ASCII05.\r
-The rest is ASCII06.\r
-The rest is ASCII07.\r
-The rest is ASCII08.\r
-The rest is ASCII09.\r
-The rest is ASCII10.\r
-The rest is ASCII11.\r
-The rest is ASCII12.\r
-The rest is ASCII13.\r
-The rest is ASCII14.\r
-The rest is ASCII15.\r
-The rest is ASCII16.\r
-The rest is ASCII17.\r
-The rest is ASCII18.\r
-The rest is ASCII19.\r
-The rest is ASCII20.\r
-The rest is ASCII21.\r
-The rest is ASCII22.\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,-text/few-utf8-chars-lf b/tests/resources/crlf_data/windows/autocrlf_input,-text/few-utf8-chars-lf
deleted file mode 100644 (file)
index f4d25b7..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-⚽The rest is ASCII01.
-The rest is ASCII02.
-The rest is ASCII03.
-The rest is ASCII04.
-The rest is ASCII05.
-The rest is ASCII06.
-The rest is ASCII07.
-The rest is ASCII08.
-The rest is ASCII09.
-The rest is ASCII10.
-The rest is ASCII11.
-The rest is ASCII12.
-The rest is ASCII13.
-The rest is ASCII14.
-The rest is ASCII15.
-The rest is ASCII16.
-The rest is ASCII17.
-The rest is ASCII18.
-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/windows/autocrlf_input,-text/many-utf8-chars-crlf
deleted file mode 100644 (file)
index cd574f5..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-Lets sing!\r
-♫♪♬♩\r
-Eat food\r
-🍅🍕\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,-text/many-utf8-chars-lf b/tests/resources/crlf_data/windows/autocrlf_input,-text/many-utf8-chars-lf
deleted file mode 100644 (file)
index 9a6c353..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-Lets sing!
-♫♪♬♩
-Eat food
-🍅🍕
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,-text/mixed-lf-cr b/tests/resources/crlf_data/windows/autocrlf_input,-text/mixed-lf-cr
deleted file mode 100644 (file)
index d11e7ef..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-one
-two\rthree
-four\r
\ 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/windows/autocrlf_input,-text/mixed-lf-cr-crlf
deleted file mode 100644 (file)
index 417786f..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-one
-two\rthree\r
-four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,-text/more-crlf b/tests/resources/crlf_data/windows/autocrlf_input,-text/more-crlf
deleted file mode 100644 (file)
index 0ff5a53..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-crlf\r
-crlf\r
-lf
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,-text/more-crlf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_input,-text/more-crlf-utf8bom
deleted file mode 100644 (file)
index ea030d3..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-crlf\r
-crlf\r
-lf
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,-text/more-lf b/tests/resources/crlf_data/windows/autocrlf_input,-text/more-lf
deleted file mode 100644 (file)
index 04de00b..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf
-lf
-crlf\r
-lf
-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,-text/more-lf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_input,-text/more-lf-utf8bom
deleted file mode 100644 (file)
index dc88e3b..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf
-lf
-crlf\r
-lf
-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,-text/zero-byte b/tests/resources/crlf_data/windows/autocrlf_input,-text/zero-byte
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,crlf/all-crlf b/tests/resources/crlf_data/windows/autocrlf_input,crlf/all-crlf
deleted file mode 100644 (file)
index a9a2e89..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-crlf\r
-crlf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,crlf/all-crlf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_input,crlf/all-crlf-utf8bom
deleted file mode 100644 (file)
index 0aa76e4..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-crlf\r
-crlf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,crlf/all-lf b/tests/resources/crlf_data/windows/autocrlf_input,crlf/all-lf
deleted file mode 100644 (file)
index 799770d..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf
-lf
-lf
-lf
-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,crlf/all-lf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_input,crlf/all-lf-utf8bom
deleted file mode 100644 (file)
index 7cce67e..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf
-lf
-lf
-lf
-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,crlf/binary-all-crlf b/tests/resources/crlf_data/windows/autocrlf_input,crlf/binary-all-crlf
deleted file mode 100644 (file)
index 8534075..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-\ 1one\r
-two\r
-three\r
-four\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,crlf/binary-all-lf b/tests/resources/crlf_data/windows/autocrlf_input,crlf/binary-all-lf
deleted file mode 100644 (file)
index af6fcf6..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-\ 1one
-two
-three
-four
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows/autocrlf_input,crlf/binary-mixed-lf-cr
deleted file mode 100644 (file)
index 203555c..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-\ 1one
-two\rthree
-four\r
\ 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/windows/autocrlf_input,crlf/binary-mixed-lf-cr-crlf
deleted file mode 100644 (file)
index aaf083a..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-\ 1one
-two\rthree\r
-four\r
\ 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/windows/autocrlf_input,crlf/few-utf8-chars-crlf
deleted file mode 100644 (file)
index 0e05288..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-⚽The rest is ASCII01.\r
-The rest is ASCII02.\r
-The rest is ASCII03.\r
-The rest is ASCII04.\r
-The rest is ASCII05.\r
-The rest is ASCII06.\r
-The rest is ASCII07.\r
-The rest is ASCII08.\r
-The rest is ASCII09.\r
-The rest is ASCII10.\r
-The rest is ASCII11.\r
-The rest is ASCII12.\r
-The rest is ASCII13.\r
-The rest is ASCII14.\r
-The rest is ASCII15.\r
-The rest is ASCII16.\r
-The rest is ASCII17.\r
-The rest is ASCII18.\r
-The rest is ASCII19.\r
-The rest is ASCII20.\r
-The rest is ASCII21.\r
-The rest is ASCII22.\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,crlf/few-utf8-chars-lf b/tests/resources/crlf_data/windows/autocrlf_input,crlf/few-utf8-chars-lf
deleted file mode 100644 (file)
index f4d25b7..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-⚽The rest is ASCII01.
-The rest is ASCII02.
-The rest is ASCII03.
-The rest is ASCII04.
-The rest is ASCII05.
-The rest is ASCII06.
-The rest is ASCII07.
-The rest is ASCII08.
-The rest is ASCII09.
-The rest is ASCII10.
-The rest is ASCII11.
-The rest is ASCII12.
-The rest is ASCII13.
-The rest is ASCII14.
-The rest is ASCII15.
-The rest is ASCII16.
-The rest is ASCII17.
-The rest is ASCII18.
-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/windows/autocrlf_input,crlf/many-utf8-chars-crlf
deleted file mode 100644 (file)
index cd574f5..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-Lets sing!\r
-♫♪♬♩\r
-Eat food\r
-🍅🍕\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,crlf/many-utf8-chars-lf b/tests/resources/crlf_data/windows/autocrlf_input,crlf/many-utf8-chars-lf
deleted file mode 100644 (file)
index 9a6c353..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-Lets sing!
-♫♪♬♩
-Eat food
-🍅🍕
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,crlf/mixed-lf-cr b/tests/resources/crlf_data/windows/autocrlf_input,crlf/mixed-lf-cr
deleted file mode 100644 (file)
index d11e7ef..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-one
-two\rthree
-four\r
\ 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/windows/autocrlf_input,crlf/mixed-lf-cr-crlf
deleted file mode 100644 (file)
index 417786f..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-one
-two\rthree\r
-four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,crlf/more-crlf b/tests/resources/crlf_data/windows/autocrlf_input,crlf/more-crlf
deleted file mode 100644 (file)
index 0ff5a53..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-crlf\r
-crlf\r
-lf
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,crlf/more-crlf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_input,crlf/more-crlf-utf8bom
deleted file mode 100644 (file)
index ea030d3..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-crlf\r
-crlf\r
-lf
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,crlf/more-lf b/tests/resources/crlf_data/windows/autocrlf_input,crlf/more-lf
deleted file mode 100644 (file)
index 04de00b..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf
-lf
-crlf\r
-lf
-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,crlf/more-lf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_input,crlf/more-lf-utf8bom
deleted file mode 100644 (file)
index dc88e3b..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf
-lf
-crlf\r
-lf
-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,crlf/zero-byte b/tests/resources/crlf_data/windows/autocrlf_input,crlf/zero-byte
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/all-crlf b/tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/all-crlf
deleted file mode 100644 (file)
index a9a2e89..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-crlf\r
-crlf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/all-crlf-utf8bom
deleted file mode 100644 (file)
index 0aa76e4..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-crlf\r
-crlf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/all-lf b/tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/all-lf
deleted file mode 100644 (file)
index f557a02..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf\r
-lf\r
-lf\r
-lf\r
-lf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/all-lf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/all-lf-utf8bom
deleted file mode 100644 (file)
index 381cfe6..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf\r
-lf\r
-lf\r
-lf\r
-lf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/binary-all-crlf
deleted file mode 100644 (file)
index 8534075..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-\ 1one\r
-two\r
-three\r
-four\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/binary-all-lf b/tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/binary-all-lf
deleted file mode 100644 (file)
index 8534075..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-\ 1one\r
-two\r
-three\r
-four\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/binary-mixed-lf-cr
deleted file mode 100644 (file)
index fd2abfa..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-\ 1one\r
-two\rthree\r
-four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/binary-mixed-lf-cr-crlf
deleted file mode 100644 (file)
index fd2abfa..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-\ 1one\r
-two\rthree\r
-four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/few-utf8-chars-crlf
deleted file mode 100644 (file)
index 0e05288..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-⚽The rest is ASCII01.\r
-The rest is ASCII02.\r
-The rest is ASCII03.\r
-The rest is ASCII04.\r
-The rest is ASCII05.\r
-The rest is ASCII06.\r
-The rest is ASCII07.\r
-The rest is ASCII08.\r
-The rest is ASCII09.\r
-The rest is ASCII10.\r
-The rest is ASCII11.\r
-The rest is ASCII12.\r
-The rest is ASCII13.\r
-The rest is ASCII14.\r
-The rest is ASCII15.\r
-The rest is ASCII16.\r
-The rest is ASCII17.\r
-The rest is ASCII18.\r
-The rest is ASCII19.\r
-The rest is ASCII20.\r
-The rest is ASCII21.\r
-The rest is ASCII22.\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/few-utf8-chars-lf b/tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/few-utf8-chars-lf
deleted file mode 100644 (file)
index 0e05288..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-⚽The rest is ASCII01.\r
-The rest is ASCII02.\r
-The rest is ASCII03.\r
-The rest is ASCII04.\r
-The rest is ASCII05.\r
-The rest is ASCII06.\r
-The rest is ASCII07.\r
-The rest is ASCII08.\r
-The rest is ASCII09.\r
-The rest is ASCII10.\r
-The rest is ASCII11.\r
-The rest is ASCII12.\r
-The rest is ASCII13.\r
-The rest is ASCII14.\r
-The rest is ASCII15.\r
-The rest is ASCII16.\r
-The rest is ASCII17.\r
-The rest is ASCII18.\r
-The rest is ASCII19.\r
-The rest is ASCII20.\r
-The rest is ASCII21.\r
-The rest is ASCII22.\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/many-utf8-chars-crlf
deleted file mode 100644 (file)
index cd574f5..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-Lets sing!\r
-♫♪♬♩\r
-Eat food\r
-🍅🍕\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/many-utf8-chars-lf b/tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/many-utf8-chars-lf
deleted file mode 100644 (file)
index cd574f5..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-Lets sing!\r
-♫♪♬♩\r
-Eat food\r
-🍅🍕\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/mixed-lf-cr
deleted file mode 100644 (file)
index df8c0f6..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-one\r
-two\rthree\r
-four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/mixed-lf-cr-crlf
deleted file mode 100644 (file)
index df8c0f6..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-one\r
-two\rthree\r
-four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/more-crlf b/tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/more-crlf
deleted file mode 100644 (file)
index e682c30..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-crlf\r
-crlf\r
-lf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/more-crlf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/more-crlf-utf8bom
deleted file mode 100644 (file)
index 2e1220c..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-crlf\r
-crlf\r
-lf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/more-lf b/tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/more-lf
deleted file mode 100644 (file)
index 6da5b0c..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf\r
-lf\r
-crlf\r
-lf\r
-lf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/more-lf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/more-lf-utf8bom
deleted file mode 100644 (file)
index 3fa59c8..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf\r
-lf\r
-crlf\r
-lf\r
-lf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/zero-byte b/tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/zero-byte
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,eol_lf/all-crlf b/tests/resources/crlf_data/windows/autocrlf_input,eol_lf/all-crlf
deleted file mode 100644 (file)
index a9a2e89..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-crlf\r
-crlf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_input,eol_lf/all-crlf-utf8bom
deleted file mode 100644 (file)
index 0aa76e4..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-crlf\r
-crlf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,eol_lf/all-lf b/tests/resources/crlf_data/windows/autocrlf_input,eol_lf/all-lf
deleted file mode 100644 (file)
index 799770d..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf
-lf
-lf
-lf
-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_input,eol_lf/all-lf-utf8bom
deleted file mode 100644 (file)
index 7cce67e..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-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/windows/autocrlf_input,eol_lf/binary-all-crlf
deleted file mode 100644 (file)
index 8534075..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-\ 1one\r
-two\r
-three\r
-four\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,eol_lf/binary-all-lf b/tests/resources/crlf_data/windows/autocrlf_input,eol_lf/binary-all-lf
deleted file mode 100644 (file)
index af6fcf6..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-\ 1one
-two
-three
-four
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows/autocrlf_input,eol_lf/binary-mixed-lf-cr
deleted file mode 100644 (file)
index 203555c..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-\ 1one
-two\rthree
-four\r
\ 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/windows/autocrlf_input,eol_lf/binary-mixed-lf-cr-crlf
deleted file mode 100644 (file)
index aaf083a..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-\ 1one
-two\rthree\r
-four\r
\ 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/windows/autocrlf_input,eol_lf/few-utf8-chars-crlf
deleted file mode 100644 (file)
index 0e05288..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-⚽The rest is ASCII01.\r
-The rest is ASCII02.\r
-The rest is ASCII03.\r
-The rest is ASCII04.\r
-The rest is ASCII05.\r
-The rest is ASCII06.\r
-The rest is ASCII07.\r
-The rest is ASCII08.\r
-The rest is ASCII09.\r
-The rest is ASCII10.\r
-The rest is ASCII11.\r
-The rest is ASCII12.\r
-The rest is ASCII13.\r
-The rest is ASCII14.\r
-The rest is ASCII15.\r
-The rest is ASCII16.\r
-The rest is ASCII17.\r
-The rest is ASCII18.\r
-The rest is ASCII19.\r
-The rest is ASCII20.\r
-The rest is ASCII21.\r
-The rest is ASCII22.\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/windows/autocrlf_input,eol_lf/few-utf8-chars-lf
deleted file mode 100644 (file)
index f4d25b7..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-⚽The rest is ASCII01.
-The rest is ASCII02.
-The rest is ASCII03.
-The rest is ASCII04.
-The rest is ASCII05.
-The rest is ASCII06.
-The rest is ASCII07.
-The rest is ASCII08.
-The rest is ASCII09.
-The rest is ASCII10.
-The rest is ASCII11.
-The rest is ASCII12.
-The rest is ASCII13.
-The rest is ASCII14.
-The rest is ASCII15.
-The rest is ASCII16.
-The rest is ASCII17.
-The rest is ASCII18.
-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/windows/autocrlf_input,eol_lf/many-utf8-chars-crlf
deleted file mode 100644 (file)
index cd574f5..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-Lets sing!\r
-♫♪♬♩\r
-Eat food\r
-🍅🍕\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/windows/autocrlf_input,eol_lf/many-utf8-chars-lf
deleted file mode 100644 (file)
index 9a6c353..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-Lets sing!
-♫♪♬♩
-Eat food
-🍅🍕
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/windows/autocrlf_input,eol_lf/mixed-lf-cr
deleted file mode 100644 (file)
index d11e7ef..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-one
-two\rthree
-four\r
\ 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/windows/autocrlf_input,eol_lf/mixed-lf-cr-crlf
deleted file mode 100644 (file)
index 417786f..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-one
-two\rthree\r
-four\r
\ 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/windows/autocrlf_input,eol_lf/more-crlf
deleted file mode 100644 (file)
index 0ff5a53..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-crlf\r
-crlf\r
-lf
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_input,eol_lf/more-crlf-utf8bom
deleted file mode 100644 (file)
index ea030d3..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-crlf\r
-crlf\r
-lf
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,eol_lf/more-lf b/tests/resources/crlf_data/windows/autocrlf_input,eol_lf/more-lf
deleted file mode 100644 (file)
index 04de00b..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf
-lf
-crlf\r
-lf
-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_input,eol_lf/more-lf-utf8bom
deleted file mode 100644 (file)
index dc88e3b..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf
-lf
-crlf\r
-lf
-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,eol_lf/zero-byte b/tests/resources/crlf_data/windows/autocrlf_input,eol_lf/zero-byte
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/all-crlf b/tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/all-crlf
deleted file mode 100644 (file)
index a9a2e89..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-crlf\r
-crlf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/all-crlf-utf8bom
deleted file mode 100644 (file)
index 0aa76e4..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-crlf\r
-crlf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/all-lf b/tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/all-lf
deleted file mode 100644 (file)
index f557a02..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf\r
-lf\r
-lf\r
-lf\r
-lf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/all-lf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/all-lf-utf8bom
deleted file mode 100644 (file)
index 381cfe6..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf\r
-lf\r
-lf\r
-lf\r
-lf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/binary-all-crlf
deleted file mode 100644 (file)
index 8534075..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-\ 1one\r
-two\r
-three\r
-four\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/binary-all-lf b/tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/binary-all-lf
deleted file mode 100644 (file)
index 8534075..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-\ 1one\r
-two\r
-three\r
-four\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/binary-mixed-lf-cr
deleted file mode 100644 (file)
index fd2abfa..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-\ 1one\r
-two\rthree\r
-four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/binary-mixed-lf-cr-crlf
deleted file mode 100644 (file)
index fd2abfa..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-\ 1one\r
-two\rthree\r
-four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/few-utf8-chars-crlf
deleted file mode 100644 (file)
index 0e05288..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-⚽The rest is ASCII01.\r
-The rest is ASCII02.\r
-The rest is ASCII03.\r
-The rest is ASCII04.\r
-The rest is ASCII05.\r
-The rest is ASCII06.\r
-The rest is ASCII07.\r
-The rest is ASCII08.\r
-The rest is ASCII09.\r
-The rest is ASCII10.\r
-The rest is ASCII11.\r
-The rest is ASCII12.\r
-The rest is ASCII13.\r
-The rest is ASCII14.\r
-The rest is ASCII15.\r
-The rest is ASCII16.\r
-The rest is ASCII17.\r
-The rest is ASCII18.\r
-The rest is ASCII19.\r
-The rest is ASCII20.\r
-The rest is ASCII21.\r
-The rest is ASCII22.\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/few-utf8-chars-lf b/tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/few-utf8-chars-lf
deleted file mode 100644 (file)
index 0e05288..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-⚽The rest is ASCII01.\r
-The rest is ASCII02.\r
-The rest is ASCII03.\r
-The rest is ASCII04.\r
-The rest is ASCII05.\r
-The rest is ASCII06.\r
-The rest is ASCII07.\r
-The rest is ASCII08.\r
-The rest is ASCII09.\r
-The rest is ASCII10.\r
-The rest is ASCII11.\r
-The rest is ASCII12.\r
-The rest is ASCII13.\r
-The rest is ASCII14.\r
-The rest is ASCII15.\r
-The rest is ASCII16.\r
-The rest is ASCII17.\r
-The rest is ASCII18.\r
-The rest is ASCII19.\r
-The rest is ASCII20.\r
-The rest is ASCII21.\r
-The rest is ASCII22.\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/many-utf8-chars-crlf
deleted file mode 100644 (file)
index cd574f5..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-Lets sing!\r
-♫♪♬♩\r
-Eat food\r
-🍅🍕\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/many-utf8-chars-lf b/tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/many-utf8-chars-lf
deleted file mode 100644 (file)
index cd574f5..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-Lets sing!\r
-♫♪♬♩\r
-Eat food\r
-🍅🍕\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/mixed-lf-cr
deleted file mode 100644 (file)
index df8c0f6..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-one\r
-two\rthree\r
-four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/mixed-lf-cr-crlf
deleted file mode 100644 (file)
index df8c0f6..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-one\r
-two\rthree\r
-four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/more-crlf b/tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/more-crlf
deleted file mode 100644 (file)
index e682c30..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-crlf\r
-crlf\r
-lf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/more-crlf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/more-crlf-utf8bom
deleted file mode 100644 (file)
index 2e1220c..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-crlf\r
-crlf\r
-lf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/more-lf b/tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/more-lf
deleted file mode 100644 (file)
index 6da5b0c..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf\r
-lf\r
-crlf\r
-lf\r
-lf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/more-lf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/more-lf-utf8bom
deleted file mode 100644 (file)
index 3fa59c8..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf\r
-lf\r
-crlf\r
-lf\r
-lf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/zero-byte b/tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/zero-byte
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/all-crlf b/tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/all-crlf
deleted file mode 100644 (file)
index a9a2e89..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-crlf\r
-crlf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/all-crlf-utf8bom
deleted file mode 100644 (file)
index 0aa76e4..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-crlf\r
-crlf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/all-lf b/tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/all-lf
deleted file mode 100644 (file)
index 799770d..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf
-lf
-lf
-lf
-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/all-lf-utf8bom
deleted file mode 100644 (file)
index 7cce67e..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-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/windows/autocrlf_input,text,eol_lf/binary-all-crlf
deleted file mode 100644 (file)
index 8534075..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-\ 1one\r
-two\r
-three\r
-four\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/binary-all-lf b/tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/binary-all-lf
deleted file mode 100644 (file)
index af6fcf6..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-\ 1one
-two
-three
-four
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/binary-mixed-lf-cr
deleted file mode 100644 (file)
index 203555c..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-\ 1one
-two\rthree
-four\r
\ 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/windows/autocrlf_input,text,eol_lf/binary-mixed-lf-cr-crlf
deleted file mode 100644 (file)
index aaf083a..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-\ 1one
-two\rthree\r
-four\r
\ 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/windows/autocrlf_input,text,eol_lf/few-utf8-chars-crlf
deleted file mode 100644 (file)
index 0e05288..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-⚽The rest is ASCII01.\r
-The rest is ASCII02.\r
-The rest is ASCII03.\r
-The rest is ASCII04.\r
-The rest is ASCII05.\r
-The rest is ASCII06.\r
-The rest is ASCII07.\r
-The rest is ASCII08.\r
-The rest is ASCII09.\r
-The rest is ASCII10.\r
-The rest is ASCII11.\r
-The rest is ASCII12.\r
-The rest is ASCII13.\r
-The rest is ASCII14.\r
-The rest is ASCII15.\r
-The rest is ASCII16.\r
-The rest is ASCII17.\r
-The rest is ASCII18.\r
-The rest is ASCII19.\r
-The rest is ASCII20.\r
-The rest is ASCII21.\r
-The rest is ASCII22.\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/few-utf8-chars-lf
deleted file mode 100644 (file)
index f4d25b7..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-⚽The rest is ASCII01.
-The rest is ASCII02.
-The rest is ASCII03.
-The rest is ASCII04.
-The rest is ASCII05.
-The rest is ASCII06.
-The rest is ASCII07.
-The rest is ASCII08.
-The rest is ASCII09.
-The rest is ASCII10.
-The rest is ASCII11.
-The rest is ASCII12.
-The rest is ASCII13.
-The rest is ASCII14.
-The rest is ASCII15.
-The rest is ASCII16.
-The rest is ASCII17.
-The rest is ASCII18.
-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_lf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/many-utf8-chars-crlf
deleted file mode 100644 (file)
index cd574f5..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-Lets sing!\r
-♫♪♬♩\r
-Eat food\r
-🍅🍕\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/many-utf8-chars-lf
deleted file mode 100644 (file)
index 9a6c353..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-Lets sing!
-♫♪♬♩
-Eat food
-🍅🍕
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/mixed-lf-cr
deleted file mode 100644 (file)
index d11e7ef..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-one
-two\rthree
-four\r
\ 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/windows/autocrlf_input,text,eol_lf/mixed-lf-cr-crlf
deleted file mode 100644 (file)
index 417786f..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-one
-two\rthree\r
-four\r
\ 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/windows/autocrlf_input,text,eol_lf/more-crlf
deleted file mode 100644 (file)
index 0ff5a53..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-crlf\r
-crlf\r
-lf
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/more-crlf-utf8bom
deleted file mode 100644 (file)
index ea030d3..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-crlf\r
-crlf\r
-lf
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/more-lf b/tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/more-lf
deleted file mode 100644 (file)
index 04de00b..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf
-lf
-crlf\r
-lf
-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/more-lf-utf8bom
deleted file mode 100644 (file)
index dc88e3b..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf
-lf
-crlf\r
-lf
-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/zero-byte b/tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/zero-byte
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text/all-crlf b/tests/resources/crlf_data/windows/autocrlf_input,text/all-crlf
deleted file mode 100644 (file)
index a9a2e89..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-crlf\r
-crlf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text/all-crlf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_input,text/all-crlf-utf8bom
deleted file mode 100644 (file)
index 0aa76e4..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-crlf\r
-crlf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text/all-lf b/tests/resources/crlf_data/windows/autocrlf_input,text/all-lf
deleted file mode 100644 (file)
index 799770d..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf
-lf
-lf
-lf
-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text/all-lf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_input,text/all-lf-utf8bom
deleted file mode 100644 (file)
index 7cce67e..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf
-lf
-lf
-lf
-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text/binary-all-crlf b/tests/resources/crlf_data/windows/autocrlf_input,text/binary-all-crlf
deleted file mode 100644 (file)
index 8534075..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-\ 1one\r
-two\r
-three\r
-four\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text/binary-all-lf b/tests/resources/crlf_data/windows/autocrlf_input,text/binary-all-lf
deleted file mode 100644 (file)
index af6fcf6..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-\ 1one
-two
-three
-four
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text/binary-mixed-lf-cr b/tests/resources/crlf_data/windows/autocrlf_input,text/binary-mixed-lf-cr
deleted file mode 100644 (file)
index 203555c..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-\ 1one
-two\rthree
-four\r
\ 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/windows/autocrlf_input,text/binary-mixed-lf-cr-crlf
deleted file mode 100644 (file)
index aaf083a..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-\ 1one
-two\rthree\r
-four\r
\ 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/windows/autocrlf_input,text/few-utf8-chars-crlf
deleted file mode 100644 (file)
index 0e05288..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-⚽The rest is ASCII01.\r
-The rest is ASCII02.\r
-The rest is ASCII03.\r
-The rest is ASCII04.\r
-The rest is ASCII05.\r
-The rest is ASCII06.\r
-The rest is ASCII07.\r
-The rest is ASCII08.\r
-The rest is ASCII09.\r
-The rest is ASCII10.\r
-The rest is ASCII11.\r
-The rest is ASCII12.\r
-The rest is ASCII13.\r
-The rest is ASCII14.\r
-The rest is ASCII15.\r
-The rest is ASCII16.\r
-The rest is ASCII17.\r
-The rest is ASCII18.\r
-The rest is ASCII19.\r
-The rest is ASCII20.\r
-The rest is ASCII21.\r
-The rest is ASCII22.\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text/few-utf8-chars-lf b/tests/resources/crlf_data/windows/autocrlf_input,text/few-utf8-chars-lf
deleted file mode 100644 (file)
index f4d25b7..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-⚽The rest is ASCII01.
-The rest is ASCII02.
-The rest is ASCII03.
-The rest is ASCII04.
-The rest is ASCII05.
-The rest is ASCII06.
-The rest is ASCII07.
-The rest is ASCII08.
-The rest is ASCII09.
-The rest is ASCII10.
-The rest is ASCII11.
-The rest is ASCII12.
-The rest is ASCII13.
-The rest is ASCII14.
-The rest is ASCII15.
-The rest is ASCII16.
-The rest is ASCII17.
-The rest is ASCII18.
-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/windows/autocrlf_input,text/many-utf8-chars-crlf
deleted file mode 100644 (file)
index cd574f5..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-Lets sing!\r
-♫♪♬♩\r
-Eat food\r
-🍅🍕\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text/many-utf8-chars-lf b/tests/resources/crlf_data/windows/autocrlf_input,text/many-utf8-chars-lf
deleted file mode 100644 (file)
index 9a6c353..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-Lets sing!
-♫♪♬♩
-Eat food
-🍅🍕
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text/mixed-lf-cr b/tests/resources/crlf_data/windows/autocrlf_input,text/mixed-lf-cr
deleted file mode 100644 (file)
index d11e7ef..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-one
-two\rthree
-four\r
\ 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/windows/autocrlf_input,text/mixed-lf-cr-crlf
deleted file mode 100644 (file)
index 417786f..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-one
-two\rthree\r
-four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text/more-crlf b/tests/resources/crlf_data/windows/autocrlf_input,text/more-crlf
deleted file mode 100644 (file)
index 0ff5a53..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-crlf\r
-crlf\r
-lf
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text/more-crlf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_input,text/more-crlf-utf8bom
deleted file mode 100644 (file)
index ea030d3..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-crlf\r
-crlf\r
-lf
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text/more-lf b/tests/resources/crlf_data/windows/autocrlf_input,text/more-lf
deleted file mode 100644 (file)
index 04de00b..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf
-lf
-crlf\r
-lf
-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text/more-lf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_input,text/more-lf-utf8bom
deleted file mode 100644 (file)
index dc88e3b..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf
-lf
-crlf\r
-lf
-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text/zero-byte b/tests/resources/crlf_data/windows/autocrlf_input,text/zero-byte
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/all-crlf b/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/all-crlf
deleted file mode 100644 (file)
index a9a2e89..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-crlf\r
-crlf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/all-crlf-utf8bom
deleted file mode 100644 (file)
index 0aa76e4..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-crlf\r
-crlf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/all-lf b/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/all-lf
deleted file mode 100644 (file)
index f557a02..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf\r
-lf\r
-lf\r
-lf\r
-lf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/all-lf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/all-lf-utf8bom
deleted file mode 100644 (file)
index 381cfe6..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf\r
-lf\r
-lf\r
-lf\r
-lf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/binary-all-crlf
deleted file mode 100644 (file)
index 8534075..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-\ 1one\r
-two\r
-three\r
-four\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/binary-all-lf b/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/binary-all-lf
deleted file mode 100644 (file)
index 8534075..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-\ 1one\r
-two\r
-three\r
-four\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/binary-mixed-lf-cr
deleted file mode 100644 (file)
index fd2abfa..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-\ 1one\r
-two\rthree\r
-four\r
\ 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/windows/autocrlf_input,text_auto,eol_crlf/binary-mixed-lf-cr-crlf
deleted file mode 100644 (file)
index fd2abfa..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-\ 1one\r
-two\rthree\r
-four\r
\ 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/windows/autocrlf_input,text_auto,eol_crlf/few-utf8-chars-crlf
deleted file mode 100644 (file)
index 0e05288..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-⚽The rest is ASCII01.\r
-The rest is ASCII02.\r
-The rest is ASCII03.\r
-The rest is ASCII04.\r
-The rest is ASCII05.\r
-The rest is ASCII06.\r
-The rest is ASCII07.\r
-The rest is ASCII08.\r
-The rest is ASCII09.\r
-The rest is ASCII10.\r
-The rest is ASCII11.\r
-The rest is ASCII12.\r
-The rest is ASCII13.\r
-The rest is ASCII14.\r
-The rest is ASCII15.\r
-The rest is ASCII16.\r
-The rest is ASCII17.\r
-The rest is ASCII18.\r
-The rest is ASCII19.\r
-The rest is ASCII20.\r
-The rest is ASCII21.\r
-The rest is ASCII22.\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/few-utf8-chars-lf b/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/few-utf8-chars-lf
deleted file mode 100644 (file)
index 0e05288..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-⚽The rest is ASCII01.\r
-The rest is ASCII02.\r
-The rest is ASCII03.\r
-The rest is ASCII04.\r
-The rest is ASCII05.\r
-The rest is ASCII06.\r
-The rest is ASCII07.\r
-The rest is ASCII08.\r
-The rest is ASCII09.\r
-The rest is ASCII10.\r
-The rest is ASCII11.\r
-The rest is ASCII12.\r
-The rest is ASCII13.\r
-The rest is ASCII14.\r
-The rest is ASCII15.\r
-The rest is ASCII16.\r
-The rest is ASCII17.\r
-The rest is ASCII18.\r
-The rest is ASCII19.\r
-The rest is ASCII20.\r
-The rest is ASCII21.\r
-The rest is ASCII22.\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/many-utf8-chars-crlf
deleted file mode 100644 (file)
index cd574f5..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-Lets sing!\r
-♫♪♬♩\r
-Eat food\r
-🍅🍕\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/many-utf8-chars-lf b/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/many-utf8-chars-lf
deleted file mode 100644 (file)
index cd574f5..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-Lets sing!\r
-♫♪♬♩\r
-Eat food\r
-🍅🍕\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/mixed-lf-cr
deleted file mode 100644 (file)
index df8c0f6..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-one\r
-two\rthree\r
-four\r
\ 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/windows/autocrlf_input,text_auto,eol_crlf/mixed-lf-cr-crlf
deleted file mode 100644 (file)
index df8c0f6..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-one\r
-two\rthree\r
-four\r
\ 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/windows/autocrlf_input,text_auto,eol_crlf/more-crlf
deleted file mode 100644 (file)
index e682c30..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-crlf\r
-crlf\r
-lf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/more-crlf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/more-crlf-utf8bom
deleted file mode 100644 (file)
index 2e1220c..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-crlf\r
-crlf\r
-lf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/more-lf b/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/more-lf
deleted file mode 100644 (file)
index 6da5b0c..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf\r
-lf\r
-crlf\r
-lf\r
-lf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/more-lf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/more-lf-utf8bom
deleted file mode 100644 (file)
index 3fa59c8..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf\r
-lf\r
-crlf\r
-lf\r
-lf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/zero-byte b/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/zero-byte
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/all-crlf b/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/all-crlf
deleted file mode 100644 (file)
index a9a2e89..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-crlf\r
-crlf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/all-crlf-utf8bom
deleted file mode 100644 (file)
index 0aa76e4..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-crlf\r
-crlf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/all-lf b/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/all-lf
deleted file mode 100644 (file)
index 799770d..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf
-lf
-lf
-lf
-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/all-lf-utf8bom
deleted file mode 100644 (file)
index 7cce67e..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-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/windows/autocrlf_input,text_auto,eol_lf/binary-all-crlf
deleted file mode 100644 (file)
index 8534075..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-\ 1one\r
-two\r
-three\r
-four\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/binary-all-lf b/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/binary-all-lf
deleted file mode 100644 (file)
index af6fcf6..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-\ 1one
-two
-three
-four
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/binary-mixed-lf-cr
deleted file mode 100644 (file)
index 203555c..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-\ 1one
-two\rthree
-four\r
\ 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/windows/autocrlf_input,text_auto,eol_lf/binary-mixed-lf-cr-crlf
deleted file mode 100644 (file)
index aaf083a..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-\ 1one
-two\rthree\r
-four\r
\ 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/windows/autocrlf_input,text_auto,eol_lf/few-utf8-chars-crlf
deleted file mode 100644 (file)
index 0e05288..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-⚽The rest is ASCII01.\r
-The rest is ASCII02.\r
-The rest is ASCII03.\r
-The rest is ASCII04.\r
-The rest is ASCII05.\r
-The rest is ASCII06.\r
-The rest is ASCII07.\r
-The rest is ASCII08.\r
-The rest is ASCII09.\r
-The rest is ASCII10.\r
-The rest is ASCII11.\r
-The rest is ASCII12.\r
-The rest is ASCII13.\r
-The rest is ASCII14.\r
-The rest is ASCII15.\r
-The rest is ASCII16.\r
-The rest is ASCII17.\r
-The rest is ASCII18.\r
-The rest is ASCII19.\r
-The rest is ASCII20.\r
-The rest is ASCII21.\r
-The rest is ASCII22.\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/few-utf8-chars-lf
deleted file mode 100644 (file)
index f4d25b7..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-⚽The rest is ASCII01.
-The rest is ASCII02.
-The rest is ASCII03.
-The rest is ASCII04.
-The rest is ASCII05.
-The rest is ASCII06.
-The rest is ASCII07.
-The rest is ASCII08.
-The rest is ASCII09.
-The rest is ASCII10.
-The rest is ASCII11.
-The rest is ASCII12.
-The rest is ASCII13.
-The rest is ASCII14.
-The rest is ASCII15.
-The rest is ASCII16.
-The rest is ASCII17.
-The rest is ASCII18.
-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_lf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/many-utf8-chars-crlf
deleted file mode 100644 (file)
index cd574f5..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-Lets sing!\r
-♫♪♬♩\r
-Eat food\r
-🍅🍕\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/many-utf8-chars-lf
deleted file mode 100644 (file)
index 9a6c353..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-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/windows/autocrlf_input,text_auto,eol_lf/mixed-lf-cr
deleted file mode 100644 (file)
index d11e7ef..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-one
-two\rthree
-four\r
\ 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/windows/autocrlf_input,text_auto,eol_lf/mixed-lf-cr-crlf
deleted file mode 100644 (file)
index 417786f..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-one
-two\rthree\r
-four\r
\ 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/windows/autocrlf_input,text_auto,eol_lf/more-crlf
deleted file mode 100644 (file)
index 0ff5a53..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-crlf\r
-crlf\r
-lf
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/more-crlf-utf8bom
deleted file mode 100644 (file)
index ea030d3..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-crlf\r
-crlf\r
-lf
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/more-lf b/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/more-lf
deleted file mode 100644 (file)
index 04de00b..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf
-lf
-crlf\r
-lf
-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/more-lf-utf8bom
deleted file mode 100644 (file)
index dc88e3b..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf
-lf
-crlf\r
-lf
-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/zero-byte b/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/zero-byte
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto/all-crlf b/tests/resources/crlf_data/windows/autocrlf_input,text_auto/all-crlf
deleted file mode 100644 (file)
index a9a2e89..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-crlf\r
-crlf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto/all-crlf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_input,text_auto/all-crlf-utf8bom
deleted file mode 100644 (file)
index 0aa76e4..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-crlf\r
-crlf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto/all-lf b/tests/resources/crlf_data/windows/autocrlf_input,text_auto/all-lf
deleted file mode 100644 (file)
index 799770d..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf
-lf
-lf
-lf
-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto/all-lf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_input,text_auto/all-lf-utf8bom
deleted file mode 100644 (file)
index 7cce67e..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf
-lf
-lf
-lf
-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto/binary-all-crlf b/tests/resources/crlf_data/windows/autocrlf_input,text_auto/binary-all-crlf
deleted file mode 100644 (file)
index 8534075..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-\ 1one\r
-two\r
-three\r
-four\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto/binary-all-lf b/tests/resources/crlf_data/windows/autocrlf_input,text_auto/binary-all-lf
deleted file mode 100644 (file)
index af6fcf6..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-\ 1one
-two
-three
-four
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto/binary-mixed-lf-cr b/tests/resources/crlf_data/windows/autocrlf_input,text_auto/binary-mixed-lf-cr
deleted file mode 100644 (file)
index 203555c..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-\ 1one
-two\rthree
-four\r
\ 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/windows/autocrlf_input,text_auto/binary-mixed-lf-cr-crlf
deleted file mode 100644 (file)
index aaf083a..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-\ 1one
-two\rthree\r
-four\r
\ 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/autocrlf_input,text_auto/few-utf8-chars-crlf
deleted file mode 100644 (file)
index 0e05288..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-⚽The rest is ASCII01.\r
-The rest is ASCII02.\r
-The rest is ASCII03.\r
-The rest is ASCII04.\r
-The rest is ASCII05.\r
-The rest is ASCII06.\r
-The rest is ASCII07.\r
-The rest is ASCII08.\r
-The rest is ASCII09.\r
-The rest is ASCII10.\r
-The rest is ASCII11.\r
-The rest is ASCII12.\r
-The rest is ASCII13.\r
-The rest is ASCII14.\r
-The rest is ASCII15.\r
-The rest is ASCII16.\r
-The rest is ASCII17.\r
-The rest is ASCII18.\r
-The rest is ASCII19.\r
-The rest is ASCII20.\r
-The rest is ASCII21.\r
-The rest is ASCII22.\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto/few-utf8-chars-lf b/tests/resources/crlf_data/windows/autocrlf_input,text_auto/few-utf8-chars-lf
deleted file mode 100644 (file)
index f4d25b7..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-⚽The rest is ASCII01.
-The rest is ASCII02.
-The rest is ASCII03.
-The rest is ASCII04.
-The rest is ASCII05.
-The rest is ASCII06.
-The rest is ASCII07.
-The rest is ASCII08.
-The rest is ASCII09.
-The rest is ASCII10.
-The rest is ASCII11.
-The rest is ASCII12.
-The rest is ASCII13.
-The rest is ASCII14.
-The rest is ASCII15.
-The rest is ASCII16.
-The rest is ASCII17.
-The rest is ASCII18.
-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/autocrlf_input,text_auto/many-utf8-chars-crlf
deleted file mode 100644 (file)
index cd574f5..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-Lets sing!\r
-♫♪♬♩\r
-Eat food\r
-🍅🍕\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto/many-utf8-chars-lf b/tests/resources/crlf_data/windows/autocrlf_input,text_auto/many-utf8-chars-lf
deleted file mode 100644 (file)
index 9a6c353..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-Lets sing!
-♫♪♬♩
-Eat food
-🍅🍕
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto/mixed-lf-cr b/tests/resources/crlf_data/windows/autocrlf_input,text_auto/mixed-lf-cr
deleted file mode 100644 (file)
index d11e7ef..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-one
-two\rthree
-four\r
\ 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/windows/autocrlf_input,text_auto/mixed-lf-cr-crlf
deleted file mode 100644 (file)
index 417786f..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-one
-two\rthree\r
-four\r
\ 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/windows/autocrlf_input,text_auto/more-crlf
deleted file mode 100644 (file)
index 0ff5a53..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-crlf\r
-crlf\r
-lf
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto/more-crlf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_input,text_auto/more-crlf-utf8bom
deleted file mode 100644 (file)
index ea030d3..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-crlf\r
-crlf\r
-lf
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto/more-lf b/tests/resources/crlf_data/windows/autocrlf_input,text_auto/more-lf
deleted file mode 100644 (file)
index 04de00b..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf
-lf
-crlf\r
-lf
-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto/more-lf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_input,text_auto/more-lf-utf8bom
deleted file mode 100644 (file)
index dc88e3b..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf
-lf
-crlf\r
-lf
-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto/zero-byte b/tests/resources/crlf_data/windows/autocrlf_input,text_auto/zero-byte
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/tests/resources/crlf_data/windows/autocrlf_input/all-crlf b/tests/resources/crlf_data/windows/autocrlf_input/all-crlf
deleted file mode 100644 (file)
index a9a2e89..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-crlf\r
-crlf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_input/all-crlf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_input/all-crlf-utf8bom
deleted file mode 100644 (file)
index 0aa76e4..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-crlf\r
-crlf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_input/all-lf b/tests/resources/crlf_data/windows/autocrlf_input/all-lf
deleted file mode 100644 (file)
index 799770d..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf
-lf
-lf
-lf
-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input/all-lf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_input/all-lf-utf8bom
deleted file mode 100644 (file)
index 7cce67e..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf
-lf
-lf
-lf
-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input/binary-all-crlf b/tests/resources/crlf_data/windows/autocrlf_input/binary-all-crlf
deleted file mode 100644 (file)
index 8534075..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-\ 1one\r
-two\r
-three\r
-four\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_input/binary-all-lf b/tests/resources/crlf_data/windows/autocrlf_input/binary-all-lf
deleted file mode 100644 (file)
index af6fcf6..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-\ 1one
-two
-three
-four
diff --git a/tests/resources/crlf_data/windows/autocrlf_input/binary-mixed-lf-cr b/tests/resources/crlf_data/windows/autocrlf_input/binary-mixed-lf-cr
deleted file mode 100644 (file)
index 203555c..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-\ 1one
-two\rthree
-four\r
\ 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/windows/autocrlf_input/binary-mixed-lf-cr-crlf
deleted file mode 100644 (file)
index aaf083a..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-\ 1one
-two\rthree\r
-four\r
\ 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/autocrlf_input/few-utf8-chars-crlf
deleted file mode 100644 (file)
index 0e05288..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-⚽The rest is ASCII01.\r
-The rest is ASCII02.\r
-The rest is ASCII03.\r
-The rest is ASCII04.\r
-The rest is ASCII05.\r
-The rest is ASCII06.\r
-The rest is ASCII07.\r
-The rest is ASCII08.\r
-The rest is ASCII09.\r
-The rest is ASCII10.\r
-The rest is ASCII11.\r
-The rest is ASCII12.\r
-The rest is ASCII13.\r
-The rest is ASCII14.\r
-The rest is ASCII15.\r
-The rest is ASCII16.\r
-The rest is ASCII17.\r
-The rest is ASCII18.\r
-The rest is ASCII19.\r
-The rest is ASCII20.\r
-The rest is ASCII21.\r
-The rest is ASCII22.\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_input/few-utf8-chars-lf b/tests/resources/crlf_data/windows/autocrlf_input/few-utf8-chars-lf
deleted file mode 100644 (file)
index f4d25b7..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-⚽The rest is ASCII01.
-The rest is ASCII02.
-The rest is ASCII03.
-The rest is ASCII04.
-The rest is ASCII05.
-The rest is ASCII06.
-The rest is ASCII07.
-The rest is ASCII08.
-The rest is ASCII09.
-The rest is ASCII10.
-The rest is ASCII11.
-The rest is ASCII12.
-The rest is ASCII13.
-The rest is ASCII14.
-The rest is ASCII15.
-The rest is ASCII16.
-The rest is ASCII17.
-The rest is ASCII18.
-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/autocrlf_input/many-utf8-chars-crlf
deleted file mode 100644 (file)
index cd574f5..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-Lets sing!\r
-♫♪♬♩\r
-Eat food\r
-🍅🍕\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_input/many-utf8-chars-lf b/tests/resources/crlf_data/windows/autocrlf_input/many-utf8-chars-lf
deleted file mode 100644 (file)
index 9a6c353..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-Lets sing!
-♫♪♬♩
-Eat food
-🍅🍕
diff --git a/tests/resources/crlf_data/windows/autocrlf_input/mixed-lf-cr b/tests/resources/crlf_data/windows/autocrlf_input/mixed-lf-cr
deleted file mode 100644 (file)
index d11e7ef..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-one
-two\rthree
-four\r
\ 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/windows/autocrlf_input/mixed-lf-cr-crlf
deleted file mode 100644 (file)
index 417786f..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-one
-two\rthree\r
-four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_input/more-crlf b/tests/resources/crlf_data/windows/autocrlf_input/more-crlf
deleted file mode 100644 (file)
index 0ff5a53..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-crlf\r
-crlf\r
-lf
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_input/more-crlf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_input/more-crlf-utf8bom
deleted file mode 100644 (file)
index ea030d3..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-crlf\r
-crlf\r
-lf
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_input/more-lf b/tests/resources/crlf_data/windows/autocrlf_input/more-lf
deleted file mode 100644 (file)
index 04de00b..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf
-lf
-crlf\r
-lf
-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input/more-lf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_input/more-lf-utf8bom
deleted file mode 100644 (file)
index dc88e3b..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf
-lf
-crlf\r
-lf
-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_input/zero-byte b/tests/resources/crlf_data/windows/autocrlf_input/zero-byte
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,-crlf/all-crlf b/tests/resources/crlf_data/windows/autocrlf_true,-crlf/all-crlf
deleted file mode 100644 (file)
index a9a2e89..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-crlf\r
-crlf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,-crlf/all-crlf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_true,-crlf/all-crlf-utf8bom
deleted file mode 100644 (file)
index 0aa76e4..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-crlf\r
-crlf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,-crlf/all-lf b/tests/resources/crlf_data/windows/autocrlf_true,-crlf/all-lf
deleted file mode 100644 (file)
index 799770d..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf
-lf
-lf
-lf
-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,-crlf/all-lf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_true,-crlf/all-lf-utf8bom
deleted file mode 100644 (file)
index 7cce67e..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf
-lf
-lf
-lf
-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,-crlf/binary-all-crlf b/tests/resources/crlf_data/windows/autocrlf_true,-crlf/binary-all-crlf
deleted file mode 100644 (file)
index 8534075..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-\ 1one\r
-two\r
-three\r
-four\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,-crlf/binary-all-lf b/tests/resources/crlf_data/windows/autocrlf_true,-crlf/binary-all-lf
deleted file mode 100644 (file)
index af6fcf6..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-\ 1one
-two
-three
-four
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,-crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows/autocrlf_true,-crlf/binary-mixed-lf-cr
deleted file mode 100644 (file)
index 203555c..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-\ 1one
-two\rthree
-four\r
\ 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/windows/autocrlf_true,-crlf/binary-mixed-lf-cr-crlf
deleted file mode 100644 (file)
index aaf083a..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-\ 1one
-two\rthree\r
-four\r
\ 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/autocrlf_true,-crlf/few-utf8-chars-crlf
deleted file mode 100644 (file)
index 0e05288..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-⚽The rest is ASCII01.\r
-The rest is ASCII02.\r
-The rest is ASCII03.\r
-The rest is ASCII04.\r
-The rest is ASCII05.\r
-The rest is ASCII06.\r
-The rest is ASCII07.\r
-The rest is ASCII08.\r
-The rest is ASCII09.\r
-The rest is ASCII10.\r
-The rest is ASCII11.\r
-The rest is ASCII12.\r
-The rest is ASCII13.\r
-The rest is ASCII14.\r
-The rest is ASCII15.\r
-The rest is ASCII16.\r
-The rest is ASCII17.\r
-The rest is ASCII18.\r
-The rest is ASCII19.\r
-The rest is ASCII20.\r
-The rest is ASCII21.\r
-The rest is ASCII22.\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,-crlf/few-utf8-chars-lf b/tests/resources/crlf_data/windows/autocrlf_true,-crlf/few-utf8-chars-lf
deleted file mode 100644 (file)
index f4d25b7..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-⚽The rest is ASCII01.
-The rest is ASCII02.
-The rest is ASCII03.
-The rest is ASCII04.
-The rest is ASCII05.
-The rest is ASCII06.
-The rest is ASCII07.
-The rest is ASCII08.
-The rest is ASCII09.
-The rest is ASCII10.
-The rest is ASCII11.
-The rest is ASCII12.
-The rest is ASCII13.
-The rest is ASCII14.
-The rest is ASCII15.
-The rest is ASCII16.
-The rest is ASCII17.
-The rest is ASCII18.
-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/autocrlf_true,-crlf/many-utf8-chars-crlf
deleted file mode 100644 (file)
index cd574f5..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-Lets sing!\r
-♫♪♬♩\r
-Eat food\r
-🍅🍕\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,-crlf/many-utf8-chars-lf b/tests/resources/crlf_data/windows/autocrlf_true,-crlf/many-utf8-chars-lf
deleted file mode 100644 (file)
index 9a6c353..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-Lets sing!
-♫♪♬♩
-Eat food
-🍅🍕
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,-crlf/mixed-lf-cr b/tests/resources/crlf_data/windows/autocrlf_true,-crlf/mixed-lf-cr
deleted file mode 100644 (file)
index d11e7ef..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-one
-two\rthree
-four\r
\ 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/windows/autocrlf_true,-crlf/mixed-lf-cr-crlf
deleted file mode 100644 (file)
index 417786f..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-one
-two\rthree\r
-four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,-crlf/more-crlf b/tests/resources/crlf_data/windows/autocrlf_true,-crlf/more-crlf
deleted file mode 100644 (file)
index 0ff5a53..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-crlf\r
-crlf\r
-lf
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,-crlf/more-crlf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_true,-crlf/more-crlf-utf8bom
deleted file mode 100644 (file)
index ea030d3..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-crlf\r
-crlf\r
-lf
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,-crlf/more-lf b/tests/resources/crlf_data/windows/autocrlf_true,-crlf/more-lf
deleted file mode 100644 (file)
index 04de00b..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf
-lf
-crlf\r
-lf
-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,-crlf/more-lf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_true,-crlf/more-lf-utf8bom
deleted file mode 100644 (file)
index dc88e3b..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf
-lf
-crlf\r
-lf
-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,-crlf/zero-byte b/tests/resources/crlf_data/windows/autocrlf_true,-crlf/zero-byte
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,-text/all-crlf b/tests/resources/crlf_data/windows/autocrlf_true,-text/all-crlf
deleted file mode 100644 (file)
index a9a2e89..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-crlf\r
-crlf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,-text/all-crlf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_true,-text/all-crlf-utf8bom
deleted file mode 100644 (file)
index 0aa76e4..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-crlf\r
-crlf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,-text/all-lf b/tests/resources/crlf_data/windows/autocrlf_true,-text/all-lf
deleted file mode 100644 (file)
index 799770d..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf
-lf
-lf
-lf
-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,-text/all-lf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_true,-text/all-lf-utf8bom
deleted file mode 100644 (file)
index 7cce67e..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf
-lf
-lf
-lf
-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,-text/binary-all-crlf b/tests/resources/crlf_data/windows/autocrlf_true,-text/binary-all-crlf
deleted file mode 100644 (file)
index 8534075..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-\ 1one\r
-two\r
-three\r
-four\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,-text/binary-all-lf b/tests/resources/crlf_data/windows/autocrlf_true,-text/binary-all-lf
deleted file mode 100644 (file)
index af6fcf6..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-\ 1one
-two
-three
-four
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,-text/binary-mixed-lf-cr b/tests/resources/crlf_data/windows/autocrlf_true,-text/binary-mixed-lf-cr
deleted file mode 100644 (file)
index 203555c..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-\ 1one
-two\rthree
-four\r
\ 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/windows/autocrlf_true,-text/binary-mixed-lf-cr-crlf
deleted file mode 100644 (file)
index aaf083a..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-\ 1one
-two\rthree\r
-four\r
\ 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/autocrlf_true,-text/few-utf8-chars-crlf
deleted file mode 100644 (file)
index 0e05288..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-⚽The rest is ASCII01.\r
-The rest is ASCII02.\r
-The rest is ASCII03.\r
-The rest is ASCII04.\r
-The rest is ASCII05.\r
-The rest is ASCII06.\r
-The rest is ASCII07.\r
-The rest is ASCII08.\r
-The rest is ASCII09.\r
-The rest is ASCII10.\r
-The rest is ASCII11.\r
-The rest is ASCII12.\r
-The rest is ASCII13.\r
-The rest is ASCII14.\r
-The rest is ASCII15.\r
-The rest is ASCII16.\r
-The rest is ASCII17.\r
-The rest is ASCII18.\r
-The rest is ASCII19.\r
-The rest is ASCII20.\r
-The rest is ASCII21.\r
-The rest is ASCII22.\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,-text/few-utf8-chars-lf b/tests/resources/crlf_data/windows/autocrlf_true,-text/few-utf8-chars-lf
deleted file mode 100644 (file)
index f4d25b7..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-⚽The rest is ASCII01.
-The rest is ASCII02.
-The rest is ASCII03.
-The rest is ASCII04.
-The rest is ASCII05.
-The rest is ASCII06.
-The rest is ASCII07.
-The rest is ASCII08.
-The rest is ASCII09.
-The rest is ASCII10.
-The rest is ASCII11.
-The rest is ASCII12.
-The rest is ASCII13.
-The rest is ASCII14.
-The rest is ASCII15.
-The rest is ASCII16.
-The rest is ASCII17.
-The rest is ASCII18.
-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/autocrlf_true,-text/many-utf8-chars-crlf
deleted file mode 100644 (file)
index cd574f5..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-Lets sing!\r
-♫♪♬♩\r
-Eat food\r
-🍅🍕\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,-text/many-utf8-chars-lf b/tests/resources/crlf_data/windows/autocrlf_true,-text/many-utf8-chars-lf
deleted file mode 100644 (file)
index 9a6c353..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-Lets sing!
-♫♪♬♩
-Eat food
-🍅🍕
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,-text/mixed-lf-cr b/tests/resources/crlf_data/windows/autocrlf_true,-text/mixed-lf-cr
deleted file mode 100644 (file)
index d11e7ef..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-one
-two\rthree
-four\r
\ 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/windows/autocrlf_true,-text/mixed-lf-cr-crlf
deleted file mode 100644 (file)
index 417786f..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-one
-two\rthree\r
-four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,-text/more-crlf b/tests/resources/crlf_data/windows/autocrlf_true,-text/more-crlf
deleted file mode 100644 (file)
index 0ff5a53..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-crlf\r
-crlf\r
-lf
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,-text/more-crlf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_true,-text/more-crlf-utf8bom
deleted file mode 100644 (file)
index ea030d3..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-crlf\r
-crlf\r
-lf
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,-text/more-lf b/tests/resources/crlf_data/windows/autocrlf_true,-text/more-lf
deleted file mode 100644 (file)
index 04de00b..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf
-lf
-crlf\r
-lf
-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,-text/more-lf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_true,-text/more-lf-utf8bom
deleted file mode 100644 (file)
index dc88e3b..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf
-lf
-crlf\r
-lf
-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,-text/zero-byte b/tests/resources/crlf_data/windows/autocrlf_true,-text/zero-byte
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,crlf/all-crlf b/tests/resources/crlf_data/windows/autocrlf_true,crlf/all-crlf
deleted file mode 100644 (file)
index a9a2e89..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-crlf\r
-crlf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,crlf/all-crlf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_true,crlf/all-crlf-utf8bom
deleted file mode 100644 (file)
index 0aa76e4..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-crlf\r
-crlf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,crlf/all-lf b/tests/resources/crlf_data/windows/autocrlf_true,crlf/all-lf
deleted file mode 100644 (file)
index f557a02..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf\r
-lf\r
-lf\r
-lf\r
-lf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,crlf/all-lf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_true,crlf/all-lf-utf8bom
deleted file mode 100644 (file)
index 381cfe6..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf\r
-lf\r
-lf\r
-lf\r
-lf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,crlf/binary-all-crlf b/tests/resources/crlf_data/windows/autocrlf_true,crlf/binary-all-crlf
deleted file mode 100644 (file)
index 8534075..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-\ 1one\r
-two\r
-three\r
-four\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,crlf/binary-all-lf b/tests/resources/crlf_data/windows/autocrlf_true,crlf/binary-all-lf
deleted file mode 100644 (file)
index 8534075..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-\ 1one\r
-two\r
-three\r
-four\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows/autocrlf_true,crlf/binary-mixed-lf-cr
deleted file mode 100644 (file)
index fd2abfa..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-\ 1one\r
-two\rthree\r
-four\r
\ 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/windows/autocrlf_true,crlf/binary-mixed-lf-cr-crlf
deleted file mode 100644 (file)
index fd2abfa..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-\ 1one\r
-two\rthree\r
-four\r
\ 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/autocrlf_true,crlf/few-utf8-chars-crlf
deleted file mode 100644 (file)
index 0e05288..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-⚽The rest is ASCII01.\r
-The rest is ASCII02.\r
-The rest is ASCII03.\r
-The rest is ASCII04.\r
-The rest is ASCII05.\r
-The rest is ASCII06.\r
-The rest is ASCII07.\r
-The rest is ASCII08.\r
-The rest is ASCII09.\r
-The rest is ASCII10.\r
-The rest is ASCII11.\r
-The rest is ASCII12.\r
-The rest is ASCII13.\r
-The rest is ASCII14.\r
-The rest is ASCII15.\r
-The rest is ASCII16.\r
-The rest is ASCII17.\r
-The rest is ASCII18.\r
-The rest is ASCII19.\r
-The rest is ASCII20.\r
-The rest is ASCII21.\r
-The rest is ASCII22.\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,crlf/few-utf8-chars-lf b/tests/resources/crlf_data/windows/autocrlf_true,crlf/few-utf8-chars-lf
deleted file mode 100644 (file)
index 0e05288..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-⚽The rest is ASCII01.\r
-The rest is ASCII02.\r
-The rest is ASCII03.\r
-The rest is ASCII04.\r
-The rest is ASCII05.\r
-The rest is ASCII06.\r
-The rest is ASCII07.\r
-The rest is ASCII08.\r
-The rest is ASCII09.\r
-The rest is ASCII10.\r
-The rest is ASCII11.\r
-The rest is ASCII12.\r
-The rest is ASCII13.\r
-The rest is ASCII14.\r
-The rest is ASCII15.\r
-The rest is ASCII16.\r
-The rest is ASCII17.\r
-The rest is ASCII18.\r
-The rest is ASCII19.\r
-The rest is ASCII20.\r
-The rest is ASCII21.\r
-The rest is ASCII22.\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows/autocrlf_true,crlf/many-utf8-chars-crlf
deleted file mode 100644 (file)
index cd574f5..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-Lets sing!\r
-♫♪♬♩\r
-Eat food\r
-🍅🍕\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,crlf/many-utf8-chars-lf b/tests/resources/crlf_data/windows/autocrlf_true,crlf/many-utf8-chars-lf
deleted file mode 100644 (file)
index cd574f5..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-Lets sing!\r
-♫♪♬♩\r
-Eat food\r
-🍅🍕\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,crlf/mixed-lf-cr b/tests/resources/crlf_data/windows/autocrlf_true,crlf/mixed-lf-cr
deleted file mode 100644 (file)
index df8c0f6..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-one\r
-two\rthree\r
-four\r
\ 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/windows/autocrlf_true,crlf/mixed-lf-cr-crlf
deleted file mode 100644 (file)
index df8c0f6..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-one\r
-two\rthree\r
-four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,crlf/more-crlf b/tests/resources/crlf_data/windows/autocrlf_true,crlf/more-crlf
deleted file mode 100644 (file)
index e682c30..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-crlf\r
-crlf\r
-lf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,crlf/more-crlf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_true,crlf/more-crlf-utf8bom
deleted file mode 100644 (file)
index 2e1220c..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-crlf\r
-crlf\r
-lf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,crlf/more-lf b/tests/resources/crlf_data/windows/autocrlf_true,crlf/more-lf
deleted file mode 100644 (file)
index 6da5b0c..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf\r
-lf\r
-crlf\r
-lf\r
-lf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,crlf/more-lf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_true,crlf/more-lf-utf8bom
deleted file mode 100644 (file)
index 3fa59c8..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf\r
-lf\r
-crlf\r
-lf\r
-lf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,crlf/zero-byte b/tests/resources/crlf_data/windows/autocrlf_true,crlf/zero-byte
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/all-crlf b/tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/all-crlf
deleted file mode 100644 (file)
index a9a2e89..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-crlf\r
-crlf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/all-crlf-utf8bom
deleted file mode 100644 (file)
index 0aa76e4..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-crlf\r
-crlf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/all-lf b/tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/all-lf
deleted file mode 100644 (file)
index f557a02..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf\r
-lf\r
-lf\r
-lf\r
-lf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/all-lf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/all-lf-utf8bom
deleted file mode 100644 (file)
index 381cfe6..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf\r
-lf\r
-lf\r
-lf\r
-lf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/binary-all-crlf
deleted file mode 100644 (file)
index 8534075..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-\ 1one\r
-two\r
-three\r
-four\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/binary-all-lf b/tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/binary-all-lf
deleted file mode 100644 (file)
index 8534075..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-\ 1one\r
-two\r
-three\r
-four\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/binary-mixed-lf-cr
deleted file mode 100644 (file)
index fd2abfa..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-\ 1one\r
-two\rthree\r
-four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/binary-mixed-lf-cr-crlf
deleted file mode 100644 (file)
index fd2abfa..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-\ 1one\r
-two\rthree\r
-four\r
\ 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/autocrlf_true,eol_crlf/few-utf8-chars-crlf
deleted file mode 100644 (file)
index 0e05288..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-⚽The rest is ASCII01.\r
-The rest is ASCII02.\r
-The rest is ASCII03.\r
-The rest is ASCII04.\r
-The rest is ASCII05.\r
-The rest is ASCII06.\r
-The rest is ASCII07.\r
-The rest is ASCII08.\r
-The rest is ASCII09.\r
-The rest is ASCII10.\r
-The rest is ASCII11.\r
-The rest is ASCII12.\r
-The rest is ASCII13.\r
-The rest is ASCII14.\r
-The rest is ASCII15.\r
-The rest is ASCII16.\r
-The rest is ASCII17.\r
-The rest is ASCII18.\r
-The rest is ASCII19.\r
-The rest is ASCII20.\r
-The rest is ASCII21.\r
-The rest is ASCII22.\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/few-utf8-chars-lf b/tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/few-utf8-chars-lf
deleted file mode 100644 (file)
index 0e05288..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-⚽The rest is ASCII01.\r
-The rest is ASCII02.\r
-The rest is ASCII03.\r
-The rest is ASCII04.\r
-The rest is ASCII05.\r
-The rest is ASCII06.\r
-The rest is ASCII07.\r
-The rest is ASCII08.\r
-The rest is ASCII09.\r
-The rest is ASCII10.\r
-The rest is ASCII11.\r
-The rest is ASCII12.\r
-The rest is ASCII13.\r
-The rest is ASCII14.\r
-The rest is ASCII15.\r
-The rest is ASCII16.\r
-The rest is ASCII17.\r
-The rest is ASCII18.\r
-The rest is ASCII19.\r
-The rest is ASCII20.\r
-The rest is ASCII21.\r
-The rest is ASCII22.\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/many-utf8-chars-crlf
deleted file mode 100644 (file)
index cd574f5..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-Lets sing!\r
-♫♪♬♩\r
-Eat food\r
-🍅🍕\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/many-utf8-chars-lf b/tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/many-utf8-chars-lf
deleted file mode 100644 (file)
index cd574f5..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-Lets sing!\r
-♫♪♬♩\r
-Eat food\r
-🍅🍕\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/mixed-lf-cr
deleted file mode 100644 (file)
index df8c0f6..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-one\r
-two\rthree\r
-four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/mixed-lf-cr-crlf
deleted file mode 100644 (file)
index df8c0f6..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-one\r
-two\rthree\r
-four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/more-crlf b/tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/more-crlf
deleted file mode 100644 (file)
index e682c30..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-crlf\r
-crlf\r
-lf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/more-crlf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/more-crlf-utf8bom
deleted file mode 100644 (file)
index 2e1220c..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-crlf\r
-crlf\r
-lf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/more-lf b/tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/more-lf
deleted file mode 100644 (file)
index 6da5b0c..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf\r
-lf\r
-crlf\r
-lf\r
-lf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/more-lf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/more-lf-utf8bom
deleted file mode 100644 (file)
index 3fa59c8..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf\r
-lf\r
-crlf\r
-lf\r
-lf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/zero-byte b/tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/zero-byte
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,eol_lf/all-crlf b/tests/resources/crlf_data/windows/autocrlf_true,eol_lf/all-crlf
deleted file mode 100644 (file)
index a9a2e89..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-crlf\r
-crlf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_true,eol_lf/all-crlf-utf8bom
deleted file mode 100644 (file)
index 0aa76e4..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-crlf\r
-crlf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,eol_lf/all-lf b/tests/resources/crlf_data/windows/autocrlf_true,eol_lf/all-lf
deleted file mode 100644 (file)
index 799770d..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf
-lf
-lf
-lf
-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_true,eol_lf/all-lf-utf8bom
deleted file mode 100644 (file)
index 7cce67e..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-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/windows/autocrlf_true,eol_lf/binary-all-crlf
deleted file mode 100644 (file)
index 8534075..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-\ 1one\r
-two\r
-three\r
-four\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,eol_lf/binary-all-lf b/tests/resources/crlf_data/windows/autocrlf_true,eol_lf/binary-all-lf
deleted file mode 100644 (file)
index af6fcf6..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-\ 1one
-two
-three
-four
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows/autocrlf_true,eol_lf/binary-mixed-lf-cr
deleted file mode 100644 (file)
index 203555c..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-\ 1one
-two\rthree
-four\r
\ 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/windows/autocrlf_true,eol_lf/binary-mixed-lf-cr-crlf
deleted file mode 100644 (file)
index aaf083a..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-\ 1one
-two\rthree\r
-four\r
\ 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/autocrlf_true,eol_lf/few-utf8-chars-crlf
deleted file mode 100644 (file)
index 0e05288..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-⚽The rest is ASCII01.\r
-The rest is ASCII02.\r
-The rest is ASCII03.\r
-The rest is ASCII04.\r
-The rest is ASCII05.\r
-The rest is ASCII06.\r
-The rest is ASCII07.\r
-The rest is ASCII08.\r
-The rest is ASCII09.\r
-The rest is ASCII10.\r
-The rest is ASCII11.\r
-The rest is ASCII12.\r
-The rest is ASCII13.\r
-The rest is ASCII14.\r
-The rest is ASCII15.\r
-The rest is ASCII16.\r
-The rest is ASCII17.\r
-The rest is ASCII18.\r
-The rest is ASCII19.\r
-The rest is ASCII20.\r
-The rest is ASCII21.\r
-The rest is ASCII22.\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/windows/autocrlf_true,eol_lf/few-utf8-chars-lf
deleted file mode 100644 (file)
index f4d25b7..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-⚽The rest is ASCII01.
-The rest is ASCII02.
-The rest is ASCII03.
-The rest is ASCII04.
-The rest is ASCII05.
-The rest is ASCII06.
-The rest is ASCII07.
-The rest is ASCII08.
-The rest is ASCII09.
-The rest is ASCII10.
-The rest is ASCII11.
-The rest is ASCII12.
-The rest is ASCII13.
-The rest is ASCII14.
-The rest is ASCII15.
-The rest is ASCII16.
-The rest is ASCII17.
-The rest is ASCII18.
-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/autocrlf_true,eol_lf/many-utf8-chars-crlf
deleted file mode 100644 (file)
index cd574f5..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-Lets sing!\r
-♫♪♬♩\r
-Eat food\r
-🍅🍕\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/windows/autocrlf_true,eol_lf/many-utf8-chars-lf
deleted file mode 100644 (file)
index 9a6c353..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-Lets sing!
-♫♪♬♩
-Eat food
-🍅🍕
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/windows/autocrlf_true,eol_lf/mixed-lf-cr
deleted file mode 100644 (file)
index d11e7ef..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-one
-two\rthree
-four\r
\ 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/windows/autocrlf_true,eol_lf/mixed-lf-cr-crlf
deleted file mode 100644 (file)
index 417786f..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-one
-two\rthree\r
-four\r
\ 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/windows/autocrlf_true,eol_lf/more-crlf
deleted file mode 100644 (file)
index 0ff5a53..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-crlf\r
-crlf\r
-lf
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_true,eol_lf/more-crlf-utf8bom
deleted file mode 100644 (file)
index ea030d3..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-crlf\r
-crlf\r
-lf
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,eol_lf/more-lf b/tests/resources/crlf_data/windows/autocrlf_true,eol_lf/more-lf
deleted file mode 100644 (file)
index 04de00b..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf
-lf
-crlf\r
-lf
-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_true,eol_lf/more-lf-utf8bom
deleted file mode 100644 (file)
index dc88e3b..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf
-lf
-crlf\r
-lf
-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,eol_lf/zero-byte b/tests/resources/crlf_data/windows/autocrlf_true,eol_lf/zero-byte
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/all-crlf b/tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/all-crlf
deleted file mode 100644 (file)
index a9a2e89..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-crlf\r
-crlf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/all-crlf-utf8bom
deleted file mode 100644 (file)
index 0aa76e4..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-crlf\r
-crlf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/all-lf b/tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/all-lf
deleted file mode 100644 (file)
index f557a02..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf\r
-lf\r
-lf\r
-lf\r
-lf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/all-lf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/all-lf-utf8bom
deleted file mode 100644 (file)
index 381cfe6..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf\r
-lf\r
-lf\r
-lf\r
-lf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/binary-all-crlf
deleted file mode 100644 (file)
index 8534075..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-\ 1one\r
-two\r
-three\r
-four\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/binary-all-lf b/tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/binary-all-lf
deleted file mode 100644 (file)
index 8534075..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-\ 1one\r
-two\r
-three\r
-four\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/binary-mixed-lf-cr
deleted file mode 100644 (file)
index fd2abfa..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-\ 1one\r
-two\rthree\r
-four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/binary-mixed-lf-cr-crlf
deleted file mode 100644 (file)
index fd2abfa..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-\ 1one\r
-two\rthree\r
-four\r
\ 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/autocrlf_true,text,eol_crlf/few-utf8-chars-crlf
deleted file mode 100644 (file)
index 0e05288..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-⚽The rest is ASCII01.\r
-The rest is ASCII02.\r
-The rest is ASCII03.\r
-The rest is ASCII04.\r
-The rest is ASCII05.\r
-The rest is ASCII06.\r
-The rest is ASCII07.\r
-The rest is ASCII08.\r
-The rest is ASCII09.\r
-The rest is ASCII10.\r
-The rest is ASCII11.\r
-The rest is ASCII12.\r
-The rest is ASCII13.\r
-The rest is ASCII14.\r
-The rest is ASCII15.\r
-The rest is ASCII16.\r
-The rest is ASCII17.\r
-The rest is ASCII18.\r
-The rest is ASCII19.\r
-The rest is ASCII20.\r
-The rest is ASCII21.\r
-The rest is ASCII22.\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/few-utf8-chars-lf b/tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/few-utf8-chars-lf
deleted file mode 100644 (file)
index 0e05288..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-⚽The rest is ASCII01.\r
-The rest is ASCII02.\r
-The rest is ASCII03.\r
-The rest is ASCII04.\r
-The rest is ASCII05.\r
-The rest is ASCII06.\r
-The rest is ASCII07.\r
-The rest is ASCII08.\r
-The rest is ASCII09.\r
-The rest is ASCII10.\r
-The rest is ASCII11.\r
-The rest is ASCII12.\r
-The rest is ASCII13.\r
-The rest is ASCII14.\r
-The rest is ASCII15.\r
-The rest is ASCII16.\r
-The rest is ASCII17.\r
-The rest is ASCII18.\r
-The rest is ASCII19.\r
-The rest is ASCII20.\r
-The rest is ASCII21.\r
-The rest is ASCII22.\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/many-utf8-chars-crlf
deleted file mode 100644 (file)
index cd574f5..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-Lets sing!\r
-♫♪♬♩\r
-Eat food\r
-🍅🍕\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/many-utf8-chars-lf b/tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/many-utf8-chars-lf
deleted file mode 100644 (file)
index cd574f5..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-Lets sing!\r
-♫♪♬♩\r
-Eat food\r
-🍅🍕\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/mixed-lf-cr
deleted file mode 100644 (file)
index df8c0f6..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-one\r
-two\rthree\r
-four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/mixed-lf-cr-crlf
deleted file mode 100644 (file)
index df8c0f6..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-one\r
-two\rthree\r
-four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/more-crlf b/tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/more-crlf
deleted file mode 100644 (file)
index e682c30..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-crlf\r
-crlf\r
-lf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/more-crlf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/more-crlf-utf8bom
deleted file mode 100644 (file)
index 2e1220c..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-crlf\r
-crlf\r
-lf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/more-lf b/tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/more-lf
deleted file mode 100644 (file)
index 6da5b0c..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf\r
-lf\r
-crlf\r
-lf\r
-lf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/more-lf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/more-lf-utf8bom
deleted file mode 100644 (file)
index 3fa59c8..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf\r
-lf\r
-crlf\r
-lf\r
-lf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/zero-byte b/tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/zero-byte
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/all-crlf b/tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/all-crlf
deleted file mode 100644 (file)
index a9a2e89..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-crlf\r
-crlf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/all-crlf-utf8bom
deleted file mode 100644 (file)
index 0aa76e4..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-crlf\r
-crlf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/all-lf b/tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/all-lf
deleted file mode 100644 (file)
index 799770d..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf
-lf
-lf
-lf
-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/all-lf-utf8bom
deleted file mode 100644 (file)
index 7cce67e..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-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/windows/autocrlf_true,text,eol_lf/binary-all-crlf
deleted file mode 100644 (file)
index 8534075..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-\ 1one\r
-two\r
-three\r
-four\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/binary-all-lf b/tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/binary-all-lf
deleted file mode 100644 (file)
index af6fcf6..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-\ 1one
-two
-three
-four
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/binary-mixed-lf-cr
deleted file mode 100644 (file)
index 203555c..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-\ 1one
-two\rthree
-four\r
\ 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/windows/autocrlf_true,text,eol_lf/binary-mixed-lf-cr-crlf
deleted file mode 100644 (file)
index aaf083a..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-\ 1one
-two\rthree\r
-four\r
\ 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/autocrlf_true,text,eol_lf/few-utf8-chars-crlf
deleted file mode 100644 (file)
index 0e05288..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-⚽The rest is ASCII01.\r
-The rest is ASCII02.\r
-The rest is ASCII03.\r
-The rest is ASCII04.\r
-The rest is ASCII05.\r
-The rest is ASCII06.\r
-The rest is ASCII07.\r
-The rest is ASCII08.\r
-The rest is ASCII09.\r
-The rest is ASCII10.\r
-The rest is ASCII11.\r
-The rest is ASCII12.\r
-The rest is ASCII13.\r
-The rest is ASCII14.\r
-The rest is ASCII15.\r
-The rest is ASCII16.\r
-The rest is ASCII17.\r
-The rest is ASCII18.\r
-The rest is ASCII19.\r
-The rest is ASCII20.\r
-The rest is ASCII21.\r
-The rest is ASCII22.\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/few-utf8-chars-lf
deleted file mode 100644 (file)
index f4d25b7..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-⚽The rest is ASCII01.
-The rest is ASCII02.
-The rest is ASCII03.
-The rest is ASCII04.
-The rest is ASCII05.
-The rest is ASCII06.
-The rest is ASCII07.
-The rest is ASCII08.
-The rest is ASCII09.
-The rest is ASCII10.
-The rest is ASCII11.
-The rest is ASCII12.
-The rest is ASCII13.
-The rest is ASCII14.
-The rest is ASCII15.
-The rest is ASCII16.
-The rest is ASCII17.
-The rest is ASCII18.
-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/autocrlf_true,text,eol_lf/many-utf8-chars-crlf
deleted file mode 100644 (file)
index cd574f5..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-Lets sing!\r
-♫♪♬♩\r
-Eat food\r
-🍅🍕\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/many-utf8-chars-lf
deleted file mode 100644 (file)
index 9a6c353..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-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/windows/autocrlf_true,text,eol_lf/mixed-lf-cr
deleted file mode 100644 (file)
index d11e7ef..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-one
-two\rthree
-four\r
\ 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/windows/autocrlf_true,text,eol_lf/mixed-lf-cr-crlf
deleted file mode 100644 (file)
index 417786f..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-one
-two\rthree\r
-four\r
\ 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/windows/autocrlf_true,text,eol_lf/more-crlf
deleted file mode 100644 (file)
index 0ff5a53..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-crlf\r
-crlf\r
-lf
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/more-crlf-utf8bom
deleted file mode 100644 (file)
index ea030d3..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-crlf\r
-crlf\r
-lf
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/more-lf b/tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/more-lf
deleted file mode 100644 (file)
index 04de00b..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf
-lf
-crlf\r
-lf
-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/more-lf-utf8bom
deleted file mode 100644 (file)
index dc88e3b..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf
-lf
-crlf\r
-lf
-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/zero-byte b/tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/zero-byte
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text/all-crlf b/tests/resources/crlf_data/windows/autocrlf_true,text/all-crlf
deleted file mode 100644 (file)
index a9a2e89..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-crlf\r
-crlf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text/all-crlf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_true,text/all-crlf-utf8bom
deleted file mode 100644 (file)
index 0aa76e4..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-crlf\r
-crlf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text/all-lf b/tests/resources/crlf_data/windows/autocrlf_true,text/all-lf
deleted file mode 100644 (file)
index f557a02..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf\r
-lf\r
-lf\r
-lf\r
-lf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text/all-lf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_true,text/all-lf-utf8bom
deleted file mode 100644 (file)
index 381cfe6..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf\r
-lf\r
-lf\r
-lf\r
-lf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text/binary-all-crlf b/tests/resources/crlf_data/windows/autocrlf_true,text/binary-all-crlf
deleted file mode 100644 (file)
index 8534075..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-\ 1one\r
-two\r
-three\r
-four\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text/binary-all-lf b/tests/resources/crlf_data/windows/autocrlf_true,text/binary-all-lf
deleted file mode 100644 (file)
index 8534075..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-\ 1one\r
-two\r
-three\r
-four\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text/binary-mixed-lf-cr b/tests/resources/crlf_data/windows/autocrlf_true,text/binary-mixed-lf-cr
deleted file mode 100644 (file)
index fd2abfa..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-\ 1one\r
-two\rthree\r
-four\r
\ 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/windows/autocrlf_true,text/binary-mixed-lf-cr-crlf
deleted file mode 100644 (file)
index fd2abfa..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-\ 1one\r
-two\rthree\r
-four\r
\ 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/autocrlf_true,text/few-utf8-chars-crlf
deleted file mode 100644 (file)
index 0e05288..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-⚽The rest is ASCII01.\r
-The rest is ASCII02.\r
-The rest is ASCII03.\r
-The rest is ASCII04.\r
-The rest is ASCII05.\r
-The rest is ASCII06.\r
-The rest is ASCII07.\r
-The rest is ASCII08.\r
-The rest is ASCII09.\r
-The rest is ASCII10.\r
-The rest is ASCII11.\r
-The rest is ASCII12.\r
-The rest is ASCII13.\r
-The rest is ASCII14.\r
-The rest is ASCII15.\r
-The rest is ASCII16.\r
-The rest is ASCII17.\r
-The rest is ASCII18.\r
-The rest is ASCII19.\r
-The rest is ASCII20.\r
-The rest is ASCII21.\r
-The rest is ASCII22.\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text/few-utf8-chars-lf b/tests/resources/crlf_data/windows/autocrlf_true,text/few-utf8-chars-lf
deleted file mode 100644 (file)
index 0e05288..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-⚽The rest is ASCII01.\r
-The rest is ASCII02.\r
-The rest is ASCII03.\r
-The rest is ASCII04.\r
-The rest is ASCII05.\r
-The rest is ASCII06.\r
-The rest is ASCII07.\r
-The rest is ASCII08.\r
-The rest is ASCII09.\r
-The rest is ASCII10.\r
-The rest is ASCII11.\r
-The rest is ASCII12.\r
-The rest is ASCII13.\r
-The rest is ASCII14.\r
-The rest is ASCII15.\r
-The rest is ASCII16.\r
-The rest is ASCII17.\r
-The rest is ASCII18.\r
-The rest is ASCII19.\r
-The rest is ASCII20.\r
-The rest is ASCII21.\r
-The rest is ASCII22.\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text/many-utf8-chars-crlf b/tests/resources/crlf_data/windows/autocrlf_true,text/many-utf8-chars-crlf
deleted file mode 100644 (file)
index cd574f5..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-Lets sing!\r
-♫♪♬♩\r
-Eat food\r
-🍅🍕\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text/many-utf8-chars-lf b/tests/resources/crlf_data/windows/autocrlf_true,text/many-utf8-chars-lf
deleted file mode 100644 (file)
index cd574f5..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-Lets sing!\r
-♫♪♬♩\r
-Eat food\r
-🍅🍕\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text/mixed-lf-cr b/tests/resources/crlf_data/windows/autocrlf_true,text/mixed-lf-cr
deleted file mode 100644 (file)
index df8c0f6..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-one\r
-two\rthree\r
-four\r
\ 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/windows/autocrlf_true,text/mixed-lf-cr-crlf
deleted file mode 100644 (file)
index df8c0f6..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-one\r
-two\rthree\r
-four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text/more-crlf b/tests/resources/crlf_data/windows/autocrlf_true,text/more-crlf
deleted file mode 100644 (file)
index e682c30..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-crlf\r
-crlf\r
-lf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text/more-crlf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_true,text/more-crlf-utf8bom
deleted file mode 100644 (file)
index 2e1220c..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-crlf\r
-crlf\r
-lf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text/more-lf b/tests/resources/crlf_data/windows/autocrlf_true,text/more-lf
deleted file mode 100644 (file)
index 6da5b0c..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf\r
-lf\r
-crlf\r
-lf\r
-lf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text/more-lf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_true,text/more-lf-utf8bom
deleted file mode 100644 (file)
index 3fa59c8..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf\r
-lf\r
-crlf\r
-lf\r
-lf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text/zero-byte b/tests/resources/crlf_data/windows/autocrlf_true,text/zero-byte
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/all-crlf b/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/all-crlf
deleted file mode 100644 (file)
index a9a2e89..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-crlf\r
-crlf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/all-crlf-utf8bom
deleted file mode 100644 (file)
index 0aa76e4..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-crlf\r
-crlf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/all-lf b/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/all-lf
deleted file mode 100644 (file)
index f557a02..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf\r
-lf\r
-lf\r
-lf\r
-lf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/all-lf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/all-lf-utf8bom
deleted file mode 100644 (file)
index 381cfe6..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf\r
-lf\r
-lf\r
-lf\r
-lf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/binary-all-crlf
deleted file mode 100644 (file)
index 8534075..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-\ 1one\r
-two\r
-three\r
-four\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/binary-all-lf b/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/binary-all-lf
deleted file mode 100644 (file)
index 8534075..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-\ 1one\r
-two\r
-three\r
-four\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr
deleted file mode 100644 (file)
index fd2abfa..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-\ 1one\r
-two\rthree\r
-four\r
\ 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/windows/autocrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr-crlf
deleted file mode 100644 (file)
index fd2abfa..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-\ 1one\r
-two\rthree\r
-four\r
\ 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/autocrlf_true,text_auto,eol_crlf/few-utf8-chars-crlf
deleted file mode 100644 (file)
index 0e05288..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-⚽The rest is ASCII01.\r
-The rest is ASCII02.\r
-The rest is ASCII03.\r
-The rest is ASCII04.\r
-The rest is ASCII05.\r
-The rest is ASCII06.\r
-The rest is ASCII07.\r
-The rest is ASCII08.\r
-The rest is ASCII09.\r
-The rest is ASCII10.\r
-The rest is ASCII11.\r
-The rest is ASCII12.\r
-The rest is ASCII13.\r
-The rest is ASCII14.\r
-The rest is ASCII15.\r
-The rest is ASCII16.\r
-The rest is ASCII17.\r
-The rest is ASCII18.\r
-The rest is ASCII19.\r
-The rest is ASCII20.\r
-The rest is ASCII21.\r
-The rest is ASCII22.\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/few-utf8-chars-lf b/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/few-utf8-chars-lf
deleted file mode 100644 (file)
index 0e05288..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-⚽The rest is ASCII01.\r
-The rest is ASCII02.\r
-The rest is ASCII03.\r
-The rest is ASCII04.\r
-The rest is ASCII05.\r
-The rest is ASCII06.\r
-The rest is ASCII07.\r
-The rest is ASCII08.\r
-The rest is ASCII09.\r
-The rest is ASCII10.\r
-The rest is ASCII11.\r
-The rest is ASCII12.\r
-The rest is ASCII13.\r
-The rest is ASCII14.\r
-The rest is ASCII15.\r
-The rest is ASCII16.\r
-The rest is ASCII17.\r
-The rest is ASCII18.\r
-The rest is ASCII19.\r
-The rest is ASCII20.\r
-The rest is ASCII21.\r
-The rest is ASCII22.\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/many-utf8-chars-crlf
deleted file mode 100644 (file)
index cd574f5..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-Lets sing!\r
-♫♪♬♩\r
-Eat food\r
-🍅🍕\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/many-utf8-chars-lf b/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/many-utf8-chars-lf
deleted file mode 100644 (file)
index cd574f5..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-Lets sing!\r
-♫♪♬♩\r
-Eat food\r
-🍅🍕\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/mixed-lf-cr
deleted file mode 100644 (file)
index df8c0f6..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-one\r
-two\rthree\r
-four\r
\ 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/windows/autocrlf_true,text_auto,eol_crlf/mixed-lf-cr-crlf
deleted file mode 100644 (file)
index df8c0f6..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-one\r
-two\rthree\r
-four\r
\ 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/autocrlf_true,text_auto,eol_crlf/more-crlf
deleted file mode 100644 (file)
index e682c30..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-crlf\r
-crlf\r
-lf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/more-crlf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/more-crlf-utf8bom
deleted file mode 100644 (file)
index 2e1220c..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-crlf\r
-crlf\r
-lf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/more-lf b/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/more-lf
deleted file mode 100644 (file)
index 6da5b0c..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf\r
-lf\r
-crlf\r
-lf\r
-lf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/more-lf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/more-lf-utf8bom
deleted file mode 100644 (file)
index 3fa59c8..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf\r
-lf\r
-crlf\r
-lf\r
-lf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/zero-byte b/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/zero-byte
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/all-crlf b/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/all-crlf
deleted file mode 100644 (file)
index a9a2e89..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-crlf\r
-crlf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/all-crlf-utf8bom
deleted file mode 100644 (file)
index 0aa76e4..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-crlf\r
-crlf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/all-lf b/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/all-lf
deleted file mode 100644 (file)
index 799770d..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf
-lf
-lf
-lf
-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/all-lf-utf8bom
deleted file mode 100644 (file)
index 7cce67e..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-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/windows/autocrlf_true,text_auto,eol_lf/binary-all-crlf
deleted file mode 100644 (file)
index 8534075..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-\ 1one\r
-two\r
-three\r
-four\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/binary-all-lf b/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/binary-all-lf
deleted file mode 100644 (file)
index af6fcf6..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-\ 1one
-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/windows/autocrlf_true,text_auto,eol_lf/binary-mixed-lf-cr
deleted file mode 100644 (file)
index 203555c..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-\ 1one
-two\rthree
-four\r
\ 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/windows/autocrlf_true,text_auto,eol_lf/binary-mixed-lf-cr-crlf
deleted file mode 100644 (file)
index aaf083a..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-\ 1one
-two\rthree\r
-four\r
\ 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/autocrlf_true,text_auto,eol_lf/few-utf8-chars-crlf
deleted file mode 100644 (file)
index 0e05288..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-⚽The rest is ASCII01.\r
-The rest is ASCII02.\r
-The rest is ASCII03.\r
-The rest is ASCII04.\r
-The rest is ASCII05.\r
-The rest is ASCII06.\r
-The rest is ASCII07.\r
-The rest is ASCII08.\r
-The rest is ASCII09.\r
-The rest is ASCII10.\r
-The rest is ASCII11.\r
-The rest is ASCII12.\r
-The rest is ASCII13.\r
-The rest is ASCII14.\r
-The rest is ASCII15.\r
-The rest is ASCII16.\r
-The rest is ASCII17.\r
-The rest is ASCII18.\r
-The rest is ASCII19.\r
-The rest is ASCII20.\r
-The rest is ASCII21.\r
-The rest is ASCII22.\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/few-utf8-chars-lf
deleted file mode 100644 (file)
index f4d25b7..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-⚽The rest is ASCII01.
-The rest is ASCII02.
-The rest is ASCII03.
-The rest is ASCII04.
-The rest is ASCII05.
-The rest is ASCII06.
-The rest is ASCII07.
-The rest is ASCII08.
-The rest is ASCII09.
-The rest is ASCII10.
-The rest is ASCII11.
-The rest is ASCII12.
-The rest is ASCII13.
-The rest is ASCII14.
-The rest is ASCII15.
-The rest is ASCII16.
-The rest is ASCII17.
-The rest is ASCII18.
-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/autocrlf_true,text_auto,eol_lf/many-utf8-chars-crlf
deleted file mode 100644 (file)
index cd574f5..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-Lets sing!\r
-♫♪♬♩\r
-Eat food\r
-🍅🍕\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/many-utf8-chars-lf
deleted file mode 100644 (file)
index 9a6c353..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-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/windows/autocrlf_true,text_auto,eol_lf/mixed-lf-cr
deleted file mode 100644 (file)
index d11e7ef..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-one
-two\rthree
-four\r
\ 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/windows/autocrlf_true,text_auto,eol_lf/mixed-lf-cr-crlf
deleted file mode 100644 (file)
index 417786f..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-one
-two\rthree\r
-four\r
\ 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/autocrlf_true,text_auto,eol_lf/more-crlf
deleted file mode 100644 (file)
index 0ff5a53..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-crlf\r
-crlf\r
-lf
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/more-crlf-utf8bom
deleted file mode 100644 (file)
index ea030d3..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-crlf\r
-crlf\r
-lf
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/more-lf b/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/more-lf
deleted file mode 100644 (file)
index 04de00b..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf
-lf
-crlf\r
-lf
-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/more-lf-utf8bom
deleted file mode 100644 (file)
index dc88e3b..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf
-lf
-crlf\r
-lf
-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/zero-byte b/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/zero-byte
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto/all-crlf b/tests/resources/crlf_data/windows/autocrlf_true,text_auto/all-crlf
deleted file mode 100644 (file)
index a9a2e89..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-crlf\r
-crlf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto/all-crlf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_true,text_auto/all-crlf-utf8bom
deleted file mode 100644 (file)
index 0aa76e4..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-crlf\r
-crlf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto/all-lf b/tests/resources/crlf_data/windows/autocrlf_true,text_auto/all-lf
deleted file mode 100644 (file)
index f557a02..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf\r
-lf\r
-lf\r
-lf\r
-lf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto/all-lf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_true,text_auto/all-lf-utf8bom
deleted file mode 100644 (file)
index 381cfe6..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf\r
-lf\r
-lf\r
-lf\r
-lf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto/binary-all-crlf b/tests/resources/crlf_data/windows/autocrlf_true,text_auto/binary-all-crlf
deleted file mode 100644 (file)
index 8534075..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-\ 1one\r
-two\r
-three\r
-four\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto/binary-all-lf b/tests/resources/crlf_data/windows/autocrlf_true,text_auto/binary-all-lf
deleted file mode 100644 (file)
index af6fcf6..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-\ 1one
-two
-three
-four
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto/binary-mixed-lf-cr b/tests/resources/crlf_data/windows/autocrlf_true,text_auto/binary-mixed-lf-cr
deleted file mode 100644 (file)
index 203555c..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-\ 1one
-two\rthree
-four\r
\ 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/windows/autocrlf_true,text_auto/binary-mixed-lf-cr-crlf
deleted file mode 100644 (file)
index aaf083a..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-\ 1one
-two\rthree\r
-four\r
\ 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/autocrlf_true,text_auto/few-utf8-chars-crlf
deleted file mode 100644 (file)
index 0e05288..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-⚽The rest is ASCII01.\r
-The rest is ASCII02.\r
-The rest is ASCII03.\r
-The rest is ASCII04.\r
-The rest is ASCII05.\r
-The rest is ASCII06.\r
-The rest is ASCII07.\r
-The rest is ASCII08.\r
-The rest is ASCII09.\r
-The rest is ASCII10.\r
-The rest is ASCII11.\r
-The rest is ASCII12.\r
-The rest is ASCII13.\r
-The rest is ASCII14.\r
-The rest is ASCII15.\r
-The rest is ASCII16.\r
-The rest is ASCII17.\r
-The rest is ASCII18.\r
-The rest is ASCII19.\r
-The rest is ASCII20.\r
-The rest is ASCII21.\r
-The rest is ASCII22.\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto/few-utf8-chars-lf b/tests/resources/crlf_data/windows/autocrlf_true,text_auto/few-utf8-chars-lf
deleted file mode 100644 (file)
index 0e05288..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-⚽The rest is ASCII01.\r
-The rest is ASCII02.\r
-The rest is ASCII03.\r
-The rest is ASCII04.\r
-The rest is ASCII05.\r
-The rest is ASCII06.\r
-The rest is ASCII07.\r
-The rest is ASCII08.\r
-The rest is ASCII09.\r
-The rest is ASCII10.\r
-The rest is ASCII11.\r
-The rest is ASCII12.\r
-The rest is ASCII13.\r
-The rest is ASCII14.\r
-The rest is ASCII15.\r
-The rest is ASCII16.\r
-The rest is ASCII17.\r
-The rest is ASCII18.\r
-The rest is ASCII19.\r
-The rest is ASCII20.\r
-The rest is ASCII21.\r
-The rest is ASCII22.\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto/many-utf8-chars-crlf b/tests/resources/crlf_data/windows/autocrlf_true,text_auto/many-utf8-chars-crlf
deleted file mode 100644 (file)
index cd574f5..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-Lets sing!\r
-♫♪♬♩\r
-Eat food\r
-🍅🍕\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto/many-utf8-chars-lf b/tests/resources/crlf_data/windows/autocrlf_true,text_auto/many-utf8-chars-lf
deleted file mode 100644 (file)
index cd574f5..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-Lets sing!\r
-♫♪♬♩\r
-Eat food\r
-🍅🍕\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto/mixed-lf-cr b/tests/resources/crlf_data/windows/autocrlf_true,text_auto/mixed-lf-cr
deleted file mode 100644 (file)
index d11e7ef..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-one
-two\rthree
-four\r
\ 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/windows/autocrlf_true,text_auto/mixed-lf-cr-crlf
deleted file mode 100644 (file)
index 417786f..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-one
-two\rthree\r
-four\r
\ 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/autocrlf_true,text_auto/more-crlf
deleted file mode 100644 (file)
index e682c30..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-crlf\r
-crlf\r
-lf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto/more-crlf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_true,text_auto/more-crlf-utf8bom
deleted file mode 100644 (file)
index 2e1220c..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-crlf\r
-crlf\r
-lf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto/more-lf b/tests/resources/crlf_data/windows/autocrlf_true,text_auto/more-lf
deleted file mode 100644 (file)
index 6da5b0c..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf\r
-lf\r
-crlf\r
-lf\r
-lf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto/more-lf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_true,text_auto/more-lf-utf8bom
deleted file mode 100644 (file)
index 3fa59c8..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf\r
-lf\r
-crlf\r
-lf\r
-lf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto/zero-byte b/tests/resources/crlf_data/windows/autocrlf_true,text_auto/zero-byte
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/tests/resources/crlf_data/windows/autocrlf_true/all-crlf b/tests/resources/crlf_data/windows/autocrlf_true/all-crlf
deleted file mode 100644 (file)
index a9a2e89..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-crlf\r
-crlf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_true/all-crlf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_true/all-crlf-utf8bom
deleted file mode 100644 (file)
index 0aa76e4..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-crlf\r
-crlf\r
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_true/all-lf b/tests/resources/crlf_data/windows/autocrlf_true/all-lf
deleted file mode 100644 (file)
index f557a02..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf\r
-lf\r
-lf\r
-lf\r
-lf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_true/all-lf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_true/all-lf-utf8bom
deleted file mode 100644 (file)
index 381cfe6..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf\r
-lf\r
-lf\r
-lf\r
-lf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_true/binary-all-crlf b/tests/resources/crlf_data/windows/autocrlf_true/binary-all-crlf
deleted file mode 100644 (file)
index 8534075..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-\ 1one\r
-two\r
-three\r
-four\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_true/binary-all-lf b/tests/resources/crlf_data/windows/autocrlf_true/binary-all-lf
deleted file mode 100644 (file)
index af6fcf6..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-\ 1one
-two
-three
-four
diff --git a/tests/resources/crlf_data/windows/autocrlf_true/binary-mixed-lf-cr b/tests/resources/crlf_data/windows/autocrlf_true/binary-mixed-lf-cr
deleted file mode 100644 (file)
index 203555c..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-\ 1one
-two\rthree
-four\r
\ 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/windows/autocrlf_true/binary-mixed-lf-cr-crlf
deleted file mode 100644 (file)
index aaf083a..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-\ 1one
-two\rthree\r
-four\r
\ 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/autocrlf_true/few-utf8-chars-crlf
deleted file mode 100644 (file)
index 0e05288..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-⚽The rest is ASCII01.\r
-The rest is ASCII02.\r
-The rest is ASCII03.\r
-The rest is ASCII04.\r
-The rest is ASCII05.\r
-The rest is ASCII06.\r
-The rest is ASCII07.\r
-The rest is ASCII08.\r
-The rest is ASCII09.\r
-The rest is ASCII10.\r
-The rest is ASCII11.\r
-The rest is ASCII12.\r
-The rest is ASCII13.\r
-The rest is ASCII14.\r
-The rest is ASCII15.\r
-The rest is ASCII16.\r
-The rest is ASCII17.\r
-The rest is ASCII18.\r
-The rest is ASCII19.\r
-The rest is ASCII20.\r
-The rest is ASCII21.\r
-The rest is ASCII22.\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_true/few-utf8-chars-lf b/tests/resources/crlf_data/windows/autocrlf_true/few-utf8-chars-lf
deleted file mode 100644 (file)
index 0e05288..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-⚽The rest is ASCII01.\r
-The rest is ASCII02.\r
-The rest is ASCII03.\r
-The rest is ASCII04.\r
-The rest is ASCII05.\r
-The rest is ASCII06.\r
-The rest is ASCII07.\r
-The rest is ASCII08.\r
-The rest is ASCII09.\r
-The rest is ASCII10.\r
-The rest is ASCII11.\r
-The rest is ASCII12.\r
-The rest is ASCII13.\r
-The rest is ASCII14.\r
-The rest is ASCII15.\r
-The rest is ASCII16.\r
-The rest is ASCII17.\r
-The rest is ASCII18.\r
-The rest is ASCII19.\r
-The rest is ASCII20.\r
-The rest is ASCII21.\r
-The rest is ASCII22.\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_true/many-utf8-chars-crlf b/tests/resources/crlf_data/windows/autocrlf_true/many-utf8-chars-crlf
deleted file mode 100644 (file)
index cd574f5..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-Lets sing!\r
-♫♪♬♩\r
-Eat food\r
-🍅🍕\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_true/many-utf8-chars-lf b/tests/resources/crlf_data/windows/autocrlf_true/many-utf8-chars-lf
deleted file mode 100644 (file)
index cd574f5..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-Lets sing!\r
-♫♪♬♩\r
-Eat food\r
-🍅🍕\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_true/mixed-lf-cr b/tests/resources/crlf_data/windows/autocrlf_true/mixed-lf-cr
deleted file mode 100644 (file)
index d11e7ef..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-one
-two\rthree
-four\r
\ 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/windows/autocrlf_true/mixed-lf-cr-crlf
deleted file mode 100644 (file)
index 417786f..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-one
-two\rthree\r
-four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/windows/autocrlf_true/more-crlf b/tests/resources/crlf_data/windows/autocrlf_true/more-crlf
deleted file mode 100644 (file)
index 0ff5a53..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-crlf\r
-crlf\r
-lf
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_true/more-crlf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_true/more-crlf-utf8bom
deleted file mode 100644 (file)
index ea030d3..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-crlf\r
-crlf\r
-lf
-crlf\r
-crlf\r
diff --git a/tests/resources/crlf_data/windows/autocrlf_true/more-lf b/tests/resources/crlf_data/windows/autocrlf_true/more-lf
deleted file mode 100644 (file)
index 04de00b..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf
-lf
-crlf\r
-lf
-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true/more-lf-utf8bom b/tests/resources/crlf_data/windows/autocrlf_true/more-lf-utf8bom
deleted file mode 100644 (file)
index dc88e3b..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-lf
-lf
-crlf\r
-lf
-lf
diff --git a/tests/resources/crlf_data/windows/autocrlf_true/zero-byte b/tests/resources/crlf_data/windows/autocrlf_true/zero-byte
deleted file mode 100644 (file)
index e69de29..0000000
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 (file)
index 0000000..a9a2e89
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
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 (file)
index 0000000..0aa76e4
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -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 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..aaf083a
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..0e05288
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.\r
+The rest is ASCII02.\r
+The rest is ASCII03.\r
+The rest is ASCII04.\r
+The rest is ASCII05.\r
+The rest is ASCII06.\r
+The rest is ASCII07.\r
+The rest is ASCII08.\r
+The rest is ASCII09.\r
+The rest is ASCII10.\r
+The rest is ASCII11.\r
+The rest is ASCII12.\r
+The rest is ASCII13.\r
+The rest is ASCII14.\r
+The rest is ASCII15.\r
+The rest is ASCII16.\r
+The rest is ASCII17.\r
+The rest is ASCII18.\r
+The rest is ASCII19.\r
+The rest is ASCII20.\r
+The rest is ASCII21.\r
+The rest is ASCII22.\r
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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is 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 (file)
index 0000000..cd574f5
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!\r
+♫♪♬♩\r
+Eat food\r
+🍅🍕\r
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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..417786f
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..0ff5a53
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
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 (file)
index 0000000..ea030d3
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
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 (file)
index 0000000..04de00b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+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 (file)
index 0000000..dc88e3b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+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 (file)
index 0000000..e69de29
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 (file)
index 0000000..a9a2e89
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
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 (file)
index 0000000..0aa76e4
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -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 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..aaf083a
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..0e05288
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.\r
+The rest is ASCII02.\r
+The rest is ASCII03.\r
+The rest is ASCII04.\r
+The rest is ASCII05.\r
+The rest is ASCII06.\r
+The rest is ASCII07.\r
+The rest is ASCII08.\r
+The rest is ASCII09.\r
+The rest is ASCII10.\r
+The rest is ASCII11.\r
+The rest is ASCII12.\r
+The rest is ASCII13.\r
+The rest is ASCII14.\r
+The rest is ASCII15.\r
+The rest is ASCII16.\r
+The rest is ASCII17.\r
+The rest is ASCII18.\r
+The rest is ASCII19.\r
+The rest is ASCII20.\r
+The rest is ASCII21.\r
+The rest is ASCII22.\r
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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is 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 (file)
index 0000000..cd574f5
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!\r
+♫♪♬♩\r
+Eat food\r
+🍅🍕\r
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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..417786f
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..0ff5a53
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
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 (file)
index 0000000..ea030d3
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
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 (file)
index 0000000..04de00b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+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 (file)
index 0000000..dc88e3b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+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 (file)
index 0000000..e69de29
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 (file)
index 0000000..26e1a74
--- /dev/null
@@ -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 (file)
index 0000000..32c6f22
--- /dev/null
@@ -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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is 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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..37bb7fa
--- /dev/null
@@ -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 (file)
index 0000000..16001a1
--- /dev/null
@@ -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 (file)
index 0000000..2cda6f2
--- /dev/null
@@ -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 (file)
index 0000000..dc7d82a
--- /dev/null
@@ -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 (file)
index 0000000..e69de29
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 (file)
index 0000000..26e1a74
--- /dev/null
@@ -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 (file)
index 0000000..32c6f22
--- /dev/null
@@ -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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is 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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..37bb7fa
--- /dev/null
@@ -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 (file)
index 0000000..16001a1
--- /dev/null
@@ -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 (file)
index 0000000..2cda6f2
--- /dev/null
@@ -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 (file)
index 0000000..dc7d82a
--- /dev/null
@@ -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 (file)
index 0000000..e69de29
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 (file)
index 0000000..26e1a74
--- /dev/null
@@ -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 (file)
index 0000000..32c6f22
--- /dev/null
@@ -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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is 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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..37bb7fa
--- /dev/null
@@ -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 (file)
index 0000000..16001a1
--- /dev/null
@@ -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 (file)
index 0000000..2cda6f2
--- /dev/null
@@ -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 (file)
index 0000000..dc7d82a
--- /dev/null
@@ -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 (file)
index 0000000..e69de29
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 (file)
index 0000000..26e1a74
--- /dev/null
@@ -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 (file)
index 0000000..32c6f22
--- /dev/null
@@ -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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is 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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..37bb7fa
--- /dev/null
@@ -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 (file)
index 0000000..16001a1
--- /dev/null
@@ -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 (file)
index 0000000..2cda6f2
--- /dev/null
@@ -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 (file)
index 0000000..dc7d82a
--- /dev/null
@@ -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 (file)
index 0000000..e69de29
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 (file)
index 0000000..26e1a74
--- /dev/null
@@ -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 (file)
index 0000000..32c6f22
--- /dev/null
@@ -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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is 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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..37bb7fa
--- /dev/null
@@ -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 (file)
index 0000000..16001a1
--- /dev/null
@@ -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 (file)
index 0000000..2cda6f2
--- /dev/null
@@ -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 (file)
index 0000000..dc7d82a
--- /dev/null
@@ -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 (file)
index 0000000..e69de29
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 (file)
index 0000000..26e1a74
--- /dev/null
@@ -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 (file)
index 0000000..32c6f22
--- /dev/null
@@ -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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is 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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..37bb7fa
--- /dev/null
@@ -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 (file)
index 0000000..16001a1
--- /dev/null
@@ -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 (file)
index 0000000..2cda6f2
--- /dev/null
@@ -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 (file)
index 0000000..dc7d82a
--- /dev/null
@@ -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 (file)
index 0000000..e69de29
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 (file)
index 0000000..26e1a74
--- /dev/null
@@ -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 (file)
index 0000000..32c6f22
--- /dev/null
@@ -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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -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 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..aaf083a
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is 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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..417786f
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..37bb7fa
--- /dev/null
@@ -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 (file)
index 0000000..16001a1
--- /dev/null
@@ -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 (file)
index 0000000..2cda6f2
--- /dev/null
@@ -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 (file)
index 0000000..dc7d82a
--- /dev/null
@@ -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 (file)
index 0000000..e69de29
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 (file)
index 0000000..26e1a74
--- /dev/null
@@ -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 (file)
index 0000000..32c6f22
--- /dev/null
@@ -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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -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 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..aaf083a
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is 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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..417786f
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..37bb7fa
--- /dev/null
@@ -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 (file)
index 0000000..16001a1
--- /dev/null
@@ -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 (file)
index 0000000..2cda6f2
--- /dev/null
@@ -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 (file)
index 0000000..dc7d82a
--- /dev/null
@@ -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 (file)
index 0000000..e69de29
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 (file)
index 0000000..26e1a74
--- /dev/null
@@ -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 (file)
index 0000000..32c6f22
--- /dev/null
@@ -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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -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 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..aaf083a
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is 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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..417786f
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..37bb7fa
--- /dev/null
@@ -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 (file)
index 0000000..16001a1
--- /dev/null
@@ -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 (file)
index 0000000..2cda6f2
--- /dev/null
@@ -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 (file)
index 0000000..dc7d82a
--- /dev/null
@@ -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 (file)
index 0000000..e69de29
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/all-crlf
new file mode 100644 (file)
index 0000000..a9a2e89
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/all-crlf-utf8bom
new file mode 100644 (file)
index 0000000..0aa76e4
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -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 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..aaf083a
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/few-utf8-chars-crlf
new file mode 100644 (file)
index 0000000..0e05288
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.\r
+The rest is ASCII02.\r
+The rest is ASCII03.\r
+The rest is ASCII04.\r
+The rest is ASCII05.\r
+The rest is ASCII06.\r
+The rest is ASCII07.\r
+The rest is ASCII08.\r
+The rest is ASCII09.\r
+The rest is ASCII10.\r
+The rest is ASCII11.\r
+The rest is ASCII12.\r
+The rest is ASCII13.\r
+The rest is ASCII14.\r
+The rest is ASCII15.\r
+The rest is ASCII16.\r
+The rest is ASCII17.\r
+The rest is ASCII18.\r
+The rest is ASCII19.\r
+The rest is ASCII20.\r
+The rest is ASCII21.\r
+The rest is ASCII22.\r
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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/many-utf8-chars-crlf
new file mode 100644 (file)
index 0000000..cd574f5
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!\r
+♫♪♬♩\r
+Eat food\r
+🍅🍕\r
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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..417786f
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..0ff5a53
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
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 (file)
index 0000000..ea030d3
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
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 (file)
index 0000000..04de00b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+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 (file)
index 0000000..dc88e3b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+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 (file)
index 0000000..e69de29
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 (file)
index 0000000..a9a2e89
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
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 (file)
index 0000000..0aa76e4
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -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 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..aaf083a
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/few-utf8-chars-crlf
new file mode 100644 (file)
index 0000000..0e05288
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.\r
+The rest is ASCII02.\r
+The rest is ASCII03.\r
+The rest is ASCII04.\r
+The rest is ASCII05.\r
+The rest is ASCII06.\r
+The rest is ASCII07.\r
+The rest is ASCII08.\r
+The rest is ASCII09.\r
+The rest is ASCII10.\r
+The rest is ASCII11.\r
+The rest is ASCII12.\r
+The rest is ASCII13.\r
+The rest is ASCII14.\r
+The rest is ASCII15.\r
+The rest is ASCII16.\r
+The rest is ASCII17.\r
+The rest is ASCII18.\r
+The rest is ASCII19.\r
+The rest is ASCII20.\r
+The rest is ASCII21.\r
+The rest is ASCII22.\r
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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/many-utf8-chars-crlf
new file mode 100644 (file)
index 0000000..cd574f5
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!\r
+♫♪♬♩\r
+Eat food\r
+🍅🍕\r
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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..417786f
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..0ff5a53
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
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 (file)
index 0000000..ea030d3
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
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 (file)
index 0000000..04de00b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+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 (file)
index 0000000..dc88e3b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+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 (file)
index 0000000..e69de29
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 (file)
index 0000000..a9a2e89
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
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 (file)
index 0000000..0aa76e4
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -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 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..aaf083a
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/few-utf8-chars-crlf
new file mode 100644 (file)
index 0000000..0e05288
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.\r
+The rest is ASCII02.\r
+The rest is ASCII03.\r
+The rest is ASCII04.\r
+The rest is ASCII05.\r
+The rest is ASCII06.\r
+The rest is ASCII07.\r
+The rest is ASCII08.\r
+The rest is ASCII09.\r
+The rest is ASCII10.\r
+The rest is ASCII11.\r
+The rest is ASCII12.\r
+The rest is ASCII13.\r
+The rest is ASCII14.\r
+The rest is ASCII15.\r
+The rest is ASCII16.\r
+The rest is ASCII17.\r
+The rest is ASCII18.\r
+The rest is ASCII19.\r
+The rest is ASCII20.\r
+The rest is ASCII21.\r
+The rest is ASCII22.\r
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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/many-utf8-chars-crlf
new file mode 100644 (file)
index 0000000..cd574f5
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!\r
+♫♪♬♩\r
+Eat food\r
+🍅🍕\r
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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..417786f
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..0ff5a53
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
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 (file)
index 0000000..ea030d3
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
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 (file)
index 0000000..04de00b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+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 (file)
index 0000000..dc88e3b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+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 (file)
index 0000000..e69de29
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 (file)
index 0000000..26e1a74
--- /dev/null
@@ -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 (file)
index 0000000..32c6f22
--- /dev/null
@@ -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 (file)
index 0000000..547008e
--- /dev/null
@@ -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 (file)
index 0000000..d992d47
--- /dev/null
@@ -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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..180663e
--- /dev/null
@@ -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 (file)
index 0000000..f87ce3f
--- /dev/null
@@ -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 (file)
index 0000000..63eac58
--- /dev/null
@@ -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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is 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 (file)
index 0000000..fabf466
--- /dev/null
@@ -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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..b874f4b
--- /dev/null
@@ -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 (file)
index 0000000..a353e0e
--- /dev/null
@@ -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 (file)
index 0000000..0287e32
--- /dev/null
@@ -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 (file)
index 0000000..e77b2b9
--- /dev/null
@@ -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 (file)
index 0000000..07f50c3
--- /dev/null
@@ -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 (file)
index 0000000..6994a8d
--- /dev/null
@@ -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 (file)
index 0000000..067a2e8
--- /dev/null
@@ -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 (file)
index 0000000..e69de29
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 (file)
index 0000000..26e1a74
--- /dev/null
@@ -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 (file)
index 0000000..32c6f22
--- /dev/null
@@ -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 (file)
index 0000000..547008e
--- /dev/null
@@ -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 (file)
index 0000000..d992d47
--- /dev/null
@@ -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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..180663e
--- /dev/null
@@ -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 (file)
index 0000000..f87ce3f
--- /dev/null
@@ -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 (file)
index 0000000..63eac58
--- /dev/null
@@ -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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is 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 (file)
index 0000000..fabf466
--- /dev/null
@@ -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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..b874f4b
--- /dev/null
@@ -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 (file)
index 0000000..a353e0e
--- /dev/null
@@ -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 (file)
index 0000000..0287e32
--- /dev/null
@@ -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 (file)
index 0000000..e77b2b9
--- /dev/null
@@ -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 (file)
index 0000000..07f50c3
--- /dev/null
@@ -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 (file)
index 0000000..6994a8d
--- /dev/null
@@ -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 (file)
index 0000000..067a2e8
--- /dev/null
@@ -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 (file)
index 0000000..e69de29
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 (file)
index 0000000..213f972
--- /dev/null
@@ -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 (file)
index 0000000..851ef6c
--- /dev/null
@@ -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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -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 (file)
index 0000000..26690f3
--- /dev/null
@@ -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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..c6b706d
--- /dev/null
@@ -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 (file)
index 0000000..c23959d
--- /dev/null
@@ -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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is 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 (file)
index 0000000..2e093c9
--- /dev/null
@@ -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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..3c6cbac
--- /dev/null
@@ -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 (file)
index 0000000..43b93db
--- /dev/null
@@ -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 (file)
index 0000000..b1a5dc9
--- /dev/null
@@ -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 (file)
index 0000000..13c4e3c
--- /dev/null
@@ -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 (file)
index 0000000..c964c72
--- /dev/null
@@ -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 (file)
index 0000000..e69de29
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 (file)
index 0000000..26e1a74
--- /dev/null
@@ -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 (file)
index 0000000..32c6f22
--- /dev/null
@@ -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 (file)
index 0000000..547008e
--- /dev/null
@@ -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 (file)
index 0000000..d992d47
--- /dev/null
@@ -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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..180663e
--- /dev/null
@@ -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 (file)
index 0000000..f87ce3f
--- /dev/null
@@ -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 (file)
index 0000000..63eac58
--- /dev/null
@@ -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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is 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 (file)
index 0000000..fabf466
--- /dev/null
@@ -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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..b874f4b
--- /dev/null
@@ -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 (file)
index 0000000..a353e0e
--- /dev/null
@@ -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 (file)
index 0000000..0287e32
--- /dev/null
@@ -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 (file)
index 0000000..e77b2b9
--- /dev/null
@@ -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 (file)
index 0000000..07f50c3
--- /dev/null
@@ -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 (file)
index 0000000..6994a8d
--- /dev/null
@@ -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 (file)
index 0000000..067a2e8
--- /dev/null
@@ -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 (file)
index 0000000..e69de29
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 (file)
index 0000000..213f972
--- /dev/null
@@ -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 (file)
index 0000000..851ef6c
--- /dev/null
@@ -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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -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 (file)
index 0000000..26690f3
--- /dev/null
@@ -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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..c6b706d
--- /dev/null
@@ -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 (file)
index 0000000..c23959d
--- /dev/null
@@ -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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is 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 (file)
index 0000000..2e093c9
--- /dev/null
@@ -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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..3c6cbac
--- /dev/null
@@ -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 (file)
index 0000000..43b93db
--- /dev/null
@@ -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 (file)
index 0000000..b1a5dc9
--- /dev/null
@@ -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 (file)
index 0000000..13c4e3c
--- /dev/null
@@ -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 (file)
index 0000000..c964c72
--- /dev/null
@@ -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 (file)
index 0000000..e69de29
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 (file)
index 0000000..26e1a74
--- /dev/null
@@ -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 (file)
index 0000000..32c6f22
--- /dev/null
@@ -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 (file)
index 0000000..547008e
--- /dev/null
@@ -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 (file)
index 0000000..d992d47
--- /dev/null
@@ -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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..180663e
--- /dev/null
@@ -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 (file)
index 0000000..f87ce3f
--- /dev/null
@@ -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 (file)
index 0000000..63eac58
--- /dev/null
@@ -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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is 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 (file)
index 0000000..fabf466
--- /dev/null
@@ -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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..b874f4b
--- /dev/null
@@ -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 (file)
index 0000000..a353e0e
--- /dev/null
@@ -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 (file)
index 0000000..0287e32
--- /dev/null
@@ -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 (file)
index 0000000..e77b2b9
--- /dev/null
@@ -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 (file)
index 0000000..07f50c3
--- /dev/null
@@ -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 (file)
index 0000000..6994a8d
--- /dev/null
@@ -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 (file)
index 0000000..067a2e8
--- /dev/null
@@ -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 (file)
index 0000000..e69de29
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 (file)
index 0000000..26e1a74
--- /dev/null
@@ -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 (file)
index 0000000..32c6f22
--- /dev/null
@@ -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 (file)
index 0000000..547008e
--- /dev/null
@@ -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 (file)
index 0000000..d992d47
--- /dev/null
@@ -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 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..aaf083a
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is 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 (file)
index 0000000..fabf466
--- /dev/null
@@ -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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..b874f4b
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..417786f
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..e77b2b9
--- /dev/null
@@ -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 (file)
index 0000000..07f50c3
--- /dev/null
@@ -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 (file)
index 0000000..6994a8d
--- /dev/null
@@ -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 (file)
index 0000000..067a2e8
--- /dev/null
@@ -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 (file)
index 0000000..e69de29
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 (file)
index 0000000..213f972
--- /dev/null
@@ -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 (file)
index 0000000..851ef6c
--- /dev/null
@@ -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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -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 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..aaf083a
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..c23959d
--- /dev/null
@@ -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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is 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 (file)
index 0000000..2e093c9
--- /dev/null
@@ -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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..417786f
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..43b93db
--- /dev/null
@@ -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 (file)
index 0000000..b1a5dc9
--- /dev/null
@@ -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 (file)
index 0000000..13c4e3c
--- /dev/null
@@ -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 (file)
index 0000000..c964c72
--- /dev/null
@@ -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 (file)
index 0000000..e69de29
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 (file)
index 0000000..26e1a74
--- /dev/null
@@ -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 (file)
index 0000000..32c6f22
--- /dev/null
@@ -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 (file)
index 0000000..547008e
--- /dev/null
@@ -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 (file)
index 0000000..d992d47
--- /dev/null
@@ -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 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..aaf083a
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is 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 (file)
index 0000000..fabf466
--- /dev/null
@@ -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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..b874f4b
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..417786f
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..e77b2b9
--- /dev/null
@@ -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 (file)
index 0000000..07f50c3
--- /dev/null
@@ -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 (file)
index 0000000..6994a8d
--- /dev/null
@@ -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 (file)
index 0000000..067a2e8
--- /dev/null
@@ -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 (file)
index 0000000..e69de29
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 (file)
index 0000000..a9a2e89
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
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 (file)
index 0000000..0aa76e4
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -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 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..aaf083a
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/few-utf8-chars-crlf
new file mode 100644 (file)
index 0000000..0e05288
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.\r
+The rest is ASCII02.\r
+The rest is ASCII03.\r
+The rest is ASCII04.\r
+The rest is ASCII05.\r
+The rest is ASCII06.\r
+The rest is ASCII07.\r
+The rest is ASCII08.\r
+The rest is ASCII09.\r
+The rest is ASCII10.\r
+The rest is ASCII11.\r
+The rest is ASCII12.\r
+The rest is ASCII13.\r
+The rest is ASCII14.\r
+The rest is ASCII15.\r
+The rest is ASCII16.\r
+The rest is ASCII17.\r
+The rest is ASCII18.\r
+The rest is ASCII19.\r
+The rest is ASCII20.\r
+The rest is ASCII21.\r
+The rest is ASCII22.\r
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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/many-utf8-chars-crlf
new file mode 100644 (file)
index 0000000..cd574f5
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!\r
+♫♪♬♩\r
+Eat food\r
+🍅🍕\r
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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..417786f
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..0ff5a53
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
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 (file)
index 0000000..ea030d3
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
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 (file)
index 0000000..04de00b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+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 (file)
index 0000000..dc88e3b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+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 (file)
index 0000000..e69de29
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 (file)
index 0000000..a9a2e89
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
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 (file)
index 0000000..0aa76e4
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -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 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..aaf083a
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..0e05288
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.\r
+The rest is ASCII02.\r
+The rest is ASCII03.\r
+The rest is ASCII04.\r
+The rest is ASCII05.\r
+The rest is ASCII06.\r
+The rest is ASCII07.\r
+The rest is ASCII08.\r
+The rest is ASCII09.\r
+The rest is ASCII10.\r
+The rest is ASCII11.\r
+The rest is ASCII12.\r
+The rest is ASCII13.\r
+The rest is ASCII14.\r
+The rest is ASCII15.\r
+The rest is ASCII16.\r
+The rest is ASCII17.\r
+The rest is ASCII18.\r
+The rest is ASCII19.\r
+The rest is ASCII20.\r
+The rest is ASCII21.\r
+The rest is ASCII22.\r
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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is 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 (file)
index 0000000..cd574f5
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!\r
+♫♪♬♩\r
+Eat food\r
+🍅🍕\r
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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..417786f
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..0ff5a53
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
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 (file)
index 0000000..ea030d3
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
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 (file)
index 0000000..04de00b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+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 (file)
index 0000000..dc88e3b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+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 (file)
index 0000000..e69de29
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 (file)
index 0000000..a9a2e89
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
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 (file)
index 0000000..0aa76e4
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -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 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..aaf083a
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..0e05288
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.\r
+The rest is ASCII02.\r
+The rest is ASCII03.\r
+The rest is ASCII04.\r
+The rest is ASCII05.\r
+The rest is ASCII06.\r
+The rest is ASCII07.\r
+The rest is ASCII08.\r
+The rest is ASCII09.\r
+The rest is ASCII10.\r
+The rest is ASCII11.\r
+The rest is ASCII12.\r
+The rest is ASCII13.\r
+The rest is ASCII14.\r
+The rest is ASCII15.\r
+The rest is ASCII16.\r
+The rest is ASCII17.\r
+The rest is ASCII18.\r
+The rest is ASCII19.\r
+The rest is ASCII20.\r
+The rest is ASCII21.\r
+The rest is ASCII22.\r
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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is 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 (file)
index 0000000..cd574f5
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!\r
+♫♪♬♩\r
+Eat food\r
+🍅🍕\r
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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..417786f
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..0ff5a53
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
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 (file)
index 0000000..ea030d3
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
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 (file)
index 0000000..04de00b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+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 (file)
index 0000000..dc88e3b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+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 (file)
index 0000000..e69de29
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 (file)
index 0000000..26e1a74
--- /dev/null
@@ -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 (file)
index 0000000..32c6f22
--- /dev/null
@@ -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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is 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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..37bb7fa
--- /dev/null
@@ -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 (file)
index 0000000..16001a1
--- /dev/null
@@ -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 (file)
index 0000000..2cda6f2
--- /dev/null
@@ -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 (file)
index 0000000..dc7d82a
--- /dev/null
@@ -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 (file)
index 0000000..e69de29
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 (file)
index 0000000..26e1a74
--- /dev/null
@@ -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 (file)
index 0000000..32c6f22
--- /dev/null
@@ -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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is 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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..37bb7fa
--- /dev/null
@@ -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 (file)
index 0000000..16001a1
--- /dev/null
@@ -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 (file)
index 0000000..2cda6f2
--- /dev/null
@@ -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 (file)
index 0000000..dc7d82a
--- /dev/null
@@ -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 (file)
index 0000000..e69de29
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 (file)
index 0000000..26e1a74
--- /dev/null
@@ -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 (file)
index 0000000..32c6f22
--- /dev/null
@@ -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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is 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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..37bb7fa
--- /dev/null
@@ -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 (file)
index 0000000..16001a1
--- /dev/null
@@ -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 (file)
index 0000000..2cda6f2
--- /dev/null
@@ -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 (file)
index 0000000..dc7d82a
--- /dev/null
@@ -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 (file)
index 0000000..e69de29
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 (file)
index 0000000..26e1a74
--- /dev/null
@@ -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 (file)
index 0000000..32c6f22
--- /dev/null
@@ -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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is 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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..37bb7fa
--- /dev/null
@@ -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 (file)
index 0000000..16001a1
--- /dev/null
@@ -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 (file)
index 0000000..2cda6f2
--- /dev/null
@@ -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 (file)
index 0000000..dc7d82a
--- /dev/null
@@ -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 (file)
index 0000000..e69de29
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 (file)
index 0000000..26e1a74
--- /dev/null
@@ -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 (file)
index 0000000..32c6f22
--- /dev/null
@@ -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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is 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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..37bb7fa
--- /dev/null
@@ -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 (file)
index 0000000..16001a1
--- /dev/null
@@ -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 (file)
index 0000000..2cda6f2
--- /dev/null
@@ -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 (file)
index 0000000..dc7d82a
--- /dev/null
@@ -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 (file)
index 0000000..e69de29
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 (file)
index 0000000..26e1a74
--- /dev/null
@@ -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 (file)
index 0000000..32c6f22
--- /dev/null
@@ -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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is 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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..37bb7fa
--- /dev/null
@@ -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 (file)
index 0000000..16001a1
--- /dev/null
@@ -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 (file)
index 0000000..2cda6f2
--- /dev/null
@@ -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 (file)
index 0000000..dc7d82a
--- /dev/null
@@ -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 (file)
index 0000000..e69de29
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 (file)
index 0000000..26e1a74
--- /dev/null
@@ -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 (file)
index 0000000..32c6f22
--- /dev/null
@@ -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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -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 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..aaf083a
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is 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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..417786f
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..37bb7fa
--- /dev/null
@@ -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 (file)
index 0000000..16001a1
--- /dev/null
@@ -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 (file)
index 0000000..2cda6f2
--- /dev/null
@@ -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 (file)
index 0000000..dc7d82a
--- /dev/null
@@ -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 (file)
index 0000000..e69de29
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 (file)
index 0000000..26e1a74
--- /dev/null
@@ -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 (file)
index 0000000..32c6f22
--- /dev/null
@@ -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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -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 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..aaf083a
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is 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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..417786f
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..37bb7fa
--- /dev/null
@@ -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 (file)
index 0000000..16001a1
--- /dev/null
@@ -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 (file)
index 0000000..2cda6f2
--- /dev/null
@@ -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 (file)
index 0000000..dc7d82a
--- /dev/null
@@ -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 (file)
index 0000000..e69de29
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 (file)
index 0000000..26e1a74
--- /dev/null
@@ -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 (file)
index 0000000..32c6f22
--- /dev/null
@@ -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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -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 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..aaf083a
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is 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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..417786f
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..37bb7fa
--- /dev/null
@@ -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 (file)
index 0000000..16001a1
--- /dev/null
@@ -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 (file)
index 0000000..2cda6f2
--- /dev/null
@@ -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 (file)
index 0000000..dc7d82a
--- /dev/null
@@ -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 (file)
index 0000000..e69de29
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 (file)
index 0000000..a9a2e89
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
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 (file)
index 0000000..0aa76e4
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -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 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..aaf083a
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/few-utf8-chars-crlf
new file mode 100644 (file)
index 0000000..0e05288
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.\r
+The rest is ASCII02.\r
+The rest is ASCII03.\r
+The rest is ASCII04.\r
+The rest is ASCII05.\r
+The rest is ASCII06.\r
+The rest is ASCII07.\r
+The rest is ASCII08.\r
+The rest is ASCII09.\r
+The rest is ASCII10.\r
+The rest is ASCII11.\r
+The rest is ASCII12.\r
+The rest is ASCII13.\r
+The rest is ASCII14.\r
+The rest is ASCII15.\r
+The rest is ASCII16.\r
+The rest is ASCII17.\r
+The rest is ASCII18.\r
+The rest is ASCII19.\r
+The rest is ASCII20.\r
+The rest is ASCII21.\r
+The rest is ASCII22.\r
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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The rest is ASCII20.
+The rest is ASCII21.
+The rest is ASCII22.
diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/many-utf8-chars-crlf
new file mode 100644 (file)
index 0000000..cd574f5
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!\r
+♫♪♬♩\r
+Eat food\r
+🍅🍕\r
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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..417786f
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..0ff5a53
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
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 (file)
index 0000000..ea030d3
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
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 (file)
index 0000000..04de00b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+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 (file)
index 0000000..dc88e3b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+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 (file)
index 0000000..e69de29
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 (file)
index 0000000..a9a2e89
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
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 (file)
index 0000000..0aa76e4
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -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 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..aaf083a
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..0e05288
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.\r
+The rest is ASCII02.\r
+The rest is ASCII03.\r
+The rest is ASCII04.\r
+The rest is ASCII05.\r
+The rest is ASCII06.\r
+The rest is ASCII07.\r
+The rest is ASCII08.\r
+The rest is ASCII09.\r
+The rest is ASCII10.\r
+The rest is ASCII11.\r
+The rest is ASCII12.\r
+The rest is ASCII13.\r
+The rest is ASCII14.\r
+The rest is ASCII15.\r
+The rest is ASCII16.\r
+The rest is ASCII17.\r
+The rest is ASCII18.\r
+The rest is ASCII19.\r
+The rest is ASCII20.\r
+The rest is ASCII21.\r
+The rest is ASCII22.\r
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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The 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 (file)
index 0000000..cd574f5
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!\r
+♫♪♬♩\r
+Eat food\r
+🍅🍕\r
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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..417786f
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..0ff5a53
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
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 (file)
index 0000000..ea030d3
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
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 (file)
index 0000000..04de00b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+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 (file)
index 0000000..dc88e3b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+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 (file)
index 0000000..e69de29
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 (file)
index 0000000..a9a2e89
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
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 (file)
index 0000000..0aa76e4
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -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 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..aaf083a
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..0e05288
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.\r
+The rest is ASCII02.\r
+The rest is ASCII03.\r
+The rest is ASCII04.\r
+The rest is ASCII05.\r
+The rest is ASCII06.\r
+The rest is ASCII07.\r
+The rest is ASCII08.\r
+The rest is ASCII09.\r
+The rest is ASCII10.\r
+The rest is ASCII11.\r
+The rest is ASCII12.\r
+The rest is ASCII13.\r
+The rest is ASCII14.\r
+The rest is ASCII15.\r
+The rest is ASCII16.\r
+The rest is ASCII17.\r
+The rest is ASCII18.\r
+The rest is ASCII19.\r
+The rest is ASCII20.\r
+The rest is ASCII21.\r
+The rest is ASCII22.\r
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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The 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 (file)
index 0000000..cd574f5
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!\r
+♫♪♬♩\r
+Eat food\r
+🍅🍕\r
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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..417786f
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..0ff5a53
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
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 (file)
index 0000000..ea030d3
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
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 (file)
index 0000000..04de00b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+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 (file)
index 0000000..dc88e3b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+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 (file)
index 0000000..e69de29
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 (file)
index 0000000..26e1a74
--- /dev/null
@@ -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 (file)
index 0000000..32c6f22
--- /dev/null
@@ -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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The 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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..37bb7fa
--- /dev/null
@@ -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 (file)
index 0000000..16001a1
--- /dev/null
@@ -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 (file)
index 0000000..2cda6f2
--- /dev/null
@@ -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 (file)
index 0000000..dc7d82a
--- /dev/null
@@ -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 (file)
index 0000000..e69de29
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 (file)
index 0000000..26e1a74
--- /dev/null
@@ -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 (file)
index 0000000..32c6f22
--- /dev/null
@@ -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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The 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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..37bb7fa
--- /dev/null
@@ -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 (file)
index 0000000..16001a1
--- /dev/null
@@ -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 (file)
index 0000000..2cda6f2
--- /dev/null
@@ -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 (file)
index 0000000..dc7d82a
--- /dev/null
@@ -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 (file)
index 0000000..e69de29
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 (file)
index 0000000..26e1a74
--- /dev/null
@@ -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 (file)
index 0000000..32c6f22
--- /dev/null
@@ -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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The 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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..37bb7fa
--- /dev/null
@@ -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 (file)
index 0000000..16001a1
--- /dev/null
@@ -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 (file)
index 0000000..2cda6f2
--- /dev/null
@@ -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 (file)
index 0000000..dc7d82a
--- /dev/null
@@ -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 (file)
index 0000000..e69de29
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 (file)
index 0000000..26e1a74
--- /dev/null
@@ -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 (file)
index 0000000..32c6f22
--- /dev/null
@@ -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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The 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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..37bb7fa
--- /dev/null
@@ -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 (file)
index 0000000..16001a1
--- /dev/null
@@ -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 (file)
index 0000000..2cda6f2
--- /dev/null
@@ -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 (file)
index 0000000..dc7d82a
--- /dev/null
@@ -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 (file)
index 0000000..e69de29
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 (file)
index 0000000..26e1a74
--- /dev/null
@@ -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 (file)
index 0000000..32c6f22
--- /dev/null
@@ -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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The 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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..37bb7fa
--- /dev/null
@@ -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 (file)
index 0000000..16001a1
--- /dev/null
@@ -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 (file)
index 0000000..2cda6f2
--- /dev/null
@@ -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 (file)
index 0000000..dc7d82a
--- /dev/null
@@ -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 (file)
index 0000000..e69de29
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 (file)
index 0000000..26e1a74
--- /dev/null
@@ -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 (file)
index 0000000..32c6f22
--- /dev/null
@@ -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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The 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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..37bb7fa
--- /dev/null
@@ -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 (file)
index 0000000..16001a1
--- /dev/null
@@ -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 (file)
index 0000000..2cda6f2
--- /dev/null
@@ -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 (file)
index 0000000..dc7d82a
--- /dev/null
@@ -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 (file)
index 0000000..e69de29
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 (file)
index 0000000..26e1a74
--- /dev/null
@@ -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 (file)
index 0000000..32c6f22
--- /dev/null
@@ -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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -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 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..aaf083a
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The 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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..417786f
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..37bb7fa
--- /dev/null
@@ -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 (file)
index 0000000..16001a1
--- /dev/null
@@ -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 (file)
index 0000000..2cda6f2
--- /dev/null
@@ -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 (file)
index 0000000..dc7d82a
--- /dev/null
@@ -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 (file)
index 0000000..e69de29
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 (file)
index 0000000..26e1a74
--- /dev/null
@@ -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 (file)
index 0000000..32c6f22
--- /dev/null
@@ -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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -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 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..aaf083a
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The 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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..417786f
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..37bb7fa
--- /dev/null
@@ -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 (file)
index 0000000..16001a1
--- /dev/null
@@ -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 (file)
index 0000000..2cda6f2
--- /dev/null
@@ -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 (file)
index 0000000..dc7d82a
--- /dev/null
@@ -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 (file)
index 0000000..e69de29
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 (file)
index 0000000..26e1a74
--- /dev/null
@@ -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 (file)
index 0000000..32c6f22
--- /dev/null
@@ -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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -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 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..aaf083a
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The 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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..417786f
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..37bb7fa
--- /dev/null
@@ -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 (file)
index 0000000..16001a1
--- /dev/null
@@ -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 (file)
index 0000000..2cda6f2
--- /dev/null
@@ -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 (file)
index 0000000..dc7d82a
--- /dev/null
@@ -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 (file)
index 0000000..e69de29
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 (file)
index 0000000..26e1a74
--- /dev/null
@@ -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 (file)
index 0000000..32c6f22
--- /dev/null
@@ -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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -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 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..aaf083a
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The 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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..417786f
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..37bb7fa
--- /dev/null
@@ -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 (file)
index 0000000..16001a1
--- /dev/null
@@ -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 (file)
index 0000000..2cda6f2
--- /dev/null
@@ -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 (file)
index 0000000..dc7d82a
--- /dev/null
@@ -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 (file)
index 0000000..e69de29
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 (file)
index 0000000..a9a2e89
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
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 (file)
index 0000000..0aa76e4
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -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 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..aaf083a
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..0e05288
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.\r
+The rest is ASCII02.\r
+The rest is ASCII03.\r
+The rest is ASCII04.\r
+The rest is ASCII05.\r
+The rest is ASCII06.\r
+The rest is ASCII07.\r
+The rest is ASCII08.\r
+The rest is ASCII09.\r
+The rest is ASCII10.\r
+The rest is ASCII11.\r
+The rest is ASCII12.\r
+The rest is ASCII13.\r
+The rest is ASCII14.\r
+The rest is ASCII15.\r
+The rest is ASCII16.\r
+The rest is ASCII17.\r
+The rest is ASCII18.\r
+The rest is ASCII19.\r
+The rest is ASCII20.\r
+The rest is ASCII21.\r
+The rest is ASCII22.\r
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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The 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 (file)
index 0000000..cd574f5
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!\r
+♫♪♬♩\r
+Eat food\r
+🍅🍕\r
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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..417786f
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..0ff5a53
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
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 (file)
index 0000000..ea030d3
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
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 (file)
index 0000000..04de00b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+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 (file)
index 0000000..dc88e3b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+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 (file)
index 0000000..e69de29
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 (file)
index 0000000..a9a2e89
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
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 (file)
index 0000000..0aa76e4
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -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 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..aaf083a
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..0e05288
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.\r
+The rest is ASCII02.\r
+The rest is ASCII03.\r
+The rest is ASCII04.\r
+The rest is ASCII05.\r
+The rest is ASCII06.\r
+The rest is ASCII07.\r
+The rest is ASCII08.\r
+The rest is ASCII09.\r
+The rest is ASCII10.\r
+The rest is ASCII11.\r
+The rest is ASCII12.\r
+The rest is ASCII13.\r
+The rest is ASCII14.\r
+The rest is ASCII15.\r
+The rest is ASCII16.\r
+The rest is ASCII17.\r
+The rest is ASCII18.\r
+The rest is ASCII19.\r
+The rest is ASCII20.\r
+The rest is ASCII21.\r
+The rest is ASCII22.\r
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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The 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 (file)
index 0000000..cd574f5
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!\r
+♫♪♬♩\r
+Eat food\r
+🍅🍕\r
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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..417786f
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..0ff5a53
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
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 (file)
index 0000000..ea030d3
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
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 (file)
index 0000000..04de00b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+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 (file)
index 0000000..dc88e3b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+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 (file)
index 0000000..e69de29
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 (file)
index 0000000..213f972
--- /dev/null
@@ -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 (file)
index 0000000..851ef6c
--- /dev/null
@@ -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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -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 (file)
index 0000000..26690f3
--- /dev/null
@@ -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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..c6b706d
--- /dev/null
@@ -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 (file)
index 0000000..c23959d
--- /dev/null
@@ -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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The 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 (file)
index 0000000..2e093c9
--- /dev/null
@@ -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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..3c6cbac
--- /dev/null
@@ -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 (file)
index 0000000..43b93db
--- /dev/null
@@ -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 (file)
index 0000000..b1a5dc9
--- /dev/null
@@ -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 (file)
index 0000000..13c4e3c
--- /dev/null
@@ -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 (file)
index 0000000..c964c72
--- /dev/null
@@ -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 (file)
index 0000000..e69de29
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 (file)
index 0000000..26e1a74
--- /dev/null
@@ -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 (file)
index 0000000..32c6f22
--- /dev/null
@@ -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 (file)
index 0000000..547008e
--- /dev/null
@@ -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 (file)
index 0000000..d992d47
--- /dev/null
@@ -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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..180663e
--- /dev/null
@@ -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 (file)
index 0000000..f87ce3f
--- /dev/null
@@ -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 (file)
index 0000000..63eac58
--- /dev/null
@@ -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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The 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 (file)
index 0000000..fabf466
--- /dev/null
@@ -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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..b874f4b
--- /dev/null
@@ -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 (file)
index 0000000..a353e0e
--- /dev/null
@@ -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 (file)
index 0000000..0287e32
--- /dev/null
@@ -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 (file)
index 0000000..e77b2b9
--- /dev/null
@@ -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 (file)
index 0000000..07f50c3
--- /dev/null
@@ -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 (file)
index 0000000..6994a8d
--- /dev/null
@@ -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 (file)
index 0000000..067a2e8
--- /dev/null
@@ -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 (file)
index 0000000..e69de29
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 (file)
index 0000000..213f972
--- /dev/null
@@ -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 (file)
index 0000000..851ef6c
--- /dev/null
@@ -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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -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 (file)
index 0000000..26690f3
--- /dev/null
@@ -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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..c6b706d
--- /dev/null
@@ -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 (file)
index 0000000..c23959d
--- /dev/null
@@ -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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The 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 (file)
index 0000000..2e093c9
--- /dev/null
@@ -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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..3c6cbac
--- /dev/null
@@ -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 (file)
index 0000000..43b93db
--- /dev/null
@@ -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 (file)
index 0000000..b1a5dc9
--- /dev/null
@@ -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 (file)
index 0000000..13c4e3c
--- /dev/null
@@ -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 (file)
index 0000000..c964c72
--- /dev/null
@@ -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 (file)
index 0000000..e69de29
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 (file)
index 0000000..26e1a74
--- /dev/null
@@ -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 (file)
index 0000000..32c6f22
--- /dev/null
@@ -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 (file)
index 0000000..547008e
--- /dev/null
@@ -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 (file)
index 0000000..d992d47
--- /dev/null
@@ -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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..180663e
--- /dev/null
@@ -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 (file)
index 0000000..f87ce3f
--- /dev/null
@@ -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 (file)
index 0000000..63eac58
--- /dev/null
@@ -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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The 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 (file)
index 0000000..fabf466
--- /dev/null
@@ -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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..b874f4b
--- /dev/null
@@ -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 (file)
index 0000000..a353e0e
--- /dev/null
@@ -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 (file)
index 0000000..0287e32
--- /dev/null
@@ -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 (file)
index 0000000..e77b2b9
--- /dev/null
@@ -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 (file)
index 0000000..07f50c3
--- /dev/null
@@ -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 (file)
index 0000000..6994a8d
--- /dev/null
@@ -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 (file)
index 0000000..067a2e8
--- /dev/null
@@ -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 (file)
index 0000000..e69de29
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 (file)
index 0000000..213f972
--- /dev/null
@@ -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 (file)
index 0000000..851ef6c
--- /dev/null
@@ -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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -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 (file)
index 0000000..26690f3
--- /dev/null
@@ -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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..c6b706d
--- /dev/null
@@ -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 (file)
index 0000000..c23959d
--- /dev/null
@@ -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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The 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 (file)
index 0000000..2e093c9
--- /dev/null
@@ -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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..3c6cbac
--- /dev/null
@@ -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 (file)
index 0000000..43b93db
--- /dev/null
@@ -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 (file)
index 0000000..b1a5dc9
--- /dev/null
@@ -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 (file)
index 0000000..13c4e3c
--- /dev/null
@@ -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 (file)
index 0000000..c964c72
--- /dev/null
@@ -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 (file)
index 0000000..e69de29
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 (file)
index 0000000..213f972
--- /dev/null
@@ -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 (file)
index 0000000..851ef6c
--- /dev/null
@@ -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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -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 (file)
index 0000000..26690f3
--- /dev/null
@@ -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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..c6b706d
--- /dev/null
@@ -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 (file)
index 0000000..c23959d
--- /dev/null
@@ -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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The 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 (file)
index 0000000..2e093c9
--- /dev/null
@@ -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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..3c6cbac
--- /dev/null
@@ -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 (file)
index 0000000..43b93db
--- /dev/null
@@ -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 (file)
index 0000000..b1a5dc9
--- /dev/null
@@ -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 (file)
index 0000000..13c4e3c
--- /dev/null
@@ -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 (file)
index 0000000..c964c72
--- /dev/null
@@ -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 (file)
index 0000000..e69de29
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 (file)
index 0000000..26e1a74
--- /dev/null
@@ -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 (file)
index 0000000..32c6f22
--- /dev/null
@@ -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 (file)
index 0000000..547008e
--- /dev/null
@@ -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 (file)
index 0000000..d992d47
--- /dev/null
@@ -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 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..aaf083a
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The 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 (file)
index 0000000..fabf466
--- /dev/null
@@ -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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..b874f4b
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..417786f
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..e77b2b9
--- /dev/null
@@ -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 (file)
index 0000000..07f50c3
--- /dev/null
@@ -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 (file)
index 0000000..6994a8d
--- /dev/null
@@ -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 (file)
index 0000000..067a2e8
--- /dev/null
@@ -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 (file)
index 0000000..e69de29
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 (file)
index 0000000..213f972
--- /dev/null
@@ -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 (file)
index 0000000..851ef6c
--- /dev/null
@@ -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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -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 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..aaf083a
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..c23959d
--- /dev/null
@@ -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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The 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 (file)
index 0000000..2e093c9
--- /dev/null
@@ -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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..417786f
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..43b93db
--- /dev/null
@@ -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 (file)
index 0000000..b1a5dc9
--- /dev/null
@@ -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 (file)
index 0000000..13c4e3c
--- /dev/null
@@ -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 (file)
index 0000000..c964c72
--- /dev/null
@@ -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 (file)
index 0000000..e69de29
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 (file)
index 0000000..213f972
--- /dev/null
@@ -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 (file)
index 0000000..851ef6c
--- /dev/null
@@ -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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -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 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..aaf083a
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..c23959d
--- /dev/null
@@ -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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The 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 (file)
index 0000000..2e093c9
--- /dev/null
@@ -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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..417786f
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..43b93db
--- /dev/null
@@ -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 (file)
index 0000000..b1a5dc9
--- /dev/null
@@ -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 (file)
index 0000000..13c4e3c
--- /dev/null
@@ -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 (file)
index 0000000..c964c72
--- /dev/null
@@ -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 (file)
index 0000000..e69de29
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 (file)
index 0000000..213f972
--- /dev/null
@@ -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 (file)
index 0000000..851ef6c
--- /dev/null
@@ -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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -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 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..aaf083a
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..c23959d
--- /dev/null
@@ -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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The 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 (file)
index 0000000..2e093c9
--- /dev/null
@@ -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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..417786f
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..43b93db
--- /dev/null
@@ -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 (file)
index 0000000..b1a5dc9
--- /dev/null
@@ -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 (file)
index 0000000..13c4e3c
--- /dev/null
@@ -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 (file)
index 0000000..c964c72
--- /dev/null
@@ -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 (file)
index 0000000..e69de29
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 (file)
index 0000000..a9a2e89
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
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 (file)
index 0000000..0aa76e4
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -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 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..aaf083a
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..0e05288
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.\r
+The rest is ASCII02.\r
+The rest is ASCII03.\r
+The rest is ASCII04.\r
+The rest is ASCII05.\r
+The rest is ASCII06.\r
+The rest is ASCII07.\r
+The rest is ASCII08.\r
+The rest is ASCII09.\r
+The rest is ASCII10.\r
+The rest is ASCII11.\r
+The rest is ASCII12.\r
+The rest is ASCII13.\r
+The rest is ASCII14.\r
+The rest is ASCII15.\r
+The rest is ASCII16.\r
+The rest is ASCII17.\r
+The rest is ASCII18.\r
+The rest is ASCII19.\r
+The rest is ASCII20.\r
+The rest is ASCII21.\r
+The rest is ASCII22.\r
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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The 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 (file)
index 0000000..cd574f5
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!\r
+♫♪♬♩\r
+Eat food\r
+🍅🍕\r
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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..417786f
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..0ff5a53
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
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 (file)
index 0000000..ea030d3
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
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 (file)
index 0000000..04de00b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+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 (file)
index 0000000..dc88e3b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+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 (file)
index 0000000..e69de29
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 (file)
index 0000000..a9a2e89
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
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 (file)
index 0000000..0aa76e4
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -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 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..aaf083a
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..0e05288
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.\r
+The rest is ASCII02.\r
+The rest is ASCII03.\r
+The rest is ASCII04.\r
+The rest is ASCII05.\r
+The rest is ASCII06.\r
+The rest is ASCII07.\r
+The rest is ASCII08.\r
+The rest is ASCII09.\r
+The rest is ASCII10.\r
+The rest is ASCII11.\r
+The rest is ASCII12.\r
+The rest is ASCII13.\r
+The rest is ASCII14.\r
+The rest is ASCII15.\r
+The rest is ASCII16.\r
+The rest is ASCII17.\r
+The rest is ASCII18.\r
+The rest is ASCII19.\r
+The rest is ASCII20.\r
+The rest is ASCII21.\r
+The rest is ASCII22.\r
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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The 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 (file)
index 0000000..cd574f5
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!\r
+♫♪♬♩\r
+Eat food\r
+🍅🍕\r
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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..417786f
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..0ff5a53
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
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 (file)
index 0000000..ea030d3
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
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 (file)
index 0000000..04de00b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+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 (file)
index 0000000..dc88e3b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+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 (file)
index 0000000..e69de29
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 (file)
index 0000000..26e1a74
--- /dev/null
@@ -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 (file)
index 0000000..32c6f22
--- /dev/null
@@ -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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The 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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..37bb7fa
--- /dev/null
@@ -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 (file)
index 0000000..16001a1
--- /dev/null
@@ -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 (file)
index 0000000..2cda6f2
--- /dev/null
@@ -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 (file)
index 0000000..dc7d82a
--- /dev/null
@@ -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 (file)
index 0000000..e69de29
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 (file)
index 0000000..26e1a74
--- /dev/null
@@ -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 (file)
index 0000000..32c6f22
--- /dev/null
@@ -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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The 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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..37bb7fa
--- /dev/null
@@ -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 (file)
index 0000000..16001a1
--- /dev/null
@@ -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 (file)
index 0000000..2cda6f2
--- /dev/null
@@ -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 (file)
index 0000000..dc7d82a
--- /dev/null
@@ -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 (file)
index 0000000..e69de29
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 (file)
index 0000000..26e1a74
--- /dev/null
@@ -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 (file)
index 0000000..32c6f22
--- /dev/null
@@ -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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The 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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..37bb7fa
--- /dev/null
@@ -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 (file)
index 0000000..16001a1
--- /dev/null
@@ -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 (file)
index 0000000..2cda6f2
--- /dev/null
@@ -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 (file)
index 0000000..dc7d82a
--- /dev/null
@@ -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 (file)
index 0000000..e69de29
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 (file)
index 0000000..26e1a74
--- /dev/null
@@ -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 (file)
index 0000000..32c6f22
--- /dev/null
@@ -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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The 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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..37bb7fa
--- /dev/null
@@ -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 (file)
index 0000000..16001a1
--- /dev/null
@@ -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 (file)
index 0000000..2cda6f2
--- /dev/null
@@ -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 (file)
index 0000000..dc7d82a
--- /dev/null
@@ -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 (file)
index 0000000..e69de29
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 (file)
index 0000000..26e1a74
--- /dev/null
@@ -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 (file)
index 0000000..32c6f22
--- /dev/null
@@ -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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The 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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..37bb7fa
--- /dev/null
@@ -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 (file)
index 0000000..16001a1
--- /dev/null
@@ -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 (file)
index 0000000..2cda6f2
--- /dev/null
@@ -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 (file)
index 0000000..dc7d82a
--- /dev/null
@@ -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 (file)
index 0000000..e69de29
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 (file)
index 0000000..26e1a74
--- /dev/null
@@ -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 (file)
index 0000000..32c6f22
--- /dev/null
@@ -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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The 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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..37bb7fa
--- /dev/null
@@ -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 (file)
index 0000000..16001a1
--- /dev/null
@@ -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 (file)
index 0000000..2cda6f2
--- /dev/null
@@ -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 (file)
index 0000000..dc7d82a
--- /dev/null
@@ -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 (file)
index 0000000..e69de29
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 (file)
index 0000000..26e1a74
--- /dev/null
@@ -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 (file)
index 0000000..32c6f22
--- /dev/null
@@ -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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -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 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..aaf083a
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The 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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..417786f
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..37bb7fa
--- /dev/null
@@ -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 (file)
index 0000000..16001a1
--- /dev/null
@@ -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 (file)
index 0000000..2cda6f2
--- /dev/null
@@ -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 (file)
index 0000000..dc7d82a
--- /dev/null
@@ -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 (file)
index 0000000..e69de29
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 (file)
index 0000000..26e1a74
--- /dev/null
@@ -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 (file)
index 0000000..32c6f22
--- /dev/null
@@ -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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -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 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..aaf083a
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The 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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..417786f
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..37bb7fa
--- /dev/null
@@ -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 (file)
index 0000000..16001a1
--- /dev/null
@@ -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 (file)
index 0000000..2cda6f2
--- /dev/null
@@ -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 (file)
index 0000000..dc7d82a
--- /dev/null
@@ -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 (file)
index 0000000..e69de29
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 (file)
index 0000000..26e1a74
--- /dev/null
@@ -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 (file)
index 0000000..32c6f22
--- /dev/null
@@ -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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -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 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..aaf083a
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The 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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..417786f
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..37bb7fa
--- /dev/null
@@ -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 (file)
index 0000000..16001a1
--- /dev/null
@@ -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 (file)
index 0000000..2cda6f2
--- /dev/null
@@ -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 (file)
index 0000000..dc7d82a
--- /dev/null
@@ -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 (file)
index 0000000..e69de29
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 (file)
index 0000000..26e1a74
--- /dev/null
@@ -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 (file)
index 0000000..32c6f22
--- /dev/null
@@ -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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -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 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..aaf083a
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The 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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..417786f
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..37bb7fa
--- /dev/null
@@ -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 (file)
index 0000000..16001a1
--- /dev/null
@@ -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 (file)
index 0000000..2cda6f2
--- /dev/null
@@ -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 (file)
index 0000000..dc7d82a
--- /dev/null
@@ -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 (file)
index 0000000..e69de29
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 (file)
index 0000000..a9a2e89
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
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 (file)
index 0000000..0aa76e4
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -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 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..aaf083a
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..0e05288
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.\r
+The rest is ASCII02.\r
+The rest is ASCII03.\r
+The rest is ASCII04.\r
+The rest is ASCII05.\r
+The rest is ASCII06.\r
+The rest is ASCII07.\r
+The rest is ASCII08.\r
+The rest is ASCII09.\r
+The rest is ASCII10.\r
+The rest is ASCII11.\r
+The rest is ASCII12.\r
+The rest is ASCII13.\r
+The rest is ASCII14.\r
+The rest is ASCII15.\r
+The rest is ASCII16.\r
+The rest is ASCII17.\r
+The rest is ASCII18.\r
+The rest is ASCII19.\r
+The rest is ASCII20.\r
+The rest is ASCII21.\r
+The rest is ASCII22.\r
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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The 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 (file)
index 0000000..cd574f5
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!\r
+♫♪♬♩\r
+Eat food\r
+🍅🍕\r
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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..417786f
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..0ff5a53
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
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 (file)
index 0000000..ea030d3
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
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 (file)
index 0000000..04de00b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+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 (file)
index 0000000..dc88e3b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+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 (file)
index 0000000..e69de29
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 (file)
index 0000000..a9a2e89
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
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 (file)
index 0000000..0aa76e4
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -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 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..aaf083a
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..0e05288
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.\r
+The rest is ASCII02.\r
+The rest is ASCII03.\r
+The rest is ASCII04.\r
+The rest is ASCII05.\r
+The rest is ASCII06.\r
+The rest is ASCII07.\r
+The rest is ASCII08.\r
+The rest is ASCII09.\r
+The rest is ASCII10.\r
+The rest is ASCII11.\r
+The rest is ASCII12.\r
+The rest is ASCII13.\r
+The rest is ASCII14.\r
+The rest is ASCII15.\r
+The rest is ASCII16.\r
+The rest is ASCII17.\r
+The rest is ASCII18.\r
+The rest is ASCII19.\r
+The rest is ASCII20.\r
+The rest is ASCII21.\r
+The rest is ASCII22.\r
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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The 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 (file)
index 0000000..cd574f5
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!\r
+♫♪♬♩\r
+Eat food\r
+🍅🍕\r
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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..417786f
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..0ff5a53
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
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 (file)
index 0000000..ea030d3
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
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 (file)
index 0000000..04de00b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+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 (file)
index 0000000..dc88e3b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+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 (file)
index 0000000..e69de29
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 (file)
index 0000000..26e1a74
--- /dev/null
@@ -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 (file)
index 0000000..32c6f22
--- /dev/null
@@ -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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The 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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..37bb7fa
--- /dev/null
@@ -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 (file)
index 0000000..16001a1
--- /dev/null
@@ -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 (file)
index 0000000..2cda6f2
--- /dev/null
@@ -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 (file)
index 0000000..dc7d82a
--- /dev/null
@@ -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 (file)
index 0000000..e69de29
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 (file)
index 0000000..26e1a74
--- /dev/null
@@ -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 (file)
index 0000000..32c6f22
--- /dev/null
@@ -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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The 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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..37bb7fa
--- /dev/null
@@ -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 (file)
index 0000000..16001a1
--- /dev/null
@@ -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 (file)
index 0000000..2cda6f2
--- /dev/null
@@ -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 (file)
index 0000000..dc7d82a
--- /dev/null
@@ -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 (file)
index 0000000..e69de29
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 (file)
index 0000000..26e1a74
--- /dev/null
@@ -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 (file)
index 0000000..32c6f22
--- /dev/null
@@ -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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The 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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..37bb7fa
--- /dev/null
@@ -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 (file)
index 0000000..16001a1
--- /dev/null
@@ -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 (file)
index 0000000..2cda6f2
--- /dev/null
@@ -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 (file)
index 0000000..dc7d82a
--- /dev/null
@@ -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 (file)
index 0000000..e69de29
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 (file)
index 0000000..26e1a74
--- /dev/null
@@ -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 (file)
index 0000000..32c6f22
--- /dev/null
@@ -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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The 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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..37bb7fa
--- /dev/null
@@ -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 (file)
index 0000000..16001a1
--- /dev/null
@@ -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 (file)
index 0000000..2cda6f2
--- /dev/null
@@ -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 (file)
index 0000000..dc7d82a
--- /dev/null
@@ -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 (file)
index 0000000..e69de29
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 (file)
index 0000000..26e1a74
--- /dev/null
@@ -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 (file)
index 0000000..32c6f22
--- /dev/null
@@ -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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The 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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..37bb7fa
--- /dev/null
@@ -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 (file)
index 0000000..16001a1
--- /dev/null
@@ -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 (file)
index 0000000..2cda6f2
--- /dev/null
@@ -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 (file)
index 0000000..dc7d82a
--- /dev/null
@@ -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 (file)
index 0000000..e69de29
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 (file)
index 0000000..26e1a74
--- /dev/null
@@ -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 (file)
index 0000000..32c6f22
--- /dev/null
@@ -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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The 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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..37bb7fa
--- /dev/null
@@ -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 (file)
index 0000000..16001a1
--- /dev/null
@@ -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 (file)
index 0000000..2cda6f2
--- /dev/null
@@ -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 (file)
index 0000000..dc7d82a
--- /dev/null
@@ -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 (file)
index 0000000..e69de29
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 (file)
index 0000000..26e1a74
--- /dev/null
@@ -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 (file)
index 0000000..32c6f22
--- /dev/null
@@ -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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -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 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..aaf083a
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The 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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..417786f
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..37bb7fa
--- /dev/null
@@ -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 (file)
index 0000000..16001a1
--- /dev/null
@@ -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 (file)
index 0000000..2cda6f2
--- /dev/null
@@ -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 (file)
index 0000000..dc7d82a
--- /dev/null
@@ -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 (file)
index 0000000..e69de29
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 (file)
index 0000000..26e1a74
--- /dev/null
@@ -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 (file)
index 0000000..32c6f22
--- /dev/null
@@ -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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -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 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..aaf083a
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The 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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..417786f
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..37bb7fa
--- /dev/null
@@ -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 (file)
index 0000000..16001a1
--- /dev/null
@@ -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 (file)
index 0000000..2cda6f2
--- /dev/null
@@ -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 (file)
index 0000000..dc7d82a
--- /dev/null
@@ -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 (file)
index 0000000..e69de29
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 (file)
index 0000000..26e1a74
--- /dev/null
@@ -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 (file)
index 0000000..32c6f22
--- /dev/null
@@ -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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -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 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..aaf083a
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The 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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..417786f
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..37bb7fa
--- /dev/null
@@ -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 (file)
index 0000000..16001a1
--- /dev/null
@@ -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 (file)
index 0000000..2cda6f2
--- /dev/null
@@ -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 (file)
index 0000000..dc7d82a
--- /dev/null
@@ -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 (file)
index 0000000..e69de29
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 (file)
index 0000000..26e1a74
--- /dev/null
@@ -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 (file)
index 0000000..32c6f22
--- /dev/null
@@ -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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -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 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..aaf083a
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The 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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..417786f
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..37bb7fa
--- /dev/null
@@ -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 (file)
index 0000000..16001a1
--- /dev/null
@@ -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 (file)
index 0000000..2cda6f2
--- /dev/null
@@ -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 (file)
index 0000000..dc7d82a
--- /dev/null
@@ -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 (file)
index 0000000..e69de29
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 (file)
index 0000000..a9a2e89
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
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 (file)
index 0000000..0aa76e4
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -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 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..aaf083a
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..0e05288
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.\r
+The rest is ASCII02.\r
+The rest is ASCII03.\r
+The rest is ASCII04.\r
+The rest is ASCII05.\r
+The rest is ASCII06.\r
+The rest is ASCII07.\r
+The rest is ASCII08.\r
+The rest is ASCII09.\r
+The rest is ASCII10.\r
+The rest is ASCII11.\r
+The rest is ASCII12.\r
+The rest is ASCII13.\r
+The rest is ASCII14.\r
+The rest is ASCII15.\r
+The rest is ASCII16.\r
+The rest is ASCII17.\r
+The rest is ASCII18.\r
+The rest is ASCII19.\r
+The rest is ASCII20.\r
+The rest is ASCII21.\r
+The rest is ASCII22.\r
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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The 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 (file)
index 0000000..cd574f5
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!\r
+♫♪♬♩\r
+Eat food\r
+🍅🍕\r
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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..417786f
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..0ff5a53
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
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 (file)
index 0000000..ea030d3
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
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 (file)
index 0000000..04de00b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+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 (file)
index 0000000..dc88e3b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+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 (file)
index 0000000..e69de29
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 (file)
index 0000000..a9a2e89
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
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 (file)
index 0000000..0aa76e4
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -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 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..aaf083a
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..0e05288
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.\r
+The rest is ASCII02.\r
+The rest is ASCII03.\r
+The rest is ASCII04.\r
+The rest is ASCII05.\r
+The rest is ASCII06.\r
+The rest is ASCII07.\r
+The rest is ASCII08.\r
+The rest is ASCII09.\r
+The rest is ASCII10.\r
+The rest is ASCII11.\r
+The rest is ASCII12.\r
+The rest is ASCII13.\r
+The rest is ASCII14.\r
+The rest is ASCII15.\r
+The rest is ASCII16.\r
+The rest is ASCII17.\r
+The rest is ASCII18.\r
+The rest is ASCII19.\r
+The rest is ASCII20.\r
+The rest is ASCII21.\r
+The rest is ASCII22.\r
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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The 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 (file)
index 0000000..cd574f5
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!\r
+♫♪♬♩\r
+Eat food\r
+🍅🍕\r
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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..417786f
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..0ff5a53
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
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 (file)
index 0000000..ea030d3
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
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 (file)
index 0000000..04de00b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+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 (file)
index 0000000..dc88e3b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+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 (file)
index 0000000..e69de29
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 (file)
index 0000000..26e1a74
--- /dev/null
@@ -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 (file)
index 0000000..32c6f22
--- /dev/null
@@ -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 (file)
index 0000000..547008e
--- /dev/null
@@ -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 (file)
index 0000000..d992d47
--- /dev/null
@@ -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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..180663e
--- /dev/null
@@ -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 (file)
index 0000000..f87ce3f
--- /dev/null
@@ -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 (file)
index 0000000..63eac58
--- /dev/null
@@ -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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The 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 (file)
index 0000000..fabf466
--- /dev/null
@@ -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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..b874f4b
--- /dev/null
@@ -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 (file)
index 0000000..a353e0e
--- /dev/null
@@ -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 (file)
index 0000000..0287e32
--- /dev/null
@@ -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 (file)
index 0000000..e77b2b9
--- /dev/null
@@ -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 (file)
index 0000000..07f50c3
--- /dev/null
@@ -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 (file)
index 0000000..6994a8d
--- /dev/null
@@ -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 (file)
index 0000000..067a2e8
--- /dev/null
@@ -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 (file)
index 0000000..e69de29
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 (file)
index 0000000..26e1a74
--- /dev/null
@@ -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 (file)
index 0000000..32c6f22
--- /dev/null
@@ -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 (file)
index 0000000..547008e
--- /dev/null
@@ -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 (file)
index 0000000..d992d47
--- /dev/null
@@ -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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..180663e
--- /dev/null
@@ -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 (file)
index 0000000..f87ce3f
--- /dev/null
@@ -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 (file)
index 0000000..63eac58
--- /dev/null
@@ -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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The 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 (file)
index 0000000..fabf466
--- /dev/null
@@ -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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..b874f4b
--- /dev/null
@@ -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 (file)
index 0000000..a353e0e
--- /dev/null
@@ -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 (file)
index 0000000..0287e32
--- /dev/null
@@ -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 (file)
index 0000000..e77b2b9
--- /dev/null
@@ -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 (file)
index 0000000..07f50c3
--- /dev/null
@@ -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 (file)
index 0000000..6994a8d
--- /dev/null
@@ -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 (file)
index 0000000..067a2e8
--- /dev/null
@@ -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 (file)
index 0000000..e69de29
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 (file)
index 0000000..213f972
--- /dev/null
@@ -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 (file)
index 0000000..851ef6c
--- /dev/null
@@ -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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -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 (file)
index 0000000..26690f3
--- /dev/null
@@ -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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..c6b706d
--- /dev/null
@@ -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 (file)
index 0000000..c23959d
--- /dev/null
@@ -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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The 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 (file)
index 0000000..2e093c9
--- /dev/null
@@ -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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..3c6cbac
--- /dev/null
@@ -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 (file)
index 0000000..43b93db
--- /dev/null
@@ -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 (file)
index 0000000..b1a5dc9
--- /dev/null
@@ -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 (file)
index 0000000..13c4e3c
--- /dev/null
@@ -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 (file)
index 0000000..c964c72
--- /dev/null
@@ -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 (file)
index 0000000..e69de29
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 (file)
index 0000000..26e1a74
--- /dev/null
@@ -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 (file)
index 0000000..32c6f22
--- /dev/null
@@ -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 (file)
index 0000000..547008e
--- /dev/null
@@ -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 (file)
index 0000000..d992d47
--- /dev/null
@@ -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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..180663e
--- /dev/null
@@ -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 (file)
index 0000000..f87ce3f
--- /dev/null
@@ -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 (file)
index 0000000..63eac58
--- /dev/null
@@ -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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The 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 (file)
index 0000000..fabf466
--- /dev/null
@@ -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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..b874f4b
--- /dev/null
@@ -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 (file)
index 0000000..a353e0e
--- /dev/null
@@ -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 (file)
index 0000000..0287e32
--- /dev/null
@@ -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 (file)
index 0000000..e77b2b9
--- /dev/null
@@ -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 (file)
index 0000000..07f50c3
--- /dev/null
@@ -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 (file)
index 0000000..6994a8d
--- /dev/null
@@ -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 (file)
index 0000000..067a2e8
--- /dev/null
@@ -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 (file)
index 0000000..e69de29
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 (file)
index 0000000..213f972
--- /dev/null
@@ -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 (file)
index 0000000..851ef6c
--- /dev/null
@@ -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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -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 (file)
index 0000000..26690f3
--- /dev/null
@@ -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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..c6b706d
--- /dev/null
@@ -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 (file)
index 0000000..c23959d
--- /dev/null
@@ -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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The 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 (file)
index 0000000..2e093c9
--- /dev/null
@@ -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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..3c6cbac
--- /dev/null
@@ -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 (file)
index 0000000..43b93db
--- /dev/null
@@ -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 (file)
index 0000000..b1a5dc9
--- /dev/null
@@ -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 (file)
index 0000000..13c4e3c
--- /dev/null
@@ -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 (file)
index 0000000..c964c72
--- /dev/null
@@ -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 (file)
index 0000000..e69de29
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 (file)
index 0000000..26e1a74
--- /dev/null
@@ -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 (file)
index 0000000..32c6f22
--- /dev/null
@@ -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 (file)
index 0000000..547008e
--- /dev/null
@@ -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 (file)
index 0000000..d992d47
--- /dev/null
@@ -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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..180663e
--- /dev/null
@@ -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 (file)
index 0000000..f87ce3f
--- /dev/null
@@ -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 (file)
index 0000000..63eac58
--- /dev/null
@@ -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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The 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 (file)
index 0000000..fabf466
--- /dev/null
@@ -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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..b874f4b
--- /dev/null
@@ -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 (file)
index 0000000..a353e0e
--- /dev/null
@@ -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 (file)
index 0000000..0287e32
--- /dev/null
@@ -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 (file)
index 0000000..e77b2b9
--- /dev/null
@@ -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 (file)
index 0000000..07f50c3
--- /dev/null
@@ -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 (file)
index 0000000..6994a8d
--- /dev/null
@@ -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 (file)
index 0000000..067a2e8
--- /dev/null
@@ -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 (file)
index 0000000..e69de29
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 (file)
index 0000000..26e1a74
--- /dev/null
@@ -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 (file)
index 0000000..32c6f22
--- /dev/null
@@ -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 (file)
index 0000000..547008e
--- /dev/null
@@ -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 (file)
index 0000000..d992d47
--- /dev/null
@@ -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 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..aaf083a
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The 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 (file)
index 0000000..fabf466
--- /dev/null
@@ -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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..b874f4b
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..417786f
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..e77b2b9
--- /dev/null
@@ -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 (file)
index 0000000..07f50c3
--- /dev/null
@@ -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 (file)
index 0000000..6994a8d
--- /dev/null
@@ -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 (file)
index 0000000..067a2e8
--- /dev/null
@@ -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 (file)
index 0000000..e69de29
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 (file)
index 0000000..213f972
--- /dev/null
@@ -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 (file)
index 0000000..851ef6c
--- /dev/null
@@ -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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -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 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..aaf083a
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..c23959d
--- /dev/null
@@ -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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The 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 (file)
index 0000000..2e093c9
--- /dev/null
@@ -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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..417786f
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..43b93db
--- /dev/null
@@ -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 (file)
index 0000000..b1a5dc9
--- /dev/null
@@ -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 (file)
index 0000000..13c4e3c
--- /dev/null
@@ -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 (file)
index 0000000..c964c72
--- /dev/null
@@ -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 (file)
index 0000000..e69de29
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 (file)
index 0000000..26e1a74
--- /dev/null
@@ -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 (file)
index 0000000..32c6f22
--- /dev/null
@@ -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 (file)
index 0000000..547008e
--- /dev/null
@@ -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 (file)
index 0000000..d992d47
--- /dev/null
@@ -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 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..aaf083a
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The 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 (file)
index 0000000..fabf466
--- /dev/null
@@ -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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..b874f4b
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..417786f
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..e77b2b9
--- /dev/null
@@ -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 (file)
index 0000000..07f50c3
--- /dev/null
@@ -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 (file)
index 0000000..6994a8d
--- /dev/null
@@ -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 (file)
index 0000000..067a2e8
--- /dev/null
@@ -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 (file)
index 0000000..e69de29
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 (file)
index 0000000..26e1a74
--- /dev/null
@@ -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 (file)
index 0000000..32c6f22
--- /dev/null
@@ -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 (file)
index 0000000..547008e
--- /dev/null
@@ -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 (file)
index 0000000..d992d47
--- /dev/null
@@ -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 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..aaf083a
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The 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 (file)
index 0000000..fabf466
--- /dev/null
@@ -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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..b874f4b
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..417786f
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..e77b2b9
--- /dev/null
@@ -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 (file)
index 0000000..07f50c3
--- /dev/null
@@ -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 (file)
index 0000000..6994a8d
--- /dev/null
@@ -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 (file)
index 0000000..067a2e8
--- /dev/null
@@ -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 (file)
index 0000000..e69de29
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 (file)
index 0000000..a9a2e89
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
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 (file)
index 0000000..0aa76e4
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -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 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..aaf083a
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..0e05288
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.\r
+The rest is ASCII02.\r
+The rest is ASCII03.\r
+The rest is ASCII04.\r
+The rest is ASCII05.\r
+The rest is ASCII06.\r
+The rest is ASCII07.\r
+The rest is ASCII08.\r
+The rest is ASCII09.\r
+The rest is ASCII10.\r
+The rest is ASCII11.\r
+The rest is ASCII12.\r
+The rest is ASCII13.\r
+The rest is ASCII14.\r
+The rest is ASCII15.\r
+The rest is ASCII16.\r
+The rest is ASCII17.\r
+The rest is ASCII18.\r
+The rest is ASCII19.\r
+The rest is ASCII20.\r
+The rest is ASCII21.\r
+The rest is ASCII22.\r
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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The 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 (file)
index 0000000..cd574f5
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!\r
+♫♪♬♩\r
+Eat food\r
+🍅🍕\r
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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..417786f
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..0ff5a53
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
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 (file)
index 0000000..ea030d3
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
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 (file)
index 0000000..04de00b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+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 (file)
index 0000000..dc88e3b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+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 (file)
index 0000000..e69de29
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 (file)
index 0000000..a9a2e89
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
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 (file)
index 0000000..0aa76e4
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -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 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..aaf083a
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..0e05288
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.\r
+The rest is ASCII02.\r
+The rest is ASCII03.\r
+The rest is ASCII04.\r
+The rest is ASCII05.\r
+The rest is ASCII06.\r
+The rest is ASCII07.\r
+The rest is ASCII08.\r
+The rest is ASCII09.\r
+The rest is ASCII10.\r
+The rest is ASCII11.\r
+The rest is ASCII12.\r
+The rest is ASCII13.\r
+The rest is ASCII14.\r
+The rest is ASCII15.\r
+The rest is ASCII16.\r
+The rest is ASCII17.\r
+The rest is ASCII18.\r
+The rest is ASCII19.\r
+The rest is ASCII20.\r
+The rest is ASCII21.\r
+The rest is ASCII22.\r
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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The 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 (file)
index 0000000..cd574f5
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!\r
+♫♪♬♩\r
+Eat food\r
+🍅🍕\r
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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..417786f
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..0ff5a53
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
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 (file)
index 0000000..ea030d3
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
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 (file)
index 0000000..04de00b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+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 (file)
index 0000000..dc88e3b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+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 (file)
index 0000000..e69de29
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 (file)
index 0000000..26e1a74
--- /dev/null
@@ -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 (file)
index 0000000..32c6f22
--- /dev/null
@@ -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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The 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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..37bb7fa
--- /dev/null
@@ -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 (file)
index 0000000..16001a1
--- /dev/null
@@ -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 (file)
index 0000000..2cda6f2
--- /dev/null
@@ -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 (file)
index 0000000..dc7d82a
--- /dev/null
@@ -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 (file)
index 0000000..e69de29
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 (file)
index 0000000..26e1a74
--- /dev/null
@@ -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 (file)
index 0000000..32c6f22
--- /dev/null
@@ -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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The 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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..37bb7fa
--- /dev/null
@@ -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 (file)
index 0000000..16001a1
--- /dev/null
@@ -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 (file)
index 0000000..2cda6f2
--- /dev/null
@@ -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 (file)
index 0000000..dc7d82a
--- /dev/null
@@ -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 (file)
index 0000000..e69de29
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 (file)
index 0000000..26e1a74
--- /dev/null
@@ -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 (file)
index 0000000..32c6f22
--- /dev/null
@@ -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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The 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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..37bb7fa
--- /dev/null
@@ -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 (file)
index 0000000..16001a1
--- /dev/null
@@ -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 (file)
index 0000000..2cda6f2
--- /dev/null
@@ -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 (file)
index 0000000..dc7d82a
--- /dev/null
@@ -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 (file)
index 0000000..e69de29
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 (file)
index 0000000..26e1a74
--- /dev/null
@@ -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 (file)
index 0000000..32c6f22
--- /dev/null
@@ -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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The 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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..37bb7fa
--- /dev/null
@@ -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 (file)
index 0000000..16001a1
--- /dev/null
@@ -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 (file)
index 0000000..2cda6f2
--- /dev/null
@@ -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 (file)
index 0000000..dc7d82a
--- /dev/null
@@ -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 (file)
index 0000000..e69de29
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 (file)
index 0000000..26e1a74
--- /dev/null
@@ -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 (file)
index 0000000..32c6f22
--- /dev/null
@@ -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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The 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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..37bb7fa
--- /dev/null
@@ -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 (file)
index 0000000..16001a1
--- /dev/null
@@ -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 (file)
index 0000000..2cda6f2
--- /dev/null
@@ -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 (file)
index 0000000..dc7d82a
--- /dev/null
@@ -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 (file)
index 0000000..e69de29
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 (file)
index 0000000..26e1a74
--- /dev/null
@@ -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 (file)
index 0000000..32c6f22
--- /dev/null
@@ -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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The 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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..37bb7fa
--- /dev/null
@@ -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 (file)
index 0000000..16001a1
--- /dev/null
@@ -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 (file)
index 0000000..2cda6f2
--- /dev/null
@@ -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 (file)
index 0000000..dc7d82a
--- /dev/null
@@ -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 (file)
index 0000000..e69de29
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 (file)
index 0000000..26e1a74
--- /dev/null
@@ -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 (file)
index 0000000..32c6f22
--- /dev/null
@@ -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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -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 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..aaf083a
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The 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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..417786f
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..37bb7fa
--- /dev/null
@@ -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 (file)
index 0000000..16001a1
--- /dev/null
@@ -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 (file)
index 0000000..2cda6f2
--- /dev/null
@@ -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 (file)
index 0000000..dc7d82a
--- /dev/null
@@ -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 (file)
index 0000000..e69de29
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 (file)
index 0000000..26e1a74
--- /dev/null
@@ -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 (file)
index 0000000..32c6f22
--- /dev/null
@@ -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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -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 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..aaf083a
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The 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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..417786f
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..37bb7fa
--- /dev/null
@@ -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 (file)
index 0000000..16001a1
--- /dev/null
@@ -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 (file)
index 0000000..2cda6f2
--- /dev/null
@@ -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 (file)
index 0000000..dc7d82a
--- /dev/null
@@ -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 (file)
index 0000000..e69de29
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 (file)
index 0000000..26e1a74
--- /dev/null
@@ -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 (file)
index 0000000..32c6f22
--- /dev/null
@@ -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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -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 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..aaf083a
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The 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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..417786f
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..37bb7fa
--- /dev/null
@@ -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 (file)
index 0000000..16001a1
--- /dev/null
@@ -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 (file)
index 0000000..2cda6f2
--- /dev/null
@@ -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 (file)
index 0000000..dc7d82a
--- /dev/null
@@ -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 (file)
index 0000000..e69de29
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 (file)
index 0000000..26e1a74
--- /dev/null
@@ -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 (file)
index 0000000..32c6f22
--- /dev/null
@@ -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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -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 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..aaf083a
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The 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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The rest is ASCII19.
+The 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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..417786f
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..37bb7fa
--- /dev/null
@@ -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 (file)
index 0000000..16001a1
--- /dev/null
@@ -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 (file)
index 0000000..2cda6f2
--- /dev/null
@@ -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 (file)
index 0000000..dc7d82a
--- /dev/null
@@ -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 (file)
index 0000000..e69de29
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 (file)
index 0000000..a9a2e89
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
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 (file)
index 0000000..0aa76e4
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -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 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..aaf083a
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..0e05288
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.\r
+The rest is ASCII02.\r
+The rest is ASCII03.\r
+The rest is ASCII04.\r
+The rest is ASCII05.\r
+The rest is ASCII06.\r
+The rest is ASCII07.\r
+The rest is ASCII08.\r
+The rest is ASCII09.\r
+The rest is ASCII10.\r
+The rest is ASCII11.\r
+The rest is ASCII12.\r
+The rest is ASCII13.\r
+The rest is ASCII14.\r
+The rest is ASCII15.\r
+The rest is ASCII16.\r
+The rest is ASCII17.\r
+The rest is ASCII18.\r
+The rest is ASCII19.\r
+The rest is ASCII20.\r
+The rest is ASCII21.\r
+The rest is ASCII22.\r
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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The 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 (file)
index 0000000..cd574f5
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!\r
+♫♪♬♩\r
+Eat food\r
+🍅🍕\r
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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..417786f
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..0ff5a53
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
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 (file)
index 0000000..ea030d3
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
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 (file)
index 0000000..04de00b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+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 (file)
index 0000000..dc88e3b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+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 (file)
index 0000000..e69de29
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 (file)
index 0000000..a9a2e89
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
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 (file)
index 0000000..0aa76e4
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -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 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..aaf083a
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..0e05288
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.\r
+The rest is ASCII02.\r
+The rest is ASCII03.\r
+The rest is ASCII04.\r
+The rest is ASCII05.\r
+The rest is ASCII06.\r
+The rest is ASCII07.\r
+The rest is ASCII08.\r
+The rest is ASCII09.\r
+The rest is ASCII10.\r
+The rest is ASCII11.\r
+The rest is ASCII12.\r
+The rest is ASCII13.\r
+The rest is ASCII14.\r
+The rest is ASCII15.\r
+The rest is ASCII16.\r
+The rest is ASCII17.\r
+The rest is ASCII18.\r
+The rest is ASCII19.\r
+The rest is ASCII20.\r
+The rest is ASCII21.\r
+The rest is ASCII22.\r
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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The 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 (file)
index 0000000..cd574f5
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!\r
+♫♪♬♩\r
+Eat food\r
+🍅🍕\r
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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..417786f
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..0ff5a53
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
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 (file)
index 0000000..ea030d3
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
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 (file)
index 0000000..04de00b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+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 (file)
index 0000000..dc88e3b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+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 (file)
index 0000000..e69de29
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 (file)
index 0000000..a9a2e89
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
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 (file)
index 0000000..0aa76e4
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
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 (file)
index 0000000..f557a02
--- /dev/null
@@ -0,0 +1,5 @@
+lf\r
+lf\r
+lf\r
+lf\r
+lf\r
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 (file)
index 0000000..381cfe6
--- /dev/null
@@ -0,0 +1,5 @@
+lf\r
+lf\r
+lf\r
+lf\r
+lf\r
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 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
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 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
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 (file)
index 0000000..fd2abfa
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one\r
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..fd2abfa
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one\r
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..0e05288
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.\r
+The rest is ASCII02.\r
+The rest is ASCII03.\r
+The rest is ASCII04.\r
+The rest is ASCII05.\r
+The rest is ASCII06.\r
+The rest is ASCII07.\r
+The rest is ASCII08.\r
+The rest is ASCII09.\r
+The rest is ASCII10.\r
+The rest is ASCII11.\r
+The rest is ASCII12.\r
+The rest is ASCII13.\r
+The rest is ASCII14.\r
+The rest is ASCII15.\r
+The rest is ASCII16.\r
+The rest is ASCII17.\r
+The rest is ASCII18.\r
+The rest is ASCII19.\r
+The rest is ASCII20.\r
+The rest is ASCII21.\r
+The rest is ASCII22.\r
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 (file)
index 0000000..0e05288
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.\r
+The rest is ASCII02.\r
+The rest is ASCII03.\r
+The rest is ASCII04.\r
+The rest is ASCII05.\r
+The rest is ASCII06.\r
+The rest is ASCII07.\r
+The rest is ASCII08.\r
+The rest is ASCII09.\r
+The rest is ASCII10.\r
+The rest is ASCII11.\r
+The rest is ASCII12.\r
+The rest is ASCII13.\r
+The rest is ASCII14.\r
+The rest is ASCII15.\r
+The rest is ASCII16.\r
+The rest is ASCII17.\r
+The rest is ASCII18.\r
+The rest is ASCII19.\r
+The rest is ASCII20.\r
+The rest is ASCII21.\r
+The rest is ASCII22.\r
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 (file)
index 0000000..cd574f5
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!\r
+♫♪♬♩\r
+Eat food\r
+🍅🍕\r
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 (file)
index 0000000..cd574f5
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!\r
+♫♪♬♩\r
+Eat food\r
+🍅🍕\r
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 (file)
index 0000000..df8c0f6
--- /dev/null
@@ -0,0 +1,3 @@
+one\r
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..df8c0f6
--- /dev/null
@@ -0,0 +1,3 @@
+one\r
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..e682c30
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf\r
+crlf\r
+crlf\r
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 (file)
index 0000000..2e1220c
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf\r
+crlf\r
+crlf\r
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 (file)
index 0000000..6da5b0c
--- /dev/null
@@ -0,0 +1,5 @@
+lf\r
+lf\r
+crlf\r
+lf\r
+lf\r
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 (file)
index 0000000..3fa59c8
--- /dev/null
@@ -0,0 +1,5 @@
+lf\r
+lf\r
+crlf\r
+lf\r
+lf\r
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 (file)
index 0000000..e69de29
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 (file)
index 0000000..a9a2e89
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
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 (file)
index 0000000..0aa76e4
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_crlf/all-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_crlf/all-lf
new file mode 100644 (file)
index 0000000..f557a02
--- /dev/null
@@ -0,0 +1,5 @@
+lf\r
+lf\r
+lf\r
+lf\r
+lf\r
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_crlf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_crlf/all-lf-utf8bom
new file mode 100644 (file)
index 0000000..381cfe6
--- /dev/null
@@ -0,0 +1,5 @@
+lf\r
+lf\r
+lf\r
+lf\r
+lf\r
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 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
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 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_crlf/binary-mixed-lf-cr
new file mode 100644 (file)
index 0000000..fd2abfa
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one\r
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_workdir/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
new file mode 100644 (file)
index 0000000..fd2abfa
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one\r
+two\rthree\r
+four\r
\ No newline at end of file
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 (file)
index 0000000..0e05288
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.\r
+The rest is ASCII02.\r
+The rest is ASCII03.\r
+The rest is ASCII04.\r
+The rest is ASCII05.\r
+The rest is ASCII06.\r
+The rest is ASCII07.\r
+The rest is ASCII08.\r
+The rest is ASCII09.\r
+The rest is ASCII10.\r
+The rest is ASCII11.\r
+The rest is ASCII12.\r
+The rest is ASCII13.\r
+The rest is ASCII14.\r
+The rest is ASCII15.\r
+The rest is ASCII16.\r
+The rest is ASCII17.\r
+The rest is ASCII18.\r
+The rest is ASCII19.\r
+The rest is ASCII20.\r
+The rest is ASCII21.\r
+The rest is ASCII22.\r
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 (file)
index 0000000..0e05288
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.\r
+The rest is ASCII02.\r
+The rest is ASCII03.\r
+The rest is ASCII04.\r
+The rest is ASCII05.\r
+The rest is ASCII06.\r
+The rest is ASCII07.\r
+The rest is ASCII08.\r
+The rest is ASCII09.\r
+The rest is ASCII10.\r
+The rest is ASCII11.\r
+The rest is ASCII12.\r
+The rest is ASCII13.\r
+The rest is ASCII14.\r
+The rest is ASCII15.\r
+The rest is ASCII16.\r
+The rest is ASCII17.\r
+The rest is ASCII18.\r
+The rest is ASCII19.\r
+The rest is ASCII20.\r
+The rest is ASCII21.\r
+The rest is ASCII22.\r
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 (file)
index 0000000..cd574f5
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!\r
+♫♪♬♩\r
+Eat food\r
+🍅🍕\r
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 (file)
index 0000000..cd574f5
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!\r
+♫♪♬♩\r
+Eat food\r
+🍅🍕\r
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_crlf/mixed-lf-cr
new file mode 100644 (file)
index 0000000..df8c0f6
--- /dev/null
@@ -0,0 +1,3 @@
+one\r
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_crlf/mixed-lf-cr-crlf
new file mode 100644 (file)
index 0000000..df8c0f6
--- /dev/null
@@ -0,0 +1,3 @@
+one\r
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_crlf/more-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_crlf/more-crlf
new file mode 100644 (file)
index 0000000..e682c30
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf\r
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_crlf/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_crlf/more-crlf-utf8bom
new file mode 100644 (file)
index 0000000..2e1220c
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf\r
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_crlf/more-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_crlf/more-lf
new file mode 100644 (file)
index 0000000..6da5b0c
--- /dev/null
@@ -0,0 +1,5 @@
+lf\r
+lf\r
+crlf\r
+lf\r
+lf\r
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_crlf/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_crlf/more-lf-utf8bom
new file mode 100644 (file)
index 0000000..3fa59c8
--- /dev/null
@@ -0,0 +1,5 @@
+lf\r
+lf\r
+crlf\r
+lf\r
+lf\r
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 (file)
index 0000000..e69de29
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 (file)
index 0000000..a9a2e89
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
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 (file)
index 0000000..0aa76e4
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -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 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..aaf083a
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..0e05288
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.\r
+The rest is ASCII02.\r
+The rest is ASCII03.\r
+The rest is ASCII04.\r
+The rest is ASCII05.\r
+The rest is ASCII06.\r
+The rest is ASCII07.\r
+The rest is ASCII08.\r
+The rest is ASCII09.\r
+The rest is ASCII10.\r
+The rest is ASCII11.\r
+The rest is ASCII12.\r
+The rest is ASCII13.\r
+The rest is ASCII14.\r
+The rest is ASCII15.\r
+The rest is ASCII16.\r
+The rest is ASCII17.\r
+The rest is ASCII18.\r
+The rest is ASCII19.\r
+The rest is ASCII20.\r
+The rest is ASCII21.\r
+The rest is ASCII22.\r
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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The 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 (file)
index 0000000..cd574f5
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!\r
+♫♪♬♩\r
+Eat food\r
+🍅🍕\r
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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..417786f
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..0ff5a53
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
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 (file)
index 0000000..ea030d3
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
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 (file)
index 0000000..04de00b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+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 (file)
index 0000000..dc88e3b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+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 (file)
index 0000000..e69de29
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 (file)
index 0000000..a9a2e89
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
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 (file)
index 0000000..0aa76e4
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_crlf/all-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_crlf/all-lf
new file mode 100644 (file)
index 0000000..f557a02
--- /dev/null
@@ -0,0 +1,5 @@
+lf\r
+lf\r
+lf\r
+lf\r
+lf\r
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_crlf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_crlf/all-lf-utf8bom
new file mode 100644 (file)
index 0000000..381cfe6
--- /dev/null
@@ -0,0 +1,5 @@
+lf\r
+lf\r
+lf\r
+lf\r
+lf\r
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 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
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 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
diff --git a/tests/resources/crlf_data/windows_to_workdir/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
new file mode 100644 (file)
index 0000000..fd2abfa
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one\r
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_workdir/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
new file mode 100644 (file)
index 0000000..fd2abfa
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one\r
+two\rthree\r
+four\r
\ No newline at end of file
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 (file)
index 0000000..0e05288
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.\r
+The rest is ASCII02.\r
+The rest is ASCII03.\r
+The rest is ASCII04.\r
+The rest is ASCII05.\r
+The rest is ASCII06.\r
+The rest is ASCII07.\r
+The rest is ASCII08.\r
+The rest is ASCII09.\r
+The rest is ASCII10.\r
+The rest is ASCII11.\r
+The rest is ASCII12.\r
+The rest is ASCII13.\r
+The rest is ASCII14.\r
+The rest is ASCII15.\r
+The rest is ASCII16.\r
+The rest is ASCII17.\r
+The rest is ASCII18.\r
+The rest is ASCII19.\r
+The rest is ASCII20.\r
+The rest is ASCII21.\r
+The rest is ASCII22.\r
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 (file)
index 0000000..0e05288
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.\r
+The rest is ASCII02.\r
+The rest is ASCII03.\r
+The rest is ASCII04.\r
+The rest is ASCII05.\r
+The rest is ASCII06.\r
+The rest is ASCII07.\r
+The rest is ASCII08.\r
+The rest is ASCII09.\r
+The rest is ASCII10.\r
+The rest is ASCII11.\r
+The rest is ASCII12.\r
+The rest is ASCII13.\r
+The rest is ASCII14.\r
+The rest is ASCII15.\r
+The rest is ASCII16.\r
+The rest is ASCII17.\r
+The rest is ASCII18.\r
+The rest is ASCII19.\r
+The rest is ASCII20.\r
+The rest is ASCII21.\r
+The rest is ASCII22.\r
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 (file)
index 0000000..cd574f5
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!\r
+♫♪♬♩\r
+Eat food\r
+🍅🍕\r
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 (file)
index 0000000..cd574f5
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!\r
+♫♪♬♩\r
+Eat food\r
+🍅🍕\r
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_crlf/mixed-lf-cr
new file mode 100644 (file)
index 0000000..df8c0f6
--- /dev/null
@@ -0,0 +1,3 @@
+one\r
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_workdir/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
new file mode 100644 (file)
index 0000000..df8c0f6
--- /dev/null
@@ -0,0 +1,3 @@
+one\r
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_crlf/more-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_crlf/more-crlf
new file mode 100644 (file)
index 0000000..e682c30
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf\r
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_crlf/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_crlf/more-crlf-utf8bom
new file mode 100644 (file)
index 0000000..2e1220c
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf\r
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_crlf/more-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_crlf/more-lf
new file mode 100644 (file)
index 0000000..6da5b0c
--- /dev/null
@@ -0,0 +1,5 @@
+lf\r
+lf\r
+crlf\r
+lf\r
+lf\r
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_crlf/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_crlf/more-lf-utf8bom
new file mode 100644 (file)
index 0000000..3fa59c8
--- /dev/null
@@ -0,0 +1,5 @@
+lf\r
+lf\r
+crlf\r
+lf\r
+lf\r
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 (file)
index 0000000..e69de29
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 (file)
index 0000000..a9a2e89
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
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 (file)
index 0000000..0aa76e4
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -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 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..aaf083a
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..0e05288
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.\r
+The rest is ASCII02.\r
+The rest is ASCII03.\r
+The rest is ASCII04.\r
+The rest is ASCII05.\r
+The rest is ASCII06.\r
+The rest is ASCII07.\r
+The rest is ASCII08.\r
+The rest is ASCII09.\r
+The rest is ASCII10.\r
+The rest is ASCII11.\r
+The rest is ASCII12.\r
+The rest is ASCII13.\r
+The rest is ASCII14.\r
+The rest is ASCII15.\r
+The rest is ASCII16.\r
+The rest is ASCII17.\r
+The rest is ASCII18.\r
+The rest is ASCII19.\r
+The rest is ASCII20.\r
+The rest is ASCII21.\r
+The rest is ASCII22.\r
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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The 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 (file)
index 0000000..cd574f5
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!\r
+♫♪♬♩\r
+Eat food\r
+🍅🍕\r
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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..417786f
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..0ff5a53
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
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 (file)
index 0000000..ea030d3
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
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 (file)
index 0000000..04de00b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+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 (file)
index 0000000..dc88e3b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+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 (file)
index 0000000..e69de29
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 (file)
index 0000000..a9a2e89
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
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 (file)
index 0000000..0aa76e4
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
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 (file)
index 0000000..f557a02
--- /dev/null
@@ -0,0 +1,5 @@
+lf\r
+lf\r
+lf\r
+lf\r
+lf\r
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 (file)
index 0000000..381cfe6
--- /dev/null
@@ -0,0 +1,5 @@
+lf\r
+lf\r
+lf\r
+lf\r
+lf\r
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 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
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 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
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 (file)
index 0000000..fd2abfa
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one\r
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..fd2abfa
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one\r
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..0e05288
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.\r
+The rest is ASCII02.\r
+The rest is ASCII03.\r
+The rest is ASCII04.\r
+The rest is ASCII05.\r
+The rest is ASCII06.\r
+The rest is ASCII07.\r
+The rest is ASCII08.\r
+The rest is ASCII09.\r
+The rest is ASCII10.\r
+The rest is ASCII11.\r
+The rest is ASCII12.\r
+The rest is ASCII13.\r
+The rest is ASCII14.\r
+The rest is ASCII15.\r
+The rest is ASCII16.\r
+The rest is ASCII17.\r
+The rest is ASCII18.\r
+The rest is ASCII19.\r
+The rest is ASCII20.\r
+The rest is ASCII21.\r
+The rest is ASCII22.\r
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 (file)
index 0000000..0e05288
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.\r
+The rest is ASCII02.\r
+The rest is ASCII03.\r
+The rest is ASCII04.\r
+The rest is ASCII05.\r
+The rest is ASCII06.\r
+The rest is ASCII07.\r
+The rest is ASCII08.\r
+The rest is ASCII09.\r
+The rest is ASCII10.\r
+The rest is ASCII11.\r
+The rest is ASCII12.\r
+The rest is ASCII13.\r
+The rest is ASCII14.\r
+The rest is ASCII15.\r
+The rest is ASCII16.\r
+The rest is ASCII17.\r
+The rest is ASCII18.\r
+The rest is ASCII19.\r
+The rest is ASCII20.\r
+The rest is ASCII21.\r
+The rest is ASCII22.\r
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 (file)
index 0000000..cd574f5
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!\r
+♫♪♬♩\r
+Eat food\r
+🍅🍕\r
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 (file)
index 0000000..cd574f5
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!\r
+♫♪♬♩\r
+Eat food\r
+🍅🍕\r
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 (file)
index 0000000..df8c0f6
--- /dev/null
@@ -0,0 +1,3 @@
+one\r
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..df8c0f6
--- /dev/null
@@ -0,0 +1,3 @@
+one\r
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..e682c30
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf\r
+crlf\r
+crlf\r
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 (file)
index 0000000..2e1220c
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf\r
+crlf\r
+crlf\r
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 (file)
index 0000000..6da5b0c
--- /dev/null
@@ -0,0 +1,5 @@
+lf\r
+lf\r
+crlf\r
+lf\r
+lf\r
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 (file)
index 0000000..3fa59c8
--- /dev/null
@@ -0,0 +1,5 @@
+lf\r
+lf\r
+crlf\r
+lf\r
+lf\r
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 (file)
index 0000000..e69de29
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 (file)
index 0000000..a9a2e89
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
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 (file)
index 0000000..0aa76e4
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_crlf/all-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_crlf/all-lf
new file mode 100644 (file)
index 0000000..f557a02
--- /dev/null
@@ -0,0 +1,5 @@
+lf\r
+lf\r
+lf\r
+lf\r
+lf\r
diff --git a/tests/resources/crlf_data/windows_to_workdir/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
new file mode 100644 (file)
index 0000000..381cfe6
--- /dev/null
@@ -0,0 +1,5 @@
+lf\r
+lf\r
+lf\r
+lf\r
+lf\r
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 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..aaf083a
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..0e05288
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.\r
+The rest is ASCII02.\r
+The rest is ASCII03.\r
+The rest is ASCII04.\r
+The rest is ASCII05.\r
+The rest is ASCII06.\r
+The rest is ASCII07.\r
+The rest is ASCII08.\r
+The rest is ASCII09.\r
+The rest is ASCII10.\r
+The rest is ASCII11.\r
+The rest is ASCII12.\r
+The rest is ASCII13.\r
+The rest is ASCII14.\r
+The rest is ASCII15.\r
+The rest is ASCII16.\r
+The rest is ASCII17.\r
+The rest is ASCII18.\r
+The rest is ASCII19.\r
+The rest is ASCII20.\r
+The rest is ASCII21.\r
+The rest is ASCII22.\r
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 (file)
index 0000000..0e05288
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.\r
+The rest is ASCII02.\r
+The rest is ASCII03.\r
+The rest is ASCII04.\r
+The rest is ASCII05.\r
+The rest is ASCII06.\r
+The rest is ASCII07.\r
+The rest is ASCII08.\r
+The rest is ASCII09.\r
+The rest is ASCII10.\r
+The rest is ASCII11.\r
+The rest is ASCII12.\r
+The rest is ASCII13.\r
+The rest is ASCII14.\r
+The rest is ASCII15.\r
+The rest is ASCII16.\r
+The rest is ASCII17.\r
+The rest is ASCII18.\r
+The rest is ASCII19.\r
+The rest is ASCII20.\r
+The rest is ASCII21.\r
+The rest is ASCII22.\r
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 (file)
index 0000000..cd574f5
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!\r
+♫♪♬♩\r
+Eat food\r
+🍅🍕\r
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 (file)
index 0000000..cd574f5
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!\r
+♫♪♬♩\r
+Eat food\r
+🍅🍕\r
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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..417786f
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..0ff5a53
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
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 (file)
index 0000000..ea030d3
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
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 (file)
index 0000000..04de00b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+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 (file)
index 0000000..dc88e3b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+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 (file)
index 0000000..e69de29
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 (file)
index 0000000..a9a2e89
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
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 (file)
index 0000000..0aa76e4
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -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 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..aaf083a
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..0e05288
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.\r
+The rest is ASCII02.\r
+The rest is ASCII03.\r
+The rest is ASCII04.\r
+The rest is ASCII05.\r
+The rest is ASCII06.\r
+The rest is ASCII07.\r
+The rest is ASCII08.\r
+The rest is ASCII09.\r
+The rest is ASCII10.\r
+The rest is ASCII11.\r
+The rest is ASCII12.\r
+The rest is ASCII13.\r
+The rest is ASCII14.\r
+The rest is ASCII15.\r
+The rest is ASCII16.\r
+The rest is ASCII17.\r
+The rest is ASCII18.\r
+The rest is ASCII19.\r
+The rest is ASCII20.\r
+The rest is ASCII21.\r
+The rest is ASCII22.\r
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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The 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 (file)
index 0000000..cd574f5
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!\r
+♫♪♬♩\r
+Eat food\r
+🍅🍕\r
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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..417786f
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..0ff5a53
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
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 (file)
index 0000000..ea030d3
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
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 (file)
index 0000000..04de00b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+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 (file)
index 0000000..dc88e3b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+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 (file)
index 0000000..e69de29
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 (file)
index 0000000..a9a2e89
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
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 (file)
index 0000000..0aa76e4
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto/all-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto/all-lf
new file mode 100644 (file)
index 0000000..f557a02
--- /dev/null
@@ -0,0 +1,5 @@
+lf\r
+lf\r
+lf\r
+lf\r
+lf\r
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto/all-lf-utf8bom
new file mode 100644 (file)
index 0000000..381cfe6
--- /dev/null
@@ -0,0 +1,5 @@
+lf\r
+lf\r
+lf\r
+lf\r
+lf\r
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 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..aaf083a
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..0e05288
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.\r
+The rest is ASCII02.\r
+The rest is ASCII03.\r
+The rest is ASCII04.\r
+The rest is ASCII05.\r
+The rest is ASCII06.\r
+The rest is ASCII07.\r
+The rest is ASCII08.\r
+The rest is ASCII09.\r
+The rest is ASCII10.\r
+The rest is ASCII11.\r
+The rest is ASCII12.\r
+The rest is ASCII13.\r
+The rest is ASCII14.\r
+The rest is ASCII15.\r
+The rest is ASCII16.\r
+The rest is ASCII17.\r
+The rest is ASCII18.\r
+The rest is ASCII19.\r
+The rest is ASCII20.\r
+The rest is ASCII21.\r
+The rest is ASCII22.\r
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 (file)
index 0000000..0e05288
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.\r
+The rest is ASCII02.\r
+The rest is ASCII03.\r
+The rest is ASCII04.\r
+The rest is ASCII05.\r
+The rest is ASCII06.\r
+The rest is ASCII07.\r
+The rest is ASCII08.\r
+The rest is ASCII09.\r
+The rest is ASCII10.\r
+The rest is ASCII11.\r
+The rest is ASCII12.\r
+The rest is ASCII13.\r
+The rest is ASCII14.\r
+The rest is ASCII15.\r
+The rest is ASCII16.\r
+The rest is ASCII17.\r
+The rest is ASCII18.\r
+The rest is ASCII19.\r
+The rest is ASCII20.\r
+The rest is ASCII21.\r
+The rest is ASCII22.\r
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 (file)
index 0000000..cd574f5
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!\r
+♫♪♬♩\r
+Eat food\r
+🍅🍕\r
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 (file)
index 0000000..cd574f5
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!\r
+♫♪♬♩\r
+Eat food\r
+🍅🍕\r
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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..417786f
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..0ff5a53
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
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 (file)
index 0000000..ea030d3
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
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 (file)
index 0000000..04de00b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+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 (file)
index 0000000..dc88e3b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+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 (file)
index 0000000..e69de29
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 (file)
index 0000000..a9a2e89
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
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 (file)
index 0000000..0aa76e4
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -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 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..aaf083a
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..0e05288
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.\r
+The rest is ASCII02.\r
+The rest is ASCII03.\r
+The rest is ASCII04.\r
+The rest is ASCII05.\r
+The rest is ASCII06.\r
+The rest is ASCII07.\r
+The rest is ASCII08.\r
+The rest is ASCII09.\r
+The rest is ASCII10.\r
+The rest is ASCII11.\r
+The rest is ASCII12.\r
+The rest is ASCII13.\r
+The rest is ASCII14.\r
+The rest is ASCII15.\r
+The rest is ASCII16.\r
+The rest is ASCII17.\r
+The rest is ASCII18.\r
+The rest is ASCII19.\r
+The rest is ASCII20.\r
+The rest is ASCII21.\r
+The rest is ASCII22.\r
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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The 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 (file)
index 0000000..cd574f5
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!\r
+♫♪♬♩\r
+Eat food\r
+🍅🍕\r
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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..417786f
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..0ff5a53
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
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 (file)
index 0000000..ea030d3
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
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 (file)
index 0000000..04de00b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+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 (file)
index 0000000..dc88e3b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+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 (file)
index 0000000..e69de29
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 (file)
index 0000000..a9a2e89
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
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 (file)
index 0000000..0aa76e4
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -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 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..aaf083a
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..0e05288
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.\r
+The rest is ASCII02.\r
+The rest is ASCII03.\r
+The rest is ASCII04.\r
+The rest is ASCII05.\r
+The rest is ASCII06.\r
+The rest is ASCII07.\r
+The rest is ASCII08.\r
+The rest is ASCII09.\r
+The rest is ASCII10.\r
+The rest is ASCII11.\r
+The rest is ASCII12.\r
+The rest is ASCII13.\r
+The rest is ASCII14.\r
+The rest is ASCII15.\r
+The rest is ASCII16.\r
+The rest is ASCII17.\r
+The rest is ASCII18.\r
+The rest is ASCII19.\r
+The rest is ASCII20.\r
+The rest is ASCII21.\r
+The rest is ASCII22.\r
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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The 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 (file)
index 0000000..cd574f5
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!\r
+♫♪♬♩\r
+Eat food\r
+🍅🍕\r
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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..417786f
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..0ff5a53
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
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 (file)
index 0000000..ea030d3
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
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 (file)
index 0000000..04de00b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+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 (file)
index 0000000..dc88e3b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+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 (file)
index 0000000..e69de29
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 (file)
index 0000000..a9a2e89
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
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 (file)
index 0000000..0aa76e4
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -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 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..aaf083a
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..0e05288
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.\r
+The rest is ASCII02.\r
+The rest is ASCII03.\r
+The rest is ASCII04.\r
+The rest is ASCII05.\r
+The rest is ASCII06.\r
+The rest is ASCII07.\r
+The rest is ASCII08.\r
+The rest is ASCII09.\r
+The rest is ASCII10.\r
+The rest is ASCII11.\r
+The rest is ASCII12.\r
+The rest is ASCII13.\r
+The rest is ASCII14.\r
+The rest is ASCII15.\r
+The rest is ASCII16.\r
+The rest is ASCII17.\r
+The rest is ASCII18.\r
+The rest is ASCII19.\r
+The rest is ASCII20.\r
+The rest is ASCII21.\r
+The rest is ASCII22.\r
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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The 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 (file)
index 0000000..cd574f5
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!\r
+♫♪♬♩\r
+Eat food\r
+🍅🍕\r
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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..417786f
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..0ff5a53
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
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 (file)
index 0000000..ea030d3
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
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 (file)
index 0000000..04de00b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+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 (file)
index 0000000..dc88e3b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+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 (file)
index 0000000..e69de29
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 (file)
index 0000000..a9a2e89
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
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 (file)
index 0000000..0aa76e4
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -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 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..aaf083a
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..0e05288
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.\r
+The rest is ASCII02.\r
+The rest is ASCII03.\r
+The rest is ASCII04.\r
+The rest is ASCII05.\r
+The rest is ASCII06.\r
+The rest is ASCII07.\r
+The rest is ASCII08.\r
+The rest is ASCII09.\r
+The rest is ASCII10.\r
+The rest is ASCII11.\r
+The rest is ASCII12.\r
+The rest is ASCII13.\r
+The rest is ASCII14.\r
+The rest is ASCII15.\r
+The rest is ASCII16.\r
+The rest is ASCII17.\r
+The rest is ASCII18.\r
+The rest is ASCII19.\r
+The rest is ASCII20.\r
+The rest is ASCII21.\r
+The rest is ASCII22.\r
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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The 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 (file)
index 0000000..cd574f5
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!\r
+♫♪♬♩\r
+Eat food\r
+🍅🍕\r
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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..417786f
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..0ff5a53
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
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 (file)
index 0000000..ea030d3
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
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 (file)
index 0000000..04de00b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+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 (file)
index 0000000..dc88e3b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+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 (file)
index 0000000..e69de29
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 (file)
index 0000000..a9a2e89
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
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 (file)
index 0000000..0aa76e4
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_crlf/all-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_crlf/all-lf
new file mode 100644 (file)
index 0000000..f557a02
--- /dev/null
@@ -0,0 +1,5 @@
+lf\r
+lf\r
+lf\r
+lf\r
+lf\r
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_crlf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_crlf/all-lf-utf8bom
new file mode 100644 (file)
index 0000000..381cfe6
--- /dev/null
@@ -0,0 +1,5 @@
+lf\r
+lf\r
+lf\r
+lf\r
+lf\r
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 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
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 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_crlf/binary-mixed-lf-cr
new file mode 100644 (file)
index 0000000..fd2abfa
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one\r
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_workdir/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
new file mode 100644 (file)
index 0000000..fd2abfa
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one\r
+two\rthree\r
+four\r
\ No newline at end of file
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 (file)
index 0000000..0e05288
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.\r
+The rest is ASCII02.\r
+The rest is ASCII03.\r
+The rest is ASCII04.\r
+The rest is ASCII05.\r
+The rest is ASCII06.\r
+The rest is ASCII07.\r
+The rest is ASCII08.\r
+The rest is ASCII09.\r
+The rest is ASCII10.\r
+The rest is ASCII11.\r
+The rest is ASCII12.\r
+The rest is ASCII13.\r
+The rest is ASCII14.\r
+The rest is ASCII15.\r
+The rest is ASCII16.\r
+The rest is ASCII17.\r
+The rest is ASCII18.\r
+The rest is ASCII19.\r
+The rest is ASCII20.\r
+The rest is ASCII21.\r
+The rest is ASCII22.\r
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 (file)
index 0000000..0e05288
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.\r
+The rest is ASCII02.\r
+The rest is ASCII03.\r
+The rest is ASCII04.\r
+The rest is ASCII05.\r
+The rest is ASCII06.\r
+The rest is ASCII07.\r
+The rest is ASCII08.\r
+The rest is ASCII09.\r
+The rest is ASCII10.\r
+The rest is ASCII11.\r
+The rest is ASCII12.\r
+The rest is ASCII13.\r
+The rest is ASCII14.\r
+The rest is ASCII15.\r
+The rest is ASCII16.\r
+The rest is ASCII17.\r
+The rest is ASCII18.\r
+The rest is ASCII19.\r
+The rest is ASCII20.\r
+The rest is ASCII21.\r
+The rest is ASCII22.\r
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 (file)
index 0000000..cd574f5
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!\r
+♫♪♬♩\r
+Eat food\r
+🍅🍕\r
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 (file)
index 0000000..cd574f5
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!\r
+♫♪♬♩\r
+Eat food\r
+🍅🍕\r
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_crlf/mixed-lf-cr
new file mode 100644 (file)
index 0000000..df8c0f6
--- /dev/null
@@ -0,0 +1,3 @@
+one\r
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_crlf/mixed-lf-cr-crlf
new file mode 100644 (file)
index 0000000..df8c0f6
--- /dev/null
@@ -0,0 +1,3 @@
+one\r
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_crlf/more-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_crlf/more-crlf
new file mode 100644 (file)
index 0000000..e682c30
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf\r
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_crlf/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_crlf/more-crlf-utf8bom
new file mode 100644 (file)
index 0000000..2e1220c
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf\r
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_crlf/more-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_crlf/more-lf
new file mode 100644 (file)
index 0000000..6da5b0c
--- /dev/null
@@ -0,0 +1,5 @@
+lf\r
+lf\r
+crlf\r
+lf\r
+lf\r
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_crlf/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_crlf/more-lf-utf8bom
new file mode 100644 (file)
index 0000000..3fa59c8
--- /dev/null
@@ -0,0 +1,5 @@
+lf\r
+lf\r
+crlf\r
+lf\r
+lf\r
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 (file)
index 0000000..e69de29
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 (file)
index 0000000..a9a2e89
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
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 (file)
index 0000000..0aa76e4
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -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 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..aaf083a
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..0e05288
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.\r
+The rest is ASCII02.\r
+The rest is ASCII03.\r
+The rest is ASCII04.\r
+The rest is ASCII05.\r
+The rest is ASCII06.\r
+The rest is ASCII07.\r
+The rest is ASCII08.\r
+The rest is ASCII09.\r
+The rest is ASCII10.\r
+The rest is ASCII11.\r
+The rest is ASCII12.\r
+The rest is ASCII13.\r
+The rest is ASCII14.\r
+The rest is ASCII15.\r
+The rest is ASCII16.\r
+The rest is ASCII17.\r
+The rest is ASCII18.\r
+The rest is ASCII19.\r
+The rest is ASCII20.\r
+The rest is ASCII21.\r
+The rest is ASCII22.\r
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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The 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 (file)
index 0000000..cd574f5
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!\r
+♫♪♬♩\r
+Eat food\r
+🍅🍕\r
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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..417786f
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..0ff5a53
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
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 (file)
index 0000000..ea030d3
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
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 (file)
index 0000000..04de00b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+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 (file)
index 0000000..dc88e3b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+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 (file)
index 0000000..e69de29
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 (file)
index 0000000..a9a2e89
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
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 (file)
index 0000000..0aa76e4
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_crlf/all-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_crlf/all-lf
new file mode 100644 (file)
index 0000000..f557a02
--- /dev/null
@@ -0,0 +1,5 @@
+lf\r
+lf\r
+lf\r
+lf\r
+lf\r
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_crlf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_crlf/all-lf-utf8bom
new file mode 100644 (file)
index 0000000..381cfe6
--- /dev/null
@@ -0,0 +1,5 @@
+lf\r
+lf\r
+lf\r
+lf\r
+lf\r
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 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
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 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
diff --git a/tests/resources/crlf_data/windows_to_workdir/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
new file mode 100644 (file)
index 0000000..fd2abfa
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one\r
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_workdir/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
new file mode 100644 (file)
index 0000000..fd2abfa
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one\r
+two\rthree\r
+four\r
\ No newline at end of file
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 (file)
index 0000000..0e05288
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.\r
+The rest is ASCII02.\r
+The rest is ASCII03.\r
+The rest is ASCII04.\r
+The rest is ASCII05.\r
+The rest is ASCII06.\r
+The rest is ASCII07.\r
+The rest is ASCII08.\r
+The rest is ASCII09.\r
+The rest is ASCII10.\r
+The rest is ASCII11.\r
+The rest is ASCII12.\r
+The rest is ASCII13.\r
+The rest is ASCII14.\r
+The rest is ASCII15.\r
+The rest is ASCII16.\r
+The rest is ASCII17.\r
+The rest is ASCII18.\r
+The rest is ASCII19.\r
+The rest is ASCII20.\r
+The rest is ASCII21.\r
+The rest is ASCII22.\r
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 (file)
index 0000000..0e05288
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.\r
+The rest is ASCII02.\r
+The rest is ASCII03.\r
+The rest is ASCII04.\r
+The rest is ASCII05.\r
+The rest is ASCII06.\r
+The rest is ASCII07.\r
+The rest is ASCII08.\r
+The rest is ASCII09.\r
+The rest is ASCII10.\r
+The rest is ASCII11.\r
+The rest is ASCII12.\r
+The rest is ASCII13.\r
+The rest is ASCII14.\r
+The rest is ASCII15.\r
+The rest is ASCII16.\r
+The rest is ASCII17.\r
+The rest is ASCII18.\r
+The rest is ASCII19.\r
+The rest is ASCII20.\r
+The rest is ASCII21.\r
+The rest is ASCII22.\r
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 (file)
index 0000000..cd574f5
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!\r
+♫♪♬♩\r
+Eat food\r
+🍅🍕\r
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 (file)
index 0000000..cd574f5
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!\r
+♫♪♬♩\r
+Eat food\r
+🍅🍕\r
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_crlf/mixed-lf-cr
new file mode 100644 (file)
index 0000000..df8c0f6
--- /dev/null
@@ -0,0 +1,3 @@
+one\r
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_workdir/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
new file mode 100644 (file)
index 0000000..df8c0f6
--- /dev/null
@@ -0,0 +1,3 @@
+one\r
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_crlf/more-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_crlf/more-crlf
new file mode 100644 (file)
index 0000000..e682c30
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf\r
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_crlf/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_crlf/more-crlf-utf8bom
new file mode 100644 (file)
index 0000000..2e1220c
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf\r
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_crlf/more-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_crlf/more-lf
new file mode 100644 (file)
index 0000000..6da5b0c
--- /dev/null
@@ -0,0 +1,5 @@
+lf\r
+lf\r
+crlf\r
+lf\r
+lf\r
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_crlf/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_crlf/more-lf-utf8bom
new file mode 100644 (file)
index 0000000..3fa59c8
--- /dev/null
@@ -0,0 +1,5 @@
+lf\r
+lf\r
+crlf\r
+lf\r
+lf\r
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 (file)
index 0000000..e69de29
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 (file)
index 0000000..a9a2e89
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
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 (file)
index 0000000..0aa76e4
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -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 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..aaf083a
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..0e05288
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.\r
+The rest is ASCII02.\r
+The rest is ASCII03.\r
+The rest is ASCII04.\r
+The rest is ASCII05.\r
+The rest is ASCII06.\r
+The rest is ASCII07.\r
+The rest is ASCII08.\r
+The rest is ASCII09.\r
+The rest is ASCII10.\r
+The rest is ASCII11.\r
+The rest is ASCII12.\r
+The rest is ASCII13.\r
+The rest is ASCII14.\r
+The rest is ASCII15.\r
+The rest is ASCII16.\r
+The rest is ASCII17.\r
+The rest is ASCII18.\r
+The rest is ASCII19.\r
+The rest is ASCII20.\r
+The rest is ASCII21.\r
+The rest is ASCII22.\r
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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The 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 (file)
index 0000000..cd574f5
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!\r
+♫♪♬♩\r
+Eat food\r
+🍅🍕\r
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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..417786f
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..0ff5a53
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
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 (file)
index 0000000..ea030d3
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
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 (file)
index 0000000..04de00b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+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 (file)
index 0000000..dc88e3b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+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 (file)
index 0000000..e69de29
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 (file)
index 0000000..a9a2e89
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
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 (file)
index 0000000..0aa76e4
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -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 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..aaf083a
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..0e05288
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.\r
+The rest is ASCII02.\r
+The rest is ASCII03.\r
+The rest is ASCII04.\r
+The rest is ASCII05.\r
+The rest is ASCII06.\r
+The rest is ASCII07.\r
+The rest is ASCII08.\r
+The rest is ASCII09.\r
+The rest is ASCII10.\r
+The rest is ASCII11.\r
+The rest is ASCII12.\r
+The rest is ASCII13.\r
+The rest is ASCII14.\r
+The rest is ASCII15.\r
+The rest is ASCII16.\r
+The rest is ASCII17.\r
+The rest is ASCII18.\r
+The rest is ASCII19.\r
+The rest is ASCII20.\r
+The rest is ASCII21.\r
+The rest is ASCII22.\r
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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The 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 (file)
index 0000000..cd574f5
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!\r
+♫♪♬♩\r
+Eat food\r
+🍅🍕\r
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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..417786f
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..0ff5a53
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
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 (file)
index 0000000..ea030d3
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
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 (file)
index 0000000..04de00b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+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 (file)
index 0000000..dc88e3b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+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 (file)
index 0000000..e69de29
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 (file)
index 0000000..a9a2e89
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
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 (file)
index 0000000..0aa76e4
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_crlf/all-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_crlf/all-lf
new file mode 100644 (file)
index 0000000..f557a02
--- /dev/null
@@ -0,0 +1,5 @@
+lf\r
+lf\r
+lf\r
+lf\r
+lf\r
diff --git a/tests/resources/crlf_data/windows_to_workdir/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
new file mode 100644 (file)
index 0000000..381cfe6
--- /dev/null
@@ -0,0 +1,5 @@
+lf\r
+lf\r
+lf\r
+lf\r
+lf\r
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 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..aaf083a
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..0e05288
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.\r
+The rest is ASCII02.\r
+The rest is ASCII03.\r
+The rest is ASCII04.\r
+The rest is ASCII05.\r
+The rest is ASCII06.\r
+The rest is ASCII07.\r
+The rest is ASCII08.\r
+The rest is ASCII09.\r
+The rest is ASCII10.\r
+The rest is ASCII11.\r
+The rest is ASCII12.\r
+The rest is ASCII13.\r
+The rest is ASCII14.\r
+The rest is ASCII15.\r
+The rest is ASCII16.\r
+The rest is ASCII17.\r
+The rest is ASCII18.\r
+The rest is ASCII19.\r
+The rest is ASCII20.\r
+The rest is ASCII21.\r
+The rest is ASCII22.\r
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 (file)
index 0000000..0e05288
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.\r
+The rest is ASCII02.\r
+The rest is ASCII03.\r
+The rest is ASCII04.\r
+The rest is ASCII05.\r
+The rest is ASCII06.\r
+The rest is ASCII07.\r
+The rest is ASCII08.\r
+The rest is ASCII09.\r
+The rest is ASCII10.\r
+The rest is ASCII11.\r
+The rest is ASCII12.\r
+The rest is ASCII13.\r
+The rest is ASCII14.\r
+The rest is ASCII15.\r
+The rest is ASCII16.\r
+The rest is ASCII17.\r
+The rest is ASCII18.\r
+The rest is ASCII19.\r
+The rest is ASCII20.\r
+The rest is ASCII21.\r
+The rest is ASCII22.\r
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 (file)
index 0000000..cd574f5
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!\r
+♫♪♬♩\r
+Eat food\r
+🍅🍕\r
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 (file)
index 0000000..cd574f5
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!\r
+♫♪♬♩\r
+Eat food\r
+🍅🍕\r
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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..417786f
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..0ff5a53
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
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 (file)
index 0000000..ea030d3
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
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 (file)
index 0000000..04de00b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+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 (file)
index 0000000..dc88e3b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+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 (file)
index 0000000..e69de29
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 (file)
index 0000000..a9a2e89
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
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 (file)
index 0000000..0aa76e4
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -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 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..aaf083a
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..0e05288
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.\r
+The rest is ASCII02.\r
+The rest is ASCII03.\r
+The rest is ASCII04.\r
+The rest is ASCII05.\r
+The rest is ASCII06.\r
+The rest is ASCII07.\r
+The rest is ASCII08.\r
+The rest is ASCII09.\r
+The rest is ASCII10.\r
+The rest is ASCII11.\r
+The rest is ASCII12.\r
+The rest is ASCII13.\r
+The rest is ASCII14.\r
+The rest is ASCII15.\r
+The rest is ASCII16.\r
+The rest is ASCII17.\r
+The rest is ASCII18.\r
+The rest is ASCII19.\r
+The rest is ASCII20.\r
+The rest is ASCII21.\r
+The rest is ASCII22.\r
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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The 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 (file)
index 0000000..cd574f5
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!\r
+♫♪♬♩\r
+Eat food\r
+🍅🍕\r
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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..417786f
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..0ff5a53
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
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 (file)
index 0000000..ea030d3
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
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 (file)
index 0000000..04de00b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+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 (file)
index 0000000..dc88e3b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+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 (file)
index 0000000..e69de29
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 (file)
index 0000000..a9a2e89
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
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 (file)
index 0000000..0aa76e4
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -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 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..aaf083a
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..0e05288
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.\r
+The rest is ASCII02.\r
+The rest is ASCII03.\r
+The rest is ASCII04.\r
+The rest is ASCII05.\r
+The rest is ASCII06.\r
+The rest is ASCII07.\r
+The rest is ASCII08.\r
+The rest is ASCII09.\r
+The rest is ASCII10.\r
+The rest is ASCII11.\r
+The rest is ASCII12.\r
+The rest is ASCII13.\r
+The rest is ASCII14.\r
+The rest is ASCII15.\r
+The rest is ASCII16.\r
+The rest is ASCII17.\r
+The rest is ASCII18.\r
+The rest is ASCII19.\r
+The rest is ASCII20.\r
+The rest is ASCII21.\r
+The rest is ASCII22.\r
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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The 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 (file)
index 0000000..cd574f5
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!\r
+♫♪♬♩\r
+Eat food\r
+🍅🍕\r
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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..417786f
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..0ff5a53
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
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 (file)
index 0000000..ea030d3
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
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 (file)
index 0000000..04de00b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+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 (file)
index 0000000..dc88e3b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+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 (file)
index 0000000..e69de29
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 (file)
index 0000000..a9a2e89
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
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 (file)
index 0000000..0aa76e4
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -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 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..aaf083a
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..0e05288
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.\r
+The rest is ASCII02.\r
+The rest is ASCII03.\r
+The rest is ASCII04.\r
+The rest is ASCII05.\r
+The rest is ASCII06.\r
+The rest is ASCII07.\r
+The rest is ASCII08.\r
+The rest is ASCII09.\r
+The rest is ASCII10.\r
+The rest is ASCII11.\r
+The rest is ASCII12.\r
+The rest is ASCII13.\r
+The rest is ASCII14.\r
+The rest is ASCII15.\r
+The rest is ASCII16.\r
+The rest is ASCII17.\r
+The rest is ASCII18.\r
+The rest is ASCII19.\r
+The rest is ASCII20.\r
+The rest is ASCII21.\r
+The rest is ASCII22.\r
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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The 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 (file)
index 0000000..cd574f5
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!\r
+♫♪♬♩\r
+Eat food\r
+🍅🍕\r
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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..417786f
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..0ff5a53
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
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 (file)
index 0000000..ea030d3
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
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 (file)
index 0000000..04de00b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+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 (file)
index 0000000..dc88e3b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+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 (file)
index 0000000..e69de29
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 (file)
index 0000000..a9a2e89
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
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 (file)
index 0000000..0aa76e4
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -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 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..aaf083a
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..0e05288
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.\r
+The rest is ASCII02.\r
+The rest is ASCII03.\r
+The rest is ASCII04.\r
+The rest is ASCII05.\r
+The rest is ASCII06.\r
+The rest is ASCII07.\r
+The rest is ASCII08.\r
+The rest is ASCII09.\r
+The rest is ASCII10.\r
+The rest is ASCII11.\r
+The rest is ASCII12.\r
+The rest is ASCII13.\r
+The rest is ASCII14.\r
+The rest is ASCII15.\r
+The rest is ASCII16.\r
+The rest is ASCII17.\r
+The rest is ASCII18.\r
+The rest is ASCII19.\r
+The rest is ASCII20.\r
+The rest is ASCII21.\r
+The rest is ASCII22.\r
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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The 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 (file)
index 0000000..cd574f5
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!\r
+♫♪♬♩\r
+Eat food\r
+🍅🍕\r
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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..417786f
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..0ff5a53
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
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 (file)
index 0000000..ea030d3
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
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 (file)
index 0000000..04de00b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+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 (file)
index 0000000..dc88e3b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+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 (file)
index 0000000..e69de29
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 (file)
index 0000000..a9a2e89
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
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 (file)
index 0000000..0aa76e4
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -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 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..aaf083a
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..0e05288
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.\r
+The rest is ASCII02.\r
+The rest is ASCII03.\r
+The rest is ASCII04.\r
+The rest is ASCII05.\r
+The rest is ASCII06.\r
+The rest is ASCII07.\r
+The rest is ASCII08.\r
+The rest is ASCII09.\r
+The rest is ASCII10.\r
+The rest is ASCII11.\r
+The rest is ASCII12.\r
+The rest is ASCII13.\r
+The rest is ASCII14.\r
+The rest is ASCII15.\r
+The rest is ASCII16.\r
+The rest is ASCII17.\r
+The rest is ASCII18.\r
+The rest is ASCII19.\r
+The rest is ASCII20.\r
+The rest is ASCII21.\r
+The rest is ASCII22.\r
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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The 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 (file)
index 0000000..cd574f5
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!\r
+♫♪♬♩\r
+Eat food\r
+🍅🍕\r
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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..417786f
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..0ff5a53
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
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 (file)
index 0000000..ea030d3
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
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 (file)
index 0000000..04de00b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+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 (file)
index 0000000..dc88e3b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+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 (file)
index 0000000..e69de29
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 (file)
index 0000000..a9a2e89
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
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 (file)
index 0000000..0aa76e4
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
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 (file)
index 0000000..f557a02
--- /dev/null
@@ -0,0 +1,5 @@
+lf\r
+lf\r
+lf\r
+lf\r
+lf\r
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 (file)
index 0000000..381cfe6
--- /dev/null
@@ -0,0 +1,5 @@
+lf\r
+lf\r
+lf\r
+lf\r
+lf\r
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 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
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 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
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 (file)
index 0000000..fd2abfa
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one\r
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..fd2abfa
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one\r
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..0e05288
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.\r
+The rest is ASCII02.\r
+The rest is ASCII03.\r
+The rest is ASCII04.\r
+The rest is ASCII05.\r
+The rest is ASCII06.\r
+The rest is ASCII07.\r
+The rest is ASCII08.\r
+The rest is ASCII09.\r
+The rest is ASCII10.\r
+The rest is ASCII11.\r
+The rest is ASCII12.\r
+The rest is ASCII13.\r
+The rest is ASCII14.\r
+The rest is ASCII15.\r
+The rest is ASCII16.\r
+The rest is ASCII17.\r
+The rest is ASCII18.\r
+The rest is ASCII19.\r
+The rest is ASCII20.\r
+The rest is ASCII21.\r
+The rest is ASCII22.\r
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 (file)
index 0000000..0e05288
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.\r
+The rest is ASCII02.\r
+The rest is ASCII03.\r
+The rest is ASCII04.\r
+The rest is ASCII05.\r
+The rest is ASCII06.\r
+The rest is ASCII07.\r
+The rest is ASCII08.\r
+The rest is ASCII09.\r
+The rest is ASCII10.\r
+The rest is ASCII11.\r
+The rest is ASCII12.\r
+The rest is ASCII13.\r
+The rest is ASCII14.\r
+The rest is ASCII15.\r
+The rest is ASCII16.\r
+The rest is ASCII17.\r
+The rest is ASCII18.\r
+The rest is ASCII19.\r
+The rest is ASCII20.\r
+The rest is ASCII21.\r
+The rest is ASCII22.\r
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 (file)
index 0000000..cd574f5
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!\r
+♫♪♬♩\r
+Eat food\r
+🍅🍕\r
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 (file)
index 0000000..cd574f5
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!\r
+♫♪♬♩\r
+Eat food\r
+🍅🍕\r
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 (file)
index 0000000..df8c0f6
--- /dev/null
@@ -0,0 +1,3 @@
+one\r
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..df8c0f6
--- /dev/null
@@ -0,0 +1,3 @@
+one\r
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..e682c30
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf\r
+crlf\r
+crlf\r
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 (file)
index 0000000..2e1220c
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf\r
+crlf\r
+crlf\r
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 (file)
index 0000000..6da5b0c
--- /dev/null
@@ -0,0 +1,5 @@
+lf\r
+lf\r
+crlf\r
+lf\r
+lf\r
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 (file)
index 0000000..3fa59c8
--- /dev/null
@@ -0,0 +1,5 @@
+lf\r
+lf\r
+crlf\r
+lf\r
+lf\r
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 (file)
index 0000000..e69de29
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 (file)
index 0000000..a9a2e89
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
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 (file)
index 0000000..0aa76e4
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_crlf/all-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_crlf/all-lf
new file mode 100644 (file)
index 0000000..f557a02
--- /dev/null
@@ -0,0 +1,5 @@
+lf\r
+lf\r
+lf\r
+lf\r
+lf\r
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_crlf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_crlf/all-lf-utf8bom
new file mode 100644 (file)
index 0000000..381cfe6
--- /dev/null
@@ -0,0 +1,5 @@
+lf\r
+lf\r
+lf\r
+lf\r
+lf\r
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 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
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 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_crlf/binary-mixed-lf-cr
new file mode 100644 (file)
index 0000000..fd2abfa
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one\r
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_workdir/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
new file mode 100644 (file)
index 0000000..fd2abfa
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one\r
+two\rthree\r
+four\r
\ No newline at end of file
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 (file)
index 0000000..0e05288
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.\r
+The rest is ASCII02.\r
+The rest is ASCII03.\r
+The rest is ASCII04.\r
+The rest is ASCII05.\r
+The rest is ASCII06.\r
+The rest is ASCII07.\r
+The rest is ASCII08.\r
+The rest is ASCII09.\r
+The rest is ASCII10.\r
+The rest is ASCII11.\r
+The rest is ASCII12.\r
+The rest is ASCII13.\r
+The rest is ASCII14.\r
+The rest is ASCII15.\r
+The rest is ASCII16.\r
+The rest is ASCII17.\r
+The rest is ASCII18.\r
+The rest is ASCII19.\r
+The rest is ASCII20.\r
+The rest is ASCII21.\r
+The rest is ASCII22.\r
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 (file)
index 0000000..0e05288
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.\r
+The rest is ASCII02.\r
+The rest is ASCII03.\r
+The rest is ASCII04.\r
+The rest is ASCII05.\r
+The rest is ASCII06.\r
+The rest is ASCII07.\r
+The rest is ASCII08.\r
+The rest is ASCII09.\r
+The rest is ASCII10.\r
+The rest is ASCII11.\r
+The rest is ASCII12.\r
+The rest is ASCII13.\r
+The rest is ASCII14.\r
+The rest is ASCII15.\r
+The rest is ASCII16.\r
+The rest is ASCII17.\r
+The rest is ASCII18.\r
+The rest is ASCII19.\r
+The rest is ASCII20.\r
+The rest is ASCII21.\r
+The rest is ASCII22.\r
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 (file)
index 0000000..cd574f5
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!\r
+♫♪♬♩\r
+Eat food\r
+🍅🍕\r
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 (file)
index 0000000..cd574f5
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!\r
+♫♪♬♩\r
+Eat food\r
+🍅🍕\r
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_crlf/mixed-lf-cr
new file mode 100644 (file)
index 0000000..df8c0f6
--- /dev/null
@@ -0,0 +1,3 @@
+one\r
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_crlf/mixed-lf-cr-crlf
new file mode 100644 (file)
index 0000000..df8c0f6
--- /dev/null
@@ -0,0 +1,3 @@
+one\r
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_crlf/more-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_crlf/more-crlf
new file mode 100644 (file)
index 0000000..e682c30
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf\r
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_crlf/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_crlf/more-crlf-utf8bom
new file mode 100644 (file)
index 0000000..2e1220c
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf\r
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_crlf/more-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_crlf/more-lf
new file mode 100644 (file)
index 0000000..6da5b0c
--- /dev/null
@@ -0,0 +1,5 @@
+lf\r
+lf\r
+crlf\r
+lf\r
+lf\r
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_crlf/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_crlf/more-lf-utf8bom
new file mode 100644 (file)
index 0000000..3fa59c8
--- /dev/null
@@ -0,0 +1,5 @@
+lf\r
+lf\r
+crlf\r
+lf\r
+lf\r
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 (file)
index 0000000..e69de29
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 (file)
index 0000000..a9a2e89
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
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 (file)
index 0000000..0aa76e4
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -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 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..aaf083a
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..0e05288
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.\r
+The rest is ASCII02.\r
+The rest is ASCII03.\r
+The rest is ASCII04.\r
+The rest is ASCII05.\r
+The rest is ASCII06.\r
+The rest is ASCII07.\r
+The rest is ASCII08.\r
+The rest is ASCII09.\r
+The rest is ASCII10.\r
+The rest is ASCII11.\r
+The rest is ASCII12.\r
+The rest is ASCII13.\r
+The rest is ASCII14.\r
+The rest is ASCII15.\r
+The rest is ASCII16.\r
+The rest is ASCII17.\r
+The rest is ASCII18.\r
+The rest is ASCII19.\r
+The rest is ASCII20.\r
+The rest is ASCII21.\r
+The rest is ASCII22.\r
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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The 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 (file)
index 0000000..cd574f5
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!\r
+♫♪♬♩\r
+Eat food\r
+🍅🍕\r
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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..417786f
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..0ff5a53
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
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 (file)
index 0000000..ea030d3
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
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 (file)
index 0000000..04de00b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+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 (file)
index 0000000..dc88e3b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+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 (file)
index 0000000..e69de29
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 (file)
index 0000000..a9a2e89
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
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 (file)
index 0000000..0aa76e4
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_crlf/all-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_crlf/all-lf
new file mode 100644 (file)
index 0000000..f557a02
--- /dev/null
@@ -0,0 +1,5 @@
+lf\r
+lf\r
+lf\r
+lf\r
+lf\r
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_crlf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_crlf/all-lf-utf8bom
new file mode 100644 (file)
index 0000000..381cfe6
--- /dev/null
@@ -0,0 +1,5 @@
+lf\r
+lf\r
+lf\r
+lf\r
+lf\r
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 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
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 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
diff --git a/tests/resources/crlf_data/windows_to_workdir/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
new file mode 100644 (file)
index 0000000..fd2abfa
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one\r
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_workdir/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
new file mode 100644 (file)
index 0000000..fd2abfa
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one\r
+two\rthree\r
+four\r
\ No newline at end of file
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 (file)
index 0000000..0e05288
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.\r
+The rest is ASCII02.\r
+The rest is ASCII03.\r
+The rest is ASCII04.\r
+The rest is ASCII05.\r
+The rest is ASCII06.\r
+The rest is ASCII07.\r
+The rest is ASCII08.\r
+The rest is ASCII09.\r
+The rest is ASCII10.\r
+The rest is ASCII11.\r
+The rest is ASCII12.\r
+The rest is ASCII13.\r
+The rest is ASCII14.\r
+The rest is ASCII15.\r
+The rest is ASCII16.\r
+The rest is ASCII17.\r
+The rest is ASCII18.\r
+The rest is ASCII19.\r
+The rest is ASCII20.\r
+The rest is ASCII21.\r
+The rest is ASCII22.\r
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 (file)
index 0000000..0e05288
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.\r
+The rest is ASCII02.\r
+The rest is ASCII03.\r
+The rest is ASCII04.\r
+The rest is ASCII05.\r
+The rest is ASCII06.\r
+The rest is ASCII07.\r
+The rest is ASCII08.\r
+The rest is ASCII09.\r
+The rest is ASCII10.\r
+The rest is ASCII11.\r
+The rest is ASCII12.\r
+The rest is ASCII13.\r
+The rest is ASCII14.\r
+The rest is ASCII15.\r
+The rest is ASCII16.\r
+The rest is ASCII17.\r
+The rest is ASCII18.\r
+The rest is ASCII19.\r
+The rest is ASCII20.\r
+The rest is ASCII21.\r
+The rest is ASCII22.\r
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 (file)
index 0000000..cd574f5
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!\r
+♫♪♬♩\r
+Eat food\r
+🍅🍕\r
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 (file)
index 0000000..cd574f5
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!\r
+♫♪♬♩\r
+Eat food\r
+🍅🍕\r
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_crlf/mixed-lf-cr
new file mode 100644 (file)
index 0000000..df8c0f6
--- /dev/null
@@ -0,0 +1,3 @@
+one\r
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_workdir/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
new file mode 100644 (file)
index 0000000..df8c0f6
--- /dev/null
@@ -0,0 +1,3 @@
+one\r
+two\rthree\r
+four\r
\ No newline at end of file
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_crlf/more-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_crlf/more-crlf
new file mode 100644 (file)
index 0000000..e682c30
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf\r
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_crlf/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_crlf/more-crlf-utf8bom
new file mode 100644 (file)
index 0000000..2e1220c
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf\r
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_crlf/more-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_crlf/more-lf
new file mode 100644 (file)
index 0000000..6da5b0c
--- /dev/null
@@ -0,0 +1,5 @@
+lf\r
+lf\r
+crlf\r
+lf\r
+lf\r
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_crlf/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_crlf/more-lf-utf8bom
new file mode 100644 (file)
index 0000000..3fa59c8
--- /dev/null
@@ -0,0 +1,5 @@
+lf\r
+lf\r
+crlf\r
+lf\r
+lf\r
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 (file)
index 0000000..e69de29
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 (file)
index 0000000..a9a2e89
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
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 (file)
index 0000000..0aa76e4
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -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 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..aaf083a
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..0e05288
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.\r
+The rest is ASCII02.\r
+The rest is ASCII03.\r
+The rest is ASCII04.\r
+The rest is ASCII05.\r
+The rest is ASCII06.\r
+The rest is ASCII07.\r
+The rest is ASCII08.\r
+The rest is ASCII09.\r
+The rest is ASCII10.\r
+The rest is ASCII11.\r
+The rest is ASCII12.\r
+The rest is ASCII13.\r
+The rest is ASCII14.\r
+The rest is ASCII15.\r
+The rest is ASCII16.\r
+The rest is ASCII17.\r
+The rest is ASCII18.\r
+The rest is ASCII19.\r
+The rest is ASCII20.\r
+The rest is ASCII21.\r
+The rest is ASCII22.\r
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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The 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 (file)
index 0000000..cd574f5
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!\r
+♫♪♬♩\r
+Eat food\r
+🍅🍕\r
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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..417786f
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..0ff5a53
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
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 (file)
index 0000000..ea030d3
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
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 (file)
index 0000000..04de00b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+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 (file)
index 0000000..dc88e3b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+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 (file)
index 0000000..e69de29
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 (file)
index 0000000..a9a2e89
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
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 (file)
index 0000000..0aa76e4
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
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 (file)
index 0000000..f557a02
--- /dev/null
@@ -0,0 +1,5 @@
+lf\r
+lf\r
+lf\r
+lf\r
+lf\r
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 (file)
index 0000000..381cfe6
--- /dev/null
@@ -0,0 +1,5 @@
+lf\r
+lf\r
+lf\r
+lf\r
+lf\r
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 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
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 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
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 (file)
index 0000000..fd2abfa
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one\r
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..fd2abfa
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one\r
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..0e05288
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.\r
+The rest is ASCII02.\r
+The rest is ASCII03.\r
+The rest is ASCII04.\r
+The rest is ASCII05.\r
+The rest is ASCII06.\r
+The rest is ASCII07.\r
+The rest is ASCII08.\r
+The rest is ASCII09.\r
+The rest is ASCII10.\r
+The rest is ASCII11.\r
+The rest is ASCII12.\r
+The rest is ASCII13.\r
+The rest is ASCII14.\r
+The rest is ASCII15.\r
+The rest is ASCII16.\r
+The rest is ASCII17.\r
+The rest is ASCII18.\r
+The rest is ASCII19.\r
+The rest is ASCII20.\r
+The rest is ASCII21.\r
+The rest is ASCII22.\r
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 (file)
index 0000000..0e05288
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.\r
+The rest is ASCII02.\r
+The rest is ASCII03.\r
+The rest is ASCII04.\r
+The rest is ASCII05.\r
+The rest is ASCII06.\r
+The rest is ASCII07.\r
+The rest is ASCII08.\r
+The rest is ASCII09.\r
+The rest is ASCII10.\r
+The rest is ASCII11.\r
+The rest is ASCII12.\r
+The rest is ASCII13.\r
+The rest is ASCII14.\r
+The rest is ASCII15.\r
+The rest is ASCII16.\r
+The rest is ASCII17.\r
+The rest is ASCII18.\r
+The rest is ASCII19.\r
+The rest is ASCII20.\r
+The rest is ASCII21.\r
+The rest is ASCII22.\r
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 (file)
index 0000000..cd574f5
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!\r
+♫♪♬♩\r
+Eat food\r
+🍅🍕\r
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 (file)
index 0000000..cd574f5
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!\r
+♫♪♬♩\r
+Eat food\r
+🍅🍕\r
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 (file)
index 0000000..df8c0f6
--- /dev/null
@@ -0,0 +1,3 @@
+one\r
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..df8c0f6
--- /dev/null
@@ -0,0 +1,3 @@
+one\r
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..e682c30
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf\r
+crlf\r
+crlf\r
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 (file)
index 0000000..2e1220c
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf\r
+crlf\r
+crlf\r
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 (file)
index 0000000..6da5b0c
--- /dev/null
@@ -0,0 +1,5 @@
+lf\r
+lf\r
+crlf\r
+lf\r
+lf\r
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 (file)
index 0000000..3fa59c8
--- /dev/null
@@ -0,0 +1,5 @@
+lf\r
+lf\r
+crlf\r
+lf\r
+lf\r
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 (file)
index 0000000..e69de29
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 (file)
index 0000000..a9a2e89
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
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 (file)
index 0000000..0aa76e4
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_crlf/all-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_crlf/all-lf
new file mode 100644 (file)
index 0000000..f557a02
--- /dev/null
@@ -0,0 +1,5 @@
+lf\r
+lf\r
+lf\r
+lf\r
+lf\r
diff --git a/tests/resources/crlf_data/windows_to_workdir/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
new file mode 100644 (file)
index 0000000..381cfe6
--- /dev/null
@@ -0,0 +1,5 @@
+lf\r
+lf\r
+lf\r
+lf\r
+lf\r
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 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..aaf083a
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..0e05288
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.\r
+The rest is ASCII02.\r
+The rest is ASCII03.\r
+The rest is ASCII04.\r
+The rest is ASCII05.\r
+The rest is ASCII06.\r
+The rest is ASCII07.\r
+The rest is ASCII08.\r
+The rest is ASCII09.\r
+The rest is ASCII10.\r
+The rest is ASCII11.\r
+The rest is ASCII12.\r
+The rest is ASCII13.\r
+The rest is ASCII14.\r
+The rest is ASCII15.\r
+The rest is ASCII16.\r
+The rest is ASCII17.\r
+The rest is ASCII18.\r
+The rest is ASCII19.\r
+The rest is ASCII20.\r
+The rest is ASCII21.\r
+The rest is ASCII22.\r
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 (file)
index 0000000..0e05288
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.\r
+The rest is ASCII02.\r
+The rest is ASCII03.\r
+The rest is ASCII04.\r
+The rest is ASCII05.\r
+The rest is ASCII06.\r
+The rest is ASCII07.\r
+The rest is ASCII08.\r
+The rest is ASCII09.\r
+The rest is ASCII10.\r
+The rest is ASCII11.\r
+The rest is ASCII12.\r
+The rest is ASCII13.\r
+The rest is ASCII14.\r
+The rest is ASCII15.\r
+The rest is ASCII16.\r
+The rest is ASCII17.\r
+The rest is ASCII18.\r
+The rest is ASCII19.\r
+The rest is ASCII20.\r
+The rest is ASCII21.\r
+The rest is ASCII22.\r
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 (file)
index 0000000..cd574f5
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!\r
+♫♪♬♩\r
+Eat food\r
+🍅🍕\r
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 (file)
index 0000000..cd574f5
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!\r
+♫♪♬♩\r
+Eat food\r
+🍅🍕\r
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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..417786f
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..0ff5a53
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
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 (file)
index 0000000..ea030d3
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
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 (file)
index 0000000..04de00b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+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 (file)
index 0000000..dc88e3b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+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 (file)
index 0000000..e69de29
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 (file)
index 0000000..a9a2e89
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
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 (file)
index 0000000..0aa76e4
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
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 (file)
index 0000000..799770d
--- /dev/null
@@ -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 (file)
index 0000000..7cce67e
--- /dev/null
@@ -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 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..aaf083a
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..0e05288
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.\r
+The rest is ASCII02.\r
+The rest is ASCII03.\r
+The rest is ASCII04.\r
+The rest is ASCII05.\r
+The rest is ASCII06.\r
+The rest is ASCII07.\r
+The rest is ASCII08.\r
+The rest is ASCII09.\r
+The rest is ASCII10.\r
+The rest is ASCII11.\r
+The rest is ASCII12.\r
+The rest is ASCII13.\r
+The rest is ASCII14.\r
+The rest is ASCII15.\r
+The rest is ASCII16.\r
+The rest is ASCII17.\r
+The rest is ASCII18.\r
+The rest is ASCII19.\r
+The rest is ASCII20.\r
+The rest is ASCII21.\r
+The rest is ASCII22.\r
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 (file)
index 0000000..f4d25b7
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.
+The rest is ASCII02.
+The rest is ASCII03.
+The rest is ASCII04.
+The rest is ASCII05.
+The rest is ASCII06.
+The rest is ASCII07.
+The rest is ASCII08.
+The rest is ASCII09.
+The rest is ASCII10.
+The rest is ASCII11.
+The rest is ASCII12.
+The rest is ASCII13.
+The rest is ASCII14.
+The rest is ASCII15.
+The rest is ASCII16.
+The rest is ASCII17.
+The rest is ASCII18.
+The 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 (file)
index 0000000..cd574f5
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!\r
+♫♪♬♩\r
+Eat food\r
+🍅🍕\r
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 (file)
index 0000000..9a6c353
--- /dev/null
@@ -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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..417786f
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..0ff5a53
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
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 (file)
index 0000000..ea030d3
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
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 (file)
index 0000000..04de00b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+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 (file)
index 0000000..dc88e3b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+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 (file)
index 0000000..e69de29
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 (file)
index 0000000..a9a2e89
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
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 (file)
index 0000000..0aa76e4
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto/all-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto/all-lf
new file mode 100644 (file)
index 0000000..f557a02
--- /dev/null
@@ -0,0 +1,5 @@
+lf\r
+lf\r
+lf\r
+lf\r
+lf\r
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto/all-lf-utf8bom
new file mode 100644 (file)
index 0000000..381cfe6
--- /dev/null
@@ -0,0 +1,5 @@
+lf\r
+lf\r
+lf\r
+lf\r
+lf\r
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 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..aaf083a
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..0e05288
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.\r
+The rest is ASCII02.\r
+The rest is ASCII03.\r
+The rest is ASCII04.\r
+The rest is ASCII05.\r
+The rest is ASCII06.\r
+The rest is ASCII07.\r
+The rest is ASCII08.\r
+The rest is ASCII09.\r
+The rest is ASCII10.\r
+The rest is ASCII11.\r
+The rest is ASCII12.\r
+The rest is ASCII13.\r
+The rest is ASCII14.\r
+The rest is ASCII15.\r
+The rest is ASCII16.\r
+The rest is ASCII17.\r
+The rest is ASCII18.\r
+The rest is ASCII19.\r
+The rest is ASCII20.\r
+The rest is ASCII21.\r
+The rest is ASCII22.\r
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 (file)
index 0000000..0e05288
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.\r
+The rest is ASCII02.\r
+The rest is ASCII03.\r
+The rest is ASCII04.\r
+The rest is ASCII05.\r
+The rest is ASCII06.\r
+The rest is ASCII07.\r
+The rest is ASCII08.\r
+The rest is ASCII09.\r
+The rest is ASCII10.\r
+The rest is ASCII11.\r
+The rest is ASCII12.\r
+The rest is ASCII13.\r
+The rest is ASCII14.\r
+The rest is ASCII15.\r
+The rest is ASCII16.\r
+The rest is ASCII17.\r
+The rest is ASCII18.\r
+The rest is ASCII19.\r
+The rest is ASCII20.\r
+The rest is ASCII21.\r
+The rest is ASCII22.\r
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 (file)
index 0000000..cd574f5
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!\r
+♫♪♬♩\r
+Eat food\r
+🍅🍕\r
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 (file)
index 0000000..cd574f5
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!\r
+♫♪♬♩\r
+Eat food\r
+🍅🍕\r
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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..417786f
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..0ff5a53
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
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 (file)
index 0000000..ea030d3
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
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 (file)
index 0000000..04de00b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+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 (file)
index 0000000..dc88e3b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+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 (file)
index 0000000..e69de29
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 (file)
index 0000000..a9a2e89
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
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 (file)
index 0000000..0aa76e4
--- /dev/null
@@ -0,0 +1,4 @@
+crlf\r
+crlf\r
+crlf\r
+crlf\r
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true/all-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true/all-lf
new file mode 100644 (file)
index 0000000..f557a02
--- /dev/null
@@ -0,0 +1,5 @@
+lf\r
+lf\r
+lf\r
+lf\r
+lf\r
diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true/all-lf-utf8bom
new file mode 100644 (file)
index 0000000..381cfe6
--- /dev/null
@@ -0,0 +1,5 @@
+lf\r
+lf\r
+lf\r
+lf\r
+lf\r
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 (file)
index 0000000..8534075
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one\r
+two\r
+three\r
+four\r
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 (file)
index 0000000..af6fcf6
--- /dev/null
@@ -0,0 +1,4 @@
+\ 1one
+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 (file)
index 0000000..203555c
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree
+four\r
\ 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 (file)
index 0000000..aaf083a
--- /dev/null
@@ -0,0 +1,3 @@
+\ 1one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..0e05288
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.\r
+The rest is ASCII02.\r
+The rest is ASCII03.\r
+The rest is ASCII04.\r
+The rest is ASCII05.\r
+The rest is ASCII06.\r
+The rest is ASCII07.\r
+The rest is ASCII08.\r
+The rest is ASCII09.\r
+The rest is ASCII10.\r
+The rest is ASCII11.\r
+The rest is ASCII12.\r
+The rest is ASCII13.\r
+The rest is ASCII14.\r
+The rest is ASCII15.\r
+The rest is ASCII16.\r
+The rest is ASCII17.\r
+The rest is ASCII18.\r
+The rest is ASCII19.\r
+The rest is ASCII20.\r
+The rest is ASCII21.\r
+The rest is ASCII22.\r
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 (file)
index 0000000..0e05288
--- /dev/null
@@ -0,0 +1,22 @@
+⚽The rest is ASCII01.\r
+The rest is ASCII02.\r
+The rest is ASCII03.\r
+The rest is ASCII04.\r
+The rest is ASCII05.\r
+The rest is ASCII06.\r
+The rest is ASCII07.\r
+The rest is ASCII08.\r
+The rest is ASCII09.\r
+The rest is ASCII10.\r
+The rest is ASCII11.\r
+The rest is ASCII12.\r
+The rest is ASCII13.\r
+The rest is ASCII14.\r
+The rest is ASCII15.\r
+The rest is ASCII16.\r
+The rest is ASCII17.\r
+The rest is ASCII18.\r
+The rest is ASCII19.\r
+The rest is ASCII20.\r
+The rest is ASCII21.\r
+The rest is ASCII22.\r
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 (file)
index 0000000..cd574f5
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!\r
+♫♪♬♩\r
+Eat food\r
+🍅🍕\r
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 (file)
index 0000000..cd574f5
--- /dev/null
@@ -0,0 +1,4 @@
+Lets sing!\r
+♫♪♬♩\r
+Eat food\r
+🍅🍕\r
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 (file)
index 0000000..d11e7ef
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree
+four\r
\ 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 (file)
index 0000000..417786f
--- /dev/null
@@ -0,0 +1,3 @@
+one
+two\rthree\r
+four\r
\ 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 (file)
index 0000000..0ff5a53
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
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 (file)
index 0000000..ea030d3
--- /dev/null
@@ -0,0 +1,5 @@
+crlf\r
+crlf\r
+lf
+crlf\r
+crlf\r
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 (file)
index 0000000..04de00b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+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 (file)
index 0000000..dc88e3b
--- /dev/null
@@ -0,0 +1,5 @@
+lf
+lf
+crlf\r
+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 (file)
index 0000000..e69de29
index 092a888e7f12511417910970c25150cd9399e0ad..4514a6b9c762f486cbb51587e1c2c4f1d6c60e1e 100644 (file)
Binary files a/tests/resources/diff_format_email/.gitted/index and b/tests/resources/diff_format_email/.gitted/index differ
diff --git a/tests/resources/diff_format_email/.gitted/objects/07/594f324ebcf92902334c6016e30e716431dfbc b/tests/resources/diff_format_email/.gitted/objects/07/594f324ebcf92902334c6016e30e716431dfbc
new file mode 100644 (file)
index 0000000..bd27379
Binary files /dev/null and b/tests/resources/diff_format_email/.gitted/objects/07/594f324ebcf92902334c6016e30e716431dfbc differ
diff --git a/tests/resources/diff_format_email/.gitted/objects/0d/593fca18d1ab11deb6e8025c9fe417456fe883 b/tests/resources/diff_format_email/.gitted/objects/0d/593fca18d1ab11deb6e8025c9fe417456fe883
new file mode 100644 (file)
index 0000000..e49e107
Binary files /dev/null and b/tests/resources/diff_format_email/.gitted/objects/0d/593fca18d1ab11deb6e8025c9fe417456fe883 differ
diff --git a/tests/resources/diff_format_email/.gitted/objects/0d/b2a262bc8c5c3cba55254730045a8258da7a37 b/tests/resources/diff_format_email/.gitted/objects/0d/b2a262bc8c5c3cba55254730045a8258da7a37
new file mode 100644 (file)
index 0000000..1399d7f
--- /dev/null
@@ -0,0 +1,2 @@
+x\ 1\95ÎA
+Â0\10@Q×9Åì\ 5\99f\926\ 1\11\8f z\82\99tBCm-i¼¿â\rüû\a\96¥4°\84\87VUÁS´\9a)E\1fóà\9c\84hET¤ë\83|\e\ 4}BÊd6®º6\10Á\81\11Õ\a±=&§\12\1c8KêÆ\80\81¢dÃï6½*ܸÕ\92fx4-ëÄulpÞöë6鱗\ ó\14\88"\1cÑ"\9aôûkú¿4w]yQÈå©PVØß2\96j>ÄTIð
\ No newline at end of file
diff --git a/tests/resources/diff_format_email/.gitted/objects/39/ed6bbd76bca81c50db3aaca261456284f5d5b8 b/tests/resources/diff_format_email/.gitted/objects/39/ed6bbd76bca81c50db3aaca261456284f5d5b8
new file mode 100644 (file)
index 0000000..e08f03c
Binary files /dev/null and b/tests/resources/diff_format_email/.gitted/objects/39/ed6bbd76bca81c50db3aaca261456284f5d5b8 differ
diff --git a/tests/resources/diff_format_email/.gitted/objects/53/92ef3c959f744b892bbebb168bbbb7b05c03f3 b/tests/resources/diff_format_email/.gitted/objects/53/92ef3c959f744b892bbebb168bbbb7b05c03f3
new file mode 100644 (file)
index 0000000..308c599
Binary files /dev/null and b/tests/resources/diff_format_email/.gitted/objects/53/92ef3c959f744b892bbebb168bbbb7b05c03f3 differ
diff --git a/tests/resources/diff_format_email/.gitted/objects/85/fa91713734c588c897dd6dd67a39576f67ae50 b/tests/resources/diff_format_email/.gitted/objects/85/fa91713734c588c897dd6dd67a39576f67ae50
new file mode 100644 (file)
index 0000000..54d3412
Binary files /dev/null and b/tests/resources/diff_format_email/.gitted/objects/85/fa91713734c588c897dd6dd67a39576f67ae50 differ
diff --git a/tests/resources/diff_format_email/.gitted/objects/8c/637df9661edd808932b2f5d383f2c41ced9f06 b/tests/resources/diff_format_email/.gitted/objects/8c/637df9661edd808932b2f5d383f2c41ced9f06
new file mode 100644 (file)
index 0000000..e7d672b
Binary files /dev/null and b/tests/resources/diff_format_email/.gitted/objects/8c/637df9661edd808932b2f5d383f2c41ced9f06 differ
diff --git a/tests/resources/diff_format_email/.gitted/objects/94/f84b3e65e8bcbe8bffef2c885339343a802dd4 b/tests/resources/diff_format_email/.gitted/objects/94/f84b3e65e8bcbe8bffef2c885339343a802dd4
new file mode 100644 (file)
index 0000000..03b4848
Binary files /dev/null and b/tests/resources/diff_format_email/.gitted/objects/94/f84b3e65e8bcbe8bffef2c885339343a802dd4 differ
diff --git a/tests/resources/diff_format_email/.gitted/objects/bb/07a00e58b260c4eb9a82f8afbc1d80ad9739bf b/tests/resources/diff_format_email/.gitted/objects/bb/07a00e58b260c4eb9a82f8afbc1d80ad9739bf
new file mode 100644 (file)
index 0000000..d2cb6d0
Binary files /dev/null and b/tests/resources/diff_format_email/.gitted/objects/bb/07a00e58b260c4eb9a82f8afbc1d80ad9739bf differ
index 4024b97cd8e8887f12db0472b802e65fbdbc37a6..7d5e03f61b1a3fa5e92be801d2644f81e5aef43e 100644 (file)
@@ -1 +1 @@
-5219b9784f9a92d7bd7cb567a6d6a21bfb86697e
+0db2a262bc8c5c3cba55254730045a8258da7a37
diff --git a/tests/resources/diff_format_email/dir/renamed.txt b/tests/resources/diff_format_email/dir/renamed.txt
new file mode 100644 (file)
index 0000000..7aff11d
--- /dev/null
@@ -0,0 +1,5 @@
+file2
+file2
+file2
+file2!
+file2
diff --git a/tests/resources/generate_crlf.sh b/tests/resources/generate_crlf.sh
new file mode 100755 (executable)
index 0000000..068cad0
--- /dev/null
@@ -0,0 +1,147 @@
+#!/usr/bin/env bash
+#
+# This script will generate the test corpus for CR/LF data using git;
+# we create files with all possible line ending varieties (all LF, all
+# CRLF, mixed, etc) on all the possible line ending configurations
+# (`core.autocrlf=true`, `text=auto` in gitattributes, etc).  This
+# allows us to validate that our configuration will match byte-for-byte
+# the configuration that git produces.
+#
+# To update the test resource data, from the test resource directory:
+#     git rm -r ./crlf_data/{posix,windows}
+#     sh ./generate_crlf.sh ./crlf ./crlf_data /tmp/crlf_gitdirs
+#     git add ./crlf_data/{posix,windows}
+
+set -e
+
+if [ "$1" == "" -o "$2" == "" ]; then
+       echo "usage: $0 crlfrepo directory [tempdir]"
+       exit 1
+fi
+
+input=$1
+output=$2
+tempdir=$3
+
+set -u
+
+create_to_workdir_data() {
+       local input=$1
+       local output=$2
+       local tempdir=$3
+       local systype=$4
+       local autocrlf=$5
+       local attr=$6
+
+       local worktree="${output}/${systype}_to_workdir/autocrlf_${autocrlf}"
+
+       if [ "$attr" != "" ]; then
+               local attrdir=`echo $attr | sed -e "s/ /,/g" | sed -e "s/=/_/g"`
+               worktree="${worktree},${attrdir}"
+       fi
+
+       if [ "$tempdir" = "" ]; then
+               local gitdir="${worktree}/.git"
+       else
+               local gitdir="${tempdir}/generate_crlf_${RANDOM}"
+       fi
+
+       echo "Creating ${worktree}"
+       mkdir -p "${worktree}"
+
+       git clone --no-checkout --quiet --bare "${input}/.gitted" "${gitdir}"
+       git --work-tree="${worktree}" --git-dir="${gitdir}" config core.autocrlf ${autocrlf}
+
+       if [ "$attr" != "" ]; then
+               echo "* ${attr}" >> "${worktree}/.gitattributes"
+       fi
+
+       git --work-tree="${worktree}" --git-dir="${gitdir}" checkout HEAD
+
+       if [ "$attr" != "" ]; then
+               rm "${worktree}/.gitattributes"
+       fi
+
+       if [ "$tempdir" != "" ]; then
+               rm -rf "${gitdir}"
+       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
+       systype="posix"
+fi
+
+for autocrlf in true false input; do
+       for attr in "" text text=auto -text crlf -crlf eol=lf eol=crlf \
+               "text eol=lf" "text eol=crlf" \
+               "text=auto eol=lf" "text=auto eol=crlf"; do
+
+               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
+
diff --git a/tests/resources/mailmap/.gitted/HEAD b/tests/resources/mailmap/.gitted/HEAD
new file mode 100644 (file)
index 0000000..cb089cd
--- /dev/null
@@ -0,0 +1 @@
+ref: refs/heads/master
diff --git a/tests/resources/mailmap/.gitted/config b/tests/resources/mailmap/.gitted/config
new file mode 100644 (file)
index 0000000..515f483
--- /dev/null
@@ -0,0 +1,5 @@
+[core]
+       repositoryformatversion = 0
+       filemode = true
+       bare = false
+       logallrefupdates = true
diff --git a/tests/resources/mailmap/.gitted/description b/tests/resources/mailmap/.gitted/description
new file mode 100644 (file)
index 0000000..498b267
--- /dev/null
@@ -0,0 +1 @@
+Unnamed repository; edit this file 'description' to name the repository.
diff --git a/tests/resources/mailmap/.gitted/index b/tests/resources/mailmap/.gitted/index
new file mode 100644 (file)
index 0000000..af175ca
Binary files /dev/null and b/tests/resources/mailmap/.gitted/index differ
diff --git a/tests/resources/mailmap/.gitted/info/exclude b/tests/resources/mailmap/.gitted/info/exclude
new file mode 100644 (file)
index 0000000..a5196d1
--- /dev/null
@@ -0,0 +1,6 @@
+# git ls-files --others --exclude-from=.git/info/exclude
+# Lines that start with '#' are comments.
+# For a project mostly in C, the following would be a good set of
+# exclude patterns (uncomment them if you want to use them):
+# *.[oa]
+# *~
diff --git a/tests/resources/mailmap/.gitted/objects/00/1387531bed84262f137837125d4d998a9ba65d b/tests/resources/mailmap/.gitted/objects/00/1387531bed84262f137837125d4d998a9ba65d
new file mode 100644 (file)
index 0000000..1c56490
Binary files /dev/null and b/tests/resources/mailmap/.gitted/objects/00/1387531bed84262f137837125d4d998a9ba65d differ
diff --git a/tests/resources/mailmap/.gitted/objects/02/7b2816ae0d7a08ba656d0417c09b4eac18cf00 b/tests/resources/mailmap/.gitted/objects/02/7b2816ae0d7a08ba656d0417c09b4eac18cf00
new file mode 100644 (file)
index 0000000..a4e8249
Binary files /dev/null and b/tests/resources/mailmap/.gitted/objects/02/7b2816ae0d7a08ba656d0417c09b4eac18cf00 differ
diff --git a/tests/resources/mailmap/.gitted/objects/09/20975110511365e56aec2263082d0c3d56d1fa b/tests/resources/mailmap/.gitted/objects/09/20975110511365e56aec2263082d0c3d56d1fa
new file mode 100644 (file)
index 0000000..49bceea
Binary files /dev/null and b/tests/resources/mailmap/.gitted/objects/09/20975110511365e56aec2263082d0c3d56d1fa differ
diff --git a/tests/resources/mailmap/.gitted/objects/0c/d99501dfbec781a22ff7b84426b7bb308e709a b/tests/resources/mailmap/.gitted/objects/0c/d99501dfbec781a22ff7b84426b7bb308e709a
new file mode 100644 (file)
index 0000000..23149a4
Binary files /dev/null and b/tests/resources/mailmap/.gitted/objects/0c/d99501dfbec781a22ff7b84426b7bb308e709a differ
diff --git a/tests/resources/mailmap/.gitted/objects/1e/1212e7674820c17f7b8797aee7bf38ece0e838 b/tests/resources/mailmap/.gitted/objects/1e/1212e7674820c17f7b8797aee7bf38ece0e838
new file mode 100644 (file)
index 0000000..89a8598
--- /dev/null
@@ -0,0 +1,2 @@
+x\ 1u\8e]
+Â0\10\84}Î)ö\ 2Êf7iZ(â\ 1Ä;l\93\8d\16û#5\82zz\v¾êãÌ|ÃL\9cDZ/@\8c\9b²¨BÍÁ:i\888³b ®ö\19\93c´1\11Ö6çÌ\123\99\9b,:\15h|B\8e®I\8dKZ\85ä\ 5½÷,¶ë\884Ô9Ä\94}\14#\8fr\99\17\98úxeh»Çù~\88óx\93éµ{>÷`=YÆ\8a*\86-:D³\86ë±¢\v\9cú«ÀQ^o\1d\ 6h§U\1dÊE\87¯qß­à\8fºù3d>ØÜI\ f
\ No newline at end of file
diff --git a/tests/resources/mailmap/.gitted/objects/36/370b71f5aad1dd46bec5e14145280a843c9f49 b/tests/resources/mailmap/.gitted/objects/36/370b71f5aad1dd46bec5e14145280a843c9f49
new file mode 100644 (file)
index 0000000..5e8e3e5
Binary files /dev/null and b/tests/resources/mailmap/.gitted/objects/36/370b71f5aad1dd46bec5e14145280a843c9f49 differ
diff --git a/tests/resources/mailmap/.gitted/objects/3a/1295dbc9234c0c5947c72803618c7112a01447 b/tests/resources/mailmap/.gitted/objects/3a/1295dbc9234c0c5947c72803618c7112a01447
new file mode 100644 (file)
index 0000000..347828c
--- /dev/null
@@ -0,0 +1,2 @@
+x\ 1m\8eA
+Â0\14D]ç\14ÿ\ 2\96ü$m\13("®Å;$??(¶\8dÄ\bêé-\8a®dV3Ìð\86ò4\9d*(­Vµ0\83Ç.\ 6¤\10¬Å>ÆH     \9d#TQ\93\90\92eNdÄÅ\17\9e+\18\8d½\8bäô"t]j]P­¶}hÙ\18vl{g\925$ü­\1es\81\11ö0PÍ[ÊyºøùÑÜï\eÀV¡\96\9d´\1d¬¥\91RÐûYå\ 2\87ÓÙÃÞ?\9e<\8e\8bÛÖ#\8f\9fàÚ,Å?sñ!5_Ô\8f$^\90ïHÿ
\ No newline at end of file
diff --git a/tests/resources/mailmap/.gitted/objects/3f/134546ae8fbe95a39dd20ea8c12b5fb0f48afb b/tests/resources/mailmap/.gitted/objects/3f/134546ae8fbe95a39dd20ea8c12b5fb0f48afb
new file mode 100644 (file)
index 0000000..489c610
--- /dev/null
@@ -0,0 +1,3 @@
+x\ 1m\8eMnÂ0\10\85»ö)æ\ 2 {lbGB(¬ØTeÑ\13\8c\9dq\89òcd\   zz\1ceÛåûùô^Hó<\14@sø(\99\19"÷½6ì<ÅØ{¤\10¹¥Æ5ÒG­[t6PkÐ\aq§ÌK\ 1Å
+\15²m¬q(\83²Ñzg[K̶"\8e\ 3KvÚ  ú-·\94á;Í\f\17Ê\9e~\18\8eË\10FìB\9aï´¼öÏç      Ô\ 1\95\96\8d6
+vÒH)jX\ f\16Îð5\8c\ 4\9fôúãiZÑ\91ºrãi3\1eûZü\a\17×ÚÉpÞÖ\8fiUÝöeÝ\13o\8bµO\99
\ No newline at end of file
diff --git a/tests/resources/mailmap/.gitted/objects/43/179dc93939196f59b25387b5e44e9e8794f84c b/tests/resources/mailmap/.gitted/objects/43/179dc93939196f59b25387b5e44e9e8794f84c
new file mode 100644 (file)
index 0000000..2f3693a
--- /dev/null
@@ -0,0 +1,2 @@
+x\ 1mÍA
+Â0\10\ 5P×9Å\À\92\934\85"ŵx\871\99ÐbÓH\8cÐzz\8b\82¸pù?ÿól\faÌP6í.'f°-+Ô\95\16UÍ-:£|¥½Æ\8b\91L\8dö\8e´CA\8f\ 4ÇD\ e:\9bcoc\f7\9a×bY\ ePªª¬¥\965Â^¢\94¾\9dÌ   Îã\95àDë\93§        ºyK}\1e\14÷b\eþ¹\8b_çË\88\17ÒA:\9c
\ No newline at end of file
diff --git a/tests/resources/mailmap/.gitted/objects/46/b5bb908c78b575cac9f9e6e42ff9ba3f769a46 b/tests/resources/mailmap/.gitted/objects/46/b5bb908c78b575cac9f9e6e42ff9ba3f769a46
new file mode 100644 (file)
index 0000000..62c9db0
Binary files /dev/null and b/tests/resources/mailmap/.gitted/objects/46/b5bb908c78b575cac9f9e6e42ff9ba3f769a46 differ
diff --git a/tests/resources/mailmap/.gitted/objects/4b/4d2010ba256ef339c1d1854d20249da7478f01 b/tests/resources/mailmap/.gitted/objects/4b/4d2010ba256ef339c1d1854d20249da7478f01
new file mode 100644 (file)
index 0000000..169c7e7
Binary files /dev/null and b/tests/resources/mailmap/.gitted/objects/4b/4d2010ba256ef339c1d1854d20249da7478f01 differ
diff --git a/tests/resources/mailmap/.gitted/objects/4b/825dc642cb6eb9a060e54bf8d69288fbee4904 b/tests/resources/mailmap/.gitted/objects/4b/825dc642cb6eb9a060e54bf8d69288fbee4904
new file mode 100644 (file)
index 0000000..adf6411
Binary files /dev/null and b/tests/resources/mailmap/.gitted/objects/4b/825dc642cb6eb9a060e54bf8d69288fbee4904 differ
diff --git a/tests/resources/mailmap/.gitted/objects/4d/61d588546529ad27b2d77a3d6b05460ecb4be0 b/tests/resources/mailmap/.gitted/objects/4d/61d588546529ad27b2d77a3d6b05460ecb4be0
new file mode 100644 (file)
index 0000000..dabbf4e
Binary files /dev/null and b/tests/resources/mailmap/.gitted/objects/4d/61d588546529ad27b2d77a3d6b05460ecb4be0 differ
diff --git a/tests/resources/mailmap/.gitted/objects/50/d69f4e64be2cff2cedde8f9b7f970257caf4dd b/tests/resources/mailmap/.gitted/objects/50/d69f4e64be2cff2cedde8f9b7f970257caf4dd
new file mode 100644 (file)
index 0000000..e6b337e
--- /dev/null
@@ -0,0 +1 @@
+x\ 1m\8eMjÃ0\10\85»Ö)æ\ 2        ÒHcÉ\10B\96Y\94Ò+\8cì\116±eã(äçôQé®tù~>Þë\96y\1e\v m>Ê&\ 2\8dÁÖ&×ÙÞ\93Ö=¢gOÄ\9e\ 3R\10\fBÖ¹6¢Zy\93\À&c\1d¹\86%¤(-±mû\1eµpè\fFJQ'\178EÅ·2,\eÜò%/÷\f\87u\18§S·Ì+ççþñ8\82!4V7ÎxØi§µªa½Vd\83¯ñÂðÉÏ\97L\13\1crU§2Èôk\÷µø\ f®¾ë\ 2\9cÇ\1fäï\98z\ 3\9b`KN
\ No newline at end of file
diff --git a/tests/resources/mailmap/.gitted/objects/61/293f4c3d7500d227a755a7a8258e28e53449b2 b/tests/resources/mailmap/.gitted/objects/61/293f4c3d7500d227a755a7a8258e28e53449b2
new file mode 100644 (file)
index 0000000..409e6fd
Binary files /dev/null and b/tests/resources/mailmap/.gitted/objects/61/293f4c3d7500d227a755a7a8258e28e53449b2 differ
diff --git a/tests/resources/mailmap/.gitted/objects/62/7f0bd2f4fb5e949b79ba450d84676fa876b1c8 b/tests/resources/mailmap/.gitted/objects/62/7f0bd2f4fb5e949b79ba450d84676fa876b1c8
new file mode 100644 (file)
index 0000000..6009c30
Binary files /dev/null and b/tests/resources/mailmap/.gitted/objects/62/7f0bd2f4fb5e949b79ba450d84676fa876b1c8 differ
diff --git a/tests/resources/mailmap/.gitted/objects/68/dfd5e5cb6138488680246d134f47ce559f4cf1 b/tests/resources/mailmap/.gitted/objects/68/dfd5e5cb6138488680246d134f47ce559f4cf1
new file mode 100644 (file)
index 0000000..ac5229f
Binary files /dev/null and b/tests/resources/mailmap/.gitted/objects/68/dfd5e5cb6138488680246d134f47ce559f4cf1 differ
diff --git a/tests/resources/mailmap/.gitted/objects/69/b9768d022706dab26e2af4dd5a13f42039e36f b/tests/resources/mailmap/.gitted/objects/69/b9768d022706dab26e2af4dd5a13f42039e36f
new file mode 100644 (file)
index 0000000..bda7a5d
Binary files /dev/null and b/tests/resources/mailmap/.gitted/objects/69/b9768d022706dab26e2af4dd5a13f42039e36f differ
diff --git a/tests/resources/mailmap/.gitted/objects/6a/0fc44893d4867166f9d321f78c269b3e42b08b b/tests/resources/mailmap/.gitted/objects/6a/0fc44893d4867166f9d321f78c269b3e42b08b
new file mode 100644 (file)
index 0000000..9c70031
Binary files /dev/null and b/tests/resources/mailmap/.gitted/objects/6a/0fc44893d4867166f9d321f78c269b3e42b08b differ
diff --git a/tests/resources/mailmap/.gitted/objects/6c/dec08ab9bfcd5a3d889f27bbed650317e3ec13 b/tests/resources/mailmap/.gitted/objects/6c/dec08ab9bfcd5a3d889f27bbed650317e3ec13
new file mode 100644 (file)
index 0000000..856ba31
Binary files /dev/null and b/tests/resources/mailmap/.gitted/objects/6c/dec08ab9bfcd5a3d889f27bbed650317e3ec13 differ
diff --git a/tests/resources/mailmap/.gitted/objects/71/00e631fb4d5deba31fdc8acc98f4fb5c1573fd b/tests/resources/mailmap/.gitted/objects/71/00e631fb4d5deba31fdc8acc98f4fb5c1573fd
new file mode 100644 (file)
index 0000000..3b20e6d
Binary files /dev/null and b/tests/resources/mailmap/.gitted/objects/71/00e631fb4d5deba31fdc8acc98f4fb5c1573fd differ
diff --git a/tests/resources/mailmap/.gitted/objects/7e/cbb98d860b304f622b38ce9ab8f08d14d981a8 b/tests/resources/mailmap/.gitted/objects/7e/cbb98d860b304f622b38ce9ab8f08d14d981a8
new file mode 100644 (file)
index 0000000..53e775e
Binary files /dev/null and b/tests/resources/mailmap/.gitted/objects/7e/cbb98d860b304f622b38ce9ab8f08d14d981a8 differ
diff --git a/tests/resources/mailmap/.gitted/objects/7e/e7b9a4a2a1eda925f6260338c063d8211d5ad5 b/tests/resources/mailmap/.gitted/objects/7e/e7b9a4a2a1eda925f6260338c063d8211d5ad5
new file mode 100644 (file)
index 0000000..0d4e94b
--- /dev/null
@@ -0,0 +1,2 @@
+x\ 1\9d\90Á
+Â0\10D=÷+\ 6z\17*\82\97 \15=\88\17\85~A\9aF\13M²¡MAÿÞ´\16m¡'s\9aag²Ë+\r\95Xg\9bE\8aB[o$öd­t\ 1F;\990\11(\17d=w¯åó¹Åü\eb¿\R\90\95\95\ 4k¢Ì«('\1f8-\1e\19XÙÞ\9añ\82ä\1c\94¬±k\83¢\1a\8c:\97óÞ\rõ®¸ú§ø9\9dõýÉÊ\8bÒ\ 6Gm\f\98\8fr<\ 3Ò/\10\1e ]\ 5º\ ehîÔH¯¦é\11\9eS?\9e9´à.pì\ro\9b\b§3KÑ\99ÜQ\1d\94\ 1Å"µ\11ùä\r¨\83\8aú
\ No newline at end of file
diff --git a/tests/resources/mailmap/.gitted/objects/83/714a9223f3e072b85f0d4301cd2081fff3acf2 b/tests/resources/mailmap/.gitted/objects/83/714a9223f3e072b85f0d4301cd2081fff3acf2
new file mode 100644 (file)
index 0000000..a50f87e
Binary files /dev/null and b/tests/resources/mailmap/.gitted/objects/83/714a9223f3e072b85f0d4301cd2081fff3acf2 differ
diff --git a/tests/resources/mailmap/.gitted/objects/87/ce8d4920a30ddb9547334e7c65806518863ff1 b/tests/resources/mailmap/.gitted/objects/87/ce8d4920a30ddb9547334e7c65806518863ff1
new file mode 100644 (file)
index 0000000..b8c4808
--- /dev/null
@@ -0,0 +1,2 @@
+x\ 1}NKjC1\fìÚ§Ð\ 5\12d?=[\86P\ 2Ý\96ÞA²e^èKR\1c\17\92\9e¾¡é²t5\1ff\98)çãñ0 \10>\8dn\ 6\86ZC£¦³eÊ\9a²
+ÍX\99b\8aM8Eõ\85Ý\87t;\rHVT3W\8e¨\13R\8b!èÄŲ(7äê©föÂN>Çrîð²H_í\ 2»ò û_Ü^¯Ïàçà'\8c3eØ !ºòónX\87·Ã»À«Ü¾l]awº«ýXl}\18\97í=øGÝý·æ¾\ 1W=MV
\ No newline at end of file
diff --git a/tests/resources/mailmap/.gitted/objects/8c/f0547fcb649b44ebaf39b8104982bb0abb4e69 b/tests/resources/mailmap/.gitted/objects/8c/f0547fcb649b44ebaf39b8104982bb0abb4e69
new file mode 100644 (file)
index 0000000..402a48e
Binary files /dev/null and b/tests/resources/mailmap/.gitted/objects/8c/f0547fcb649b44ebaf39b8104982bb0abb4e69 differ
diff --git a/tests/resources/mailmap/.gitted/objects/94/7ff75c33ac7941a32fe9900118b6ba85ab2be9 b/tests/resources/mailmap/.gitted/objects/94/7ff75c33ac7941a32fe9900118b6ba85ab2be9
new file mode 100644 (file)
index 0000000..8b23320
Binary files /dev/null and b/tests/resources/mailmap/.gitted/objects/94/7ff75c33ac7941a32fe9900118b6ba85ab2be9 differ
diff --git a/tests/resources/mailmap/.gitted/objects/95/d03c49d94de67d5a05553a1bb22e78f7cdf5ca b/tests/resources/mailmap/.gitted/objects/95/d03c49d94de67d5a05553a1bb22e78f7cdf5ca
new file mode 100644 (file)
index 0000000..cd91a3f
--- /dev/null
@@ -0,0 +1 @@
+x\ 1m\8eKnÃ0\fD»Ö)x\81\ 6\8a$R\16`\14î¾hÏ@ªtcÄ\9f@Q\80¤§¯\ 2\9c\997\98ÉÛ²L\15\9c\8f/µ¨B A\91\1c\88\99s\1a\93\92\ 67\8e\8f\91\12\a2\17.ºVàh1p\10\8f$^ó·f²Y\95\8a2£tä#¢á[=m\ 5Ö)\9f\1dôrû¹\ ey[.¼>\ e÷û\e\1cÑ\1d½%ç\1c¼Ú`­ia;VµÀçtføàǯÎ3ôkSC=é¼\e×C\ 3ÿ©\9b¯Æ\14xßWûí©\86ýÃsÏü\ 1·|Lµ
\ No newline at end of file
diff --git a/tests/resources/mailmap/.gitted/objects/96/78a4325710507f7bf598a0fde5ebbd88148614 b/tests/resources/mailmap/.gitted/objects/96/78a4325710507f7bf598a0fde5ebbd88148614
new file mode 100644 (file)
index 0000000..8874366
Binary files /dev/null and b/tests/resources/mailmap/.gitted/objects/96/78a4325710507f7bf598a0fde5ebbd88148614 differ
diff --git a/tests/resources/mailmap/.gitted/objects/a1/6db1cbb8817dddcf199c12d3c81221cf8eefc4 b/tests/resources/mailmap/.gitted/objects/a1/6db1cbb8817dddcf199c12d3c81221cf8eefc4
new file mode 100644 (file)
index 0000000..d23d8cc
--- /dev/null
@@ -0,0 +1 @@
+x\ 1+)JMU06c040031QHËÌIÕ+©(aðöU\10Ø¥\9a÷ÙòàÅV_\ 5\95¹ËÝû\19\ 1+\95\ e»
\ No newline at end of file
diff --git a/tests/resources/mailmap/.gitted/objects/a7/054a4b356b3ecdec60cee66e50beaa5b863755 b/tests/resources/mailmap/.gitted/objects/a7/054a4b356b3ecdec60cee66e50beaa5b863755
new file mode 100644 (file)
index 0000000..06a3abc
--- /dev/null
@@ -0,0 +1,3 @@
+x\ 1mNKjÃ0\10íZ§\98\v4Ìè\13I`\82\17]\96lz\82\9144&þ\ 4[\86¤§\8fJ¶Ù½/ïåe\9a\86
+ÚÐG]E\80½$\8bÚÛ\10|bIH\1c]\10.\ 1\vá1¹è½!\9dÕ\8dW\99+\18&\1d]I9jc3f\17­Ï^\a4G
\13iF²Ö+ÞëeYa\1eò\95 KûïÖçeºñü8Üï' §É`ë\10|¢ETÍlǪ¬p\1e®\fßüø\93q\84nn¬¯\17\19_ÂvhÁ7uõ³L\ 2_{\11è¶\ 6ûÒàÿ\92z\ 2P\98G\8d
\ No newline at end of file
diff --git a/tests/resources/mailmap/.gitted/objects/a7/eb40274887baeb01a958ead80d106b5977312c b/tests/resources/mailmap/.gitted/objects/a7/eb40274887baeb01a958ead80d106b5977312c
new file mode 100644 (file)
index 0000000..39f70c2
Binary files /dev/null and b/tests/resources/mailmap/.gitted/objects/a7/eb40274887baeb01a958ead80d106b5977312c differ
diff --git a/tests/resources/mailmap/.gitted/objects/c9/e5462de8ec453e94d85f26f64b80ea76fda6d4 b/tests/resources/mailmap/.gitted/objects/c9/e5462de8ec453e94d85f26f64b80ea76fda6d4
new file mode 100644 (file)
index 0000000..dbf9523
Binary files /dev/null and b/tests/resources/mailmap/.gitted/objects/c9/e5462de8ec453e94d85f26f64b80ea76fda6d4 differ
diff --git a/tests/resources/mailmap/.gitted/objects/d3/e5e624cc7bfb09ac1960ebb6c458021b098f87 b/tests/resources/mailmap/.gitted/objects/d3/e5e624cc7bfb09ac1960ebb6c458021b098f87
new file mode 100644 (file)
index 0000000..c69ebe8
Binary files /dev/null and b/tests/resources/mailmap/.gitted/objects/d3/e5e624cc7bfb09ac1960ebb6c458021b098f87 differ
diff --git a/tests/resources/mailmap/.gitted/objects/f6/3578091d884c3066a003c50eb6c85ae7542269 b/tests/resources/mailmap/.gitted/objects/f6/3578091d884c3066a003c50eb6c85ae7542269
new file mode 100644 (file)
index 0000000..16fd918
--- /dev/null
@@ -0,0 +1,2 @@
+x\ 1\9d\8e[jÃ0\10Eó­UÌ\ 6\1aô\1cË\10Bò_º\85\8c°\89m\ 5E-$«¯¡;Èß¹\a.\9c\×uî`\1d\1ez\13\ 1\1cÓ8`dmí \91)Y\14KÅ3\a2®x«Ý(\ e\8bºS\93­Ã`´\16t¦$Ï\81\8e\9c#å<ÆâK
\84Á\15VôÓ§Úàk¾\11|Òó%Ë\ 2§m_\97>Éò/\1eÇ\×3\98`\9dÁ\88\87öZ«Ýî\91]Þ¼«+3¤¥¦ïú+­Í,ê\ f}ZL{
\ No newline at end of file
diff --git a/tests/resources/mailmap/.gitted/objects/fe/dd34e8baffdb2acfe9a6860bf339287ca942bc b/tests/resources/mailmap/.gitted/objects/fe/dd34e8baffdb2acfe9a6860bf339287ca942bc
new file mode 100644 (file)
index 0000000..a13b83d
Binary files /dev/null and b/tests/resources/mailmap/.gitted/objects/fe/dd34e8baffdb2acfe9a6860bf339287ca942bc differ
diff --git a/tests/resources/mailmap/.gitted/objects/fe/ef8f2135df4835496e4d576b1f1bd23510e1c5 b/tests/resources/mailmap/.gitted/objects/fe/ef8f2135df4835496e4d576b1f1bd23510e1c5
new file mode 100644 (file)
index 0000000..31f979b
--- /dev/null
@@ -0,0 +1 @@
+x\ 1m\8eK\8a\ 21\10\86\14u\ 1%\8f\r\16ñ\ e\95¤2­Ó/º#¨§7(\ 3³\98åÿâûã4\f\97\ 2Úà¦,Ì`\9cñ2x\95-QR)¡\v\1c-+Thu#©A\13Û\8c­\98iá±\80\95ÉUÍ\ e\ 3ë\98³\8e\9c\12\r>·^jë#eLIЭtÓ\ 2Çiå¹\83}¸}¯\878\r3\8d\8fÝýþ\ 5Êje¤C×ÀV¢\94¢\86õYá\ 5Î\97\1f\82\13=\9eÜ÷°\1f«:\94\8eû\8f±îjñ\9f¹ø%]ßÄ¿,ñ\ 2ÐpKö
\ No newline at end of file
diff --git a/tests/resources/mailmap/.gitted/refs/heads/master b/tests/resources/mailmap/.gitted/refs/heads/master
new file mode 100644 (file)
index 0000000..b6dd308
--- /dev/null
@@ -0,0 +1 @@
+f63578091d884c3066a003c50eb6c85ae7542269
diff --git a/tests/resources/mailmap/.mailmap b/tests/resources/mailmap/.mailmap
new file mode 100644 (file)
index 0000000..7da2ed6
--- /dev/null
@@ -0,0 +1,9 @@
+# Simple Comment line
+<cto@company.xx>                       <cto@coompany.xx>
+Some Dude <some@dude.xx>         nick1 <bugs@company.xx>
+Other Author <other@author.xx>   nick2 <bugs@company.xx>
+Other Author <other@author.xx>         <nick2@company.xx>
+Phil Hill <phil@company.xx>  # Comment at end of line
+<joseph@company.xx>             Joseph <bugs@company.xx>
+Santa Claus <santa.claus@northpole.xx> <me@company.xx>
+Untracked <untracked@company.xx>
diff --git a/tests/resources/mailmap/file.txt b/tests/resources/mailmap/file.txt
new file mode 100644 (file)
index 0000000..68dfd5e
--- /dev/null
@@ -0,0 +1,10 @@
+Added by Brad <cto@coompany.xx>
+Added by Brad L. <cto@coompany.xx>
+Added by nick1 <bugs@company.xx>
+Added by nick2 <bugs@company.xx>
+Added by nick3 <bugs@company.xx>
+Added by Some Garbage <nick2@company.xx>
+Added by unknown <phil@company.xx>
+Added by Joseph <bugs@company.xx>
+Added by Clause <me@company.xx>
+Added by Charles <charles@charles.xx>
diff --git a/tests/resources/mailmap/file_override b/tests/resources/mailmap/file_override
new file mode 100644 (file)
index 0000000..94293a9
--- /dev/null
@@ -0,0 +1,2 @@
+File Override <phil@company.xx>
+Other Name <fileoverridename@company.xx>
diff --git a/tests/resources/merge-recursive/.gitted/objects/06/d3fefb8726ab1099acc76e02dfb85e034b2538 b/tests/resources/merge-recursive/.gitted/objects/06/d3fefb8726ab1099acc76e02dfb85e034b2538
new file mode 100644 (file)
index 0000000..b3919aa
Binary files /dev/null and b/tests/resources/merge-recursive/.gitted/objects/06/d3fefb8726ab1099acc76e02dfb85e034b2538 differ
index 607117675023cb1b67789caa45f20ea390dfa379..3e77fb5307ff5ce73beb890a2a2cd668dc887f3b 100644 (file)
@@ -1,55 +1,55 @@
-#!/bin/sh\r
-#creates push_src repo for libgit2 push tests.\r
-set -eu\r
-\r
-#Create src repo for push\r
-mkdir push_src\r
-pushd push_src\r
-  git init\r
-  \r
-  echo a > a.txt\r
-  git add .\r
-  git commit -m 'added a.txt'\r
-  \r
-  mkdir fold\r
-  echo b > fold/b.txt\r
-  git add .\r
-  git commit -m 'added fold and fold/b.txt'\r
-  \r
-  git branch b1 #b1 and b2 are the same\r
-  git branch b2\r
-  \r
-  git checkout -b b3\r
-  echo edit >> a.txt\r
-  git add .\r
-  git commit -m 'edited a.txt'\r
-\r
-  git checkout -b b4 master\r
-  echo edit >> fold\b.txt\r
-  git add .\r
-  git commit -m 'edited fold\b.txt'\r
-  \r
-  git checkout -b b5 master\r
-  git submodule add ../testrepo.git submodule\r
-  git commit -m "added submodule named 'submodule' pointing to '../testrepo.git'"\r
-  \r
-  git checkout master\r
-  git merge -m "merge b3, b4, and b5 to master" b3 b4 b5\r
-\r
-  #Log commits to include in testcase\r
-  git log --format=oneline --decorate --graph\r
-  #*-.   951bbbb90e2259a4c8950db78946784fb53fcbce (HEAD, master) merge b3, b4, and b5 to master\r
-  #|\ \\r
-  #| | * fa38b91f199934685819bea316186d8b008c52a2 (b5) added submodule named 'submodule' pointing to '../testrepo.git'\r
-  #| * | 27b7ce66243eb1403862d05f958c002312df173d (b4) edited fold\b.txt\r
-  #| |/\r
-  #* | d9b63a88223d8367516f50bd131a5f7349b7f3e4 (b3) edited a.txt\r
-  #|/\r
-  #* a78705c3b2725f931d3ee05348d83cc26700f247 (b2, b1) added fold and fold/b.txt\r
-  #* 5c0bb3d1b9449d1cc69d7519fd05166f01840915 added a.txt\r
-\r
-  #fix paths so that we can add repo folders under libgit2 repo\r
-  #rename .git to .gitted\r
-  find . -name .git -exec mv -i '{}' '{}ted' \;\r
-  mv -i .gitmodules gitmodules\r
-popd\r
+#!/bin/sh
+#creates push_src repo for libgit2 push tests.
+set -eu
+
+#Create src repo for push
+mkdir push_src
+pushd push_src
+  git init
+
+  echo a > a.txt
+  git add .
+  git commit -m 'added a.txt'
+
+  mkdir fold
+  echo b > fold/b.txt
+  git add .
+  git commit -m 'added fold and fold/b.txt'
+
+  git branch b1 #b1 and b2 are the same
+  git branch b2
+
+  git checkout -b b3
+  echo edit >> a.txt
+  git add .
+  git commit -m 'edited a.txt'
+
+  git checkout -b b4 master
+  echo edit >> fold\b.txt
+  git add .
+  git commit -m 'edited fold\b.txt'
+
+  git checkout -b b5 master
+  git submodule add ../testrepo.git submodule
+  git commit -m "added submodule named 'submodule' pointing to '../testrepo.git'"
+
+  git checkout master
+  git merge -m "merge b3, b4, and b5 to master" b3 b4 b5
+
+  #Log commits to include in testcase
+  git log --format=oneline --decorate --graph
+  #*-.   951bbbb90e2259a4c8950db78946784fb53fcbce (HEAD, master) merge b3, b4, and b5 to master
+  #|\ \
+  #| | * fa38b91f199934685819bea316186d8b008c52a2 (b5) added submodule named 'submodule' pointing to '../testrepo.git'
+  #| * | 27b7ce66243eb1403862d05f958c002312df173d (b4) edited fold\b.txt
+  #| |/
+  #* | d9b63a88223d8367516f50bd131a5f7349b7f3e4 (b3) edited a.txt
+  #|/
+  #* a78705c3b2725f931d3ee05348d83cc26700f247 (b2, b1) added fold and fold/b.txt
+  #* 5c0bb3d1b9449d1cc69d7519fd05166f01840915 added a.txt
+
+  #fix paths so that we can add repo folders under libgit2 repo
+  #rename .git to .gitted
+  find . -name .git -exec mv -i '{}' '{}ted' \;
+  mv -i .gitmodules gitmodules
+popd
diff --git a/tests/resources/splitindex/.gitted/HEAD b/tests/resources/splitindex/.gitted/HEAD
new file mode 100644 (file)
index 0000000..cb089cd
--- /dev/null
@@ -0,0 +1 @@
+ref: refs/heads/master
diff --git a/tests/resources/splitindex/.gitted/config b/tests/resources/splitindex/.gitted/config
new file mode 100644 (file)
index 0000000..e9d0b6d
--- /dev/null
@@ -0,0 +1,8 @@
+[core]
+       repositoryformatversion = 0
+       filemode = true
+       bare = false
+       logallrefupdates = true
+       ignorecase = true
+       precomposeunicode = true
+       splitIndex = true
diff --git a/tests/resources/splitindex/.gitted/index b/tests/resources/splitindex/.gitted/index
new file mode 100644 (file)
index 0000000..ff34488
Binary files /dev/null and b/tests/resources/splitindex/.gitted/index differ
diff --git a/tests/resources/splitindex/.gitted/info/exclude b/tests/resources/splitindex/.gitted/info/exclude
new file mode 100644 (file)
index 0000000..a5196d1
--- /dev/null
@@ -0,0 +1,6 @@
+# git ls-files --others --exclude-from=.git/info/exclude
+# Lines that start with '#' are comments.
+# For a project mostly in C, the following would be a good set of
+# exclude patterns (uncomment them if you want to use them):
+# *.[oa]
+# *~
diff --git a/tests/resources/splitindex/.gitted/objects/.gitkeep b/tests/resources/splitindex/.gitted/objects/.gitkeep
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/tests/resources/splitindex/.gitted/refs/.gitkeep b/tests/resources/splitindex/.gitted/refs/.gitkeep
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/tests/resources/splitindex/.gitted/sharedindex.39d890139ee5356c7ef572216cebcd27aa41f9df b/tests/resources/splitindex/.gitted/sharedindex.39d890139ee5356c7ef572216cebcd27aa41f9df
new file mode 100644 (file)
index 0000000..3330d71
Binary files /dev/null and b/tests/resources/splitindex/.gitted/sharedindex.39d890139ee5356c7ef572216cebcd27aa41f9df differ
index a27fb9c96feb433fb28a2713a863a7356d45eed7..963f7adbbc2a3f62d1133f8e05936f2b950bad70 100644 (file)
Binary files a/tests/resources/testrepo/.gitted/index and b/tests/resources/testrepo/.gitted/index differ
diff --git a/tests/resources/testrepo/.gitted/objects/97/328ac7e3bd0bcd3900cb3e7a624d71dd0df888 b/tests/resources/testrepo/.gitted/objects/97/328ac7e3bd0bcd3900cb3e7a624d71dd0df888
new file mode 100644 (file)
index 0000000..2aa37bc
Binary files /dev/null and b/tests/resources/testrepo/.gitted/objects/97/328ac7e3bd0bcd3900cb3e7a624d71dd0df888 differ
diff --git a/tests/resources/testrepo/.gitted/objects/99/1f1b12603e1d78411c1b4042719f964efa7adf b/tests/resources/testrepo/.gitted/objects/99/1f1b12603e1d78411c1b4042719f964efa7adf
new file mode 100644 (file)
index 0000000..4173754
Binary files /dev/null and b/tests/resources/testrepo/.gitted/objects/99/1f1b12603e1d78411c1b4042719f964efa7adf differ
index 206c86d70c72c8cd940cffd866b643e5ec14b604..fc7d030652dec5bb4ced23771244239b357f839f 100644 (file)
@@ -11,7 +11,7 @@
 
 static git_repository *repo;
 
-// Fixture setup and teardown
+/* Fixture setup and teardown */
 void test_revert_bare__initialize(void)
 {
        repo = cl_git_sandbox_init(TEST_REPO_PATH);
@@ -68,7 +68,7 @@ void test_revert_bare__conflicts(void)
        git_oid_fromstr(&revert_oid, "72333f47d4e83616630ff3b0ffe4c0faebcc3c45");
 
        cl_git_pass(git_repository_head(&head_ref, repo));
-       cl_git_pass(git_reference_peel((git_object **)&head_commit, head_ref, GIT_OBJ_COMMIT));
+       cl_git_pass(git_reference_peel((git_object **)&head_commit, head_ref, GIT_OBJECT_COMMIT));
 
        cl_git_pass(git_commit_lookup(&revert_commit, repo, &revert_oid));
        cl_git_pass(git_revert_commit(&index, repo, revert_commit, head_commit, 0, NULL));
index 802819c755fa6e515bf8fd8869cb98d0c63a6cd4..9acf20d6facef2bd864aad7f51b8fe6d155f20fb 100644 (file)
@@ -12,7 +12,7 @@
 static git_repository *repo;
 static git_index *repo_index;
 
-// Fixture setup and teardown
+/* Fixture setup and teardown */
 void test_revert_workdir__initialize(void)
 {
        git_config *cfg;
@@ -80,7 +80,7 @@ void test_revert_workdir__conflicts(void)
        git_oid_fromstr(&revert_oid, "72333f47d4e83616630ff3b0ffe4c0faebcc3c45");
 
        cl_git_pass(git_repository_head(&head_ref, repo));
-       cl_git_pass(git_reference_peel((git_object **)&head, head_ref, GIT_OBJ_COMMIT));
+       cl_git_pass(git_reference_peel((git_object **)&head, head_ref, GIT_OBJECT_COMMIT));
        cl_git_pass(git_reset(repo, (git_object *)head, GIT_RESET_HARD, NULL));
 
        cl_git_pass(git_commit_lookup(&commit, repo, &revert_oid));
@@ -126,8 +126,8 @@ void test_revert_workdir__conflicts(void)
        git_commit_free(commit);
        git_commit_free(head);
        git_reference_free(head_ref);
-       git_buf_free(&mergemsg_buf);
-       git_buf_free(&conflicting_buf);
+       git_buf_dispose(&mergemsg_buf);
+       git_buf_dispose(&conflicting_buf);
 }
 
 /* git reset --hard 39467716290f6df775a91cdb9a4eb39295018145
@@ -178,7 +178,7 @@ void test_revert_workdir__again(void)
        };
 
        cl_git_pass(git_repository_head(&head_ref, repo));
-       cl_git_pass(git_reference_peel((git_object **)&orig_head, head_ref, GIT_OBJ_COMMIT));
+       cl_git_pass(git_reference_peel((git_object **)&orig_head, head_ref, GIT_OBJECT_COMMIT));
        cl_git_pass(git_reset(repo, (git_object *)orig_head, GIT_RESET_HARD, NULL));
 
        cl_git_pass(git_revert(repo, orig_head, NULL));
@@ -350,7 +350,7 @@ void test_revert_workdir__again_after_edit_two(void)
        git_commit_free(revert_commit);
        git_commit_free(head_commit);
        git_config_free(config);
-       git_buf_free(&diff_buf);
+       git_buf_dispose(&diff_buf);
 }
 
 /* git reset --hard 72333f47d4e83616630ff3b0ffe4c0faebcc3c45
@@ -477,7 +477,7 @@ void test_revert_workdir__head(void)
 
        /* HEAD is 2d440f2b3147d3dc7ad1085813478d6d869d5a4d */
        cl_git_pass(git_repository_head(&head, repo));
-       cl_git_pass(git_reference_peel((git_object **)&commit, head, GIT_OBJ_COMMIT));
+       cl_git_pass(git_reference_peel((git_object **)&commit, head, GIT_OBJECT_COMMIT));
        cl_git_pass(git_reset(repo, (git_object *)commit, GIT_RESET_HARD, NULL));
        cl_git_pass(git_revert(repo, commit, NULL));
 
@@ -495,7 +495,7 @@ void test_revert_workdir__nonmerge_fails_mainline_specified(void)
        git_revert_options opts = GIT_REVERT_OPTIONS_INIT;
 
        cl_git_pass(git_repository_head(&head, repo));
-       cl_git_pass(git_reference_peel((git_object **)&commit, head, GIT_OBJ_COMMIT));
+       cl_git_pass(git_reference_peel((git_object **)&commit, head, GIT_OBJECT_COMMIT));
 
        opts.mainline = 1;
        cl_must_fail(git_revert(repo, commit, &opts));
index 1106bf4ce6e601919f6fef030c1e897de0295947..8e73025520e1f2980431324cc6877b396b290467 100644 (file)
@@ -197,6 +197,31 @@ void test_revwalk_basic__push_head(void)
        cl_assert_equal_i(i, 7);
 }
 
+void test_revwalk_basic__sorted_after_reset(void)
+{
+       int i = 0;
+       git_oid oid;
+
+       revwalk_basic_setup_walk(NULL);
+
+       git_oid_fromstr(&oid, commit_head);
+
+       /* push, sort, and test the walk */
+       cl_git_pass(git_revwalk_push(_walk, &oid));
+       git_revwalk_sorting(_walk, GIT_SORT_TIME);
+
+       cl_git_pass(test_walk_only(_walk, commit_sorting_time, 2));
+
+       /* reset, push, and test again - we should see all entries */
+       git_revwalk_reset(_walk);
+       cl_git_pass(git_revwalk_push(_walk, &oid));
+
+       while (git_revwalk_next(&oid, _walk) == 0)
+               i++;
+
+       cl_assert_equal_i(i, commit_count);
+}
+
 void test_revwalk_basic__push_head_hide_ref(void)
 {
        int i = 0;
@@ -267,9 +292,9 @@ void test_revwalk_basic__multiple_push_1(void)
 }
 
 /*
-* Difference between test_revwalk_basic__multiple_push_1 and 
+* Difference between test_revwalk_basic__multiple_push_1 and
 * test_revwalk_basic__multiple_push_2 is in the order reference
-* refs/heads/packed-test and commit 5b5b02 are pushed. 
+* refs/heads/packed-test and commit 5b5b02 are pushed.
 * revwalk should return same commits in both the tests.
 
 * $ git rev-list 5b5b02 HEAD ^refs/heads/packed-test
@@ -484,10 +509,10 @@ void test_revwalk_basic__big_timestamp(void)
        revwalk_basic_setup_walk("testrepo.git");
 
        cl_git_pass(git_repository_head(&head, _repo));
-       cl_git_pass(git_reference_peel((git_object **) &tip, head, GIT_OBJ_COMMIT));
+       cl_git_pass(git_reference_peel((git_object **) &tip, head, GIT_OBJECT_COMMIT));
 
        /* Commit with a far-ahead timestamp, we should be able to parse it in the revwalk */
-       cl_git_pass(git_signature_new(&sig, "Joe", "joe@example.com", 2399662595, 0));
+       cl_git_pass(git_signature_new(&sig, "Joe", "joe@example.com", 2399662595ll, 0));
        cl_git_pass(git_commit_tree(&tree, tip));
 
        cl_git_pass(git_commit_create(&id, _repo, "HEAD", sig, sig, NULL, "some message", tree, 1,
index b274ed86a68403264a124cd24dc1147072f63b6a..54315bc77304642d0a24e1f1e60fc1130737cd9f 100644 (file)
@@ -117,13 +117,40 @@ void test_revwalk_hidecb__hide_none_cb(void)
        git_revwalk_free(walk);
 }
 
-void test_revwalk_hidecb__add_hide_cb_multiple_times(void)
+void test_revwalk_hidecb__unset_cb_before_walk(void)
 {
        git_revwalk *walk;
+       git_oid id;
+       int i, error;
+
+       cl_git_pass(git_revwalk_new(&walk, _repo));
+       cl_git_pass(git_revwalk_add_hide_cb(walk, hide_every_commit_cb, NULL));
+       cl_git_pass(git_revwalk_add_hide_cb(walk, NULL, NULL));
+       cl_git_pass(git_revwalk_push(walk, &_head_id));
+
+       /* It should return all 6 commits */
+       i = 0;
+       while ((error = git_revwalk_next(&id, walk)) == 0)
+               i++;
+
+       cl_assert_equal_i(i, 6);
+       cl_assert_equal_i(error, GIT_ITEROVER);
+
+       git_revwalk_free(walk);
+}
+
+void test_revwalk_hidecb__change_cb_before_walk(void)
+{
+       git_revwalk *walk;
+       git_oid id;
 
        cl_git_pass(git_revwalk_new(&walk, _repo));
+       cl_git_pass(git_revwalk_add_hide_cb(walk, hide_none_cb, NULL));
        cl_git_pass(git_revwalk_add_hide_cb(walk, hide_every_commit_cb, NULL));
-       cl_git_fail(git_revwalk_add_hide_cb(walk, hide_every_commit_cb, NULL));
+       cl_git_pass(git_revwalk_push(walk, &_head_id));
+
+       /* First call to git_revwalk_next should return GIT_ITEROVER */
+       cl_assert_equal_i(GIT_ITEROVER, git_revwalk_next(&id, walk));
 
        git_revwalk_free(walk);
 }
index ee078b3e7a538c992ecb035043dc5267a4284cc4..bee0b926e0851bbb1d4f90061a654f4da258e231 100644 (file)
@@ -198,12 +198,12 @@ static void assert_mergebase_many(const char *expected_sha, int count, ...)
        memset(oids, 0x0, count * sizeof(git_oid));
 
        va_start(ap, count);
-       
+
        for (i = 0; i < count; ++i) {
                partial_oid = va_arg(ap, char *);
                cl_git_pass(git_oid_fromstrn(&oid, partial_oid, strlen(partial_oid)));
 
-               cl_git_pass(git_object_lookup_prefix(&object, _repo, &oid, strlen(partial_oid), GIT_OBJ_COMMIT));
+               cl_git_pass(git_object_lookup_prefix(&object, _repo, &oid, strlen(partial_oid), GIT_OBJECT_COMMIT));
                git_oid_cpy(&oids[i], git_object_id(object));
                git_object_free(object);
        }
@@ -267,7 +267,7 @@ static void assert_mergebase_octopus(const char *expected_sha, int count, ...)
                partial_oid = va_arg(ap, char *);
                cl_git_pass(git_oid_fromstrn(&oid, partial_oid, strlen(partial_oid)));
 
-               cl_git_pass(git_object_lookup_prefix(&object, _repo, &oid, strlen(partial_oid), GIT_OBJ_COMMIT));
+               cl_git_pass(git_object_lookup_prefix(&object, _repo, &oid, strlen(partial_oid), GIT_OBJECT_COMMIT));
                git_oid_cpy(&oids[i], git_object_id(object));
                git_object_free(object);
        }
index f26b73b1932ebc93791d7c27a9d3f2bbf3f65df2..063223ae67d93a6c3b55b2fd90c04e9d8f2c8de0 100644 (file)
@@ -34,7 +34,7 @@ void test_stash_apply__initialize(void)
        cl_git_pass(git_index_add_bypath(repo_index, "who"));
        cl_git_pass(git_index_add_bypath(repo_index, "why"));
        cl_git_pass(git_index_add_bypath(repo_index, "where"));
-       git_index_write(repo_index);
+       cl_git_pass(git_index_write(repo_index));
 
        cl_git_rewritefile("stash/where", "....\n");
 
@@ -85,7 +85,7 @@ void test_stash_apply__with_default(void)
        cl_git_pass(git_futils_readbuffer(&where, "stash/where"));
        cl_assert_equal_s("....\n", where.ptr);
 
-       git_buf_free(&where);
+       git_buf_dispose(&where);
 }
 
 void test_stash_apply__with_existing_file(void)
@@ -132,7 +132,7 @@ void test_stash_apply__with_reinstate_index(void)
        cl_git_pass(git_futils_readbuffer(&where, "stash/where"));
        cl_assert_equal_s("....\n", where.ptr);
 
-       git_buf_free(&where);
+       git_buf_dispose(&where);
 }
 
 void test_stash_apply__conflict_index_with_default(void)
@@ -422,7 +422,7 @@ void test_stash_apply__uses_reflog_like_indices_1(void)
        cl_git_pass(git_stash_save(&oid, repo, signature, NULL, GIT_STASH_INCLUDE_UNTRACKED));
        assert_status(repo, "untracked", GIT_ENOTFOUND);
 
-       // stash@{1} is the oldest (first) stash we made
+       /* stash@{1} is the oldest (first) stash we made */
        cl_git_pass(git_stash_apply(repo, 1, NULL));
        cl_assert_equal_i(git_index_has_conflicts(repo_index), 0);
        assert_status(repo, "what", GIT_STATUS_WT_MODIFIED);
@@ -441,7 +441,7 @@ void test_stash_apply__uses_reflog_like_indices_2(void)
        cl_git_pass(git_stash_save(&oid, repo, signature, NULL, GIT_STASH_INCLUDE_UNTRACKED));
        assert_status(repo, "untracked", GIT_ENOTFOUND);
 
-       // stash@{0} is the newest stash we made immediately above
+       /* stash@{0} is the newest stash we made immediately above */
        cl_git_pass(git_stash_apply(repo, 0, NULL));
 
        cl_assert_equal_i(git_index_has_conflicts(repo_index), 0);
index edcee820ff8c827e63721ce15dba935a59521a89..c38ef8274913e4be1755e14f960693d40f7e5184 100644 (file)
@@ -9,7 +9,7 @@ static git_oid stash_tip_oid;
 /*
  * Friendly reminder, in order to ease the reading of the following tests:
  *
- * "stash"             points to the worktree commit 
+ * "stash"             points to the worktree commit
  * "stash^1"   points to the base commit (HEAD when the stash was created)
  * "stash^2"   points to the index commit
  * "stash^3"   points to the untracked commit
@@ -35,7 +35,7 @@ void test_stash_save__cleanup(void)
        cl_fixture_cleanup("sorry-it-is-a-non-bare-only-party");
 }
 
-static void assert_object_oid(const char* revision, const char* expected_oid, git_otype type)
+static void assert_object_oid(const char* revision, const char* expected_oid, git_object_t type)
 {
        int result;
        git_object *obj;
@@ -55,7 +55,7 @@ static void assert_object_oid(const char* revision, const char* expected_oid, gi
 
 static void assert_blob_oid(const char* revision, const char* expected_oid)
 {
-       assert_object_oid(revision, expected_oid, GIT_OBJ_BLOB);
+       assert_object_oid(revision, expected_oid, GIT_OBJECT_BLOB);
 }
 
 void test_stash_save__does_not_keep_index_by_default(void)
@@ -188,6 +188,48 @@ void test_stash_save__can_include_untracked_and_ignored_files(void)
        cl_assert(!git_path_exists("stash/just.ignore"));
 }
 
+/*
+ * Note: this test was flaky prior to fixing #4101 -- run it several
+ * times to get a failure.  The issues is that whether the fast
+ * (stat-only) codepath is used inside stash's diff operation depends
+ * on whether files are "racily clean", and there doesn't seem to be
+ * an easy way to force the exact required state.
+ */
+void test_stash_save__untracked_regression(void)
+{
+       git_checkout_options opts = GIT_CHECKOUT_OPTIONS_INIT;
+       const char *paths[] = {"what", "where", "how", "why"};
+       git_reference *head;
+       git_commit *head_commit;
+       git_buf untracked_dir;
+
+       const char* workdir = git_repository_workdir(repo);
+
+       git_buf_init(&untracked_dir, 0);
+       git_buf_printf(&untracked_dir, "%sz", workdir);
+
+       cl_assert(!p_mkdir(untracked_dir.ptr, 0777));
+
+       cl_git_pass(git_repository_head(&head, repo));
+
+       cl_git_pass(git_reference_peel((git_object **)&head_commit, head, GIT_OBJECT_COMMIT));
+
+       opts.checkout_strategy = GIT_CHECKOUT_FORCE;
+
+       opts.paths.strings = (char **)paths;
+       opts.paths.count = 4;
+
+       cl_git_pass(git_checkout_tree(repo, (git_object*)head_commit, &opts));
+
+       cl_git_pass(git_stash_save(&stash_tip_oid, repo, signature, NULL, GIT_STASH_DEFAULT));
+
+       assert_commit_message_contains("refs/stash", "WIP on master");
+
+       git_reference_free(head);
+       git_commit_free(head_commit);
+       git_buf_dispose(&untracked_dir);
+}
+
 #define MESSAGE "Look Ma! I'm on TV!"
 void test_stash_save__can_accept_a_message(void)
 {
@@ -233,12 +275,12 @@ void test_stash_save__can_stash_against_a_detached_head(void)
 
 void test_stash_save__stashing_updates_the_reflog(void)
 {
-       assert_object_oid("refs/stash@{0}", NULL, GIT_OBJ_COMMIT);
+       assert_object_oid("refs/stash@{0}", NULL, GIT_OBJECT_COMMIT);
 
        cl_git_pass(git_stash_save(&stash_tip_oid, repo, signature, NULL, GIT_STASH_DEFAULT));
 
-       assert_object_oid("refs/stash@{0}", git_oid_tostr_s(&stash_tip_oid), GIT_OBJ_COMMIT);
-       assert_object_oid("refs/stash@{1}", NULL, GIT_OBJ_COMMIT);
+       assert_object_oid("refs/stash@{0}", git_oid_tostr_s(&stash_tip_oid), GIT_OBJECT_COMMIT);
+       assert_object_oid("refs/stash@{1}", NULL, GIT_OBJECT_COMMIT);
 }
 
 void test_stash_save__cannot_stash_when_there_are_no_local_change(void)
@@ -344,7 +386,7 @@ void test_stash_save__can_stage_normal_then_stage_untracked(void)
        assert_blob_oid("stash@{1}^2:who", "cc628ccd10742baea8241c5924df992b5c019f71");         /* world */
        assert_blob_oid("stash@{1}^2:when", NULL);
 
-       assert_object_oid("stash@{1}^3", NULL, GIT_OBJ_COMMIT);
+       assert_object_oid("stash@{1}^3", NULL, GIT_OBJECT_COMMIT);
 
        assert_blob_oid("stash@{0}^0:what", "ce013625030ba8dba906f756967f9e9ca394464a");        /* hello */
        assert_blob_oid("stash@{0}^0:how", "ac790413e2d7a26c3767e78c57bb28716686eebc");         /* small */
@@ -373,7 +415,7 @@ void test_stash_save__including_untracked_without_any_untracked_file_creates_an_
 
        cl_git_pass(git_stash_save(&stash_tip_oid, repo, signature, NULL, GIT_STASH_INCLUDE_UNTRACKED));
 
-       assert_object_oid("stash^3^{tree}", EMPTY_TREE, GIT_OBJ_TREE);
+       assert_object_oid("stash^3^{tree}", EMPTY_TREE, GIT_OBJECT_TREE);
 }
 
 void test_stash_save__ignored_directory(void)
index dc58e8b45f41d6df483a4c1c2c411e7af0e40b04..4965821364ddea8c458510107befa086d6e8f3f4 100644 (file)
@@ -167,7 +167,7 @@ void test_status_ignore__ignore_pattern_ignorecase(void)
        cl_git_mkfile("empty_standard_repo/A.txt", "Differs in case");
 
        cl_git_pass(git_repository_index(&index, g_repo));
-       ignore_case = (git_index_caps(index) & GIT_INDEXCAP_IGNORE_CASE) != 0;
+       ignore_case = (git_index_caps(index) & GIT_INDEX_CAPABILITY_IGNORE_CASE) != 0;
        git_index_free(index);
 
        cl_git_pass(git_status_file(&flags, g_repo, "A.txt"));
@@ -601,7 +601,7 @@ void test_status_ignore__filenames_with_special_prefixes_do_not_interfere_with_s
                cl_assert(st.status == GIT_STATUS_WT_NEW);
 
                cl_git_sandbox_cleanup();
-               git_buf_free(&file);
+               git_buf_dispose(&file);
        }
 }
 
@@ -1158,27 +1158,58 @@ void test_status_ignore__subdir_ignore_everything_except_certain_files(void)
 
 void test_status_ignore__deeper(void)
 {
-   int ignored;
+       const char *test_files[] = {
+               "empty_standard_repo/foo.data",
+               "empty_standard_repo/bar.data",
+               "empty_standard_repo/dont_ignore/foo.data",
+               "empty_standard_repo/dont_ignore/bar.data",
+               NULL
+       };
 
-    g_repo = cl_git_sandbox_init("empty_standard_repo");
+       make_test_data("empty_standard_repo", test_files);
+       cl_git_mkfile("empty_standard_repo/.gitignore",
+               "*.data\n"
+               "!dont_ignore/*.data\n");
 
-    cl_git_mkfile("empty_standard_repo/.gitignore",
-          "*.data\n"
-          "!dont_ignore/*.data\n");
+       assert_is_ignored("foo.data");
+       assert_is_ignored("bar.data");
 
-    cl_git_pass(p_mkdir("empty_standard_repo/dont_ignore", 0777));
-    cl_git_mkfile("empty_standard_repo/foo.data", "");
-    cl_git_mkfile("empty_standard_repo/bar.data", "");
-    cl_git_mkfile("empty_standard_repo/dont_ignore/foo.data", "");
-    cl_git_mkfile("empty_standard_repo/dont_ignore/bar.data", "");
+       refute_is_ignored("dont_ignore/foo.data");
+       refute_is_ignored("dont_ignore/bar.data");
+}
 
-    cl_git_pass(git_ignore_path_is_ignored(&ignored, g_repo, "foo.data"));
-    cl_assert_equal_i(1, ignored);
-    cl_git_pass(git_ignore_path_is_ignored(&ignored, g_repo, "bar.data"));
-    cl_assert_equal_i(1, ignored);
+void test_status_ignore__unignored_dir_with_ignored_contents(void)
+{
+       static const char *test_files[] = {
+               "empty_standard_repo/dir/a.test",
+               "empty_standard_repo/dir/subdir/a.test",
+               NULL
+       };
 
-    cl_git_pass(git_ignore_path_is_ignored(&ignored, g_repo, "dont_ignore/foo.data"));
-    cl_assert_equal_i(0, ignored);
-    cl_git_pass(git_ignore_path_is_ignored(&ignored, g_repo, "dont_ignore/bar.data"));
-    cl_assert_equal_i(0, ignored);
+       make_test_data("empty_standard_repo", test_files);
+       cl_git_mkfile(
+               "empty_standard_repo/.gitignore",
+               "*.test\n"
+               "!dir/*\n");
+
+       refute_is_ignored("dir/a.test");
+       assert_is_ignored("dir/subdir/a.test");
+}
+
+void test_status_ignore__unignored_subdirs(void)
+{
+       static const char *test_files[] = {
+               "empty_standard_repo/dir/a.test",
+               "empty_standard_repo/dir/subdir/a.test",
+               NULL
+       };
+
+       make_test_data("empty_standard_repo", test_files);
+       cl_git_mkfile(
+               "empty_standard_repo/.gitignore",
+               "dir/*\n"
+               "!dir/*/\n");
+
+       assert_is_ignored("dir/a.test");
+       refute_is_ignored("dir/subdir/a.test");
 }
index ae32d2ee0e72b028691ad60a4b66b41832d98cef..7deec980f6fddc89b6f1370b5d669c288706e805 100644 (file)
@@ -35,8 +35,8 @@ static void _rename_helper(
        if (extra)
                cl_git_append2file(newpath.ptr, extra);
 
-       git_buf_free(&oldpath);
-       git_buf_free(&newpath);
+       git_buf_dispose(&oldpath);
+       git_buf_dispose(&newpath);
 }
 
 #define rename_file(R,O,N) _rename_helper((R), (O), (N), NULL)
@@ -483,7 +483,7 @@ void test_status_renames__both_casechange_one(void)
 
        cl_git_pass(git_status_list_new(&statuslist, g_repo, &opts));
 
-       check_status(statuslist, (index_caps & GIT_INDEXCAP_IGNORE_CASE) ?
+       check_status(statuslist, (index_caps & GIT_INDEX_CAPABILITY_IGNORE_CASE) ?
                expected_icase : expected_case, 1);
 
        git_status_list_free(statuslist);
@@ -550,7 +550,7 @@ void test_status_renames__both_casechange_two(void)
 
        cl_git_pass(git_status_list_new(&statuslist, g_repo, &opts));
 
-       check_status(statuslist, (index_caps & GIT_INDEXCAP_IGNORE_CASE) ?
+       check_status(statuslist, (index_caps & GIT_INDEX_CAPABILITY_IGNORE_CASE) ?
                expected_icase : expected_case, 4);
 
        git_status_list_free(statuslist);
index 6efaab294a93b17c69882e22a58a1f9f3eddf6a3..e7f92097cd864b9c3fbb796eeb143a1efce2a18a 100644 (file)
@@ -21,7 +21,7 @@ void test_status_single__hash_single_file(void)
        cl_git_mkfile(file_name, file_contents);
        cl_set_cleanup(&cleanup__remove_file, (void *)file_name);
 
-       cl_git_pass(git_odb_hashfile(&actual_id, file_name, GIT_OBJ_BLOB));
+       cl_git_pass(git_odb_hashfile(&actual_id, file_name, GIT_OBJECT_BLOB));
        cl_assert_equal_oid(&expected_id, &actual_id);
 }
 
@@ -39,7 +39,7 @@ void test_status_single__hash_single_empty_file(void)
        cl_git_mkfile(file_name, file_contents);
        cl_set_cleanup(&cleanup__remove_file, (void *)file_name);
 
-       cl_git_pass(git_odb_hashfile(&actual_id, file_name, GIT_OBJ_BLOB));
+       cl_git_pass(git_odb_hashfile(&actual_id, file_name, GIT_OBJECT_BLOB));
        cl_assert_equal_oid(&expected_id, &actual_id);
 }
 
index 8ad4235fd46ceef720e20c45ab5950974ab8db16..09b9827f2fcc057172cb34e3feb5b7324e499fa5 100644 (file)
@@ -1,6 +1,6 @@
 #include "status_helpers.h"
 
-// A utf-8 string with 83 characters, but 249 bytes.
+/* A utf-8 string with 83 characters, but 249 bytes. */
 static const char *longname = "\xe5\x8f\x97\xe5\x8f\x97\xe5\x8f\x97\xe5\x8f\x97\xe5\x8f\x97\xe5\x8f\x97\xe5\x8f\x97\xe5\x8f\x97\xe5\x8f\x97\xe5\x8f\x97\xe5\x8f\x97\xe5\x8f\x97\xe5\x8f\x97\xe5\x8f\x97\xe5\x8f\x97\xe5\x8f\x97\xe5\x8f\x97\xe5\x8f\x97\xe5\x8f\x97\xe5\x8f\x97\xe5\x8f\x97\xe5\x8f\x97\xe5\x8f\x97\xe5\x8f\x97\xe5\x8f\x97\xe5\x8f\x97\xe5\x8f\x97\xe5\x8f\x97\xe5\x8f\x97\xe5\x8f\x97\xe5\x8f\x97\xe5\x8f\x97\xe5\x8f\x97\xe5\x8f\x97\xe5\x8f\x97\xe5\x8f\x97\xe5\x8f\x97\xe5\x8f\x97\xe5\x8f\x97\xe5\x8f\x97\xe5\x8f\x97\xe5\x8f\x97\xe5\x8f\x97\xe5\x8f\x97\xe5\x8f\x97\xe5\x8f\x97\xe5\x8f\x97\xe5\x8f\x97\xe5\x8f\x97\xe5\x8f\x97\xe5\x8f\x97\xe5\x8f\x97\xe5\x8f\x97\xe5\x8f\x97\xe5\x8f\x97\xe5\x8f\x97\xe5\x8f\x97\xe5\x8f\x97\xe5\x8f\x97\xe5\x8f\x97\xe5\x8f\x97\xe5\x8f\x97\xe5\x8f\x97\xe5\x8f\x97\xe5\x8f\x97\xe5\x8f\x97\xe5\x8f\x97\xe5\x8f\x97\xe5\x8f\x97\xe5\x8f\x97\xe5\x8f\x97\xe5\x8f\x97\xe5\x8f\x97\xe5\x8f\x97\xe5\x8f\x97\xe5\x8f\x97\xe5\x8f\x97\xe5\x8f\x97\xe5\x8f\x97\xe5\x8f\x97\xe5\x8f\x97\xe5\x8f\x97\xe5\x8f\x97";
 
 
index c6b18c166b0499c47fbfd4629ee1dbb528a58d24..4c37a337c6e997386b70fb5751ef3d879b059af8 100644 (file)
@@ -127,7 +127,7 @@ void test_status_worktree__purged_worktree(void)
        /* first purge the contents of the worktree */
        cl_git_pass(git_buf_sets(&workdir, git_repository_workdir(repo)));
        cl_git_pass(git_path_direach(&workdir, 0, remove_file_cb, NULL));
-       git_buf_free(&workdir);
+       git_buf_dispose(&workdir);
 
        /* now get status */
        memset(&counts, 0x0, sizeof(status_entry_counts));
@@ -154,7 +154,7 @@ void test_status_worktree__swap_subdir_and_file(void)
        bool ignore_case;
 
        cl_git_pass(git_repository_index(&index, repo));
-       ignore_case = (git_index_caps(index) & GIT_INDEXCAP_IGNORE_CASE) != 0;
+       ignore_case = (git_index_caps(index) & GIT_INDEX_CAPABILITY_IGNORE_CASE) != 0;
        git_index_free(index);
 
        /* first alter the contents of the worktree */
@@ -260,7 +260,7 @@ void test_status_worktree__within_subdir(void)
        pathsArray.strings = paths;
        opts.pathspec = pathsArray;
 
-       // We committed zzz_new_dir/new_file above. It shouldn't be reported.
+       /* We committed zzz_new_dir/new_file above. It shouldn't be reported. */
        cl_git_pass(
                git_status_foreach_ext(repo, &opts, cb_status__normal, &counts)
        );
@@ -378,7 +378,7 @@ void test_status_worktree__issue_592(void)
 
        cl_git_pass(git_status_foreach(repo, cb_status__check_592, "l.txt"));
 
-       git_buf_free(&path);
+       git_buf_dispose(&path);
 }
 
 void test_status_worktree__issue_592_2(void)
@@ -393,7 +393,7 @@ void test_status_worktree__issue_592_2(void)
 
        cl_git_pass(git_status_foreach(repo, cb_status__check_592, "c/a.txt"));
 
-       git_buf_free(&path);
+       git_buf_dispose(&path);
 }
 
 void test_status_worktree__issue_592_3(void)
@@ -409,7 +409,7 @@ void test_status_worktree__issue_592_3(void)
 
        cl_git_pass(git_status_foreach(repo, cb_status__check_592, "c/a.txt"));
 
-       git_buf_free(&path);
+       git_buf_dispose(&path);
 }
 
 void test_status_worktree__issue_592_4(void)
@@ -424,7 +424,7 @@ void test_status_worktree__issue_592_4(void)
 
        cl_git_pass(git_status_foreach(repo, cb_status__check_592, "t/b.txt"));
 
-       git_buf_free(&path);
+       git_buf_dispose(&path);
 }
 
 void test_status_worktree__issue_592_5(void)
@@ -440,7 +440,7 @@ void test_status_worktree__issue_592_5(void)
 
        cl_git_pass(git_status_foreach(repo, cb_status__check_592, NULL));
 
-       git_buf_free(&path);
+       git_buf_dispose(&path);
 }
 
 void test_status_worktree__issue_592_ignores_0(void)
@@ -782,8 +782,8 @@ static void assert_ignore_case(
        cl_assert_equal_i(expected_camel_cased_file_status, status);
 
        git_repository_free(repo2);
-       git_buf_free(&lower_case_path);
-       git_buf_free(&camel_case_path);
+       git_buf_dispose(&lower_case_path);
+       git_buf_dispose(&camel_case_path);
 }
 
 void test_status_worktree__file_status_honors_core_ignorecase_true(void)
@@ -889,7 +889,7 @@ void test_status_worktree__sorting_by_case(void)
 
        cl_git_pass(git_repository_index(&index, repo));
        native_ignore_case =
-               (git_index_caps(index) & GIT_INDEXCAP_IGNORE_CASE) != 0;
+               (git_index_caps(index) & GIT_INDEX_CAPABILITY_IGNORE_CASE) != 0;
        git_index_free(index);
 
        memset(&counts, 0, sizeof(counts));
@@ -957,7 +957,7 @@ void test_status_worktree__long_filenames(void)
        git_status_options opts = GIT_STATUS_OPTIONS_INIT;
        status_entry_counts counts = {0};
 
-       // Create directory with amazingly long filename
+       /* Create directory with amazingly long filename */
        sprintf(path, "empty_standard_repo/%s", longname);
        cl_git_pass(git_futils_mkdir_r(path, 0777));
        sprintf(path, "empty_standard_repo/%s/foo", longname);
@@ -1163,7 +1163,7 @@ void test_status_worktree__update_index_with_symlink_doesnt_change_mode(void)
        opts.flags = GIT_STATUS_OPT_DEFAULTS | GIT_STATUS_OPT_UPDATE_INDEX;
 
        cl_git_pass(git_repository_head(&head, repo));
-       cl_git_pass(git_reference_peel(&head_object, head, GIT_OBJ_COMMIT));
+       cl_git_pass(git_reference_peel(&head_object, head, GIT_OBJECT_COMMIT));
 
        cl_git_pass(git_reset(repo, head_object, GIT_RESET_HARD, NULL));
 
@@ -1222,7 +1222,7 @@ void test_status_worktree__with_directory_in_pathlist(void)
 
        cl_git_pass(git_repository_index(&index, repo));
        native_ignore_case =
-                       (git_index_caps(index) & GIT_INDEXCAP_IGNORE_CASE) != 0;
+                       (git_index_caps(index) & GIT_INDEX_CAPABILITY_IGNORE_CASE) != 0;
        git_index_free(index);
 
        opts.pathspec.strings = &subdir_path;
diff --git a/tests/stream/deprecated.c b/tests/stream/deprecated.c
new file mode 100644 (file)
index 0000000..2c2bbfd
--- /dev/null
@@ -0,0 +1,58 @@
+#undef GIT_DEPRECATE_HARD
+
+#include "clar_libgit2.h"
+#include "git2/sys/stream.h"
+#include "streams/tls.h"
+#include "streams/socket.h"
+#include "stream.h"
+
+static git_stream test_stream;
+static int ctor_called;
+
+void test_stream_deprecated__cleanup(void)
+{
+       cl_git_pass(git_stream_register(GIT_STREAM_TLS | GIT_STREAM_STANDARD, NULL));
+}
+
+static int test_stream_init(git_stream **out, const char *host, const char *port)
+{
+       GIT_UNUSED(host);
+       GIT_UNUSED(port);
+
+       ctor_called = 1;
+       *out = &test_stream;
+
+       return 0;
+}
+
+void test_stream_deprecated__register_tls(void)
+{
+       git_stream *stream;
+       int error;
+
+       ctor_called = 0;
+       cl_git_pass(git_stream_register_tls(test_stream_init));
+       cl_git_pass(git_tls_stream_new(&stream, "localhost", "443"));
+       cl_assert_equal_i(1, ctor_called);
+       cl_assert_equal_p(&test_stream, stream);
+
+       ctor_called = 0;
+       stream = NULL;
+       cl_git_pass(git_stream_register_tls(NULL));
+       error = git_tls_stream_new(&stream, "localhost", "443");
+
+       /*
+        * We don't have TLS support enabled, or we're on Windows,
+        * which has no arbitrary TLS stream support.
+        */
+#if defined(GIT_WIN32) || !defined(GIT_HTTPS)
+       cl_git_fail_with(-1, error);
+#else
+       cl_git_pass(error);
+#endif
+
+       cl_assert_equal_i(0, ctor_called);
+       cl_assert(&test_stream != stream);
+
+       git_stream_free(stream);
+}
diff --git a/tests/stream/registration.c b/tests/stream/registration.c
new file mode 100644 (file)
index 0000000..bf3c205
--- /dev/null
@@ -0,0 +1,119 @@
+#include "clar_libgit2.h"
+#include "git2/sys/stream.h"
+#include "streams/tls.h"
+#include "streams/socket.h"
+#include "stream.h"
+
+static git_stream test_stream;
+static int ctor_called;
+
+void test_stream_registration__cleanup(void)
+{
+       cl_git_pass(git_stream_register(GIT_STREAM_TLS | GIT_STREAM_STANDARD, NULL));
+}
+
+static int test_stream_init(git_stream **out, const char *host, const char *port)
+{
+       GIT_UNUSED(host);
+       GIT_UNUSED(port);
+
+       ctor_called = 1;
+       *out = &test_stream;
+
+       return 0;
+}
+
+static int test_stream_wrap(git_stream **out, git_stream *in, const char *host)
+{
+       GIT_UNUSED(in);
+       GIT_UNUSED(host);
+
+       ctor_called = 1;
+       *out = &test_stream;
+
+       return 0;
+}
+
+void test_stream_registration__insecure(void)
+{
+       git_stream *stream;
+       git_stream_registration registration = {0};
+
+       registration.version = 1;
+       registration.init = test_stream_init;
+       registration.wrap = test_stream_wrap;
+
+       ctor_called = 0;
+       cl_git_pass(git_stream_register(GIT_STREAM_STANDARD, &registration));
+       cl_git_pass(git_socket_stream_new(&stream, "localhost", "80"));
+       cl_assert_equal_i(1, ctor_called);
+       cl_assert_equal_p(&test_stream, stream);
+
+       ctor_called = 0;
+       stream = NULL;
+       cl_git_pass(git_stream_register(GIT_STREAM_STANDARD, NULL));
+       cl_git_pass(git_socket_stream_new(&stream, "localhost", "80"));
+
+       cl_assert_equal_i(0, ctor_called);
+       cl_assert(&test_stream != stream);
+
+       git_stream_free(stream);
+}
+
+void test_stream_registration__tls(void)
+{
+       git_stream *stream;
+       git_stream_registration registration = {0};
+       int error;
+
+       registration.version = 1;
+       registration.init = test_stream_init;
+       registration.wrap = test_stream_wrap;
+
+       ctor_called = 0;
+       cl_git_pass(git_stream_register(GIT_STREAM_TLS, &registration));
+       cl_git_pass(git_tls_stream_new(&stream, "localhost", "443"));
+       cl_assert_equal_i(1, ctor_called);
+       cl_assert_equal_p(&test_stream, stream);
+
+       ctor_called = 0;
+       stream = NULL;
+       cl_git_pass(git_stream_register(GIT_STREAM_TLS, NULL));
+       error = git_tls_stream_new(&stream, "localhost", "443");
+
+       /* We don't have TLS support enabled, or we're on Windows,
+        * which has no arbitrary TLS stream support.
+        */
+#if defined(GIT_WIN32) || !defined(GIT_HTTPS)
+       cl_git_fail_with(-1, error);
+#else
+       cl_git_pass(error);
+#endif
+
+       cl_assert_equal_i(0, ctor_called);
+       cl_assert(&test_stream != stream);
+
+       git_stream_free(stream);
+}
+
+void test_stream_registration__both(void)
+{
+       git_stream *stream;
+       git_stream_registration registration = {0};
+
+       registration.version = 1;
+       registration.init = test_stream_init;
+       registration.wrap = test_stream_wrap;
+
+       cl_git_pass(git_stream_register(GIT_STREAM_STANDARD | GIT_STREAM_TLS, &registration));
+
+       ctor_called = 0;
+       cl_git_pass(git_tls_stream_new(&stream, "localhost", "443"));
+       cl_assert_equal_i(1, ctor_called);
+       cl_assert_equal_p(&test_stream, stream);
+
+       ctor_called = 0;
+       cl_git_pass(git_socket_stream_new(&stream, "localhost", "80"));
+       cl_assert_equal_i(1, ctor_called);
+       cl_assert_equal_p(&test_stream, stream);
+}
index a3ba4fab3cedef1f0ec27b9be7b708f33d503cdc..2ea0d4076113f400cd42550ef03fa5cd1089a1d6 100644 (file)
@@ -108,7 +108,7 @@ void test_stress_diff__rename_big_files(void)
                cl_git_pass(git_index_add_bypath(index, tmp + strlen("renames/")));
        }
 
-       git_buf_free(&b);
+       git_buf_dispose(&b);
        git_index_free(index);
 
        test_with_many(100);
@@ -133,7 +133,7 @@ void test_stress_diff__rename_many_files(void)
                b.ptr[8] = '\n';
                cl_git_mkfile(tmp, b.ptr);
        }
-       git_buf_free(&b);
+       git_buf_dispose(&b);
 
        for (i = 0; i < 2500; i += 1) {
                p_snprintf(tmp, sizeof(tmp), "renames/newfile%03d", i);
index c3b3e63648def71c263bbecdf956beda8fe0c04c..d5886776d6eb5503cb52d0ba8ba7ff09e3289844 100644 (file)
@@ -7,6 +7,7 @@
 #include "repository.h"
 
 static git_repository *g_repo = NULL;
+static const char *valid_blob_id = "fa49b077972391ad58037050f2a75f74e3671e92";
 
 void test_submodule_add__cleanup(void)
 {
@@ -21,7 +22,7 @@ static void assert_submodule_url(const char* name, const char *url)
        cl_git_pass(git_buf_printf(&key, "submodule.%s.url", name));
        assert_config_entry_value(g_repo, git_buf_cstr(&key), url);
 
-       git_buf_free(&key);
+       git_buf_dispose(&key);
 }
 
 void test_submodule_add__url_absolute(void)
@@ -61,7 +62,7 @@ void test_submodule_add__url_absolute(void)
        cl_assert_equal_s("gitdir: ../.git/modules/sm_libgit2/", dot_git_content.ptr);
 
        git_repository_free(repo);
-       git_buf_free(&dot_git_content);
+       git_buf_dispose(&dot_git_content);
 
        /* add a submodule not using a gitlink */
 
@@ -128,3 +129,57 @@ void test_submodule_add__url_relative_to_workdir(void)
 
        assert_submodule_url("TestGitRepository", git_repository_workdir(g_repo));
 }
+
+static void test_add_entry(
+       git_index *index,
+       const char *idstr,
+       const char *path,
+       git_filemode_t mode)
+{
+       git_index_entry entry = {{0}};
+
+       cl_git_pass(git_oid_fromstr(&entry.id, idstr));
+
+       entry.path = path;
+       entry.mode = mode;
+
+       cl_git_pass(git_index_add(index, &entry));
+}
+
+void test_submodule_add__path_exists_in_index(void)
+{
+       git_index *index;
+       git_submodule *sm;
+       git_buf filename = GIT_BUF_INIT;
+
+       g_repo = cl_git_sandbox_init("testrepo");
+
+       cl_git_pass(git_buf_joinpath(&filename, "subdirectory", "test.txt"));
+
+       cl_git_pass(git_repository_index__weakptr(&index, g_repo));
+
+       test_add_entry(index, valid_blob_id, filename.ptr, GIT_FILEMODE_BLOB);
+
+       cl_git_fail_with(git_submodule_add_setup(&sm, g_repo, "./", "subdirectory", 1), GIT_EEXISTS);
+
+       git_submodule_free(sm);
+       git_buf_dispose(&filename);
+}
+
+void test_submodule_add__file_exists_in_index(void)
+{
+       git_index *index;
+       git_submodule *sm;
+       git_buf name = GIT_BUF_INIT;
+
+       g_repo = cl_git_sandbox_init("testrepo");
+
+       cl_git_pass(git_repository_index__weakptr(&index, g_repo));
+
+       test_add_entry(index, valid_blob_id, "subdirectory", GIT_FILEMODE_BLOB);
+
+       cl_git_fail_with(git_submodule_add_setup(&sm, g_repo, "./", "subdirectory", 1), GIT_EEXISTS);
+
+       git_submodule_free(sm);
+       git_buf_dispose(&name);
+}
index f5c3cd4cdeacf02786374c58e66eaff805f32090..c36874296c60f08743de9d3b10272ed3da0452e6 100644 (file)
@@ -43,7 +43,7 @@ void test_submodule_escape__from_gitdir(void)
                           "[submodule \"" EVIL_SM_NAME "\"]\n"
                           "    path = testrepo\n"
                           "    url = ../testrepo.git\n");
-       git_buf_free(&buf);
+       git_buf_dispose(&buf);
 
        /* Find it all the different ways we know about it */
        foundit = 0;
@@ -77,7 +77,7 @@ void test_submodule_escape__from_gitdir_windows(void)
                           "[submodule \"" EVIL_SM_NAME_WINDOWS "\"]\n"
                           "    path = testrepo\n"
                           "    url = ../testrepo.git\n");
-       git_buf_free(&buf);
+       git_buf_dispose(&buf);
 
        /* Find it all the different ways we know about it */
        foundit = 0;
index 9e0cf57536a4f33ed123807a39c51b9c0eed998a..84143e18f2951f82fc76d543fab9f21cec27566a 100644 (file)
@@ -39,7 +39,7 @@ void test_submodule_init__absolute_url(void)
        cl_git_pass(git_config_get_string(&config_url, cfg, "submodule.testrepo.url"));
        cl_assert_equal_s(absolute_url.ptr, config_url);
 
-       git_buf_free(&absolute_url);
+       git_buf_dispose(&absolute_url);
        git_config_free(cfg);
        git_submodule_free(sm);
 }
@@ -69,7 +69,7 @@ void test_submodule_init__relative_url(void)
        cl_git_pass(git_config_get_string(&config_url, cfg, "submodule.testrepo.url"));
        cl_assert_equal_s(absolute_url.ptr, config_url);
 
-       git_buf_free(&absolute_url);
+       git_buf_dispose(&absolute_url);
        git_config_free(cfg);
        git_submodule_free(sm);
 }
@@ -87,7 +87,7 @@ void test_submodule_init__relative_url_detached_head(void)
 
        /* Put the parent repository into a detached head state. */
        cl_git_pass(git_repository_head(&head_ref, g_repo));
-       cl_git_pass(git_reference_peel(&head_commit, head_ref, GIT_OBJ_COMMIT));
+       cl_git_pass(git_reference_peel(&head_commit, head_ref, GIT_OBJECT_COMMIT));
 
        cl_git_pass(git_repository_set_head_detached(g_repo, git_commit_id((git_commit *)head_commit)));
 
@@ -107,7 +107,7 @@ void test_submodule_init__relative_url_detached_head(void)
        cl_git_pass(git_config_get_string(&config_url, cfg, "submodule.testrepo.url"));
        cl_assert_equal_s(absolute_url.ptr, config_url);
 
-       git_buf_free(&absolute_url);
+       git_buf_dispose(&absolute_url);
        git_config_free(cfg);
        git_object_free(head_commit);
        git_reference_free(head_ref);
index c13e12cf6de8b5b9963d8a342fe0dd65c29a440e..182f088be6508db50cd42296d96358320abfed6a 100644 (file)
@@ -40,7 +40,7 @@ void test_submodule_inject_option__url(void)
                           "[submodule \"naughty\"]\n"
                           "    path = testrepo\n"
                           "    url = -u./payload\n");
-       git_buf_free(&buf);
+       git_buf_dispose(&buf);
 
        /* We do want to find it, but with the appropriate field empty */
        foundit = 0;
@@ -65,7 +65,7 @@ void test_submodule_inject_option__path(void)
                           "[submodule \"naughty\"]\n"
                           "    path = --something\n"
                           "    url = blah.git\n");
-       git_buf_free(&buf);
+       git_buf_dispose(&buf);
 
        /* We do want to find it, but with the appropriate field empty */
        foundit = 0;
index f73ca2679c931a2f695ee6279458090b25f8d928..8bab1b93a673c97cf83d4ae40a187edbc4c5a8b3 100644 (file)
@@ -195,7 +195,7 @@ void test_submodule_lookup__backslashes(void)
 
        cl_git_pass(git_submodule_resolve_url(&buf, g_repo, backslashed_path));
 
-       git_buf_free(&buf);
+       git_buf_dispose(&buf);
        git_submodule_free(sm);
        git_repository_free(subrepo);
 }
@@ -227,7 +227,7 @@ static void add_submodule_with_commit(const char *name)
 
        cl_git_pass(git_buf_joinpath(&p, git_repository_workdir(smrepo), "file"));
        cl_git_mkfile(p.ptr, "new file");
-       git_buf_free(&p);
+       git_buf_dispose(&p);
 
        cl_git_pass(git_index_add_bypath(idx, "file"));
        cl_git_pass(git_index_write(idx));
@@ -293,7 +293,7 @@ void test_submodule_lookup__just_added(void)
        baseline_tests();
 
        cl_git_rewritefile("submod2/.gitmodules", snap2.ptr);
-       git_buf_free(&snap2);
+       git_buf_dispose(&snap2);
 
        refute_submodule_exists(g_repo, "mismatch_name", GIT_ENOTFOUND);
        refute_submodule_exists(g_repo, "mismatch_path", GIT_ENOTFOUND);
@@ -304,7 +304,7 @@ void test_submodule_lookup__just_added(void)
        baseline_tests();
 
        cl_git_rewritefile("submod2/.gitmodules", snap1.ptr);
-       git_buf_free(&snap1);
+       git_buf_dispose(&snap1);
 
        refute_submodule_exists(g_repo, "mismatch_name", GIT_ENOTFOUND);
        refute_submodule_exists(g_repo, "mismatch_path", GIT_ENOTFOUND);
index 8a73dc11a99f45e8aa84d7360e560ed54f735c2a..ca2d1d693eef35f23ac6b075b7f89a2f832c58ef 100644 (file)
@@ -85,7 +85,7 @@ void test_submodule_nosubs__add_and_delete(void)
        cl_git_pass(git_futils_readbuffer(&buf, "status/.gitmodules"));
        cl_assert(strstr(buf.ptr, "[submodule \"submodules/libgit2\"]") != NULL);
        cl_assert(strstr(buf.ptr, "path = submodules/libgit2") != NULL);
-       git_buf_free(&buf);
+       git_buf_dispose(&buf);
 
        /* lookup */
 
index 0ef01ec245548532f9f5687f705d79f957494a3e..a8a5dccc34e99d54eae85944e042ea57f77e98e9 100644 (file)
@@ -48,8 +48,8 @@ static void assert_sm_valid(git_repository *parent, git_repository *child, const
        cl_git_pass(git_path_prettify_dir(&actual, actual.ptr, NULL));
        cl_assert_equal_s(expected.ptr, actual.ptr);
 
-       git_buf_free(&expected);
-       git_buf_free(&actual);
+       git_buf_dispose(&expected);
+       git_buf_dispose(&actual);
 }
 
 void test_submodule_open__opening_via_lookup_succeeds(void)
@@ -67,7 +67,7 @@ void test_submodule_open__direct_open_succeeds(void)
        cl_git_pass(git_repository_open(&g_child, path.ptr));
        assert_sm_valid(g_parent, g_child, "sm_unchanged");
 
-       git_buf_free(&path);
+       git_buf_dispose(&path);
 }
 
 void test_submodule_open__direct_open_succeeds_for_broken_sm_with_gitdir(void)
@@ -86,5 +86,5 @@ void test_submodule_open__direct_open_succeeds_for_broken_sm_with_gitdir(void)
        cl_git_pass(git_repository_open(&g_child, path.ptr));
        assert_sm_valid(g_parent, g_child, "sm_unchanged");
 
-       git_buf_free(&path);
+       git_buf_dispose(&path);
 }
index 9be1e0b236c0605928d3adef89b77a04bf832992..7dd97bac08f3c888a1e39a5655f29b19e29366eb 100644 (file)
@@ -34,5 +34,5 @@ void test_submodule_repository_init__basic(void)
 
        git_submodule_free(sm);
        git_repository_free(repo);
-       git_buf_free(&dot_git_content);
+       git_buf_dispose(&dot_git_content);
 }
index 10f385ce9b4b636615e4f2a48aeb4ceb30a36e75..41fc173873ca63b055b3e7c1172efb0d914b8bee 100644 (file)
@@ -34,7 +34,7 @@ static void rm_submodule(const char *name)
        git_buf path = GIT_BUF_INIT;
        cl_git_pass(git_buf_joinpath(&path, git_repository_workdir(g_repo), name));
        cl_git_pass(git_futils_rmdir_r(path.ptr, NULL, GIT_RMDIR_REMOVE_FILES));
-       git_buf_free(&path);
+       git_buf_dispose(&path);
 }
 
 static void add_submodule_to_index(const char *name)
index cd541ea86ae5e7b347a7911a677ae9d777149a93..4bb06489978a43e48e22b70e143ff72c2c109d02 100644 (file)
@@ -79,9 +79,9 @@ void rewrite_gitmodules(const char *workdir)
 
        cl_must_pass(p_unlink(in_f.ptr));
 
-       git_buf_free(&in_f);
-       git_buf_free(&out_f);
-       git_buf_free(&path);
+       git_buf_dispose(&in_f);
+       git_buf_dispose(&out_f);
+       git_buf_dispose(&path);
 }
 
 static void cleanup_fixture_submodules(void *payload)
index cbd519d81e5731c58bf9ec7da17739bb09617257..08a279a482d38a50d98b9581fc3c506d65cb2d4a 100644 (file)
@@ -241,7 +241,7 @@ void test_submodule_update__update_already_checked_out_submodule(void)
        checkout_options.checkout_strategy = GIT_CHECKOUT_SAFE;
 
        cl_git_pass(git_reference_lookup(&branch_reference, g_repo, "refs/heads/alternate_1"));
-       cl_git_pass(git_reference_peel(&branch_commit, branch_reference, GIT_OBJ_COMMIT));
+       cl_git_pass(git_reference_peel(&branch_commit, branch_reference, GIT_OBJECT_COMMIT));
        cl_git_pass(git_checkout_tree(g_repo, branch_commit, &checkout_options));
        cl_git_pass(git_repository_set_head(g_repo, git_reference_name(branch_reference)));
 
@@ -277,7 +277,7 @@ void test_submodule_update__update_already_checked_out_submodule(void)
 
        /* verify that the expected callbacks have been called. */
        cl_assert_equal_i(1, update_payload.checkout_progress_called);
-       
+
        git_submodule_free(sm);
        git_object_free(branch_commit);
        git_reference_free(branch_reference);
@@ -319,7 +319,7 @@ void test_submodule_update__update_blocks_on_dirty_wd(void)
        checkout_options.checkout_strategy = GIT_CHECKOUT_SAFE;
 
        cl_git_pass(git_reference_lookup(&branch_reference, g_repo, "refs/heads/alternate_1"));
-       cl_git_pass(git_reference_peel(&branch_commit, branch_reference, GIT_OBJ_COMMIT));
+       cl_git_pass(git_reference_peel(&branch_commit, branch_reference, GIT_OBJECT_COMMIT));
        cl_git_pass(git_checkout_tree(g_repo, branch_commit, &checkout_options));
        cl_git_pass(git_repository_set_head(g_repo, git_reference_name(branch_reference)));
 
@@ -396,7 +396,7 @@ void test_submodule_update__can_force_update(void)
        checkout_options.checkout_strategy = GIT_CHECKOUT_SAFE;
 
        cl_git_pass(git_reference_lookup(&branch_reference, g_repo, "refs/heads/alternate_1"));
-       cl_git_pass(git_reference_peel(&branch_commit, branch_reference, GIT_OBJ_COMMIT));
+       cl_git_pass(git_reference_peel(&branch_commit, branch_reference, GIT_OBJECT_COMMIT));
        cl_git_pass(git_checkout_tree(g_repo, branch_commit, &checkout_options));
        cl_git_pass(git_repository_set_head(g_repo, git_reference_name(branch_reference)));
 
index af6049090824bee35a5071687aa495cf3a3d4d84..ed4fd2f9b9d0907cb51ec459e7af989099b81573 100644 (file)
@@ -19,7 +19,7 @@ void test_threads_basic__cleanup(void)
 
 void test_threads_basic__cache(void)
 {
-       // run several threads polling the cache at the same time
+       /* run several threads polling the cache at the same time */
        cl_assert(1 == 1);
 }
 
@@ -38,7 +38,7 @@ void test_threads_basic__multiple_init(void)
 
 static void *set_error(void *dummy)
 {
-       giterr_set(GITERR_INVALID, "oh no, something happened!\n");
+       git_error_set(GIT_ERROR_INVALID, "oh no, something happened!\n");
 
        return dummy;
 }
index 2560402651ed0de739d2c46f0d7f515c70397f63..699642790010e68f7c4f61305356c4b541db35f8 100644 (file)
@@ -76,26 +76,29 @@ static void free_trees(void)
 static void *run_index_diffs(void *arg)
 {
        int thread = *(int *)arg;
+       git_repository *repo;
        git_diff_options opts = GIT_DIFF_OPTIONS_INIT;
        git_diff *diff = NULL;
        size_t i;
        int exp[4] = { 0, 0, 0, 0 };
 
+       cl_git_pass(git_repository_open(&repo, git_repository_path(_repo)));
+
        switch (thread & 0x03) {
        case 0: /* diff index to workdir */;
-               cl_git_pass(git_diff_index_to_workdir(&diff, _repo, NULL, &opts));
+               cl_git_pass(git_diff_index_to_workdir(&diff, repo, NULL, &opts));
                break;
        case 1: /* diff tree 'a' to index */;
-               cl_git_pass(git_diff_tree_to_index(&diff, _repo, _a, NULL, &opts));
+               cl_git_pass(git_diff_tree_to_index(&diff, repo, _a, NULL, &opts));
                break;
        case 2: /* diff tree 'b' to index */;
-               cl_git_pass(git_diff_tree_to_index(&diff, _repo, _b, NULL, &opts));
+               cl_git_pass(git_diff_tree_to_index(&diff, repo, _b, NULL, &opts));
                break;
        case 3: /* diff index to workdir (explicit index) */;
                {
                        git_index *idx;
-                       cl_git_pass(git_repository_index(&idx, _repo));
-                       cl_git_pass(git_diff_index_to_workdir(&diff, _repo, idx, &opts));
+                       cl_git_pass(git_repository_index(&idx, repo));
+                       cl_git_pass(git_diff_index_to_workdir(&diff, repo, idx, &opts));
                        git_index_free(idx);
                        break;
                }
@@ -132,7 +135,8 @@ static void *run_index_diffs(void *arg)
        }
 
        git_diff_free(diff);
-       giterr_clear();
+       git_repository_free(repo);
+       git_error_clear();
 
        return arg;
 }
@@ -152,8 +156,10 @@ static void *run_index_diffs_with_modifier(void *arg)
        git_diff_options opts = GIT_DIFF_OPTIONS_INIT;
        git_diff *diff = NULL;
        git_index *idx = NULL;
+       git_repository *repo;
 
-       cl_git_pass(git_repository_index(&idx, _repo));
+       cl_git_pass(git_repository_open(&repo, git_repository_path(_repo)));
+       cl_git_pass(git_repository_index(&idx, repo));
 
        /* have first thread altering the index as we go */
        if (thread == 0) {
@@ -176,17 +182,17 @@ static void *run_index_diffs_with_modifier(void *arg)
 
        switch (thread & 0x03) {
        case 0: /* diff index to workdir */;
-               cl_git_pass(git_diff_index_to_workdir(&diff, _repo, idx, &opts));
+               cl_git_pass(git_diff_index_to_workdir(&diff, repo, idx, &opts));
                break;
        case 1: /* diff tree 'a' to index */;
-               cl_git_pass(git_diff_tree_to_index(&diff, _repo, _a, idx, &opts));
+               cl_git_pass(git_diff_tree_to_index(&diff, repo, _a, idx, &opts));
                break;
        case 2: /* diff tree 'b' to index */;
-               cl_git_pass(git_diff_tree_to_index(&diff, _repo, _b, idx, &opts));
+               cl_git_pass(git_diff_tree_to_index(&diff, repo, _b, idx, &opts));
                break;
        case 3: /* diff index to workdir reversed */;
                opts.flags |= GIT_DIFF_REVERSE;
-               cl_git_pass(git_diff_index_to_workdir(&diff, _repo, idx, &opts));
+               cl_git_pass(git_diff_index_to_workdir(&diff, repo, idx, &opts));
                break;
        }
 
@@ -196,7 +202,8 @@ static void *run_index_diffs_with_modifier(void *arg)
 
 done:
        git_index_free(idx);
-       giterr_clear();
+       git_repository_free(repo);
+       git_error_clear();
 
        return arg;
 }
index 6b86cf1a0453f544d2e6804e6e21f04ef0f48622..33d1bda818d0b18b37c40b2bd80992fdd8f7fc45 100644 (file)
@@ -12,14 +12,16 @@ void test_threads_iterator__cleanup(void)
 static void *run_workdir_iterator(void *arg)
 {
        int error = 0;
+       git_repository *repo;
        git_iterator *iter;
        git_iterator_options iter_opts = GIT_ITERATOR_OPTIONS_INIT;
        const git_index_entry *entry = NULL;
 
        iter_opts.flags = GIT_ITERATOR_DONT_AUTOEXPAND;
 
+       cl_git_pass(git_repository_open(&repo, git_repository_path(_repo)));
        cl_git_pass(git_iterator_for_workdir(
-               &iter, _repo, NULL, NULL, &iter_opts));
+               &iter, repo, NULL, NULL, &iter_opts));
 
        while (!error) {
                if (entry && entry->mode == GIT_FILEMODE_TREE) {
@@ -38,7 +40,8 @@ static void *run_workdir_iterator(void *arg)
        cl_assert_equal_i(GIT_ITEROVER, error);
 
        git_iterator_free(iter);
-       giterr_clear();
+       git_repository_free(repo);
+       git_error_clear();
        return arg;
 }
 
index 94c5f50571646874dceeddbccaa87812cf324cf2..a4630df6a0a799571cd83ad706d649fc8c3ba438 100644 (file)
@@ -58,7 +58,7 @@ static void *iterate_refs(void *arg)
        git_reference_iterator_free(i);
 
        git_repository_free(repo);
-       giterr_clear();
+       git_error_clear();
        return arg;
 }
 
@@ -101,7 +101,7 @@ static void *create_refs(void *arg)
 
        git_repository_free(repo);
 
-       giterr_clear();
+       git_error_clear();
        return arg;
 }
 
@@ -143,7 +143,7 @@ static void *delete_refs(void *arg)
        }
 
        git_repository_free(repo);
-       giterr_clear();
+       git_error_clear();
        return arg;
 }
 
index c00c1b774481ec42b1f4ea7ba3c0eb439f170ed8..ca5760edd1949ce0c262a9b0be126e4ef896f539 100644 (file)
@@ -1,5 +1,6 @@
 #include "clar_libgit2.h"
 #include "win32/w32_stack.h"
+#include "win32/w32_crtdbg_stacktrace.h"
 
 #if defined(GIT_MSVC_CRTDBG)
 static void a(void)
index 0cdc975faeca62192ca78d9dfded1d8a9bddc509..a104199e27a361795bb570517e72121c24b8d9e2 100644 (file)
@@ -1,12 +1,12 @@
 {
-   libgit2-giterr-set-buffer
+   libgit2-git-error-set-buffer
    Memcheck:Leak
    ...
    fun:git__realloc
    fun:git_buf_try_grow
    fun:git_buf_grow
    fun:git_buf_vprintf
-   fun:giterr_set
+   fun:git_error_set
 }
 {
    mac-setenv-leak-1
index 5a36875ed58c08307de87c2d23ea0d56683296c4..bf5aac7249de4b28d305a66150680b25af036e96 100644 (file)
@@ -28,7 +28,7 @@ void test_win32_longpath__initialize(void)
 
 void test_win32_longpath__cleanup(void)
 {
-       git_buf_free(&path);
+       git_buf_dispose(&path);
 }
 
 #ifdef GIT_WIN32
@@ -38,7 +38,7 @@ void assert_name_too_long(void)
        size_t expected_len, actual_len;
        char *expected_msg;
 
-       err = giterr_last();
+       err = git_error_last();
        actual_len = strlen(err->message);
 
        expected_msg = git_win32_get_error_message(ERROR_FILENAME_EXCED_RANGE);
diff --git a/tests/worktree/bare.c b/tests/worktree/bare.c
new file mode 100644 (file)
index 0000000..2a0e882
--- /dev/null
@@ -0,0 +1,72 @@
+#include "clar_libgit2.h"
+#include "worktree_helpers.h"
+#include "submodule/submodule_helpers.h"
+
+#define COMMON_REPO "testrepo.git"
+#define WORKTREE_REPO "worktree"
+
+static git_repository *g_repo;
+
+void test_worktree_bare__initialize(void)
+{
+       g_repo = cl_git_sandbox_init(COMMON_REPO);
+
+       cl_assert_equal_i(1, git_repository_is_bare(g_repo));
+       cl_assert_equal_i(0, git_repository_is_worktree(g_repo));
+}
+
+void test_worktree_bare__cleanup(void)
+{
+       cl_fixture_cleanup(WORKTREE_REPO);
+       cl_git_sandbox_cleanup();
+}
+
+void test_worktree_bare__list(void)
+{
+       git_strarray wts;
+
+       cl_git_pass(git_worktree_list(&wts, g_repo));
+       cl_assert_equal_i(wts.count, 0);
+
+       git_strarray_free(&wts);
+}
+
+void test_worktree_bare__add(void)
+{
+       git_worktree *wt;
+       git_repository *wtrepo;
+       git_strarray wts;
+
+       cl_git_pass(git_worktree_add(&wt, g_repo, "name", WORKTREE_REPO, NULL));
+
+       cl_git_pass(git_worktree_list(&wts, g_repo));
+       cl_assert_equal_i(wts.count, 1);
+
+       cl_git_pass(git_worktree_validate(wt));
+
+       cl_git_pass(git_repository_open(&wtrepo, WORKTREE_REPO));
+       cl_assert_equal_i(0, git_repository_is_bare(wtrepo));
+       cl_assert_equal_i(1, git_repository_is_worktree(wtrepo));
+
+       git_strarray_free(&wts);
+       git_worktree_free(wt);
+       git_repository_free(wtrepo);
+}
+
+void test_worktree_bare__repository_path(void)
+{
+       git_worktree *wt;
+       git_repository *wtrepo;
+
+       cl_git_pass(git_worktree_add(&wt, g_repo, "name", WORKTREE_REPO, NULL));
+       cl_assert_equal_s(git_worktree_path(wt), cl_git_sandbox_path(0, WORKTREE_REPO, NULL));
+
+       cl_git_pass(git_repository_open(&wtrepo, WORKTREE_REPO));
+       cl_assert_equal_s(git_repository_path(wtrepo), cl_git_sandbox_path(1, COMMON_REPO, "worktrees", "name", NULL));
+
+       cl_assert_equal_s(git_repository_commondir(g_repo), git_repository_commondir(wtrepo));
+       cl_assert_equal_s(git_repository_workdir(wtrepo), cl_git_sandbox_path(1, WORKTREE_REPO, NULL));
+
+       git_repository_free(wtrepo);
+       git_worktree_free(wt);
+}
index 3ab317bb5b5467720fb6b4b2e197172c994d8a4f..81dcfe1fa51f1b0b85cacec53763e0755240be13 100644 (file)
@@ -36,8 +36,10 @@ void test_worktree_config__set(void)
        cl_git_pass(git_config_set_int32(cfg, "core.dummy", 5));
        git_config_free(cfg);
 
-       // reopen to verify configuration has been set in the
-       // common dir
+       /*
+        * reopen to verify configuration has been set in the
+        * common dir
+        */
        cl_git_pass(git_repository_config(&cfg, fixture.repo));
        cl_git_pass(git_config_get_int32(&val, cfg, "core.dummy"));
        cl_assert_equal_i(val, 5);
index 36cc2a6c119af837fd1464f8876155f7a888bebc..4b743829cd80639a605a6645dd6077e6a64cc4a4 100644 (file)
@@ -76,7 +76,7 @@ void test_worktree_merge__merge_setup(void)
                cl_assert(git_path_exists(path.ptr));
        }
 
-       git_buf_free(&path);
+       git_buf_dispose(&path);
        git_reference_free(ours_ref);
        git_reference_free(theirs_ref);
        git_annotated_commit_free(ours);
@@ -115,7 +115,7 @@ void test_worktree_merge__merge_conflict(void)
        cl_git_pass(git_futils_readbuffer(&buf, path.ptr));
        cl_assert_equal_s(buf.ptr, CONFLICT_BRANCH_FILE_TXT);
 
-       git_buf_free(&path);
-       git_buf_free(&buf);
+       git_buf_dispose(&path);
+       git_buf_dispose(&buf);
 }
 
index 74b9007d96ecbb80f73b8a8b0059e067e126b154..52d47334c118870837d41c4dff818180cf5e4b8c 100644 (file)
@@ -11,28 +11,11 @@ static worktree_fixture fixture =
 
 static void assert_worktree_valid(git_repository *wt, const char *parentdir, const char *wtdir)
 {
-       git_buf path = GIT_BUF_INIT;
-
        cl_assert(wt->is_worktree);
 
-       cl_git_pass(git_buf_joinpath(&path, clar_sandbox_path(), wtdir));
-       cl_git_pass(git_path_prettify(&path, path.ptr, NULL));
-       cl_git_pass(git_path_to_dir(&path));
-       cl_assert_equal_s(wt->workdir, path.ptr);
-
-       cl_git_pass(git_buf_joinpath(&path, path.ptr, ".git"));
-       cl_git_pass(git_path_prettify(&path, path.ptr, NULL));
-       cl_assert_equal_s(wt->gitlink, path.ptr);
-
-       cl_git_pass(git_buf_joinpath(&path, clar_sandbox_path(), parentdir));
-       cl_git_pass(git_buf_joinpath(&path, path.ptr, ".git"));
-       cl_git_pass(git_buf_joinpath(&path, path.ptr, "worktrees"));
-       cl_git_pass(git_buf_joinpath(&path, path.ptr, wtdir));
-       cl_git_pass(git_path_prettify(&path, path.ptr, NULL));
-       cl_git_pass(git_path_to_dir(&path));
-       cl_assert_equal_s(wt->gitdir, path.ptr);
-
-       git_buf_free(&path);
+       cl_assert_equal_s(wt->workdir, cl_git_sandbox_path(1, wtdir, NULL));
+       cl_assert_equal_s(wt->gitlink, cl_git_sandbox_path(0, wtdir, ".git", NULL));
+       cl_assert_equal_s(wt->gitdir, cl_git_sandbox_path(1, parentdir, ".git", "worktrees", wtdir, NULL));
 }
 
 void test_worktree_open__initialize(void)
@@ -82,7 +65,7 @@ void test_worktree_open__repository_through_gitdir(void)
        cl_git_pass(git_repository_open(&wt, gitdir_path.ptr));
        assert_worktree_valid(wt, COMMON_REPO, WORKTREE_REPO);
 
-       git_buf_free(&gitdir_path);
+       git_buf_dispose(&gitdir_path);
        git_repository_free(wt);
 }
 
@@ -97,7 +80,7 @@ void test_worktree_open__open_discovered_worktree(void)
        cl_assert_equal_s(git_repository_workdir(fixture.worktree),
                git_repository_workdir(repo));
 
-       git_buf_free(&path);
+       git_buf_dispose(&path);
        git_repository_free(repo);
 }
 
index a10f50a2ce45fe48614d63e7fae0d8866cc6fec4..e62149d2e03d5ae82fc9a42ab4c9aebcadbe7d86 100644 (file)
@@ -134,6 +134,28 @@ void test_worktree_refs__delete_succeeds_after_pruning_worktree(void)
        git_reference_free(branch);
 }
 
+void test_worktree_refs__delete_unrelated_branch_on_worktree(void)
+{
+       git_reference *branch;
+
+       cl_git_pass(git_branch_lookup(&branch, fixture.worktree,
+                   "merge-conflict", GIT_BRANCH_LOCAL));
+       cl_git_pass(git_branch_delete(branch));
+
+       git_reference_free(branch);
+}
+
+void test_worktree_refs__delete_unrelated_branch_on_parent(void)
+{
+       git_reference *branch;
+
+       cl_git_pass(git_branch_lookup(&branch, fixture.repo,
+                   "merge-conflict", GIT_BRANCH_LOCAL));
+       cl_git_pass(git_branch_delete(branch));
+
+       git_reference_free(branch);
+}
+
 void test_worktree_refs__renaming_reference_updates_worktree_heads(void)
 {
        git_reference *head, *branch, *renamed;
@@ -169,5 +191,5 @@ void test_worktree_refs__creating_refs_uses_commondir(void)
           git_reference_free(branch);
           git_reference_free(head);
           git_commit_free(commit);
-          git_buf_free(&refpath);
+          git_buf_dispose(&refpath);
 }
index 2943852265c901251b03bc2350bc173413c23d05..2e62c039c41aa3291b0369daa7b9209b4117c0cc 100644 (file)
@@ -55,7 +55,7 @@ void test_worktree_submodule__open_discovered_submodule_worktree(void)
        cl_assert_equal_s(git_repository_workdir(child.worktree),
                git_repository_workdir(repo));
 
-       git_buf_free(&path);
+       git_buf_dispose(&path);
        git_repository_free(repo);
 }
 
@@ -86,7 +86,7 @@ void test_worktree_submodule__resolve_relative_url(void)
 
        git_worktree_free(wt);
        git_repository_free(repo);
-       git_buf_free(&wt_path);
-       git_buf_free(&sm_relative_path);
-       git_buf_free(&wt_relative_path);
+       git_buf_dispose(&wt_path);
+       git_buf_dispose(&sm_relative_path);
+       git_buf_dispose(&wt_relative_path);
 }
index 9026a7f838c91b944f9a4813d0b7192057afea9e..73a6a01934013194d053c2b5fd724455436ea4bd 100644 (file)
@@ -70,7 +70,7 @@ void test_worktree_worktree__list_with_invalid_worktree_dirs(void)
                }
        }
 
-       git_buf_free(&path);
+       git_buf_dispose(&path);
 }
 
 void test_worktree_worktree__list_in_worktree_repo(void)
@@ -84,18 +84,6 @@ void test_worktree_worktree__list_in_worktree_repo(void)
        git_strarray_free(&wts);
 }
 
-void test_worktree_worktree__list_bare(void)
-{
-       git_repository *repo;
-       git_strarray wts;
-
-       repo = cl_git_sandbox_init("testrepo.git");
-       cl_git_pass(git_worktree_list(&wts, repo));
-       cl_assert_equal_i(wts.count, 0);
-
-       git_repository_free(repo);
-}
-
 void test_worktree_worktree__list_without_worktrees(void)
 {
        git_repository *repo;
@@ -123,7 +111,7 @@ void test_worktree_worktree__lookup(void)
        cl_assert_equal_s(wt->commondir_path, fixture.repo->gitdir);
        cl_assert_equal_s(wt->commondir_path, fixture.repo->commondir);
 
-       git_buf_free(&gitdir_path);
+       git_buf_dispose(&gitdir_path);
        git_worktree_free(wt);
 }
 
@@ -165,8 +153,8 @@ void test_worktree_worktree__open_invalid_commondir(void)
        cl_git_pass(git_worktree_lookup(&wt, fixture.repo, "testrepo-worktree"));
        cl_git_fail(git_repository_open_from_worktree(&repo, wt));
 
-       git_buf_free(&buf);
-       git_buf_free(&path);
+       git_buf_dispose(&buf);
+       git_buf_dispose(&path);
        git_worktree_free(wt);
 }
 
@@ -185,8 +173,8 @@ void test_worktree_worktree__open_invalid_gitdir(void)
        cl_git_pass(git_worktree_lookup(&wt, fixture.repo, "testrepo-worktree"));
        cl_git_fail(git_repository_open_from_worktree(&repo, wt));
 
-       git_buf_free(&buf);
-       git_buf_free(&path);
+       git_buf_dispose(&buf);
+       git_buf_dispose(&path);
        git_worktree_free(wt);
 }
 
@@ -203,7 +191,7 @@ void test_worktree_worktree__open_invalid_parent(void)
        cl_git_pass(git_worktree_lookup(&wt, fixture.repo, "testrepo-worktree"));
        cl_git_fail(git_repository_open_from_worktree(&repo, wt));
 
-       git_buf_free(&buf);
+       git_buf_dispose(&buf);
        git_worktree_free(wt);
 }
 
@@ -222,32 +210,12 @@ void test_worktree_worktree__init(void)
        cl_assert(git__suffixcmp(git_repository_workdir(repo), "worktree-new/") == 0);
        cl_git_pass(git_branch_lookup(&branch, repo, "worktree-new", GIT_BRANCH_LOCAL));
 
-       git_buf_free(&path);
+       git_buf_dispose(&path);
        git_worktree_free(wt);
        git_reference_free(branch);
        git_repository_free(repo);
 }
 
-void test_worktree_worktree__add_from_bare(void)
-{
-       git_worktree *wt;
-       git_repository *repo, *wtrepo;
-
-       repo = cl_git_sandbox_init("short_tag.git");
-
-       cl_assert_equal_i(1, git_repository_is_bare(repo));
-       cl_assert_equal_i(0, git_repository_is_worktree(repo));
-
-       cl_git_pass(git_worktree_add(&wt, repo, "worktree-frombare", "worktree-frombare", NULL));
-       cl_git_pass(git_repository_open(&wtrepo, "worktree-frombare"));
-       cl_assert_equal_i(0, git_repository_is_bare(wtrepo));
-       cl_assert_equal_i(1, git_repository_is_worktree(wtrepo));
-
-       git_worktree_free(wt);
-       git_repository_free(repo);
-       git_repository_free(wtrepo);
-}
-
 void test_worktree_worktree__add_locked(void)
 {
        git_worktree *wt;
@@ -267,7 +235,7 @@ void test_worktree_worktree__add_locked(void)
        cl_assert(git__suffixcmp(git_repository_workdir(repo), "worktree-locked/") == 0);
        cl_git_pass(git_branch_lookup(&branch, repo, "worktree-locked", GIT_BRANCH_LOCAL));
 
-       git_buf_free(&path);
+       git_buf_dispose(&path);
        git_worktree_free(wt);
        git_reference_free(branch);
        git_repository_free(repo);
@@ -287,12 +255,43 @@ void test_worktree_worktree__init_existing_branch(void)
        cl_git_pass(git_buf_joinpath(&path, fixture.repo->workdir, "../worktree-new"));
        cl_git_fail(git_worktree_add(&wt, fixture.repo, "worktree-new", path.ptr, NULL));
 
-       git_buf_free(&path);
+       git_buf_dispose(&path);
        git_commit_free(commit);
        git_reference_free(head);
        git_reference_free(branch);
 }
 
+void test_worktree_worktree__add_with_explicit_branch(void)
+{
+       git_reference *head, *branch, *wthead;
+       git_commit *commit;
+       git_worktree *wt;
+       git_repository *wtrepo;
+       git_buf path = GIT_BUF_INIT;
+       git_worktree_add_options opts = GIT_WORKTREE_ADD_OPTIONS_INIT;
+
+       cl_git_pass(git_repository_head(&head, fixture.repo));
+       cl_git_pass(git_commit_lookup(&commit, fixture.repo, &head->target.oid));
+       cl_git_pass(git_branch_create(&branch, fixture.repo, "worktree-with-ref", commit, false));
+
+       opts.ref = branch;
+
+       cl_git_pass(git_buf_joinpath(&path, fixture.repo->workdir, "../worktree-with-different-name"));
+       cl_git_pass(git_worktree_add(&wt, fixture.repo, "worktree-with-different-name", path.ptr, &opts));
+       cl_git_pass(git_repository_open_from_worktree(&wtrepo, wt));
+       cl_git_pass(git_repository_head(&wthead, wtrepo));
+       cl_assert_equal_s(git_reference_name(wthead), "refs/heads/worktree-with-ref");
+
+       git_buf_dispose(&path);
+       git_commit_free(commit);
+       git_reference_free(head);
+       git_reference_free(branch);
+       git_reference_free(wthead);
+       git_repository_free(wtrepo);
+       git_worktree_free(wt);
+}
+
+
 void test_worktree_worktree__init_existing_worktree(void)
 {
        git_worktree *wt;
@@ -304,7 +303,7 @@ void test_worktree_worktree__init_existing_worktree(void)
        cl_git_pass(git_worktree_lookup(&wt, fixture.repo, "testrepo-worktree"));
        cl_assert_equal_s(wt->gitlink_path, fixture.worktree->gitlink);
 
-       git_buf_free(&path);
+       git_buf_dispose(&path);
        git_worktree_free(wt);
 }
 
@@ -333,7 +332,7 @@ void test_worktree_worktree__init_existing_path(void)
                cl_assert(!git_path_exists(path.ptr));
        }
 
-       git_buf_free(&path);
+       git_buf_dispose(&path);
 }
 
 void test_worktree_worktree__init_submodule(void)
@@ -359,7 +358,7 @@ void test_worktree_worktree__init_submodule(void)
        cl_git_pass(git_buf_joinpath(&path, sm->gitdir, "worktrees/repo-worktree/"));
        cl_assert_equal_s(path.ptr, wt->gitdir);
 
-       git_buf_free(&path);
+       git_buf_dispose(&path);
        git_worktree_free(worktree);
        git_repository_free(sm);
        git_repository_free(wt);
@@ -375,6 +374,29 @@ void test_worktree_worktree__validate(void)
        git_worktree_free(wt);
 }
 
+void test_worktree_worktree__name(void)
+{
+       git_worktree *wt;
+
+       cl_git_pass(git_worktree_lookup(&wt, fixture.repo, "testrepo-worktree"));
+       cl_assert_equal_s(git_worktree_name(wt), "testrepo-worktree");
+       
+       git_worktree_free(wt);
+}
+
+void test_worktree_worktree__path(void)
+{
+       git_worktree *wt;
+       git_buf expected_path = GIT_BUF_INIT;
+
+       cl_git_pass(git_buf_joinpath(&expected_path, clar_sandbox_path(), "testrepo-worktree"));
+       cl_git_pass(git_worktree_lookup(&wt, fixture.repo, "testrepo-worktree"));
+       cl_assert_equal_s(git_worktree_path(wt), expected_path.ptr);
+
+       git_buf_dispose(&expected_path);
+       git_worktree_free(wt);
+}
+
 void test_worktree_worktree__validate_invalid_commondir(void)
 {
        git_worktree *wt;
@@ -428,7 +450,7 @@ void test_worktree_worktree__lock_with_reason(void)
        cl_assert_equal_s(reason.ptr, "because");
        cl_assert(wt->locked);
 
-       git_buf_free(&reason);
+       git_buf_dispose(&reason);
        git_worktree_free(wt);
 }
 
@@ -445,7 +467,7 @@ void test_worktree_worktree__lock_without_reason(void)
        cl_assert_equal_i(reason.size, 0);
        cl_assert(wt->locked);
 
-       git_buf_free(&reason);
+       git_buf_dispose(&reason);
        git_worktree_free(wt);
 }