From ac3d33df5d6171bdc26b0c196361c98f807c84cc Mon Sep 17 00:00:00 2001 From: Jongmin Kim Date: Sun, 12 May 2019 00:29:21 +0900 Subject: [PATCH] New upstream version 0.28.1+dfsg.1 --- .editorconfig | 1 + .github/ISSUE_TEMPLATE | 13 +- .gitignore | 2 + .mailmap | 4 +- CMakeLists.txt | 118 ++- README.md | 56 +- api.docurium | 2 +- azure-pipelines.yml | 95 +- {ci => azure-pipelines}/bash.yml | 0 azure-pipelines/coverity.yml | 36 + {ci => azure-pipelines}/docker.yml | 4 + azure-pipelines/nightly.yml | 189 ++++ {ci => azure-pipelines}/powershell.yml | 0 ci/build.sh | 18 +- ci/{coverity.sh => coverity-build.sh} | 24 - ci/coverity-publish.sh | 33 + ci/nightly.yml | 22 - ci/setup-linux.sh | 14 + ci/setup-osx.sh | 2 +- ci/test.ps1 | 34 +- ci/test.sh | 41 +- cmake/Modules/AddCFlagIfSupported.cmake | 16 +- cmake/Modules/EnableWarnings.cmake | 13 +- cmake/Modules/FindmbedTLS.cmake | 93 ++ CHANGELOG.md => docs/changelog.md | 302 +++---- CODE_OF_CONDUCT.md => docs/code_of_conduct.md | 0 CONTRIBUTING.md => docs/contributing.md | 23 +- CONVENTIONS.md => docs/conventions.md | 10 +- docs/differences-from-git.md | 27 + docs/error-handling.md | 46 +- docs/fuzzing.md | 71 ++ PROJECTS.md => docs/projects.md | 4 +- docs/release.md | 12 +- THREADING.md => docs/threading.md | 2 +- TROUBLESHOOTING.md => docs/troubleshooting.md | 0 examples/CMakeLists.txt | 7 + examples/cat-file.c | 8 +- examples/checkout.c | 235 +++++ examples/common.c | 48 +- examples/common.h | 14 + examples/diff.c | 2 +- examples/for-each-ref.c | 4 +- examples/general.c | 26 +- examples/log.c | 2 +- examples/ls-files.c | 140 +++ examples/merge.c | 31 +- examples/network/clone.c | 12 +- examples/network/git2.c | 4 +- examples/network/index-pack.c | 8 +- examples/network/ls-remote.c | 2 +- examples/remote.c | 2 +- examples/tag.c | 6 +- fuzzers/CMakeLists.txt | 18 + fuzzers/config_file_fuzzer.c | 65 ++ fuzzers/corpora/config_file/git2.dat | 11 + fuzzers/corpora/download_refs/clone.dat | Bin 0 -> 632 bytes fuzzers/corpora/objects/blob | 359 ++++++++ fuzzers/corpora/objects/commit | 20 + fuzzers/corpora/objects/tag | 6 + fuzzers/corpora/objects/tree | Bin 0 -> 1177 bytes .../004bd06c91c0dc8ab7e963f4b5e87be00292911e | 1 + .../00b67414c7b17916b3bd0a3d02284937fa0c4378 | Bin 0 -> 2 bytes .../02eaeb43f0ec7dbfd91bd75e7ddcc7fd590dbc77 | Bin 0 -> 13 bytes .../02f4286569be24124d8ab209733b7492f7560310 | Bin 0 -> 33 bytes .../037ba5f9d6d695aa4739810f8bea6e795c1d7614 | Bin 0 -> 37 bytes .../038e06289ac876f109fc12ca4b8284497ca26821 | Bin 0 -> 32 bytes .../042dc4512fa3d391c5170cf3aa61e6a638f84342 | 1 + .../044bf19babf3f9cde07adbfa2a45c7508538cbe8 | Bin 0 -> 55 bytes .../044e12ea43bee3c4befe27ba4687bee98d505fd7 | Bin 0 -> 35 bytes .../061fb208431db793bbd3645b7a16058a1e2a2412 | 1 + .../06576556d1ad802f247cad11ae748be47b70cd9c | 1 + .../06ceea0c98756d302c302410fffe0dc54a055486 | Bin 0 -> 18 bytes .../071e65ac0bf08f2424a89a4a499004c1bb9f3f6c | Bin 0 -> 112 bytes .../0739ff2f064568a4d775c8061958e66c419dbea0 | Bin 0 -> 111 bytes .../077760469bf8392342d09329c732b98d24be2c30 | Bin 0 -> 47 bytes .../08534f33c201a45017b502e90a800f1b708ebcb3 | 1 + .../09e9046a7d6125cf2915a326a1504dd75d0543b5 | 1 + .../0ade7c2cf97f75d009975f4d720d1fa6c19f4897 | 1 + .../0c316c67c1450aee57ffa3f74c19ea5d32d44622 | Bin 0 -> 36 bytes .../0c395c44e4dd5b67caae8a98a66741e17e8af136 | Bin 0 -> 124 bytes .../0cb9120e5ae00b0d660a111ef85fc9194a5f244a | Bin 0 -> 27 bytes .../0d44e7156d04cd269fd1219c58c3b79dc8c41d60 | Bin 0 -> 20 bytes .../0d77a48bea1dde6e5d391a65456dc0aa3d9cc5e3 | Bin 0 -> 15 bytes .../0db25107ff248616cadc75b7819b21d06394cf25 | Bin 0 -> 74 bytes .../0debae2db7ef2933f386bac21a2d3bebb473070e | Bin 0 -> 17 bytes .../0e2d48524de33394ca82ea3a43f5f04aac6e86c7 | Bin 0 -> 93 bytes .../0e49f6aa78f3b2f6c3fa5d281d5b1052fa9951dc | Bin 0 -> 16 bytes .../0f2982027f0b3b05250267b19e3969f8797e389e | 1 + .../11f6ad8ec52a2984abaafd7c3b516503785c2072 | 1 + .../123ca693d81a8cfd99760ff5ca9e152ded878537 | Bin 0 -> 33 bytes .../12878ca5643ab15a4a847e74ddd84fb365736af2 | Bin 0 -> 83 bytes .../13f292a24a9e79ae911f5d5e1ef7db0112601e64 | Bin 0 -> 55 bytes .../13facd9b4b5b4509fee92c7ccc1c82ed90624172 | Bin 0 -> 124 bytes .../140092a21903fdc56c98de126725fa6bead98ab1 | Bin 0 -> 33 bytes .../1489f923c4dca729178b3e3233458550d8dddf29 | Bin 0 -> 2 bytes .../1501a58834f24f95442f190653a50dd67d01e19d | Bin 0 -> 59 bytes .../15eddee57cafb11e927810d62230a6e104de1d5c | Bin 0 -> 19 bytes .../1632aa4b049f1118306485b11c70c499a0200dd5 | Bin 0 -> 25 bytes .../18e1cf33b179a5cbaaf0baac8279ec4ed1cbdcf3 | Bin 0 -> 238 bytes .../18e768865207e0b90047487b66532b20bc74b1a2 | Bin 0 -> 23 bytes .../1940c66b45a3bd5c847330b207fd87aee6e96194 | Bin 0 -> 47 bytes .../1966ab31dc80ab75196b0cbf28e3960a0eb3f6c5 | Bin 0 -> 18 bytes .../19da91f2603889267dfd77786e07a5b8f067d62a | 1 + .../1a72795a3dffdfc999b030d9aab7237dea1e2bc1 | Bin 0 -> 27 bytes .../1e29cf67a66f225b338610fbcdf1b8185a8f5b7d | Bin 0 -> 13 bytes .../1eb8977ef8c3be9ee896d785663c762c7e32be28 | Bin 0 -> 93 bytes .../1f0837530c1c3d122157f2eaa9c2178dcc3580df | Bin 0 -> 93 bytes .../1f3c5fd6dc091faa397bce776aa97b457388fdae | Bin 0 -> 17 bytes .../20528983163f834108150a7191600ff94ae2c1d2 | Bin 0 -> 33 bytes .../20a725140a8ffbe11bb71c1b83f19452147e5180 | Bin 0 -> 51 bytes .../2149aa9e07dda9bbf502e088d8d0a38e8fb94f2e | 1 + .../21b664aa8c86aaee4007d9bdbc2d63bf82bd5109 | Bin 0 -> 35 bytes .../21b9ec8a7d7ac4d542c9bf7b2e26581cfcfaaab6 | Bin 0 -> 18 bytes .../21c07e2affed6b0134d5dc28ea6c4937e691c761 | Bin 0 -> 64 bytes .../23841d4076641ebcb4f58d1fd03047528c9d359b | Bin 0 -> 54 bytes .../23b9174c42560de6525b1f103125f599479f95cb | Bin 0 -> 111 bytes .../241cbd6dfb6e53c43c73b62f9384359091dcbf56 | 1 + .../245a2ddea41e6531944933c4420b8c9790ac351b | Bin 0 -> 20 bytes .../2541e340271ea496a392870bcc20d3510287b9e9 | Bin 0 -> 146 bytes .../276af22d5bf94344737fb1a5eb5de7d335004493 | Bin 0 -> 94 bytes .../27d5482eebd075de44389774fce28c69f45c8a75 | 1 + .../28334bd612cb539de776370995f60c8032215434 | Bin 0 -> 338 bytes .../2973e2ac092cba077d7350bfffe1cf2e0644a6e1 | Bin 0 -> 111 bytes .../2adcd01e876b12d867c858ffaec38c42c59c36c7 | Bin 0 -> 59 bytes .../2b28470644f5d0323643da99c831d82f20a7a74f | Bin 0 -> 124 bytes .../2b86229020ba808df84e16f800dc152254f18f64 | Bin 0 -> 19 bytes .../2cc5bf2f780cd85ad93d232890f418625f4d1274 | 1 + .../2d6ae8fa82b656879dd3371d0a6899e88ef34e76 | Bin 0 -> 124 bytes .../2e74d24e887678f0681d4c7c010477b8b9697f1a | 1 + .../2f436c68a7b0be43aa6d4ad5126ec9401a9f9211 | Bin 0 -> 627 bytes .../2fec48b0dcb45b98597bfec12bf0dc650543b3e3 | Bin 0 -> 187 bytes .../31bd25636a9807d6024e78b9b3d02fbb1a02835e | 1 + .../323c88be36ecc20ff30b21cf417106554042db04 | Bin 0 -> 14 bytes .../33b3aa957ca4fb31873033a7f460617f1fe81e32 | Bin 0 -> 93 bytes .../34303d14e37c9ddfb0bad130e006fec927e13785 | Bin 0 -> 14 bytes .../34dac9466a4a2c15aaeef13a9567f6827ace7748 | Bin 0 -> 13 bytes .../356a192b7913b04c54574d18c28d46e6395428ab | 1 + .../35bf585248be2c6d3940e15b85f72c4146903097 | Bin 0 -> 104 bytes .../3725a1c4431714019827277deac8ec2efeed8f1d | Bin 0 -> 21 bytes .../37a2b7de1fadc9eab2d5fabf5dfe7007c245dbee | Bin 0 -> 112 bytes .../37ab8a0ca81fc62279057401761f7730a5a8f1b2 | Bin 0 -> 16 bytes .../38011be20a664dcd2594e712a26c063c2d50efcd | Bin 0 -> 338 bytes .../3838851a5da8239c2ae6cbbe869c81446c720e87 | Bin 0 -> 16 bytes .../3921322ac01429b001f88d64c8319088fe49218e | Bin 0 -> 84 bytes .../395df8f7c51f007019cb30201c49e884b46b92fa | 1 + .../3e98eb4fd65d3f2c41fa979db0f5678b310e51fe | Bin 0 -> 46 bytes .../3f9ec359d0cb573cb6d2b2df64c9f4048ea298b8 | Bin 0 -> 32 bytes .../4067250457728bf775aa310ef253b223ae2fe4dc | Bin 0 -> 82 bytes .../40818db87e110b29cb864f73265586cc054f5bbb | Bin 0 -> 58 bytes .../418f9fb9ce1d4efdf481ca8fff9dadd09caee9fc | Bin 0 -> 55 bytes .../41ca0ae865b686089b8d99e9d661da291ce51019 | Bin 0 -> 93 bytes .../42099b4af021e53fd8fd4e056c2568d7c2e3ffa8 | 1 + .../420ce645ce1c93cee59a06da2159cbbb251e4c01 | Bin 0 -> 13 bytes .../4345cb1fa27885a8fbfe7c0c830a592cc76a552b | 1 + .../450718a71a93a1b5ff982595432400b0fa876fb6 | Bin 0 -> 1779 bytes .../453a312eb77b9d4198ac62faef10ecf3e283120c | Bin 0 -> 34 bytes .../45470317334b614ce4d119c05ed2d6250dbc6061 | Bin 0 -> 93 bytes .../45a65193e30784b0124f4fed659eb7e46552c2d0 | 1 + .../45cff3494791ded181e1e3dab1c7a0e40130b57b | Bin 0 -> 37 bytes .../481dedc2855981510024d48828af0fe35a1503dd | Bin 0 -> 36 bytes .../49a6448a722742b1b392f0471542ee0c572c5a9a | Bin 0 -> 13 bytes .../4a6e6af93dea13a5720be52b95f2948e0cab4602 | Bin 0 -> 60 bytes .../4ac25548f35e06eb9f91b0f15b89db3cb5bcb283 | Bin 0 -> 83 bytes .../4b586169f192749a0aa023ad6e4edd2e15d67f53 | Bin 0 -> 12 bytes .../4c3c8ec0e25da9342dc87c2e78d3040c381514ce | Bin 0 -> 2 bytes .../4d5189cd1411daaa579df34591c6a5946204c9a0 | Bin 0 -> 33 bytes .../4d7f1bfa928c0d3399598d562e346c6e23de6a03 | Bin 0 -> 14 bytes .../4eee38183d6fce3f42224738be58d0e3975300f4 | Bin 0 -> 36 bytes .../4f2e2af611d6567abcf5b6bfc579487ac417a8d4 | Bin 0 -> 20 bytes .../4fa04b2c3ac839c36c4a3b51bf882eb99b7cd097 | Bin 0 -> 14 bytes .../4fbe10aede9fd9ce2030c6e567a9281e1a5338f4 | Bin 0 -> 124 bytes .../5037f4f74273aed9a09122af5f4acc10f42c033a | Bin 0 -> 28 bytes .../511993d3c99719e38a6779073019dacd7178ddb9 | 1 + .../520aa436eab6343c3729f51f0f8048e6b87f6aeb | 1 + .../521e228f3b62dca81d87d2e7d5476657d7b5e0a9 | Bin 0 -> 13 bytes .../52e37dfd77d56769dc8a96388aa26695a8108dac | Bin 0 -> 34 bytes .../5374fb6be0a406cf8d0e95771ecb032254d21305 | Bin 0 -> 137 bytes .../53e1d4898c15c8ee3ef5e2fb279d151108725731 | Bin 0 -> 100 bytes .../53e61ad37ca92b7f6c0396e5fab1ed8743e73da0 | Bin 0 -> 85 bytes .../55df2a59ed6a888ee2f0cdfdcc8582696702de7a | 1 + .../56a2020f68c5eb72786ea168cc2a7e8ea34ad9c2 | Bin 0 -> 24 bytes .../578678e78b72f8bcb9f414e4129ae5d85a4af914 | Bin 0 -> 31 bytes .../5a8bc5597fd0b2b44194ffabce46e2fa94c1ffd7 | Bin 0 -> 111 bytes .../5bab61eb53176449e25c2c82f172b82cb13ffb9d | 1 + .../5c2dd944dde9e08881bef0894fe7b22a5c9c4b06 | 1 + .../5cb4674f4468d39f061d1df3c95b9c2dca529c54 | Bin 0 -> 7 bytes .../60b6fbfe65dc1796a09a734e054223aba8c90260 | Bin 0 -> 13 bytes .../611f5b9368427ef823f7ed89ad23667b02a06435 | Bin 0 -> 48 bytes .../6214b4afdbfe63400ce428d47a58a2e29f682738 | Bin 0 -> 338 bytes .../634b675b80d51b52c3c6fbc73181ed47f61749ba | Bin 0 -> 98 bytes .../6431f1b31dc492fad89732b7d3e511fa7361985d | Bin 0 -> 136 bytes .../6442fd4bbb7656f142c92050da17b0e81e79fad1 | Bin 0 -> 366 bytes .../6486c8cf6bcc2fca60502564924f6b266399df3d | Bin 0 -> 21 bytes .../651c573b6fdd393e97536a47f8b9e65226e29c33 | Bin 0 -> 77 bytes .../657fc646e93cb999417f43f0ec77fbad694e3e18 | Bin 0 -> 124 bytes .../65cc90263dec0020ceabc727d33aa587e57fc175 | 1 + .../688934845f22049cb14668832efa33d45013b6b9 | Bin 0 -> 2 bytes .../6b0d31c0d563223024da45691584643ac78c96e8 | 1 + .../6b4dc6028a3a684a20dbc427b15a37ea2fd12dd1 | Bin 0 -> 43 bytes .../6b7486fc2a47a40eb5a85a5edf53af60d48be7d5 | Bin 0 -> 14 bytes .../6bace82ea640ac0a78963c79483faf0faa7fd168 | 1 + .../6ca38da5f096a5847776e4d50cb63121341fd67c | Bin 0 -> 15 bytes .../6d344a65b9edced36045f94215b6810799789334 | Bin 0 -> 13 bytes .../6dd655e8ef0573eb1c41151af924974aa1e9c454 | Bin 0 -> 13 bytes .../6e118259c2940fafba0a9ceeef6308e12e881ae1 | Bin 0 -> 111 bytes .../6e4b5ef83333606a16a63b579f221f6ffb7b48ee | 1 + .../6f47ff60d54c012103a0c28851ffa9eab3002511 | Bin 0 -> 59 bytes .../701a765befff451207517d56c3fe8609d059867d | Bin 0 -> 15 bytes .../7050f56d64b28499c89d5430761f18a8a2a933d4 | Bin 0 -> 60 bytes .../724fa0194f615e1a0f08184a9f1520123f8e2833 | Bin 0 -> 93 bytes .../72c52d0d98717e21dfee45418a046a19198b5d5d | Bin 0 -> 17 bytes .../72cec0949c5743ee1df67b41ece5d6806f9bede6 | Bin 0 -> 173 bytes .../72e6bfb7b881befc0b461334411d70ae227a426a | Bin 0 -> 22 bytes .../73b74736664ad85828ce1be2e29fb4a68d24402b | 1 + .../745bedb79413d20844a8b0e96fbec51b4989c65d | 1 + .../748142c17e56d0f0ad9e4d6525b39294d81261d6 | Bin 0 -> 59 bytes .../74dfea2e26741a8778fb942d1d60a84d0759d7a0 | 1 + .../767b2efbb7502a2f652a448b471693d32c128677 | Bin 0 -> 93 bytes .../78abe558c4277852128d4b91282edcb68f86bdea | Bin 0 -> 48 bytes .../7960246c2db6d39e68dfe93ded358a3acba8f896 | Bin 0 -> 18 bytes .../7a4ff814176b55af008ad9580201d5e659242f05 | Bin 0 -> 59 bytes .../7a752694fce29ded083fbabbc9ff95f5b92a3d9c | Bin 0 -> 26 bytes .../7a81af3e591ac713f81ea1efe93dcf36157d8376 | 1 + .../7c957a1fd650f9ae0eadc112837ea451a692affc | Bin 0 -> 34 bytes .../7cda4ab6a0daf50f675d5225cbc166c86a8ef95f | Bin 0 -> 29 bytes .../7cf184f4c67ad58283ecb19349720b0cae756829 | 1 + .../7df1ea8d86d601c3bd39977ea85e5f74c9db6acb | Bin 0 -> 15 bytes .../820ec3e39089d863641a1be6942445db3ff34270 | Bin 0 -> 48 bytes .../827704fd978bd02a46268b7396b202a52ad261ed | Bin 0 -> 34 bytes .../828acfc1d49a0fdbcd9f238138ff65582c2a9fc8 | Bin 0 -> 14 bytes .../8306a2f04a47fe4c95098675ffa25c074ecd89de | Bin 0 -> 14 bytes .../8327db1c6a884d8b3e3cefd94cec9eb94bffae0a | Bin 0 -> 111 bytes .../847f4e42f8f2730a48d19951d8829621b2e70082 | Bin 0 -> 124 bytes .../84a516841ba77a5b4648de2cd0dfcb30ea46dbb4 | 1 + .../8552526f5aba95119c0b95b61cd40386e7a3738b | Bin 0 -> 34 bytes .../8565db62ac64209ff009ac40e7c2d2ac4ae944eb | Bin 0 -> 32 bytes .../859b3346967c5c3c136459e565b402f9a936aa0d | Bin 0 -> 129 bytes .../86a69caf3c5866d78d80da087b1b843cfea5e907 | Bin 0 -> 48 bytes .../86e1fb54a04fc18ee482b794ba3b2b306f6515d4 | Bin 0 -> 31 bytes .../86f217ee467d31ad9ad2a8c502b91279cd7f1c40 | Bin 0 -> 36 bytes .../8768a53e1d4c182907306300f9ca90cfd8018383 | 1 + .../8834a7aac170c494f45aa4da71b9605a52d82435 | Bin 0 -> 13 bytes .../883f023f38a031d8a8e8ce2cba6614b9bff5d41f | Bin 0 -> 17 bytes .../88738071086eb04e47b77d1ca28b35ddbfaa0968 | Bin 0 -> 96 bytes .../892aef744c87c6ee4ba3dd457c7ca02ba3d359bd | Bin 0 -> 13 bytes .../8afb5c282d23c4055500f88a10b26383c682c900 | Bin 0 -> 23 bytes .../8b3dfce4cd7b8942eedb52af0e9ca4caa5c6de61 | Bin 0 -> 10 bytes .../8c2cccf751bb5844bea8dc63c22e3f8e4489411e | Bin 0 -> 27 bytes .../8e30894298502ba4d43af98f1ec3088f9b8f29d5 | Bin 0 -> 59 bytes .../8eb4d738f7170d2e0594b779f782eb3171c9d421 | Bin 0 -> 49 bytes .../8f46a043da3aa5d466ade170e62b0b9f362b4c5b | Bin 0 -> 20 bytes .../9295f39686016bf3abb1d6e9924d6725c1263920 | Bin 0 -> 23 bytes .../92fa2c2237724e7ba49e9c59adad8d61ce400bbf | Bin 0 -> 124 bytes .../936548b53e1a1e30cb30747a87203abd4eae78ea | Bin 0 -> 15 bytes .../9835ad3ff27939bc1315632d6a22980b377c36e4 | 1 + .../9857740c36a95415fa3be04cdf184db7b41a8b3e | Bin 0 -> 16 bytes .../98c35b9d5e7b430d0d4ef70f642d8e2f3266b6d4 | Bin 0 -> 93 bytes .../9929b50ac145c0781a0347be1559764edc668173 | 1 + .../9bf6a450d87badf2d495c2df37081ea16156915a | Bin 0 -> 13 bytes .../9bffb3ff7a4429144305b770162074bbffe39ce9 | Bin 0 -> 319 bytes .../9c040d3207196e3aeee0df389170d6e59733ba0f | Bin 0 -> 112 bytes .../9c740d0f3b8875a3b19f1cf1a88d5192a997a68d | Bin 0 -> 62 bytes .../9cf72097400efb70d06179e6b00abb4cdec74e66 | Bin 0 -> 27 bytes .../9d36c270ef1f14214742562238dc747242d4756e | Bin 0 -> 15 bytes .../9fb415ccadc8e7b0f38646ec5782d5895111e259 | Bin 0 -> 13 bytes .../a13b7fbb454fe3bdebd07a51d466484aa41ee142 | Bin 0 -> 59 bytes .../a1a7715c7596c77b892dc6d4debb7c108ca4ef97 | 1 + .../a1ac8b656af02b56aefe6029db36b1af9fb664ef | Bin 0 -> 20 bytes .../a343687e2522222c2d49e8cb18d3feda64cf1d66 | Bin 0 -> 17 bytes .../a6f57425137e9aa54537f0b3f5364ce165aedb0a | 1 + .../a73df4ce29f75cc638a7a2d823fee57d909ab681 | Bin 0 -> 59 bytes .../a7ee38bb7be4fc44198cb2685d9601dcf2b9f569 | 1 + .../a8b9b91157274e617bf4ac5045fc0c6ac97e76f7 | Bin 0 -> 111 bytes .../a9c697f383f59a3b0642cd55b88190bce6201bae | Bin 0 -> 95 bytes .../ab064cd6847c0fa546bbec4241eb9b095e0e73da | Bin 0 -> 39 bytes .../ab2c64588d3d9dc5c54c48d414e6d46d6a78cfa6 | Bin 0 -> 93 bytes .../abe729b06750880778312618dcebb43257ec03e0 | Bin 0 -> 15 bytes .../ac1bf5a5fe61e5784f72b364ef1bcddfb0d13716 | Bin 0 -> 18 bytes .../ac47b6d3f0e479df3292131535f8e0d99c288de9 | Bin 0 -> 37 bytes .../ac9231da4082430afe8f4d40127814c613648d8e | 1 + .../ace9ffcaa273c01c0eb60381321e47edf4842332 | Bin 0 -> 59 bytes .../ad6ba9b0bc076987efbeb11ce3fc92bc1df69d0a | Bin 0 -> 13 bytes .../ae99dcb9b5e1b09aa5df6bb2fada3a3de61268fe | Bin 0 -> 9 bytes .../aeeacf0499ace69549fe2c76757d4948ba65a10b | Bin 0 -> 59 bytes .../af6614c37604ee5d3f7b00cddca761a8776283b5 | Bin 0 -> 27 bytes .../afd44f8c385a922c8caacc1ea5688d324bad5b39 | Bin 0 -> 15 bytes .../aff024fe4ab0fece4091de044c58c9ae4233383a | 1 + .../b1f86f05d4928c8393fe0f138c0714df3978f0bb | Bin 0 -> 19 bytes .../b452cd4b70f2827e3cbd6d5dd20f678b6e55f813 | Bin 0 -> 90 bytes .../b491dbad4c3edc87aa5a7f12b2c9a447a712c20d | Bin 0 -> 20 bytes .../b54664965911c6fe91e18cd01b68a75c8183b530 | 1 + .../b68542373c05c0ed25231d09955b2c699d37c45b | 1 + .../b706e78cf7110a78dfccce991cd4ce22c6fd898a | Bin 0 -> 60 bytes .../b8d3910a75ad8a7058f9c3f202f8eb27419137d7 | Bin 0 -> 24 bytes .../b93abe6094fb4ebbfa7414fbceb7199ce766075b | Bin 0 -> 12 bytes .../b9a64cc0694f3ac4a3c530c721bbf69026192187 | Bin 0 -> 47 bytes .../b9e5319eca8fbc26e5c322e0b151ed8ed60628d1 | Bin 0 -> 25 bytes .../ba390745a04c5394601f7aa73fe795097b814d1a | Bin 0 -> 34 bytes .../bb7d065b776833337d3e1a3071de4d5d2759d78b | 1 + .../bb99cf0bb3e5d75d59300e6ca9cb1f67ce315e3a | Bin 0 -> 33 bytes .../bd9722d91e0615cbdae3cee3476ec6181fbad98d | Bin 0 -> 14 bytes .../bf8b4530d8d246dd74ac53a13471bba17941dff7 | 1 + .../bffc4698ad4aaddd977fe857da20858aa6654263 | Bin 0 -> 34 bytes .../c0ea828d8f9c4a2c0fc6253908cd283f6c7994a1 | Bin 0 -> 55 bytes .../c151b760696d665265187501c51f38cd84503634 | 1 + .../c16f90096603258174790bc85f076413dad0e228 | Bin 0 -> 81 bytes .../c20fc8fb8f1d44050c281089191b8eac2dc9444c | Bin 0 -> 18 bytes .../c2143b1a0db17957bec1b41bb2e5f75aa135981e | 1 + .../c22c3fba53bb2c5579b47852fa9ec54a88c03472 | Bin 0 -> 72 bytes .../c297564cff1bb4f7933221050cfcffa36c59f691 | Bin 0 -> 33 bytes .../c2c4da76233acd3efe08eaebb7ae8dc9b3036527 | Bin 0 -> 18 bytes .../c3d47118536d19a8d1a601978510cc24344aa8df | Bin 0 -> 111 bytes .../c4cbb032db94c57061003a85d30bdf4117979b1e | Bin 0 -> 338 bytes .../c7090127a03c0e7230c11a649e4f98fcb4ca2b75 | Bin 0 -> 108 bytes .../c8b839665bd381ff7d006b1b08c35f94f1818556 | Bin 0 -> 19 bytes .../ca8c7c16d1d6b60e951dcfb558cc97e14231c750 | Bin 0 -> 326 bytes .../cb46c744c83541a0900e1e61780c18d43031a08b | 1 + .../cbf1e454dc7ac878bd23e3dfd0b6a28a50b2155d | Bin 0 -> 13 bytes .../cbfb8cae82ddd82c04996f474fdb4f1b80dcb6db | Bin 0 -> 124 bytes .../cf74f755c004ca634818f8ba44c99fffbaa950a1 | Bin 0 -> 37 bytes .../d07e4bc786c88b8d2304f84c7db2098666f822c0 | 1 + .../d17ab0db9edea68e8f9f51f471decae84b192a1a | Bin 0 -> 13 bytes .../d1854cae891ec7b29161ccaf79a24b00c274bdaa | 1 + .../d22aac18f8b435fc34566fe0d3f42464aec9458c | Bin 0 -> 59 bytes .../d446a50788c32053358495358696f9d595358bcf | Bin 0 -> 124 bytes .../d461cbcff85c87b0068f0e9c15d2056197cdfa52 | Bin 0 -> 29 bytes .../d54709a1b46002c81f57da533379e57f00afe942 | Bin 0 -> 124 bytes .../d567007f84b83e82df7069838bf8b6c5826b18a8 | Bin 0 -> 200 bytes .../d5e60b9f94126a9ec865fda83feb6835d294b76b | Bin 0 -> 44 bytes .../d81092a4f3607ddbba85862facf2285459696078 | Bin 0 -> 62 bytes .../d898eb860ceac044950605db88429e029ea278ef | Bin 0 -> 53 bytes .../d8fc60ccdd8f555c1858b9f0820f263e3d2b58ec | 1 + .../d9b69c63cdc0c1622f2fab84d1307f9e0c0fa3b9 | Bin 0 -> 48 bytes .../db1bb4b7348d387623dcaf0a743d0b11fa18409f | Bin 0 -> 15 bytes .../db291360a195c79ae504a3dfb2cd0f71cbc11902 | Bin 0 -> 22 bytes .../dc98359b3ef2ced9c3d07636c89d475a564c39d9 | Bin 0 -> 16 bytes .../dccc5642917b20b4dd64d3e44b71d08da30445e9 | Bin 0 -> 16 bytes .../dd79c8cfb8beeacd0460429944b4ecbe95a31561 | 1 + .../de9550264c4e2dbef14e1281ff3693f2d19dc1c9 | Bin 0 -> 18 bytes .../df8b4d163e9ed75634eb56467343bde73b13263e | Bin 0 -> 21 bytes .../e0184adedf913b076626646d3f52c3b49c39ad6d | 1 + .../e0905bac594c818b9cfa909269114977c4d6d1b2 | Bin 0 -> 38 bytes .../e0bcb16cd6b42128201e1b6454323175a7e412f0 | Bin 0 -> 111 bytes .../e1ac9563c33f4f31b3e147b9d2fef80fca550948 | Bin 0 -> 16 bytes .../e230c91352f1b07f6f34da803d07e75c06897b30 | Bin 0 -> 2 bytes .../e26b3bacbfd6603d021d4ddadbac94b7b7aa0034 | 1 + .../e2a6f8dc3dc5d6c859f19d6e0fa64745201df0a6 | Bin 0 -> 9 bytes .../e2ba004118345660b379df5147bfa7a39d884dbc | Bin 0 -> 27 bytes .../e45aaf139d726366a18dce9e4854ee6c82901677 | Bin 0 -> 15 bytes .../e4b3ab7e8c18de815fc8bd6ebfd5d52cf1924a8e | Bin 0 -> 80 bytes .../e6818b96c50bb749911248959af81a9c412a0223 | Bin 0 -> 26 bytes .../e69f20e9f683920d3fb4329abd951e878b1f9372 | 1 + .../e6eb439fef7d5461bc3552aa7c064d24e44c5f32 | Bin 0 -> 16 bytes .../e9d9930dc3fea44fbc7acb0d1ef4bd867f1c902b | Bin 0 -> 16 bytes .../eb05b6ad73fb1f69ef750d0b9cb6c606ab9d949f | Bin 0 -> 13 bytes .../eb0814ae767e5f28b87c998b0f44dcf80814db1b | Bin 0 -> 111 bytes .../ebbd9763912dd557d08abd1373c867a4b56e6a41 | Bin 0 -> 38 bytes .../ebcdcb7effcc3f06e0d503638ac621de877fc554 | 1 + .../eddccafb2716adafb9ad48203f0621bb00ebc73f | Bin 0 -> 111 bytes .../edfbf20c83d3cec45470105581f7dc8b7e0889da | Bin 0 -> 34 bytes .../f03218467b1c74e465cebb3b8092e21a5122f31d | Bin 0 -> 53 bytes .../f28600befd899a94bed8e62853e90655d614f439 | Bin 0 -> 13 bytes .../f3b15185b7a9a10716752d58434fe656d839092e | Bin 0 -> 26 bytes .../f436ed7933482610e08e18b40e9eec102b63b7d4 | Bin 0 -> 17 bytes .../f55ea5b7c1cf5400aae56d7faf65a42320d0323a | Bin 0 -> 14 bytes .../f5eeab2d009aa4984378df6bfdd89366b7ecbb32 | Bin 0 -> 93 bytes .../f6250c8b3cc0510e0f8f621100be83f018e2d234 | Bin 0 -> 38 bytes .../f7168410c7158ff7331698930937f9cdc54f4d8a | Bin 0 -> 93 bytes .../f91847640af285c1b8a6df27f5c50686ed0deb70 | Bin 0 -> 20 bytes .../fa58a6b2d3286a136a43afeeaac589d2dde0a2a6 | Bin 0 -> 111 bytes .../fe3667be5fd2ffdd553ae04a534a2e9ce5445188 | Bin 0 -> 34 bytes .../ff21cad92ddd105224408fa696e91080a8cf98fb | Bin 0 -> 38 bytes .../ff9804ac04790bd58cdd124526c00b920469b812 | Bin 0 -> 15 bytes .../ffc54ca808e7666f250133ad0ae2185ad688a826 | 1 + fuzzers/download_refs_fuzzer.c | 211 +++++ fuzzers/objects_fuzzer.c | 47 + fuzzers/packfile_fuzzer.c | 122 +++ fuzzers/standalone_driver.c | 77 ++ git.git-authors | 1 + include/git2.h | 3 + include/git2/annotated_commit.h | 9 + include/git2/apply.h | 129 +++ include/git2/attr.h | 27 +- include/git2/blame.h | 65 +- include/git2/blob.h | 2 +- include/git2/branch.h | 2 +- include/git2/buffer.h | 4 +- include/git2/checkout.h | 39 +- include/git2/cherrypick.h | 10 +- include/git2/clone.h | 20 +- include/git2/commit.h | 32 +- include/git2/common.h | 58 +- include/git2/config.h | 25 +- include/git2/deprecated.h | 253 ++++++ include/git2/describe.h | 37 +- include/git2/diff.h | 336 ++++--- include/git2/errors.h | 100 ++- include/git2/ignore.h | 4 +- include/git2/index.h | 123 +-- include/git2/indexer.h | 34 +- include/git2/mailmap.h | 115 +++ include/git2/merge.h | 37 +- include/git2/net.h | 2 +- include/git2/notes.h | 2 +- include/git2/object.h | 32 +- include/git2/odb.h | 20 +- include/git2/odb_backend.h | 14 +- include/git2/oid.h | 2 +- include/git2/pack.h | 4 +- include/git2/proxy.h | 14 +- include/git2/rebase.h | 11 +- include/git2/refs.h | 31 +- include/git2/refspec.h | 17 + include/git2/remote.h | 108 ++- include/git2/repository.h | 89 +- include/git2/revert.h | 8 +- include/git2/revwalk.h | 14 +- include/git2/signature.h | 4 +- include/git2/stash.h | 23 +- include/git2/status.h | 12 +- include/git2/submodule.h | 21 +- include/git2/sys/alloc.h | 101 +++ include/git2/sys/commit.h | 2 +- include/git2/sys/config.h | 26 +- include/git2/sys/filter.h | 12 +- include/git2/sys/index.h | 3 + include/git2/sys/mempack.h | 70 +- include/git2/sys/merge.h | 13 +- include/git2/sys/odb_backend.h | 38 +- include/git2/sys/path.h | 64 ++ include/git2/sys/refdb_backend.h | 38 +- include/git2/sys/stream.h | 104 ++- include/git2/sys/transport.h | 208 +++-- include/git2/tag.h | 4 +- include/git2/trace.h | 2 +- include/git2/transaction.h | 1 + include/git2/transport.h | 65 +- include/git2/tree.h | 6 +- include/git2/types.h | 63 +- include/git2/version.h | 8 +- include/git2/worktree.h | 59 +- libgit2_clar.supp | 46 +- package.json | 7 + script/backport.sh | 23 + script/user_model.c | 23 + script/user_nodefs.h | 6 +- src/CMakeLists.txt | 113 ++- src/alloc.c | 55 ++ src/alloc.h | 40 + src/annotated_commit.c | 29 +- src/apply.c | 507 ++++++++++- src/apply.h | 4 +- src/array.h | 4 +- src/attr.c | 22 +- src/attr_file.c | 40 +- src/attrcache.c | 22 +- src/blame.c | 45 +- src/blame.h | 1 + src/blame_git.c | 29 +- src/blob.c | 78 +- src/blob.h | 19 +- src/branch.c | 76 +- src/buf_text.c | 13 +- src/buffer.c | 105 +-- src/buffer.h | 2 +- src/cache.c | 32 +- src/cache.h | 4 +- src/cc-compat.h | 18 +- src/checkout.c | 157 ++-- src/cherrypick.c | 12 +- src/clone.c | 40 +- src/commit.c | 88 +- src/commit.h | 1 + src/commit_list.c | 8 +- src/common.h | 68 +- src/config.c | 309 ++++--- src/config.h | 15 +- src/config_backend.h | 84 ++ src/config_cache.c | 8 +- src/config_entries.c | 259 ++++++ src/config_entries.h | 23 + src/config_file.c | 606 ++++--------- src/config_file.h | 73 -- src/config_mem.c | 224 +++++ src/config_parse.c | 107 ++- src/config_parse.h | 8 +- src/crlf.c | 401 +++++---- src/delta.c | 43 +- src/describe.c | 46 +- src/diff.c | 24 +- src/diff_driver.c | 29 +- src/diff_file.c | 20 +- src/diff_generate.c | 52 +- src/diff_generate.h | 2 +- src/diff_parse.c | 6 +- src/diff_print.c | 34 +- src/diff_stats.c | 29 +- src/diff_tform.c | 26 +- src/diff_xdiff.c | 18 +- src/errors.c | 62 +- src/features.h.in | 3 +- src/fetch.c | 6 +- src/fetchhead.c | 32 +- src/filebuf.c | 56 +- src/fileops.c | 108 +-- src/fileops.h | 2 +- src/filter.c | 62 +- src/filter.h | 10 - src/global.c | 59 +- src/hash.h | 5 +- src/hash/hash_collisiondetect.h | 8 +- src/hash/hash_common_crypto.h | 6 +- src/hash/hash_generic.h | 6 +- src/hash/hash_mbedtls.c | 38 + src/hash/hash_mbedtls.h | 24 + src/hash/hash_openssl.h | 12 +- src/hash/hash_win32.c | 26 +- src/hashsig.c | 8 +- src/idxmap.c | 30 +- src/idxmap.h | 22 +- src/ignore.c | 43 +- src/index.c | 478 +++++----- src/index.h | 16 + src/indexer.c | 450 +++++++--- src/integer.h | 54 +- src/iterator.c | 165 ++-- src/iterator.h | 15 + src/khash.h | 4 +- src/mailmap.c | 485 +++++++++++ src/mailmap.h | 35 + src/merge.c | 148 ++-- src/merge_driver.c | 14 +- src/merge_file.c | 2 +- src/mwindow.c | 16 +- src/netops.c | 35 +- src/netops.h | 2 + src/notes.c | 25 +- src/object.c | 185 ++-- src/object.h | 29 +- src/object_api.c | 16 +- src/odb.c | 144 +-- src/odb.h | 14 +- src/odb_loose.c | 106 +-- src/odb_mempack.c | 28 +- src/odb_pack.c | 24 +- src/offmap.c | 30 + src/offmap.h | 31 +- src/oid.c | 12 +- src/oidmap.c | 20 + src/oidmap.h | 21 +- src/pack-objects.c | 134 +-- src/pack-objects.h | 8 +- src/pack.c | 116 +-- src/pack.h | 12 +- src/parse.h | 2 +- src/patch.c | 6 +- src/patch_generate.c | 36 +- src/patch_parse.c | 46 +- src/path.c | 174 ++-- src/path.h | 74 +- src/pathspec.c | 12 +- src/posix.c | 6 +- src/proxy.c | 2 +- src/push.c | 53 +- src/push.h | 3 +- src/reader.c | 265 ++++++ src/reader.h | 107 +++ src/rebase.c | 101 ++- src/refdb.c | 6 +- src/refdb_fs.c | 284 +++--- src/reflog.c | 6 +- src/refs.c | 189 ++-- src/refs.h | 8 +- src/refspec.c | 68 +- src/refspec.h | 2 +- src/remote.c | 385 ++++---- src/remote.h | 9 + src/repository.c | 306 ++++--- src/repository.h | 7 +- src/reset.c | 16 +- src/revert.c | 12 +- src/revparse.c | 60 +- src/revwalk.c | 90 +- src/revwalk.h | 3 +- src/settings.c | 52 +- src/signature.c | 24 +- src/sortedcache.c | 26 +- src/stash.c | 136 ++- src/status.c | 26 +- src/stdalloc.c | 120 +++ src/{streams/curl.h => stdalloc.h} | 12 +- src/stream.h | 19 +- src/streams/curl.c | 385 -------- src/streams/mbedtls.c | 483 ++++++++++ src/streams/mbedtls.h | 23 + src/streams/openssl.c | 318 ++++--- src/streams/openssl.h | 112 +-- src/streams/registry.c | 118 +++ src/streams/registry.h | 19 + src/streams/socket.c | 83 +- src/streams/stransport.c | 89 +- src/streams/stransport.h | 5 + src/streams/tls.c | 69 +- src/streams/tls.h | 16 +- src/strmap.c | 24 +- src/strmap.h | 33 +- src/submodule.c | 336 +++---- src/sysdir.c | 36 +- src/tag.c | 57 +- src/tag.h | 3 +- src/trace.c | 2 +- src/trace.h | 2 +- src/trailer.c | 12 +- src/transaction.c | 46 +- src/transport.c | 10 +- src/transports/auth.c | 11 +- src/transports/auth.h | 2 +- src/transports/auth_negotiate.c | 23 +- src/transports/cred.c | 36 +- src/transports/git.c | 30 +- src/transports/http.c | 822 +++++++++++++----- src/transports/http.h | 2 + src/transports/local.c | 52 +- src/transports/smart.c | 94 +- src/transports/smart.h | 3 +- src/transports/smart_pkt.c | 83 +- src/transports/smart_protocol.c | 118 +-- src/transports/ssh.c | 67 +- src/transports/winhttp.c | 218 +++-- src/tree-cache.c | 10 +- src/tree.c | 246 +++--- src/tree.h | 13 +- src/unix/map.c | 4 +- src/util.c | 78 +- src/util.h | 147 +--- src/vector.c | 8 +- src/win32/dir.c | 6 +- src/win32/findfile.c | 6 +- src/win32/map.c | 12 +- src/win32/msvc-compat.h | 6 + src/win32/path_w32.c | 108 ++- src/win32/path_w32.h | 18 + src/win32/posix_w32.c | 67 +- src/win32/w32_buffer.c | 4 +- src/win32/w32_crtdbg_stacktrace.c | 98 ++- src/win32/w32_crtdbg_stacktrace.h | 103 +-- src/win32/w32_stack.c | 4 +- src/win32/w32_util.c | 70 +- src/win32/w32_util.h | 20 +- src/worktree.c | 129 +-- src/worktree.h | 2 + src/xdiff/xdiffi.c | 12 +- src/xdiff/xhistogram.c | 2 +- src/xdiff/xmerge.c | 30 +- src/zstream.c | 8 +- tests/CMakeLists.txt | 6 + tests/apply/apply_helpers.c | 135 +++ tests/apply/apply_helpers.h | 467 ++++++++++ tests/apply/both.c | 736 ++++++++++++++++ tests/apply/callbacks.c | 128 +++ tests/apply/fromdiff.c | 52 +- tests/apply/fromfile.c | 11 +- tests/apply/index.c | 321 +++++++ tests/apply/partial.c | 232 +++++ tests/apply/tree.c | 58 ++ tests/apply/workdir.c | 358 ++++++++ tests/attr/repo.c | 2 +- tests/buf/basic.c | 6 +- tests/buf/oom.c | 74 +- tests/buf/percent.c | 4 +- tests/buf/quote.c | 6 +- tests/buf/splice.c | 2 +- tests/checkout/binaryunicode.c | 4 +- tests/checkout/checkout_helpers.c | 6 +- tests/checkout/conflict.c | 146 ++-- tests/checkout/crlf.c | 110 ++- tests/checkout/icase.c | 53 +- tests/checkout/index.c | 157 ++-- tests/checkout/nasty.c | 4 +- tests/checkout/tree.c | 144 ++- tests/checkout/typechange.c | 16 +- tests/cherrypick/workdir.c | 10 +- tests/clar.h | 1 + tests/clar/fixtures.h | 27 +- tests/clar/sandbox.h | 12 + tests/clar_libgit2.c | 55 +- tests/clar_libgit2.h | 17 +- tests/clone/empty.c | 4 +- tests/clone/local.c | 10 +- tests/clone/nonetwork.c | 6 +- tests/commit/parse.c | 74 +- tests/commit/signature.c | 28 +- tests/commit/write.c | 10 +- tests/config/backend.c | 10 +- tests/config/conditionals.c | 6 +- tests/config/config_helpers.c | 2 +- tests/config/configlevel.c | 4 +- tests/config/global.c | 10 +- tests/config/include.c | 12 +- tests/config/memory.c | 139 +++ tests/config/new.c | 2 +- tests/config/read.c | 82 +- tests/config/readonly.c | 12 +- tests/config/rename.c | 2 +- tests/config/stress.c | 2 +- tests/config/write.c | 27 +- tests/core/buffer.c | 92 +- tests/core/dirent.c | 2 +- tests/core/env.c | 16 +- tests/core/errors.c | 154 ++-- tests/core/filebuf.c | 6 +- tests/core/futils.c | 10 +- tests/core/link.c | 26 +- tests/core/mkdir.c | 4 +- tests/core/oidmap.c | 8 +- tests/core/path.c | 37 +- tests/core/rmdir.c | 30 +- tests/core/sha1.c | 2 +- tests/core/sortedcache.c | 2 +- tests/core/stat.c | 2 +- tests/core/strmap.c | 2 +- tests/core/strtol.c | 46 +- tests/core/useragent.c | 2 +- tests/core/vector.c | 12 +- tests/core/zstream.c | 16 +- tests/date/rfc2822.c | 2 +- tests/describe/describe.c | 2 +- tests/describe/describe_helpers.c | 4 +- tests/describe/t6120.c | 6 +- tests/diff/binary.c | 14 +- tests/diff/blob.c | 12 +- tests/diff/diff_helpers.c | 6 +- tests/diff/diffiter.c | 12 +- tests/diff/drivers.c | 18 +- tests/diff/format_email.c | 6 +- tests/diff/index.c | 10 +- tests/diff/parse.c | 12 +- tests/diff/patch.c | 104 ++- tests/diff/rename.c | 54 +- tests/diff/stats.c | 51 +- tests/diff/submodules.c | 2 +- tests/diff/tree.c | 8 +- tests/diff/workdir.c | 30 +- tests/fetchhead/nonetwork.c | 10 +- tests/filter/blob.c | 10 +- tests/filter/crlf.c | 25 +- tests/filter/custom.c | 8 +- tests/filter/file.c | 6 +- tests/filter/ident.c | 2 +- tests/filter/stream.c | 2 +- tests/filter/wildcard.c | 14 +- tests/generate_crlf.sh | 73 -- tests/index/addall.c | 21 +- tests/index/bypath.c | 4 +- tests/index/collision.c | 63 +- tests/index/conflicts.c | 76 +- tests/index/crlf.c | 252 +++++- tests/index/filemodes.c | 12 +- tests/index/names.c | 57 +- tests/index/nsec.c | 4 +- tests/index/racy.c | 36 +- tests/index/read_index.c | 6 +- tests/index/reuc.c | 28 +- tests/index/splitindex.c | 21 + tests/index/stage.c | 2 +- tests/index/tests.c | 234 ++++- tests/iterator/index.c | 28 +- tests/iterator/tree.c | 2 +- tests/iterator/workdir.c | 56 +- tests/mailmap/basic.c | 101 +++ tests/mailmap/blame.c | 64 ++ tests/mailmap/mailmap_testdata.h | 21 + tests/mailmap/parsing.c | 270 ++++++ tests/main.c | 7 + tests/merge/annotated_commit.c | 26 + tests/merge/driver.c | 2 +- tests/merge/files.c | 2 +- tests/merge/merge_helpers.c | 6 +- tests/merge/trees/automerge.c | 4 +- tests/merge/trees/commits.c | 8 +- tests/merge/trees/modeconflict.c | 2 +- tests/merge/trees/renames.c | 2 +- tests/merge/trees/trivial.c | 4 +- tests/merge/trees/whitespace.c | 2 +- tests/merge/workdir/analysis.c | 73 +- tests/merge/workdir/dirty.c | 22 +- tests/merge/workdir/recursive.c | 4 +- tests/merge/workdir/renames.c | 2 +- tests/merge/workdir/setup.c | 16 +- tests/merge/workdir/simple.c | 49 +- tests/merge/workdir/submodules.c | 2 +- tests/merge/workdir/trivial.c | 4 +- tests/network/fetchlocal.c | 2 +- tests/network/refspecs.c | 39 +- tests/network/remote/createthenload.c | 37 - tests/network/remote/defaultbranch.c | 2 +- tests/network/remote/local.c | 2 +- tests/network/remote/remotes.c | 71 +- tests/notes/notes.c | 2 +- tests/notes/notesref.c | 2 +- tests/object/blob/filter.c | 6 +- tests/object/blob/fromstream.c | 6 +- tests/object/blob/write.c | 4 +- tests/object/cache.c | 52 +- tests/object/commit/commitstagedfile.c | 2 +- tests/object/commit/parse.c | 232 +++++ tests/object/lookup.c | 26 +- tests/object/lookupbypath.c | 14 +- tests/object/message.c | 18 +- tests/object/peel.c | 92 +- tests/object/raw/data.h | 16 +- tests/object/raw/hash.c | 13 +- tests/object/raw/type2string.c | 58 +- tests/object/raw/write.c | 20 +- tests/object/shortid.c | 10 +- tests/object/tag/list.c | 32 +- tests/object/tag/parse.c | 218 +++++ tests/object/tag/peel.c | 10 +- tests/object/tag/read.c | 18 +- tests/object/tag/write.c | 28 +- tests/object/tree/duplicateentries.c | 18 +- tests/object/tree/parse.c | 164 ++++ tests/object/tree/read.c | 10 +- tests/object/tree/walk.c | 2 +- tests/object/tree/write.c | 4 +- tests/odb/alternates.c | 4 +- tests/odb/backend/backend_helpers.c | 14 +- tests/odb/backend/mempack.c | 4 +- tests/odb/backend/nobackend.c | 4 +- tests/odb/backend/nonrefreshing.c | 12 +- tests/odb/backend/simple.c | 2 +- tests/odb/emptyobjects.c | 4 +- tests/odb/foreach.c | 19 +- tests/odb/freshen.c | 6 +- tests/odb/largefiles.c | 14 +- tests/odb/loose.c | 10 +- tests/odb/mixed.c | 48 +- tests/odb/packed.c | 4 +- tests/odb/packed_one.c | 2 +- tests/odb/streamwrite.c | 2 +- tests/online/clone.c | 134 ++- tests/online/fetchhead.c | 2 +- tests/online/push.c | 10 +- tests/online/push_util.c | 2 +- tests/pack/indexer.c | 94 +- tests/pack/packbuilder.c | 12 +- tests/pack/sharing.c | 6 +- tests/patch/patch_common.h | 106 +++ tests/patch/print.c | 2 +- tests/path/core.c | 6 +- tests/path/dotgit.c | 10 +- tests/path/win32.c | 50 +- tests/rebase/abort.c | 2 +- tests/rebase/inmemory.c | 2 +- tests/rebase/iterator.c | 2 +- tests/rebase/merge.c | 10 +- tests/rebase/setup.c | 30 +- tests/rebase/submodule.c | 9 +- tests/refs/branches/create.c | 2 +- tests/refs/branches/delete.c | 48 +- tests/refs/branches/move.c | 6 +- tests/refs/branches/remote.c | 14 +- tests/refs/branches/upstream.c | 8 +- tests/refs/branches/upstreamname.c | 2 +- tests/refs/create.c | 10 +- tests/refs/delete.c | 6 +- tests/refs/foreachglob.c | 5 + tests/refs/list.c | 2 +- tests/refs/lookup.c | 2 +- tests/refs/normalize.c | 252 +++--- tests/refs/overwrite.c | 24 +- tests/refs/pack.c | 4 +- tests/refs/peel.c | 76 +- tests/refs/read.c | 48 +- tests/refs/ref_helpers.c | 2 +- tests/refs/reflog/messages.c | 6 +- tests/refs/reflog/reflog.c | 54 +- tests/refs/reflog/reflog_helpers.c | 4 +- tests/refs/rename.c | 32 +- tests/refs/revparse.c | 2 +- tests/refs/setter.c | 18 +- tests/refs/update.c | 2 +- tests/remote/create.c | 388 +++++++++ tests/repo/config.c | 4 +- tests/repo/discover.c | 12 +- tests/repo/env.c | 18 +- tests/repo/hashfile.c | 40 +- tests/repo/head.c | 4 +- tests/repo/init.c | 133 ++- tests/repo/message.c | 4 +- tests/repo/open.c | 14 +- tests/repo/repo_helpers.c | 32 +- tests/repo/repo_helpers.h | 2 + tests/repo/reservedname.c | 2 +- tests/repo/setters.c | 4 +- tests/repo/shallow.c | 2 +- tests/repo/state.c | 2 +- tests/reset/hard.c | 22 +- tests/reset/mixed.c | 2 +- tests/reset/soft.c | 6 +- tests/resources/.gitattributes | 1 + tests/resources/crlf/.gitattributes | 1 + .../autocrlf_false,-crlf => crlf}/all-crlf | 0 .../all-crlf-utf8bom | 0 .../autocrlf_false,-crlf => crlf}/all-lf | 0 .../all-lf-utf8bom | 0 .../binary-all-crlf | 0 .../binary-all-lf | 0 .../binary-mixed-lf-cr | 0 .../binary-mixed-lf-cr-crlf | 0 .../few-utf8-chars-crlf | 0 .../few-utf8-chars-lf | 0 .../many-utf8-chars-crlf | 0 .../many-utf8-chars-lf | 0 .../autocrlf_false,-crlf => crlf}/mixed-lf-cr | 0 .../mixed-lf-cr-crlf | 0 .../autocrlf_false,-crlf => crlf}/more-crlf | 0 .../more-crlf-utf8bom | 0 .../autocrlf_false,-crlf => crlf}/more-lf | 0 .../more-lf-utf8bom | 0 .../autocrlf_false,-crlf => crlf}/zero-byte | 0 tests/resources/crlf_data/README | 3 + .../all-crlf | 0 .../all-crlf-utf8bom | 0 .../all-lf | 0 .../all-lf-utf8bom | 0 .../binary-all-crlf | 0 .../binary-all-lf | 0 .../binary-mixed-lf-cr | 0 .../binary-mixed-lf-cr-crlf | 0 .../few-utf8-chars-crlf | 0 .../few-utf8-chars-lf | 0 .../many-utf8-chars-crlf | 0 .../many-utf8-chars-lf | 0 .../mixed-lf-cr | 0 .../mixed-lf-cr-crlf | 0 .../more-crlf | 0 .../more-crlf-utf8bom | 0 .../more-lf | 0 .../more-lf-utf8bom | 0 .../zero-byte | 0 .../all-crlf | 0 .../all-crlf-utf8bom | 0 .../all-lf | 0 .../all-lf-utf8bom | 0 .../binary-all-crlf | 0 .../binary-all-lf | 0 .../binary-mixed-lf-cr | 0 .../binary-mixed-lf-cr-crlf | 0 .../few-utf8-chars-crlf | 0 .../few-utf8-chars-lf | 0 .../many-utf8-chars-crlf | 0 .../many-utf8-chars-lf | 0 .../mixed-lf-cr | 0 .../mixed-lf-cr-crlf | 0 .../more-crlf | 0 .../more-crlf-utf8bom | 0 .../more-lf | 0 .../more-lf-utf8bom | 0 .../zero-byte | 0 .../all-crlf | 4 + .../all-crlf-utf8bom | 4 + .../all-lf | 0 .../all-lf-utf8bom | 0 .../binary-all-crlf} | 0 .../binary-all-lf | 0 .../binary-mixed-lf-cr | 0 .../binary-mixed-lf-cr-crlf} | 0 .../few-utf8-chars-crlf} | 0 .../few-utf8-chars-lf | 0 .../many-utf8-chars-crlf} | 0 .../many-utf8-chars-lf | 0 .../mixed-lf-cr | 0 .../mixed-lf-cr-crlf} | 0 .../more-crlf | 10 +- .../more-crlf-utf8bom | 10 +- .../more-lf | 10 +- .../more-lf-utf8bom | 10 +- .../zero-byte | 0 .../all-crlf | 4 + .../all-crlf-utf8bom | 4 + .../all-lf | 0 .../all-lf-utf8bom | 0 .../binary-all-crlf} | 0 .../binary-all-lf | 0 .../binary-mixed-lf-cr | 0 .../binary-mixed-lf-cr-crlf} | 0 .../few-utf8-chars-crlf} | 0 .../few-utf8-chars-lf | 0 .../many-utf8-chars-crlf} | 0 .../many-utf8-chars-lf | 0 .../mixed-lf-cr | 0 .../mixed-lf-cr-crlf} | 0 .../more-crlf | 10 +- .../more-crlf-utf8bom | 10 +- .../more-lf | 10 +- .../more-lf-utf8bom | 10 +- .../zero-byte | 0 .../all-crlf | 4 + .../all-crlf-utf8bom | 4 + .../all-lf | 0 .../all-lf-utf8bom | 0 .../binary-all-crlf} | 0 .../binary-all-lf | 0 .../binary-mixed-lf-cr | 0 .../binary-mixed-lf-cr-crlf} | 0 .../few-utf8-chars-crlf} | 0 .../few-utf8-chars-lf | 0 .../many-utf8-chars-crlf} | 0 .../many-utf8-chars-lf | 0 .../mixed-lf-cr | 0 .../mixed-lf-cr-crlf} | 0 .../more-crlf | 10 +- .../more-crlf-utf8bom | 10 +- .../more-lf | 10 +- .../more-lf-utf8bom | 10 +- .../zero-byte | 0 .../all-crlf | 4 + .../all-crlf-utf8bom | 4 + .../all-lf | 0 .../all-lf-utf8bom | 0 .../binary-all-crlf} | 0 .../binary-all-lf | 0 .../binary-mixed-lf-cr | 0 .../binary-mixed-lf-cr-crlf} | 0 .../few-utf8-chars-crlf} | 0 .../few-utf8-chars-lf | 0 .../many-utf8-chars-crlf} | 0 .../many-utf8-chars-lf | 0 .../mixed-lf-cr | 0 .../mixed-lf-cr-crlf} | 0 .../more-crlf | 10 +- .../more-crlf-utf8bom | 10 +- .../more-lf | 10 +- .../more-lf-utf8bom | 10 +- .../zero-byte | 0 .../all-crlf | 4 + .../all-crlf-utf8bom | 4 + .../all-lf | 0 .../all-lf-utf8bom | 0 .../binary-all-crlf} | 0 .../binary-all-lf | 0 .../binary-mixed-lf-cr | 0 .../binary-mixed-lf-cr-crlf} | 0 .../few-utf8-chars-crlf} | 0 .../few-utf8-chars-lf | 0 .../many-utf8-chars-crlf} | 0 .../many-utf8-chars-lf | 0 .../mixed-lf-cr | 0 .../mixed-lf-cr-crlf} | 0 .../more-crlf | 5 + .../more-crlf-utf8bom | 5 + .../more-lf | 5 + .../more-lf-utf8bom | 5 + .../zero-byte | 0 .../all-crlf | 4 + .../all-crlf-utf8bom | 4 + .../all-lf | 0 .../all-lf-utf8bom | 0 .../binary-all-crlf} | 0 .../binary-all-lf | 0 .../binary-mixed-lf-cr | 0 .../binary-mixed-lf-cr-crlf} | 0 .../few-utf8-chars-crlf} | 0 .../few-utf8-chars-lf | 0 .../many-utf8-chars-crlf} | 0 .../many-utf8-chars-lf | 0 .../mixed-lf-cr | 0 .../mixed-lf-cr-crlf} | 0 .../more-crlf | 5 + .../more-crlf-utf8bom | 5 + .../more-lf | 5 + .../more-lf-utf8bom | 5 + .../zero-byte | 0 .../all-crlf | 4 + .../all-crlf-utf8bom | 4 + .../all-lf | 0 .../all-lf-utf8bom | 0 .../binary-all-crlf | 0 .../binary-all-lf | 0 .../binary-mixed-lf-cr | 0 .../binary-mixed-lf-cr-crlf | 0 .../few-utf8-chars-crlf} | 0 .../few-utf8-chars-lf | 0 .../many-utf8-chars-crlf} | 0 .../many-utf8-chars-lf | 0 .../mixed-lf-cr | 0 .../mixed-lf-cr-crlf | 0 .../more-crlf | 5 + .../more-crlf-utf8bom | 5 + .../more-lf | 5 + .../more-lf-utf8bom | 5 + .../zero-byte | 0 .../all-crlf | 4 + .../all-crlf-utf8bom | 4 + .../all-lf | 0 .../all-lf-utf8bom | 0 .../binary-all-crlf | 0 .../binary-all-lf | 0 .../binary-mixed-lf-cr | 0 .../binary-mixed-lf-cr-crlf | 0 .../few-utf8-chars-crlf} | 0 .../few-utf8-chars-lf | 0 .../many-utf8-chars-crlf} | 0 .../many-utf8-chars-lf | 0 .../mixed-lf-cr | 0 .../mixed-lf-cr-crlf | 0 .../more-crlf | 5 + .../more-crlf-utf8bom | 5 + .../more-lf | 5 + .../more-lf-utf8bom | 5 + .../zero-byte | 0 .../all-crlf | 4 + .../all-crlf-utf8bom | 4 + .../all-lf | 0 .../all-lf-utf8bom | 0 .../binary-all-crlf | 0 .../binary-all-lf | 0 .../binary-mixed-lf-cr | 0 .../binary-mixed-lf-cr-crlf | 0 .../few-utf8-chars-crlf} | 0 .../few-utf8-chars-lf | 0 .../many-utf8-chars-crlf} | 0 .../many-utf8-chars-lf | 0 .../mixed-lf-cr | 0 .../mixed-lf-cr-crlf | 0 .../more-crlf | 5 + .../more-crlf-utf8bom | 5 + .../more-lf | 5 + .../more-lf-utf8bom | 5 + .../zero-byte | 0 .../autocrlf_false,safecrlf_false}/all-crlf | 0 .../all-crlf-utf8bom | 0 .../autocrlf_false,safecrlf_false}/all-lf | 0 .../all-lf-utf8bom | 0 .../binary-all-crlf | 0 .../binary-all-lf | 0 .../binary-mixed-lf-cr | 0 .../binary-mixed-lf-cr-crlf | 0 .../few-utf8-chars-crlf | 0 .../few-utf8-chars-lf | 0 .../many-utf8-chars-crlf | 0 .../many-utf8-chars-lf | 0 .../mixed-lf-cr | 0 .../mixed-lf-cr-crlf | 0 .../autocrlf_false,safecrlf_false}/more-crlf | 0 .../more-crlf-utf8bom | 0 .../autocrlf_false,safecrlf_false}/more-lf | 0 .../more-lf-utf8bom | 0 .../autocrlf_false,safecrlf_false}/zero-byte | 0 .../all-crlf | 0 .../all-crlf-utf8bom | 0 .../all-lf | 0 .../all-lf-utf8bom | 0 .../binary-all-crlf | 0 .../binary-all-lf | 0 .../binary-mixed-lf-cr | 0 .../binary-mixed-lf-cr-crlf | 0 .../few-utf8-chars-crlf | 0 .../few-utf8-chars-lf | 0 .../many-utf8-chars-crlf | 0 .../many-utf8-chars-lf | 0 .../mixed-lf-cr | 0 .../mixed-lf-cr-crlf | 0 .../more-crlf | 0 .../more-crlf-utf8bom | 0 .../more-lf | 0 .../more-lf-utf8bom | 0 .../zero-byte | 0 .../all-crlf | 0 .../all-crlf-utf8bom | 0 .../all-lf | 0 .../all-lf-utf8bom | 0 .../binary-all-crlf | 0 .../binary-all-lf | 0 .../binary-mixed-lf-cr | 0 .../binary-mixed-lf-cr-crlf | 0 .../few-utf8-chars-crlf | 0 .../few-utf8-chars-lf | 0 .../many-utf8-chars-crlf | 0 .../many-utf8-chars-lf | 0 .../mixed-lf-cr | 0 .../mixed-lf-cr-crlf | 0 .../more-crlf | 0 .../more-crlf-utf8bom | 0 .../more-lf | 0 .../more-lf-utf8bom | 0 .../zero-byte | 0 .../all-crlf-utf8bom.fail | 1 + .../all-crlf.fail | 1 + .../autocrlf_false,safecrlf_true,crlf}/all-lf | 0 .../all-lf-utf8bom | 0 .../binary-all-crlf.fail | 1 + .../binary-all-lf | 0 .../binary-mixed-lf-cr | 0 .../binary-mixed-lf-cr-crlf.fail | 1 + .../few-utf8-chars-crlf.fail | 1 + .../few-utf8-chars-lf | 0 .../many-utf8-chars-crlf.fail | 1 + .../many-utf8-chars-lf | 0 .../mixed-lf-cr | 0 .../mixed-lf-cr-crlf.fail | 1 + .../more-crlf-utf8bom.fail | 1 + .../more-crlf.fail | 1 + .../more-lf-utf8bom.fail | 1 + .../more-lf.fail | 1 + .../zero-byte | 0 .../all-crlf | 4 + .../all-crlf-utf8bom | 4 + .../all-lf-utf8bom.fail | 1 + .../all-lf.fail | 1 + .../binary-all-crlf} | 0 .../binary-all-lf.fail | 1 + .../binary-mixed-lf-cr-crlf.fail | 1 + .../binary-mixed-lf-cr.fail | 1 + .../few-utf8-chars-crlf} | 0 .../few-utf8-chars-lf.fail | 1 + .../many-utf8-chars-crlf} | 0 .../many-utf8-chars-lf.fail | 1 + .../mixed-lf-cr-crlf.fail | 1 + .../mixed-lf-cr.fail | 1 + .../more-crlf-utf8bom.fail | 1 + .../more-crlf.fail | 1 + .../more-lf-utf8bom.fail | 1 + .../more-lf.fail | 1 + .../zero-byte | 0 .../all-crlf-utf8bom.fail | 1 + .../all-crlf.fail | 1 + .../all-lf | 0 .../all-lf-utf8bom | 0 .../binary-all-crlf.fail | 1 + .../binary-all-lf | 0 .../binary-mixed-lf-cr | 0 .../binary-mixed-lf-cr-crlf.fail | 1 + .../few-utf8-chars-crlf.fail | 1 + .../few-utf8-chars-lf | 0 .../many-utf8-chars-crlf.fail | 1 + .../many-utf8-chars-lf | 0 .../mixed-lf-cr | 0 .../mixed-lf-cr-crlf.fail | 1 + .../more-crlf-utf8bom.fail | 1 + .../more-crlf.fail | 1 + .../more-lf-utf8bom.fail | 1 + .../more-lf.fail | 1 + .../zero-byte | 0 .../all-crlf | 4 + .../all-crlf-utf8bom | 4 + .../all-lf-utf8bom.fail | 1 + .../all-lf.fail | 1 + .../binary-all-crlf} | 0 .../binary-all-lf.fail | 1 + .../binary-mixed-lf-cr-crlf.fail | 1 + .../binary-mixed-lf-cr.fail | 1 + .../few-utf8-chars-crlf} | 0 .../few-utf8-chars-lf.fail | 1 + .../many-utf8-chars-crlf} | 0 .../many-utf8-chars-lf.fail | 1 + .../mixed-lf-cr-crlf.fail | 1 + .../mixed-lf-cr.fail | 1 + .../more-crlf-utf8bom.fail | 1 + .../more-crlf.fail | 1 + .../more-lf-utf8bom.fail | 1 + .../more-lf.fail | 1 + .../zero-byte | 0 .../all-crlf-utf8bom.fail | 1 + .../all-crlf.fail | 1 + .../all-lf | 0 .../all-lf-utf8bom | 0 .../binary-all-crlf.fail | 1 + .../binary-all-lf | 0 .../binary-mixed-lf-cr | 0 .../binary-mixed-lf-cr-crlf.fail | 1 + .../few-utf8-chars-crlf.fail | 1 + .../few-utf8-chars-lf | 0 .../many-utf8-chars-crlf.fail | 1 + .../many-utf8-chars-lf | 0 .../mixed-lf-cr | 0 .../mixed-lf-cr-crlf.fail | 1 + .../more-crlf-utf8bom.fail | 1 + .../more-crlf.fail | 1 + .../more-lf-utf8bom.fail | 1 + .../more-lf.fail | 1 + .../zero-byte | 0 .../all-crlf-utf8bom.fail | 1 + .../all-crlf.fail | 1 + .../autocrlf_false,safecrlf_true,text}/all-lf | 0 .../all-lf-utf8bom | 0 .../binary-all-crlf.fail | 1 + .../binary-all-lf | 0 .../binary-mixed-lf-cr | 0 .../binary-mixed-lf-cr-crlf.fail | 1 + .../few-utf8-chars-crlf.fail | 1 + .../few-utf8-chars-lf | 0 .../many-utf8-chars-crlf.fail | 1 + .../many-utf8-chars-lf | 0 .../mixed-lf-cr | 0 .../mixed-lf-cr-crlf.fail | 1 + .../more-crlf-utf8bom.fail | 1 + .../more-crlf.fail | 1 + .../more-lf-utf8bom.fail | 1 + .../more-lf.fail | 1 + .../zero-byte | 0 .../all-crlf | 4 + .../all-crlf-utf8bom | 4 + .../all-lf-utf8bom.fail | 1 + .../all-lf.fail | 1 + .../binary-all-crlf | 0 .../binary-all-lf | 0 .../binary-mixed-lf-cr | 0 .../binary-mixed-lf-cr-crlf | 0 .../few-utf8-chars-crlf} | 0 .../few-utf8-chars-lf.fail | 1 + .../many-utf8-chars-crlf} | 0 .../many-utf8-chars-lf.fail | 1 + .../mixed-lf-cr | 0 .../mixed-lf-cr-crlf | 0 .../more-crlf-utf8bom.fail | 1 + .../more-crlf.fail | 1 + .../more-lf-utf8bom.fail | 1 + .../more-lf.fail | 1 + .../zero-byte | 0 .../all-crlf-utf8bom.fail | 1 + .../all-crlf.fail | 1 + .../all-lf | 0 .../all-lf-utf8bom | 0 .../binary-all-crlf | 0 .../binary-all-lf | 0 .../binary-mixed-lf-cr | 0 .../binary-mixed-lf-cr-crlf | 0 .../few-utf8-chars-crlf.fail | 1 + .../few-utf8-chars-lf | 0 .../many-utf8-chars-crlf.fail | 1 + .../many-utf8-chars-lf | 0 .../mixed-lf-cr | 0 .../mixed-lf-cr-crlf | 0 .../more-crlf-utf8bom.fail | 1 + .../more-crlf.fail | 1 + .../more-lf-utf8bom.fail | 1 + .../more-lf.fail | 1 + .../zero-byte | 0 .../all-crlf-utf8bom.fail | 1 + .../all-crlf.fail | 1 + .../all-lf | 0 .../all-lf-utf8bom | 0 .../binary-all-crlf | 0 .../binary-all-lf | 0 .../binary-mixed-lf-cr | 0 .../binary-mixed-lf-cr-crlf | 0 .../few-utf8-chars-crlf.fail | 1 + .../few-utf8-chars-lf | 0 .../many-utf8-chars-crlf.fail | 1 + .../many-utf8-chars-lf | 0 .../mixed-lf-cr | 0 .../mixed-lf-cr-crlf | 0 .../more-crlf-utf8bom.fail | 1 + .../more-crlf.fail | 1 + .../more-lf-utf8bom.fail | 1 + .../more-lf.fail | 1 + .../zero-byte | 0 .../autocrlf_false,safecrlf_true}/all-crlf | 0 .../all-crlf-utf8bom | 0 .../autocrlf_false,safecrlf_true}/all-lf | 0 .../all-lf-utf8bom | 0 .../binary-all-crlf | 0 .../binary-all-lf | 0 .../binary-mixed-lf-cr | 0 .../binary-mixed-lf-cr-crlf | 0 .../few-utf8-chars-crlf | 0 .../few-utf8-chars-lf | 0 .../many-utf8-chars-crlf | 0 .../many-utf8-chars-lf | 0 .../autocrlf_false,safecrlf_true}/mixed-lf-cr | 0 .../mixed-lf-cr-crlf | 0 .../autocrlf_false,safecrlf_true}/more-crlf | 0 .../more-crlf-utf8bom | 0 .../autocrlf_false,safecrlf_true}/more-lf | 0 .../more-lf-utf8bom | 0 .../autocrlf_false,safecrlf_true}/zero-byte | 0 .../all-crlf | 0 .../all-crlf-utf8bom | 0 .../all-lf | 0 .../all-lf-utf8bom | 0 .../binary-all-crlf | 0 .../binary-all-lf | 0 .../binary-mixed-lf-cr | 0 .../binary-mixed-lf-cr-crlf | 0 .../few-utf8-chars-crlf | 0 .../few-utf8-chars-lf | 0 .../many-utf8-chars-crlf | 0 .../many-utf8-chars-lf | 0 .../mixed-lf-cr | 0 .../mixed-lf-cr-crlf | 0 .../more-crlf | 0 .../more-crlf-utf8bom | 0 .../more-lf | 0 .../more-lf-utf8bom | 0 .../zero-byte | 0 .../all-crlf | 0 .../all-crlf-utf8bom | 0 .../all-lf | 0 .../all-lf-utf8bom | 0 .../binary-all-crlf | 0 .../binary-all-lf | 0 .../binary-mixed-lf-cr | 0 .../binary-mixed-lf-cr-crlf | 0 .../few-utf8-chars-crlf | 0 .../few-utf8-chars-lf | 0 .../many-utf8-chars-crlf | 0 .../many-utf8-chars-lf | 0 .../mixed-lf-cr | 0 .../mixed-lf-cr-crlf | 0 .../more-crlf | 0 .../more-crlf-utf8bom | 0 .../more-lf | 0 .../more-lf-utf8bom | 0 .../zero-byte | 0 .../all-crlf | 4 + .../all-crlf-utf8bom | 4 + .../autocrlf_false,safecrlf_warn,crlf}/all-lf | 0 .../all-lf-utf8bom | 0 .../binary-all-crlf} | 0 .../binary-all-lf | 0 .../binary-mixed-lf-cr | 0 .../binary-mixed-lf-cr-crlf} | 0 .../few-utf8-chars-crlf} | 0 .../few-utf8-chars-lf | 0 .../many-utf8-chars-crlf} | 0 .../many-utf8-chars-lf | 0 .../mixed-lf-cr | 0 .../mixed-lf-cr-crlf} | 0 .../more-crlf | 5 + .../more-crlf-utf8bom | 5 + .../autocrlf_false,safecrlf_warn,crlf/more-lf | 5 + .../more-lf-utf8bom | 5 + .../zero-byte | 0 .../all-crlf | 4 + .../all-crlf-utf8bom | 4 + .../all-lf | 0 .../all-lf-utf8bom | 0 .../binary-all-crlf} | 0 .../binary-all-lf | 0 .../binary-mixed-lf-cr | 0 .../binary-mixed-lf-cr-crlf} | 0 .../few-utf8-chars-crlf} | 0 .../few-utf8-chars-lf | 0 .../many-utf8-chars-crlf} | 0 .../many-utf8-chars-lf | 0 .../mixed-lf-cr | 0 .../mixed-lf-cr-crlf} | 0 .../more-crlf | 5 + .../more-crlf-utf8bom | 5 + .../more-lf | 5 + .../more-lf-utf8bom | 5 + .../zero-byte | 0 .../all-crlf | 4 + .../all-crlf-utf8bom | 4 + .../all-lf | 0 .../all-lf-utf8bom | 0 .../binary-all-crlf} | 0 .../binary-all-lf | 0 .../binary-mixed-lf-cr | 0 .../binary-mixed-lf-cr-crlf} | 0 .../few-utf8-chars-crlf} | 0 .../few-utf8-chars-lf | 0 .../many-utf8-chars-crlf} | 0 .../many-utf8-chars-lf | 0 .../mixed-lf-cr | 0 .../mixed-lf-cr-crlf} | 0 .../more-crlf | 5 + .../more-crlf-utf8bom | 5 + .../more-lf | 5 + .../more-lf-utf8bom | 5 + .../zero-byte | 0 .../all-crlf | 4 + .../all-crlf-utf8bom | 4 + .../all-lf | 0 .../all-lf-utf8bom | 0 .../binary-all-crlf} | 0 .../binary-all-lf | 0 .../binary-mixed-lf-cr | 0 .../binary-mixed-lf-cr-crlf} | 0 .../few-utf8-chars-crlf} | 0 .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf} | 0 .../many-utf8-chars-lf | 4 + .../mixed-lf-cr | 0 .../mixed-lf-cr-crlf} | 0 .../more-crlf | 5 + .../more-crlf-utf8bom | 5 + .../more-lf | 5 + .../more-lf-utf8bom | 5 + .../zero-byte | 0 .../all-crlf | 4 + .../all-crlf-utf8bom | 4 + .../all-lf | 0 .../all-lf-utf8bom | 0 .../binary-all-crlf} | 0 .../binary-all-lf | 0 .../binary-mixed-lf-cr | 0 .../binary-mixed-lf-cr-crlf} | 0 .../few-utf8-chars-crlf | 22 + .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf | 4 + .../many-utf8-chars-lf | 4 + .../mixed-lf-cr | 0 .../mixed-lf-cr-crlf} | 0 .../more-crlf | 5 + .../more-crlf-utf8bom | 5 + .../more-lf | 5 + .../more-lf-utf8bom | 5 + .../zero-byte | 0 .../all-crlf | 4 + .../all-crlf-utf8bom | 4 + .../autocrlf_false,safecrlf_warn,text}/all-lf | 0 .../all-lf-utf8bom | 0 .../binary-all-crlf} | 0 .../binary-all-lf | 0 .../binary-mixed-lf-cr | 0 .../binary-mixed-lf-cr-crlf} | 0 .../few-utf8-chars-crlf | 22 + .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf | 4 + .../many-utf8-chars-lf | 4 + .../mixed-lf-cr | 0 .../mixed-lf-cr-crlf} | 0 .../more-crlf | 5 + .../more-crlf-utf8bom | 5 + .../autocrlf_false,safecrlf_warn,text/more-lf | 5 + .../more-lf-utf8bom | 5 + .../zero-byte | 0 .../all-crlf | 4 + .../all-crlf-utf8bom | 4 + .../all-lf | 0 .../all-lf-utf8bom | 0 .../binary-all-crlf | 0 .../binary-all-lf | 0 .../binary-mixed-lf-cr | 0 .../binary-mixed-lf-cr-crlf | 0 .../few-utf8-chars-crlf | 22 + .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf | 4 + .../many-utf8-chars-lf | 4 + .../mixed-lf-cr | 0 .../mixed-lf-cr-crlf | 0 .../more-crlf | 5 + .../more-crlf-utf8bom | 5 + .../more-lf | 5 + .../more-lf-utf8bom | 5 + .../zero-byte | 0 .../all-crlf | 4 + .../all-crlf-utf8bom | 4 + .../all-lf | 0 .../all-lf-utf8bom | 0 .../binary-all-crlf | 0 .../binary-all-lf | 0 .../binary-mixed-lf-cr | 0 .../binary-mixed-lf-cr-crlf | 0 .../few-utf8-chars-crlf | 22 + .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf | 4 + .../many-utf8-chars-lf | 4 + .../mixed-lf-cr | 0 .../mixed-lf-cr-crlf | 0 .../more-crlf | 5 + .../more-crlf-utf8bom | 5 + .../more-lf | 5 + .../more-lf-utf8bom | 5 + .../zero-byte | 0 .../all-crlf | 4 + .../all-crlf-utf8bom | 4 + .../all-lf | 0 .../all-lf-utf8bom | 0 .../binary-all-crlf | 0 .../binary-all-lf | 0 .../binary-mixed-lf-cr | 0 .../binary-mixed-lf-cr-crlf | 0 .../few-utf8-chars-crlf | 22 + .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf | 4 + .../many-utf8-chars-lf | 4 + .../mixed-lf-cr | 0 .../mixed-lf-cr-crlf | 0 .../more-crlf | 5 + .../more-crlf-utf8bom | 5 + .../more-lf | 5 + .../more-lf-utf8bom | 5 + .../zero-byte | 0 .../autocrlf_false,safecrlf_warn}/all-crlf | 0 .../all-crlf-utf8bom | 0 .../autocrlf_false,safecrlf_warn}/all-lf | 0 .../all-lf-utf8bom | 0 .../binary-all-crlf | 0 .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 0 .../binary-mixed-lf-cr-crlf | 0 .../few-utf8-chars-crlf | 0 .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf | 0 .../many-utf8-chars-lf | 4 + .../autocrlf_false,safecrlf_warn}/mixed-lf-cr | 0 .../mixed-lf-cr-crlf | 0 .../autocrlf_false,safecrlf_warn}/more-crlf | 0 .../more-crlf-utf8bom | 0 .../autocrlf_false,safecrlf_warn}/more-lf | 0 .../more-lf-utf8bom | 0 .../autocrlf_false,safecrlf_warn}/zero-byte | 0 .../all-crlf | 0 .../all-crlf-utf8bom | 0 .../all-lf | 0 .../all-lf-utf8bom | 0 .../binary-all-crlf | 0 .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 0 .../binary-mixed-lf-cr-crlf | 0 .../few-utf8-chars-crlf | 0 .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf | 0 .../many-utf8-chars-lf | 4 + .../mixed-lf-cr | 0 .../mixed-lf-cr-crlf | 0 .../more-crlf | 0 .../more-crlf-utf8bom | 0 .../more-lf | 0 .../more-lf-utf8bom | 0 .../zero-byte | 0 .../all-crlf | 0 .../all-crlf-utf8bom | 0 .../all-lf | 0 .../all-lf-utf8bom | 0 .../binary-all-crlf | 0 .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 4 +- .../binary-mixed-lf-cr-crlf | 0 .../few-utf8-chars-crlf | 0 .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf | 0 .../many-utf8-chars-lf | 4 + .../mixed-lf-cr | 4 +- .../mixed-lf-cr-crlf | 0 .../more-crlf | 0 .../more-crlf-utf8bom | 0 .../more-lf | 0 .../more-lf-utf8bom | 0 .../zero-byte | 0 .../all-crlf | 4 + .../all-crlf-utf8bom | 4 + .../all-lf | 0 .../all-lf-utf8bom | 0 .../binary-all-crlf | 4 + .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 4 +- .../binary-mixed-lf-cr-crlf | 4 +- .../few-utf8-chars-crlf | 22 + .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf | 4 + .../many-utf8-chars-lf | 4 + .../mixed-lf-cr | 4 +- .../mixed-lf-cr-crlf | 4 +- .../more-crlf | 5 + .../more-crlf-utf8bom | 5 + .../more-lf | 5 + .../more-lf-utf8bom | 5 + .../zero-byte | 0 .../all-crlf | 4 + .../all-crlf-utf8bom | 4 + .../all-lf | 0 .../all-lf-utf8bom | 0 .../binary-all-crlf | 4 + .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 4 +- .../binary-mixed-lf-cr-crlf | 4 +- .../few-utf8-chars-crlf | 22 + .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf | 4 + .../many-utf8-chars-lf | 4 + .../mixed-lf-cr | 4 +- .../mixed-lf-cr-crlf | 4 +- .../more-crlf | 5 + .../more-crlf-utf8bom | 5 + .../more-lf | 5 + .../more-lf-utf8bom | 5 + .../zero-byte | 0 .../all-crlf | 4 + .../all-crlf-utf8bom | 4 + .../all-lf | 0 .../all-lf-utf8bom | 0 .../binary-all-crlf | 4 + .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 4 +- .../binary-mixed-lf-cr-crlf | 4 +- .../few-utf8-chars-crlf | 22 + .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf | 4 + .../many-utf8-chars-lf | 4 + .../mixed-lf-cr | 4 +- .../mixed-lf-cr-crlf | 4 +- .../more-crlf | 5 + .../more-crlf-utf8bom | 5 + .../more-lf | 5 + .../more-lf-utf8bom | 5 + .../zero-byte | 0 .../all-crlf | 4 + .../all-crlf-utf8bom | 4 + .../all-lf | 0 .../all-lf-utf8bom | 0 .../binary-all-crlf | 4 + .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 4 +- .../few-utf8-chars-crlf | 22 + .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf | 4 + .../many-utf8-chars-lf | 4 + .../mixed-lf-cr | 3 + .../mixed-lf-cr-crlf | 4 +- .../more-crlf | 5 + .../more-crlf-utf8bom | 5 + .../more-lf | 5 + .../more-lf-utf8bom | 5 + .../zero-byte | 0 .../all-crlf | 4 + .../all-crlf-utf8bom | 4 + .../all-lf | 0 .../all-lf-utf8bom | 0 .../binary-all-crlf | 4 + .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 3 + .../few-utf8-chars-crlf | 22 + .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf | 4 + .../many-utf8-chars-lf | 4 + .../mixed-lf-cr | 3 + .../mixed-lf-cr-crlf | 3 + .../more-crlf | 5 + .../more-crlf-utf8bom | 5 + .../more-lf | 5 + .../more-lf-utf8bom | 5 + .../zero-byte | 0 .../all-crlf | 4 + .../all-crlf-utf8bom | 4 + .../all-lf | 0 .../all-lf-utf8bom | 0 .../binary-all-crlf | 4 + .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 3 + .../few-utf8-chars-crlf | 22 + .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf | 4 + .../many-utf8-chars-lf | 4 + .../mixed-lf-cr | 3 + .../mixed-lf-cr-crlf | 3 + .../more-crlf | 5 + .../more-crlf-utf8bom | 5 + .../more-lf | 5 + .../more-lf-utf8bom | 5 + .../zero-byte | 0 .../all-crlf | 4 + .../all-crlf-utf8bom | 4 + .../all-lf | 0 .../all-lf-utf8bom | 0 .../binary-all-crlf | 0 .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 0 .../few-utf8-chars-crlf | 22 + .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf | 4 + .../many-utf8-chars-lf | 4 + .../mixed-lf-cr | 3 + .../mixed-lf-cr-crlf | 0 .../more-crlf | 5 + .../more-crlf-utf8bom | 5 + .../more-lf | 5 + .../more-lf-utf8bom | 5 + .../zero-byte | 0 .../all-crlf | 4 + .../all-crlf-utf8bom | 4 + .../all-lf | 5 + .../all-lf-utf8bom | 5 + .../binary-all-crlf | 0 .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 0 .../few-utf8-chars-crlf | 22 + .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf | 4 + .../many-utf8-chars-lf | 4 + .../mixed-lf-cr | 3 + .../mixed-lf-cr-crlf | 0 .../more-crlf | 5 + .../more-crlf-utf8bom | 5 + .../more-lf | 5 + .../more-lf-utf8bom | 5 + .../zero-byte | 0 .../all-crlf | 4 + .../all-crlf-utf8bom | 4 + .../all-lf | 5 + .../all-lf-utf8bom | 5 + .../binary-all-crlf | 0 .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 0 .../few-utf8-chars-crlf | 22 + .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf | 4 + .../many-utf8-chars-lf | 4 + .../mixed-lf-cr | 3 + .../mixed-lf-cr-crlf | 0 .../more-crlf | 5 + .../more-crlf-utf8bom | 5 + .../more-lf | 5 + .../more-lf-utf8bom | 5 + .../zero-byte | 0 .../autocrlf_input,safecrlf_false/all-crlf | 4 + .../all-crlf-utf8bom | 4 + .../autocrlf_input,safecrlf_false/all-lf | 5 + .../all-lf-utf8bom | 5 + .../binary-all-crlf | 0 .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 0 .../few-utf8-chars-crlf | 22 + .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf | 4 + .../many-utf8-chars-lf | 4 + .../autocrlf_input,safecrlf_false/mixed-lf-cr | 3 + .../mixed-lf-cr-crlf | 0 .../autocrlf_input,safecrlf_false/more-crlf | 5 + .../more-crlf-utf8bom | 5 + .../autocrlf_input,safecrlf_false/more-lf | 5 + .../more-lf-utf8bom | 5 + .../autocrlf_input,safecrlf_false}/zero-byte | 0 .../all-crlf | 0 .../all-crlf-utf8bom | 0 .../autocrlf_input,safecrlf_true,-crlf/all-lf | 5 + .../all-lf-utf8bom | 5 + .../binary-all-crlf | 0 .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 0 .../few-utf8-chars-crlf | 0 .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf | 0 .../many-utf8-chars-lf | 4 + .../mixed-lf-cr | 3 + .../mixed-lf-cr-crlf | 0 .../more-crlf | 0 .../more-crlf-utf8bom | 0 .../more-lf | 0 .../more-lf-utf8bom | 0 .../zero-byte | 0 .../all-crlf | 0 .../all-crlf-utf8bom | 0 .../autocrlf_input,safecrlf_true,-text/all-lf | 5 + .../all-lf-utf8bom | 5 + .../binary-all-crlf | 0 .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 0 .../few-utf8-chars-crlf | 0 .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf | 0 .../many-utf8-chars-lf | 4 + .../mixed-lf-cr | 3 + .../mixed-lf-cr-crlf | 0 .../more-crlf | 0 .../more-crlf-utf8bom | 0 .../more-lf | 0 .../more-lf-utf8bom | 0 .../zero-byte | 0 .../all-crlf-utf8bom.fail | 1 + .../all-crlf.fail | 1 + .../autocrlf_input,safecrlf_true,crlf/all-lf | 5 + .../all-lf-utf8bom | 5 + .../binary-all-crlf.fail | 1 + .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf.fail | 1 + .../few-utf8-chars-crlf.fail | 1 + .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf.fail | 1 + .../many-utf8-chars-lf | 4 + .../mixed-lf-cr | 3 + .../mixed-lf-cr-crlf.fail | 1 + .../more-crlf-utf8bom.fail | 1 + .../more-crlf.fail | 1 + .../more-lf-utf8bom.fail | 1 + .../more-lf.fail | 1 + .../zero-byte | 0 .../all-crlf | 4 + .../all-crlf-utf8bom | 4 + .../all-lf-utf8bom.fail | 1 + .../all-lf.fail | 1 + .../binary-all-crlf | 4 + .../binary-all-lf.fail | 1 + .../binary-mixed-lf-cr-crlf.fail | 1 + .../binary-mixed-lf-cr.fail | 1 + .../few-utf8-chars-crlf | 22 + .../few-utf8-chars-lf.fail | 1 + .../many-utf8-chars-crlf | 4 + .../many-utf8-chars-lf.fail | 1 + .../mixed-lf-cr-crlf.fail | 1 + .../mixed-lf-cr.fail | 1 + .../more-crlf-utf8bom.fail | 1 + .../more-crlf.fail | 1 + .../more-lf-utf8bom.fail | 1 + .../more-lf.fail | 1 + .../zero-byte | 0 .../all-crlf-utf8bom.fail | 1 + .../all-crlf.fail | 1 + .../all-lf | 5 + .../all-lf-utf8bom | 5 + .../binary-all-crlf.fail | 1 + .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf.fail | 1 + .../few-utf8-chars-crlf.fail | 1 + .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf.fail | 1 + .../many-utf8-chars-lf | 4 + .../mixed-lf-cr | 3 + .../mixed-lf-cr-crlf.fail | 1 + .../more-crlf-utf8bom.fail | 1 + .../more-crlf.fail | 1 + .../more-lf-utf8bom.fail | 1 + .../more-lf.fail | 1 + .../zero-byte | 0 .../all-crlf | 4 + .../all-crlf-utf8bom | 4 + .../all-lf-utf8bom.fail | 1 + .../all-lf.fail | 1 + .../binary-all-crlf | 4 + .../binary-all-lf.fail | 1 + .../binary-mixed-lf-cr-crlf.fail | 1 + .../binary-mixed-lf-cr.fail | 1 + .../few-utf8-chars-crlf | 22 + .../few-utf8-chars-lf.fail | 1 + .../many-utf8-chars-crlf | 4 + .../many-utf8-chars-lf.fail | 1 + .../mixed-lf-cr-crlf.fail | 1 + .../mixed-lf-cr.fail | 1 + .../more-crlf-utf8bom.fail | 1 + .../more-crlf.fail | 1 + .../more-lf-utf8bom.fail | 1 + .../more-lf.fail | 1 + .../zero-byte | 0 .../all-crlf-utf8bom.fail | 1 + .../all-crlf.fail | 1 + .../all-lf | 5 + .../all-lf-utf8bom | 5 + .../binary-all-crlf.fail | 1 + .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf.fail | 1 + .../few-utf8-chars-crlf.fail | 1 + .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf.fail | 1 + .../many-utf8-chars-lf | 4 + .../mixed-lf-cr | 3 + .../mixed-lf-cr-crlf.fail | 1 + .../more-crlf-utf8bom.fail | 1 + .../more-crlf.fail | 1 + .../more-lf-utf8bom.fail | 1 + .../more-lf.fail | 1 + .../zero-byte | 0 .../all-crlf-utf8bom.fail | 1 + .../all-crlf.fail | 1 + .../autocrlf_input,safecrlf_true,text/all-lf | 5 + .../all-lf-utf8bom | 5 + .../binary-all-crlf.fail | 1 + .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf.fail | 1 + .../few-utf8-chars-crlf.fail | 1 + .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf.fail | 1 + .../many-utf8-chars-lf | 4 + .../mixed-lf-cr | 3 + .../mixed-lf-cr-crlf.fail | 1 + .../more-crlf-utf8bom.fail | 1 + .../more-crlf.fail | 1 + .../more-lf-utf8bom.fail | 1 + .../more-lf.fail | 1 + .../zero-byte | 0 .../all-crlf | 4 + .../all-crlf-utf8bom | 4 + .../all-lf-utf8bom.fail | 1 + .../all-lf.fail | 1 + .../binary-all-crlf | 0 .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 0 .../few-utf8-chars-crlf | 22 + .../few-utf8-chars-lf.fail | 1 + .../many-utf8-chars-crlf | 4 + .../many-utf8-chars-lf.fail | 1 + .../mixed-lf-cr | 3 + .../mixed-lf-cr-crlf | 0 .../more-crlf-utf8bom.fail | 1 + .../more-crlf.fail | 1 + .../more-lf-utf8bom.fail | 1 + .../more-lf.fail | 1 + .../zero-byte | 0 .../all-crlf-utf8bom.fail | 1 + .../all-crlf.fail | 1 + .../all-lf | 5 + .../all-lf-utf8bom | 5 + .../binary-all-crlf | 0 .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 0 .../few-utf8-chars-crlf.fail | 1 + .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf.fail | 1 + .../many-utf8-chars-lf | 4 + .../mixed-lf-cr | 3 + .../mixed-lf-cr-crlf | 0 .../more-crlf-utf8bom.fail | 1 + .../more-crlf.fail | 1 + .../more-lf-utf8bom.fail | 1 + .../more-lf.fail | 1 + .../zero-byte | 0 .../all-crlf-utf8bom.fail | 1 + .../all-crlf.fail | 1 + .../all-lf | 5 + .../all-lf-utf8bom | 5 + .../binary-all-crlf | 0 .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 0 .../few-utf8-chars-crlf.fail | 1 + .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf.fail | 1 + .../many-utf8-chars-lf | 4 + .../mixed-lf-cr | 3 + .../mixed-lf-cr-crlf | 0 .../more-crlf-utf8bom.fail | 1 + .../more-crlf.fail | 1 + .../more-lf-utf8bom.fail | 1 + .../more-lf.fail | 1 + .../zero-byte | 0 .../all-crlf-utf8bom.fail | 1 + .../all-crlf.fail | 1 + .../autocrlf_input,safecrlf_true/all-lf | 5 + .../all-lf-utf8bom | 5 + .../binary-all-crlf | 0 .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 0 .../few-utf8-chars-crlf.fail | 1 + .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf.fail | 1 + .../many-utf8-chars-lf | 4 + .../autocrlf_input,safecrlf_true/mixed-lf-cr | 3 + .../mixed-lf-cr-crlf | 0 .../more-crlf-utf8bom.fail | 1 + .../more-crlf.fail | 1 + .../more-lf-utf8bom.fail | 1 + .../autocrlf_input,safecrlf_true/more-lf.fail | 1 + .../autocrlf_input,safecrlf_true}/zero-byte | 0 .../all-crlf | 0 .../all-crlf-utf8bom | 0 .../autocrlf_input,safecrlf_warn,-crlf/all-lf | 5 + .../all-lf-utf8bom | 5 + .../binary-all-crlf | 0 .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 0 .../few-utf8-chars-crlf | 0 .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf | 0 .../many-utf8-chars-lf | 4 + .../mixed-lf-cr | 3 + .../mixed-lf-cr-crlf | 0 .../more-crlf | 0 .../more-crlf-utf8bom | 0 .../more-lf | 0 .../more-lf-utf8bom | 0 .../zero-byte | 0 .../all-crlf | 0 .../all-crlf-utf8bom | 0 .../autocrlf_input,safecrlf_warn,-text/all-lf | 5 + .../all-lf-utf8bom | 5 + .../binary-all-crlf | 0 .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 0 .../few-utf8-chars-crlf | 0 .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf | 0 .../many-utf8-chars-lf | 4 + .../mixed-lf-cr | 3 + .../mixed-lf-cr-crlf | 0 .../more-crlf | 0 .../more-crlf-utf8bom | 0 .../more-lf | 0 .../more-lf-utf8bom | 0 .../zero-byte | 0 .../all-crlf | 4 + .../all-crlf-utf8bom | 4 + .../autocrlf_input,safecrlf_warn,crlf/all-lf | 5 + .../all-lf-utf8bom | 5 + .../binary-all-crlf | 4 + .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 3 + .../few-utf8-chars-crlf | 22 + .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf | 4 + .../many-utf8-chars-lf | 4 + .../mixed-lf-cr | 3 + .../mixed-lf-cr-crlf | 3 + .../more-crlf | 5 + .../more-crlf-utf8bom | 5 + .../autocrlf_input,safecrlf_warn,crlf/more-lf | 5 + .../more-lf-utf8bom | 5 + .../zero-byte | 0 .../all-crlf | 4 + .../all-crlf-utf8bom | 4 + .../all-lf | 5 + .../all-lf-utf8bom | 5 + .../binary-all-crlf | 4 + .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 3 + .../few-utf8-chars-crlf | 22 + .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf | 4 + .../many-utf8-chars-lf | 4 + .../mixed-lf-cr | 3 + .../mixed-lf-cr-crlf | 3 + .../more-crlf | 5 + .../more-crlf-utf8bom | 5 + .../more-lf | 5 + .../more-lf-utf8bom | 5 + .../zero-byte | 0 .../all-crlf | 4 + .../all-crlf-utf8bom | 4 + .../all-lf | 5 + .../all-lf-utf8bom | 5 + .../binary-all-crlf | 4 + .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 3 + .../few-utf8-chars-crlf | 22 + .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf | 4 + .../many-utf8-chars-lf | 4 + .../mixed-lf-cr | 3 + .../mixed-lf-cr-crlf | 3 + .../more-crlf | 5 + .../more-crlf-utf8bom | 5 + .../more-lf | 5 + .../more-lf-utf8bom | 5 + .../zero-byte | 0 .../all-crlf | 4 + .../all-crlf-utf8bom | 4 + .../all-lf | 5 + .../all-lf-utf8bom | 5 + .../binary-all-crlf | 4 + .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 3 + .../few-utf8-chars-crlf | 22 + .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf | 4 + .../many-utf8-chars-lf | 4 + .../mixed-lf-cr | 3 + .../mixed-lf-cr-crlf | 3 + .../more-crlf | 5 + .../more-crlf-utf8bom | 5 + .../more-lf | 5 + .../more-lf-utf8bom | 5 + .../zero-byte | 0 .../all-crlf | 4 + .../all-crlf-utf8bom | 4 + .../all-lf | 5 + .../all-lf-utf8bom | 5 + .../binary-all-crlf | 4 + .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 3 + .../few-utf8-chars-crlf | 22 + .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf | 4 + .../many-utf8-chars-lf | 4 + .../mixed-lf-cr | 3 + .../mixed-lf-cr-crlf | 3 + .../more-crlf | 5 + .../more-crlf-utf8bom | 5 + .../more-lf | 5 + .../more-lf-utf8bom | 5 + .../zero-byte | 0 .../all-crlf | 4 + .../all-crlf-utf8bom | 4 + .../autocrlf_input,safecrlf_warn,text/all-lf | 5 + .../all-lf-utf8bom | 5 + .../binary-all-crlf | 4 + .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 3 + .../few-utf8-chars-crlf | 22 + .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf | 4 + .../many-utf8-chars-lf | 4 + .../mixed-lf-cr | 3 + .../mixed-lf-cr-crlf | 3 + .../more-crlf | 5 + .../more-crlf-utf8bom | 5 + .../autocrlf_input,safecrlf_warn,text/more-lf | 5 + .../more-lf-utf8bom | 5 + .../zero-byte | 0 .../all-crlf | 4 + .../all-crlf-utf8bom | 4 + .../all-lf | 5 + .../all-lf-utf8bom | 5 + .../binary-all-crlf | 0 .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 0 .../few-utf8-chars-crlf | 22 + .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf | 4 + .../many-utf8-chars-lf | 4 + .../mixed-lf-cr | 3 + .../mixed-lf-cr-crlf | 0 .../more-crlf | 5 + .../more-crlf-utf8bom | 5 + .../more-lf | 5 + .../more-lf-utf8bom | 5 + .../zero-byte | 0 .../all-crlf | 4 + .../all-crlf-utf8bom | 4 + .../all-lf | 5 + .../all-lf-utf8bom | 5 + .../binary-all-crlf | 0 .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 0 .../few-utf8-chars-crlf | 22 + .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf | 4 + .../many-utf8-chars-lf | 4 + .../mixed-lf-cr | 3 + .../mixed-lf-cr-crlf | 0 .../more-crlf | 5 + .../more-crlf-utf8bom | 5 + .../more-lf | 5 + .../more-lf-utf8bom | 5 + .../zero-byte | 0 .../all-crlf | 4 + .../all-crlf-utf8bom | 4 + .../all-lf | 5 + .../all-lf-utf8bom | 5 + .../binary-all-crlf | 0 .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 0 .../few-utf8-chars-crlf | 22 + .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf | 4 + .../many-utf8-chars-lf | 4 + .../mixed-lf-cr | 3 + .../mixed-lf-cr-crlf | 0 .../more-crlf | 5 + .../more-crlf-utf8bom | 5 + .../more-lf | 5 + .../more-lf-utf8bom | 5 + .../zero-byte | 0 .../autocrlf_input,safecrlf_warn/all-crlf | 4 + .../all-crlf-utf8bom | 4 + .../autocrlf_input,safecrlf_warn/all-lf | 5 + .../all-lf-utf8bom | 5 + .../binary-all-crlf | 0 .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 0 .../few-utf8-chars-crlf | 22 + .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf | 4 + .../many-utf8-chars-lf | 4 + .../autocrlf_input,safecrlf_warn/mixed-lf-cr | 3 + .../mixed-lf-cr-crlf | 0 .../autocrlf_input,safecrlf_warn/more-crlf | 5 + .../more-crlf-utf8bom | 5 + .../autocrlf_input,safecrlf_warn/more-lf | 5 + .../more-lf-utf8bom | 5 + .../autocrlf_input,safecrlf_warn/zero-byte | 0 .../all-crlf | 0 .../all-crlf-utf8bom | 0 .../autocrlf_true,safecrlf_false,-crlf/all-lf | 5 + .../all-lf-utf8bom | 5 + .../binary-all-crlf | 0 .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 0 .../few-utf8-chars-crlf | 0 .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf | 0 .../many-utf8-chars-lf | 4 + .../mixed-lf-cr | 3 + .../mixed-lf-cr-crlf | 0 .../more-crlf | 0 .../more-crlf-utf8bom | 0 .../more-lf | 0 .../more-lf-utf8bom | 0 .../zero-byte | 0 .../all-crlf | 0 .../all-crlf-utf8bom | 0 .../autocrlf_true,safecrlf_false,-text/all-lf | 5 + .../all-lf-utf8bom | 5 + .../binary-all-crlf | 0 .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 0 .../few-utf8-chars-crlf | 0 .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf | 0 .../many-utf8-chars-lf | 4 + .../mixed-lf-cr | 3 + .../mixed-lf-cr-crlf | 0 .../more-crlf | 0 .../more-crlf-utf8bom | 0 .../more-lf | 0 .../more-lf-utf8bom | 0 .../zero-byte | 0 .../all-crlf | 4 + .../all-crlf-utf8bom | 4 + .../autocrlf_true,safecrlf_false,crlf/all-lf | 5 + .../all-lf-utf8bom | 5 + .../binary-all-crlf | 4 + .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 3 + .../few-utf8-chars-crlf | 22 + .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf | 4 + .../many-utf8-chars-lf | 4 + .../mixed-lf-cr | 3 + .../mixed-lf-cr-crlf | 3 + .../more-crlf | 5 + .../more-crlf-utf8bom | 5 + .../autocrlf_true,safecrlf_false,crlf/more-lf | 5 + .../more-lf-utf8bom | 5 + .../zero-byte | 0 .../all-crlf | 4 + .../all-crlf-utf8bom | 4 + .../all-lf | 5 + .../all-lf-utf8bom | 5 + .../binary-all-crlf | 4 + .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 3 + .../few-utf8-chars-crlf | 22 + .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf | 4 + .../many-utf8-chars-lf | 4 + .../mixed-lf-cr | 3 + .../mixed-lf-cr-crlf | 3 + .../more-crlf | 5 + .../more-crlf-utf8bom | 5 + .../more-lf | 5 + .../more-lf-utf8bom | 5 + .../zero-byte | 0 .../all-crlf | 4 + .../all-crlf-utf8bom | 4 + .../all-lf | 5 + .../all-lf-utf8bom | 5 + .../binary-all-crlf | 4 + .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 3 + .../few-utf8-chars-crlf | 22 + .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf | 4 + .../many-utf8-chars-lf | 4 + .../mixed-lf-cr | 3 + .../mixed-lf-cr-crlf | 3 + .../more-crlf | 5 + .../more-crlf-utf8bom | 5 + .../more-lf | 5 + .../more-lf-utf8bom | 5 + .../zero-byte | 0 .../all-crlf | 4 + .../all-crlf-utf8bom | 4 + .../all-lf | 5 + .../all-lf-utf8bom | 5 + .../binary-all-crlf | 4 + .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 3 + .../few-utf8-chars-crlf | 22 + .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf | 4 + .../many-utf8-chars-lf | 4 + .../mixed-lf-cr | 3 + .../mixed-lf-cr-crlf | 3 + .../more-crlf | 5 + .../more-crlf-utf8bom | 5 + .../more-lf | 5 + .../more-lf-utf8bom | 5 + .../zero-byte | 0 .../all-crlf | 4 + .../all-crlf-utf8bom | 4 + .../all-lf | 5 + .../all-lf-utf8bom | 5 + .../binary-all-crlf | 4 + .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 3 + .../few-utf8-chars-crlf | 22 + .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf | 4 + .../many-utf8-chars-lf | 4 + .../mixed-lf-cr | 3 + .../mixed-lf-cr-crlf | 3 + .../more-crlf | 5 + .../more-crlf-utf8bom | 5 + .../more-lf | 5 + .../more-lf-utf8bom | 5 + .../zero-byte | 0 .../all-crlf | 4 + .../all-crlf-utf8bom | 4 + .../autocrlf_true,safecrlf_false,text/all-lf | 5 + .../all-lf-utf8bom | 5 + .../binary-all-crlf | 4 + .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 3 + .../few-utf8-chars-crlf | 22 + .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf | 4 + .../many-utf8-chars-lf | 4 + .../mixed-lf-cr | 3 + .../mixed-lf-cr-crlf | 3 + .../more-crlf | 5 + .../more-crlf-utf8bom | 5 + .../autocrlf_true,safecrlf_false,text/more-lf | 5 + .../more-lf-utf8bom | 5 + .../zero-byte | 0 .../all-crlf | 4 + .../all-crlf-utf8bom | 4 + .../all-lf | 5 + .../all-lf-utf8bom | 5 + .../binary-all-crlf | 0 .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 0 .../few-utf8-chars-crlf | 22 + .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf | 4 + .../many-utf8-chars-lf | 4 + .../mixed-lf-cr | 3 + .../mixed-lf-cr-crlf | 0 .../more-crlf | 5 + .../more-crlf-utf8bom | 5 + .../more-lf | 5 + .../more-lf-utf8bom | 5 + .../zero-byte | 0 .../all-crlf | 4 + .../all-crlf-utf8bom | 4 + .../all-lf | 5 + .../all-lf-utf8bom | 5 + .../binary-all-crlf | 0 .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 0 .../few-utf8-chars-crlf | 22 + .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf | 4 + .../many-utf8-chars-lf | 4 + .../mixed-lf-cr | 3 + .../mixed-lf-cr-crlf | 0 .../more-crlf | 5 + .../more-crlf-utf8bom | 5 + .../more-lf | 5 + .../more-lf-utf8bom | 5 + .../zero-byte | 0 .../all-crlf | 4 + .../all-crlf-utf8bom | 4 + .../all-lf | 5 + .../all-lf-utf8bom | 5 + .../binary-all-crlf | 0 .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 0 .../few-utf8-chars-crlf | 22 + .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf | 4 + .../many-utf8-chars-lf | 4 + .../mixed-lf-cr | 3 + .../mixed-lf-cr-crlf | 0 .../more-crlf | 5 + .../more-crlf-utf8bom | 5 + .../more-lf | 5 + .../more-lf-utf8bom | 5 + .../zero-byte | 0 .../autocrlf_true,safecrlf_false/all-crlf | 4 + .../all-crlf-utf8bom | 4 + .../autocrlf_true,safecrlf_false/all-lf | 5 + .../all-lf-utf8bom | 5 + .../binary-all-crlf | 0 .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 0 .../few-utf8-chars-crlf | 22 + .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf | 4 + .../many-utf8-chars-lf | 4 + .../autocrlf_true,safecrlf_false/mixed-lf-cr | 3 + .../mixed-lf-cr-crlf | 0 .../autocrlf_true,safecrlf_false/more-crlf | 5 + .../more-crlf-utf8bom | 5 + .../autocrlf_true,safecrlf_false/more-lf | 5 + .../more-lf-utf8bom | 5 + .../autocrlf_true,safecrlf_false/zero-byte | 0 .../all-crlf | 0 .../all-crlf-utf8bom | 0 .../autocrlf_true,safecrlf_true,-crlf/all-lf | 5 + .../all-lf-utf8bom | 5 + .../binary-all-crlf | 0 .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 0 .../few-utf8-chars-crlf | 0 .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf | 0 .../many-utf8-chars-lf | 4 + .../mixed-lf-cr | 3 + .../mixed-lf-cr-crlf | 0 .../more-crlf | 0 .../more-crlf-utf8bom | 0 .../more-lf | 0 .../more-lf-utf8bom | 0 .../zero-byte | 0 .../all-crlf | 0 .../all-crlf-utf8bom | 0 .../autocrlf_true,safecrlf_true,-text/all-lf | 5 + .../all-lf-utf8bom | 5 + .../binary-all-crlf | 0 .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 0 .../few-utf8-chars-crlf | 0 .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf | 0 .../many-utf8-chars-lf | 4 + .../mixed-lf-cr | 3 + .../mixed-lf-cr-crlf | 0 .../more-crlf | 0 .../more-crlf-utf8bom | 0 .../more-lf | 0 .../more-lf-utf8bom | 0 .../zero-byte | 0 .../autocrlf_true,safecrlf_true,crlf/all-crlf | 4 + .../all-crlf-utf8bom | 4 + .../all-lf-utf8bom.fail | 1 + .../all-lf.fail | 1 + .../binary-all-crlf | 4 + .../binary-all-lf.fail | 1 + .../binary-mixed-lf-cr-crlf.fail | 1 + .../binary-mixed-lf-cr.fail | 1 + .../few-utf8-chars-crlf | 22 + .../few-utf8-chars-lf.fail | 1 + .../many-utf8-chars-crlf | 4 + .../many-utf8-chars-lf.fail | 1 + .../mixed-lf-cr-crlf.fail | 1 + .../mixed-lf-cr.fail | 1 + .../more-crlf-utf8bom.fail | 1 + .../more-crlf.fail | 1 + .../more-lf-utf8bom.fail | 1 + .../more-lf.fail | 1 + .../zero-byte | 0 .../all-crlf | 4 + .../all-crlf-utf8bom | 4 + .../all-lf-utf8bom.fail | 1 + .../all-lf.fail | 1 + .../binary-all-crlf | 4 + .../binary-all-lf.fail | 1 + .../binary-mixed-lf-cr-crlf.fail | 1 + .../binary-mixed-lf-cr.fail | 1 + .../few-utf8-chars-crlf | 22 + .../few-utf8-chars-lf.fail | 1 + .../many-utf8-chars-crlf | 4 + .../many-utf8-chars-lf.fail | 1 + .../mixed-lf-cr-crlf.fail | 1 + .../mixed-lf-cr.fail | 1 + .../more-crlf-utf8bom.fail | 1 + .../more-crlf.fail | 1 + .../more-lf-utf8bom.fail | 1 + .../more-lf.fail | 1 + .../zero-byte | 0 .../all-crlf-utf8bom.fail | 1 + .../all-crlf.fail | 1 + .../autocrlf_true,safecrlf_true,eol_lf/all-lf | 5 + .../all-lf-utf8bom | 5 + .../binary-all-crlf.fail | 1 + .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf.fail | 1 + .../few-utf8-chars-crlf.fail | 1 + .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf.fail | 1 + .../many-utf8-chars-lf | 4 + .../mixed-lf-cr | 3 + .../mixed-lf-cr-crlf.fail | 1 + .../more-crlf-utf8bom.fail | 1 + .../more-crlf.fail | 1 + .../more-lf-utf8bom.fail | 1 + .../more-lf.fail | 1 + .../zero-byte | 0 .../all-crlf | 4 + .../all-crlf-utf8bom | 4 + .../all-lf-utf8bom.fail | 1 + .../all-lf.fail | 1 + .../binary-all-crlf | 4 + .../binary-all-lf.fail | 1 + .../binary-mixed-lf-cr-crlf.fail | 1 + .../binary-mixed-lf-cr.fail | 1 + .../few-utf8-chars-crlf | 22 + .../few-utf8-chars-lf.fail | 1 + .../many-utf8-chars-crlf | 4 + .../many-utf8-chars-lf.fail | 1 + .../mixed-lf-cr-crlf.fail | 1 + .../mixed-lf-cr.fail | 1 + .../more-crlf-utf8bom.fail | 1 + .../more-crlf.fail | 1 + .../more-lf-utf8bom.fail | 1 + .../more-lf.fail | 1 + .../zero-byte | 0 .../all-crlf-utf8bom.fail | 1 + .../all-crlf.fail | 1 + .../all-lf | 5 + .../all-lf-utf8bom | 5 + .../binary-all-crlf.fail | 1 + .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf.fail | 1 + .../few-utf8-chars-crlf.fail | 1 + .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf.fail | 1 + .../many-utf8-chars-lf | 4 + .../mixed-lf-cr | 3 + .../mixed-lf-cr-crlf.fail | 1 + .../more-crlf-utf8bom.fail | 1 + .../more-crlf.fail | 1 + .../more-lf-utf8bom.fail | 1 + .../more-lf.fail | 1 + .../zero-byte | 0 .../autocrlf_true,safecrlf_true,text/all-crlf | 4 + .../all-crlf-utf8bom | 4 + .../all-lf-utf8bom.fail | 1 + .../all-lf.fail | 1 + .../binary-all-crlf | 4 + .../binary-all-lf.fail | 1 + .../binary-mixed-lf-cr-crlf.fail | 1 + .../binary-mixed-lf-cr.fail | 1 + .../few-utf8-chars-crlf | 22 + .../few-utf8-chars-lf.fail | 1 + .../many-utf8-chars-crlf | 4 + .../many-utf8-chars-lf.fail | 1 + .../mixed-lf-cr-crlf.fail | 1 + .../mixed-lf-cr.fail | 1 + .../more-crlf-utf8bom.fail | 1 + .../more-crlf.fail | 1 + .../more-lf-utf8bom.fail | 1 + .../more-lf.fail | 1 + .../zero-byte | 0 .../all-crlf | 4 + .../all-crlf-utf8bom | 4 + .../all-lf-utf8bom.fail | 1 + .../all-lf.fail | 1 + .../binary-all-crlf | 0 .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 0 .../few-utf8-chars-crlf | 22 + .../few-utf8-chars-lf.fail | 1 + .../many-utf8-chars-crlf | 4 + .../many-utf8-chars-lf.fail | 1 + .../mixed-lf-cr | 3 + .../mixed-lf-cr-crlf | 0 .../more-crlf-utf8bom.fail | 1 + .../more-crlf.fail | 1 + .../more-lf-utf8bom.fail | 1 + .../more-lf.fail | 1 + .../zero-byte | 0 .../all-crlf-utf8bom.fail | 1 + .../all-crlf.fail | 1 + .../all-lf | 5 + .../all-lf-utf8bom | 5 + .../binary-all-crlf | 0 .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 0 .../few-utf8-chars-crlf.fail | 1 + .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf.fail | 1 + .../many-utf8-chars-lf | 4 + .../mixed-lf-cr | 3 + .../mixed-lf-cr-crlf | 0 .../more-crlf-utf8bom.fail | 1 + .../more-crlf.fail | 1 + .../more-lf-utf8bom.fail | 1 + .../more-lf.fail | 1 + .../zero-byte | 0 .../all-crlf | 4 + .../all-crlf-utf8bom | 4 + .../all-lf-utf8bom.fail | 1 + .../all-lf.fail | 1 + .../binary-all-crlf | 0 .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 0 .../few-utf8-chars-crlf | 22 + .../few-utf8-chars-lf.fail | 1 + .../many-utf8-chars-crlf | 4 + .../many-utf8-chars-lf.fail | 1 + .../mixed-lf-cr | 3 + .../mixed-lf-cr-crlf | 0 .../more-crlf-utf8bom.fail | 1 + .../more-crlf.fail | 1 + .../more-lf-utf8bom.fail | 1 + .../more-lf.fail | 1 + .../zero-byte | 0 .../autocrlf_true,safecrlf_true/all-crlf | 4 + .../all-crlf-utf8bom | 4 + .../all-lf-utf8bom.fail | 1 + .../autocrlf_true,safecrlf_true/all-lf.fail | 1 + .../binary-all-crlf | 0 .../autocrlf_true,safecrlf_true/binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 3 + .../few-utf8-chars-crlf | 22 + .../few-utf8-chars-lf.fail | 1 + .../many-utf8-chars-crlf | 4 + .../many-utf8-chars-lf.fail | 1 + .../autocrlf_true,safecrlf_true/mixed-lf-cr | 3 + .../mixed-lf-cr-crlf | 3 + .../more-crlf-utf8bom.fail | 1 + .../more-crlf.fail | 1 + .../more-lf-utf8bom.fail | 1 + .../autocrlf_true,safecrlf_true/more-lf.fail | 1 + .../autocrlf_true,safecrlf_true/zero-byte | 0 .../all-crlf | 0 .../all-crlf-utf8bom | 0 .../autocrlf_true,safecrlf_warn,-crlf/all-lf | 5 + .../all-lf-utf8bom | 5 + .../binary-all-crlf | 0 .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 3 + .../few-utf8-chars-crlf | 0 .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf | 0 .../many-utf8-chars-lf | 4 + .../mixed-lf-cr | 3 + .../mixed-lf-cr-crlf | 3 + .../more-crlf | 0 .../more-crlf-utf8bom | 0 .../more-lf | 0 .../more-lf-utf8bom | 0 .../zero-byte | 0 .../all-crlf | 0 .../all-crlf-utf8bom | 0 .../autocrlf_true,safecrlf_warn,-text/all-lf | 5 + .../all-lf-utf8bom | 5 + .../binary-all-crlf | 0 .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 3 + .../few-utf8-chars-crlf | 0 .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf | 0 .../many-utf8-chars-lf | 4 + .../mixed-lf-cr | 3 + .../mixed-lf-cr-crlf | 3 + .../more-crlf | 0 .../more-crlf-utf8bom | 0 .../more-lf | 0 .../more-lf-utf8bom | 0 .../zero-byte | 0 .../autocrlf_true,safecrlf_warn,crlf/all-crlf | 4 + .../all-crlf-utf8bom | 4 + .../autocrlf_true,safecrlf_warn,crlf/all-lf | 5 + .../all-lf-utf8bom | 5 + .../binary-all-crlf | 4 + .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 3 + .../few-utf8-chars-crlf | 22 + .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf | 4 + .../many-utf8-chars-lf | 4 + .../mixed-lf-cr | 3 + .../mixed-lf-cr-crlf | 3 + .../more-crlf | 5 + .../more-crlf-utf8bom | 5 + .../autocrlf_true,safecrlf_warn,crlf/more-lf | 5 + .../more-lf-utf8bom | 5 + .../zero-byte | 0 .../all-crlf | 4 + .../all-crlf-utf8bom | 4 + .../all-lf | 5 + .../all-lf-utf8bom | 5 + .../binary-all-crlf | 4 + .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 3 + .../few-utf8-chars-crlf | 22 + .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf | 4 + .../many-utf8-chars-lf | 4 + .../mixed-lf-cr | 3 + .../mixed-lf-cr-crlf | 3 + .../more-crlf | 5 + .../more-crlf-utf8bom | 5 + .../more-lf | 5 + .../more-lf-utf8bom | 5 + .../zero-byte | 0 .../all-crlf | 4 + .../all-crlf-utf8bom | 4 + .../autocrlf_true,safecrlf_warn,eol_lf/all-lf | 5 + .../all-lf-utf8bom | 5 + .../binary-all-crlf | 4 + .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 3 + .../few-utf8-chars-crlf | 22 + .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf | 4 + .../many-utf8-chars-lf | 4 + .../mixed-lf-cr | 3 + .../mixed-lf-cr-crlf | 3 + .../more-crlf | 5 + .../more-crlf-utf8bom | 5 + .../more-lf | 5 + .../more-lf-utf8bom | 5 + .../zero-byte | 0 .../all-crlf | 4 + .../all-crlf-utf8bom | 4 + .../all-lf | 5 + .../all-lf-utf8bom | 5 + .../binary-all-crlf | 4 + .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 3 + .../few-utf8-chars-crlf | 22 + .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf | 4 + .../many-utf8-chars-lf | 4 + .../mixed-lf-cr | 3 + .../mixed-lf-cr-crlf | 3 + .../more-crlf | 5 + .../more-crlf-utf8bom | 5 + .../more-lf | 5 + .../more-lf-utf8bom | 5 + .../zero-byte | 0 .../all-crlf | 4 + .../all-crlf-utf8bom | 4 + .../all-lf | 5 + .../all-lf-utf8bom | 5 + .../binary-all-crlf | 4 + .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 3 + .../few-utf8-chars-crlf | 22 + .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf | 4 + .../many-utf8-chars-lf | 4 + .../mixed-lf-cr | 3 + .../mixed-lf-cr-crlf | 3 + .../more-crlf | 5 + .../more-crlf-utf8bom | 5 + .../more-lf | 5 + .../more-lf-utf8bom | 5 + .../zero-byte | 0 .../autocrlf_true,safecrlf_warn,text/all-crlf | 4 + .../all-crlf-utf8bom | 4 + .../autocrlf_true,safecrlf_warn,text/all-lf | 5 + .../all-lf-utf8bom | 5 + .../binary-all-crlf | 4 + .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 3 + .../few-utf8-chars-crlf | 22 + .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf | 4 + .../many-utf8-chars-lf | 4 + .../mixed-lf-cr | 3 + .../mixed-lf-cr-crlf | 3 + .../more-crlf | 5 + .../more-crlf-utf8bom | 5 + .../autocrlf_true,safecrlf_warn,text/more-lf | 5 + .../more-lf-utf8bom | 5 + .../zero-byte | 0 .../HEAD | 1 + .../all-crlf | 4 + .../all-crlf-utf8bom | 4 + .../all-lf | 5 + .../all-lf-utf8bom | 5 + .../binary-all-crlf | 0 .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 3 + .../branches | 0 .../few-utf8-chars-crlf | 22 + .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf | 4 + .../many-utf8-chars-lf | 4 + .../mixed-lf-cr | 3 + .../mixed-lf-cr-crlf | 3 + .../more-crlf | 5 + .../more-crlf-utf8bom | 5 + .../more-lf | 5 + .../more-lf-utf8bom | 5 + .../zero-byte | 0 .../all-crlf | 4 + .../all-crlf-utf8bom | 4 + .../all-lf | 5 + .../all-lf-utf8bom | 5 + .../binary-all-crlf | 0 .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 3 + .../few-utf8-chars-crlf | 22 + .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf | 4 + .../many-utf8-chars-lf | 4 + .../mixed-lf-cr | 3 + .../mixed-lf-cr-crlf | 3 + .../more-crlf | 5 + .../more-crlf-utf8bom | 5 + .../more-lf | 5 + .../more-lf-utf8bom | 5 + .../zero-byte | 0 .../all-crlf | 4 + .../all-crlf-utf8bom | 4 + .../all-lf | 5 + .../all-lf-utf8bom | 5 + .../binary-all-crlf | 0 .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 3 + .../few-utf8-chars-crlf | 22 + .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf | 4 + .../many-utf8-chars-lf | 4 + .../mixed-lf-cr | 3 + .../mixed-lf-cr-crlf | 3 + .../more-crlf | 5 + .../more-crlf-utf8bom | 5 + .../more-lf | 5 + .../more-lf-utf8bom | 5 + .../zero-byte | 0 .../autocrlf_true,safecrlf_warn/all-crlf | 4 + .../all-crlf-utf8bom | 4 + .../autocrlf_true,safecrlf_warn/all-lf | 5 + .../all-lf-utf8bom | 5 + .../binary-all-crlf | 0 .../autocrlf_true,safecrlf_warn/binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 3 + .../few-utf8-chars-crlf | 22 + .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf | 4 + .../many-utf8-chars-lf | 4 + .../autocrlf_true,safecrlf_warn/mixed-lf-cr | 3 + .../mixed-lf-cr-crlf | 3 + .../autocrlf_true,safecrlf_warn/more-crlf | 5 + .../more-crlf-utf8bom | 5 + .../autocrlf_true,safecrlf_warn/more-lf | 5 + .../more-lf-utf8bom | 5 + .../autocrlf_true,safecrlf_warn/zero-byte | 0 .../autocrlf_false,-crlf}/all-crlf | 0 .../autocrlf_false,-crlf}/all-crlf-utf8bom | 0 .../autocrlf_false,-crlf/all-lf | 5 + .../autocrlf_false,-crlf/all-lf-utf8bom | 5 + .../autocrlf_false,-crlf}/binary-all-crlf | 0 .../autocrlf_false,-crlf/binary-all-lf | 4 + .../autocrlf_false,-crlf/binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 3 + .../autocrlf_false,-crlf}/few-utf8-chars-crlf | 0 .../autocrlf_false,-crlf/few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf | 0 .../autocrlf_false,-crlf/many-utf8-chars-lf | 4 + .../autocrlf_false,-crlf/mixed-lf-cr | 3 + .../autocrlf_false,-crlf/mixed-lf-cr-crlf | 3 + .../autocrlf_false,-crlf}/more-crlf | 0 .../autocrlf_false,-crlf}/more-crlf-utf8bom | 0 .../autocrlf_false,-crlf}/more-lf | 0 .../autocrlf_false,-crlf}/more-lf-utf8bom | 0 .../autocrlf_false,-crlf/zero-byte | 0 .../autocrlf_false,-text}/all-crlf | 0 .../autocrlf_false,-text}/all-crlf-utf8bom | 0 .../autocrlf_false,-text/all-lf | 5 + .../autocrlf_false,-text/all-lf-utf8bom | 5 + .../autocrlf_false,-text}/binary-all-crlf | 0 .../autocrlf_false,-text/binary-all-lf | 4 + .../autocrlf_false,-text/binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 3 + .../autocrlf_false,-text}/few-utf8-chars-crlf | 0 .../autocrlf_false,-text/few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf | 0 .../autocrlf_false,-text/many-utf8-chars-lf | 4 + .../autocrlf_false,-text/mixed-lf-cr | 3 + .../autocrlf_false,-text/mixed-lf-cr-crlf | 3 + .../autocrlf_false,-text}/more-crlf | 0 .../autocrlf_false,-text}/more-crlf-utf8bom | 0 .../autocrlf_false,-text}/more-lf | 0 .../autocrlf_false,-text}/more-lf-utf8bom | 0 .../autocrlf_false,-text/zero-byte | 0 .../autocrlf_false,crlf}/all-crlf | 0 .../autocrlf_false,crlf}/all-crlf-utf8bom | 0 .../autocrlf_false,crlf/all-lf | 5 + .../autocrlf_false,crlf/all-lf-utf8bom | 5 + .../autocrlf_false,crlf}/binary-all-crlf | 0 .../autocrlf_false,crlf/binary-all-lf | 4 + .../autocrlf_false,crlf/binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 3 + .../autocrlf_false,crlf}/few-utf8-chars-crlf | 0 .../autocrlf_false,crlf/few-utf8-chars-lf | 22 + .../autocrlf_false,crlf}/many-utf8-chars-crlf | 0 .../autocrlf_false,crlf/many-utf8-chars-lf | 4 + .../autocrlf_false,crlf/mixed-lf-cr | 3 + .../autocrlf_false,crlf/mixed-lf-cr-crlf | 3 + .../autocrlf_false,crlf}/more-crlf | 0 .../autocrlf_false,crlf}/more-crlf-utf8bom | 0 .../autocrlf_false,crlf}/more-lf | 0 .../autocrlf_false,crlf}/more-lf-utf8bom | 0 .../autocrlf_false,crlf/zero-byte | 0 .../autocrlf_false,eol_crlf}/all-crlf | 0 .../autocrlf_false,eol_crlf}/all-crlf-utf8bom | 0 .../autocrlf_false,eol_crlf/all-lf | 0 .../autocrlf_false,eol_crlf/all-lf-utf8bom | 0 .../autocrlf_false,eol_crlf}/binary-all-crlf | 0 .../autocrlf_false,eol_crlf/binary-all-lf | 0 .../binary-mixed-lf-cr | 0 .../binary-mixed-lf-cr-crlf | 0 .../few-utf8-chars-crlf | 0 .../autocrlf_false,eol_crlf/few-utf8-chars-lf | 0 .../many-utf8-chars-crlf | 0 .../many-utf8-chars-lf | 0 .../autocrlf_false,eol_crlf/mixed-lf-cr | 0 .../autocrlf_false,eol_crlf/mixed-lf-cr-crlf | 0 .../autocrlf_false,eol_crlf/more-crlf | 0 .../autocrlf_false,eol_crlf/more-crlf-utf8bom | 0 .../autocrlf_false,eol_crlf/more-lf | 0 .../autocrlf_false,eol_crlf/more-lf-utf8bom | 0 .../autocrlf_false,eol_crlf/zero-byte | 0 .../autocrlf_false,eol_lf}/all-crlf | 0 .../autocrlf_false,eol_lf}/all-crlf-utf8bom | 0 .../autocrlf_false,eol_lf/all-lf | 5 + .../autocrlf_false,eol_lf/all-lf-utf8bom | 5 + .../autocrlf_false,eol_lf}/binary-all-crlf | 0 .../autocrlf_false,eol_lf/binary-all-lf | 4 + .../autocrlf_false,eol_lf/binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 3 + .../few-utf8-chars-crlf | 0 .../autocrlf_false,eol_lf/few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf | 0 .../autocrlf_false,eol_lf/many-utf8-chars-lf | 4 + .../autocrlf_false,eol_lf/mixed-lf-cr | 3 + .../autocrlf_false,eol_lf/mixed-lf-cr-crlf | 3 + .../autocrlf_false,eol_lf}/more-crlf | 0 .../autocrlf_false,eol_lf}/more-crlf-utf8bom | 0 .../autocrlf_false,eol_lf}/more-lf | 0 .../autocrlf_false,eol_lf}/more-lf-utf8bom | 0 .../autocrlf_false,eol_lf/zero-byte | 0 .../autocrlf_false,text,eol_crlf}/all-crlf | 0 .../all-crlf-utf8bom | 0 .../autocrlf_false,text,eol_crlf/all-lf | 0 .../all-lf-utf8bom | 0 .../binary-all-crlf | 0 .../binary-all-lf | 0 .../binary-mixed-lf-cr | 0 .../binary-mixed-lf-cr-crlf | 0 .../few-utf8-chars-crlf | 0 .../few-utf8-chars-lf | 0 .../many-utf8-chars-crlf | 0 .../many-utf8-chars-lf | 0 .../autocrlf_false,text,eol_crlf/mixed-lf-cr | 0 .../mixed-lf-cr-crlf | 0 .../autocrlf_false,text,eol_crlf/more-crlf | 0 .../more-crlf-utf8bom | 0 .../autocrlf_false,text,eol_crlf/more-lf | 0 .../more-lf-utf8bom | 0 .../autocrlf_false,text,eol_crlf/zero-byte | 0 .../autocrlf_false,text,eol_lf}/all-crlf | 0 .../all-crlf-utf8bom | 0 .../autocrlf_false,text,eol_lf/all-lf | 5 + .../autocrlf_false,text,eol_lf/all-lf-utf8bom | 5 + .../binary-all-crlf | 0 .../autocrlf_false,text,eol_lf/binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 3 + .../few-utf8-chars-crlf | 0 .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf | 0 .../many-utf8-chars-lf | 4 + .../autocrlf_false,text,eol_lf/mixed-lf-cr | 3 + .../mixed-lf-cr-crlf | 3 + .../autocrlf_false,text,eol_lf}/more-crlf | 0 .../more-crlf-utf8bom | 0 .../autocrlf_false,text,eol_lf}/more-lf | 0 .../more-lf-utf8bom | 0 .../autocrlf_false,text,eol_lf/zero-byte | 0 .../autocrlf_false,text}/all-crlf | 0 .../autocrlf_false,text}/all-crlf-utf8bom | 0 .../autocrlf_false,text/all-lf | 5 + .../autocrlf_false,text/all-lf-utf8bom | 5 + .../autocrlf_false,text}/binary-all-crlf | 0 .../autocrlf_false,text/binary-all-lf | 4 + .../autocrlf_false,text/binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 3 + .../autocrlf_false,text}/few-utf8-chars-crlf | 0 .../autocrlf_false,text/few-utf8-chars-lf | 22 + .../autocrlf_false,text}/many-utf8-chars-crlf | 0 .../autocrlf_false,text/many-utf8-chars-lf | 4 + .../autocrlf_false,text/mixed-lf-cr | 3 + .../autocrlf_false,text/mixed-lf-cr-crlf | 3 + .../autocrlf_false,text}/more-crlf | 0 .../autocrlf_false,text}/more-crlf-utf8bom | 0 .../autocrlf_false,text}/more-lf | 0 .../autocrlf_false,text}/more-lf-utf8bom | 0 .../autocrlf_false,text/zero-byte | 0 .../all-crlf | 0 .../all-crlf-utf8bom | 0 .../autocrlf_false,text_auto,eol_crlf/all-lf | 0 .../all-lf-utf8bom | 0 .../binary-all-crlf | 0 .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 3 + .../few-utf8-chars-crlf | 0 .../few-utf8-chars-lf | 0 .../many-utf8-chars-crlf | 0 .../many-utf8-chars-lf | 0 .../mixed-lf-cr | 3 + .../mixed-lf-cr-crlf | 3 + .../more-crlf | 0 .../more-crlf-utf8bom | 0 .../more-lf | 0 .../more-lf-utf8bom | 0 .../zero-byte | 0 .../autocrlf_false,text_auto,eol_lf}/all-crlf | 0 .../all-crlf-utf8bom | 0 .../autocrlf_false,text_auto,eol_lf/all-lf | 5 + .../all-lf-utf8bom | 5 + .../binary-all-crlf | 0 .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 3 + .../few-utf8-chars-crlf | 0 .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf | 0 .../many-utf8-chars-lf | 4 + .../mixed-lf-cr | 3 + .../mixed-lf-cr-crlf | 3 + .../more-crlf | 0 .../more-crlf-utf8bom | 0 .../autocrlf_false,text_auto,eol_lf}/more-lf | 0 .../more-lf-utf8bom | 0 .../autocrlf_false,text_auto,eol_lf/zero-byte | 0 .../autocrlf_false,text_auto}/all-crlf | 0 .../all-crlf-utf8bom | 0 .../autocrlf_false,text_auto/all-lf | 5 + .../autocrlf_false,text_auto/all-lf-utf8bom | 5 + .../autocrlf_false,text_auto}/binary-all-crlf | 0 .../autocrlf_false,text_auto/binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 3 + .../few-utf8-chars-crlf | 0 .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf | 0 .../many-utf8-chars-lf | 4 + .../autocrlf_false,text_auto/mixed-lf-cr | 3 + .../autocrlf_false,text_auto/mixed-lf-cr-crlf | 3 + .../autocrlf_false,text_auto}/more-crlf | 0 .../more-crlf-utf8bom | 0 .../autocrlf_false,text_auto}/more-lf | 0 .../autocrlf_false,text_auto}/more-lf-utf8bom | 0 .../autocrlf_false,text_auto/zero-byte | 0 .../autocrlf_false}/all-crlf | 0 .../autocrlf_false}/all-crlf-utf8bom | 0 .../posix_to_workdir/autocrlf_false/all-lf | 5 + .../autocrlf_false/all-lf-utf8bom | 5 + .../autocrlf_false}/binary-all-crlf | 0 .../autocrlf_false/binary-all-lf | 4 + .../autocrlf_false/binary-mixed-lf-cr | 3 + .../autocrlf_false/binary-mixed-lf-cr-crlf | 3 + .../autocrlf_false}/few-utf8-chars-crlf | 0 .../autocrlf_false/few-utf8-chars-lf | 22 + .../autocrlf_false}/many-utf8-chars-crlf | 0 .../autocrlf_false/many-utf8-chars-lf | 4 + .../autocrlf_false/mixed-lf-cr | 3 + .../autocrlf_false/mixed-lf-cr-crlf | 3 + .../autocrlf_false}/more-crlf | 0 .../autocrlf_false}/more-crlf-utf8bom | 0 .../autocrlf_false}/more-lf | 0 .../autocrlf_false}/more-lf-utf8bom | 0 .../posix_to_workdir/autocrlf_false/zero-byte | 0 .../autocrlf_input,-crlf}/all-crlf | 0 .../autocrlf_input,-crlf}/all-crlf-utf8bom | 0 .../autocrlf_input,-crlf/all-lf | 5 + .../autocrlf_input,-crlf/all-lf-utf8bom | 5 + .../autocrlf_input,-crlf}/binary-all-crlf | 0 .../autocrlf_input,-crlf/binary-all-lf | 4 + .../autocrlf_input,-crlf/binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 3 + .../autocrlf_input,-crlf}/few-utf8-chars-crlf | 0 .../autocrlf_input,-crlf/few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf | 0 .../autocrlf_input,-crlf/many-utf8-chars-lf | 4 + .../autocrlf_input,-crlf/mixed-lf-cr | 3 + .../autocrlf_input,-crlf/mixed-lf-cr-crlf | 3 + .../autocrlf_input,-crlf}/more-crlf | 0 .../autocrlf_input,-crlf}/more-crlf-utf8bom | 0 .../autocrlf_input,-crlf}/more-lf | 0 .../autocrlf_input,-crlf}/more-lf-utf8bom | 0 .../autocrlf_input,-crlf/zero-byte | 0 .../autocrlf_input,-text}/all-crlf | 0 .../autocrlf_input,-text}/all-crlf-utf8bom | 0 .../autocrlf_input,-text/all-lf | 5 + .../autocrlf_input,-text/all-lf-utf8bom | 5 + .../autocrlf_input,-text}/binary-all-crlf | 0 .../autocrlf_input,-text/binary-all-lf | 4 + .../autocrlf_input,-text/binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 3 + .../autocrlf_input,-text}/few-utf8-chars-crlf | 0 .../autocrlf_input,-text/few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf | 0 .../autocrlf_input,-text/many-utf8-chars-lf | 4 + .../autocrlf_input,-text/mixed-lf-cr | 3 + .../autocrlf_input,-text/mixed-lf-cr-crlf | 3 + .../autocrlf_input,-text}/more-crlf | 0 .../autocrlf_input,-text}/more-crlf-utf8bom | 0 .../autocrlf_input,-text}/more-lf | 0 .../autocrlf_input,-text}/more-lf-utf8bom | 0 .../autocrlf_input,-text/zero-byte | 0 .../autocrlf_input,crlf}/all-crlf | 0 .../autocrlf_input,crlf}/all-crlf-utf8bom | 0 .../autocrlf_input,crlf/all-lf | 5 + .../autocrlf_input,crlf/all-lf-utf8bom | 5 + .../autocrlf_input,crlf}/binary-all-crlf | 0 .../autocrlf_input,crlf/binary-all-lf | 4 + .../autocrlf_input,crlf/binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 3 + .../autocrlf_input,crlf}/few-utf8-chars-crlf | 0 .../autocrlf_input,crlf/few-utf8-chars-lf | 22 + .../autocrlf_input,crlf}/many-utf8-chars-crlf | 0 .../autocrlf_input,crlf/many-utf8-chars-lf | 4 + .../autocrlf_input,crlf/mixed-lf-cr | 3 + .../autocrlf_input,crlf/mixed-lf-cr-crlf | 3 + .../autocrlf_input,crlf}/more-crlf | 0 .../autocrlf_input,crlf}/more-crlf-utf8bom | 0 .../autocrlf_input,crlf}/more-lf | 0 .../autocrlf_input,crlf}/more-lf-utf8bom | 0 .../autocrlf_input,crlf/zero-byte | 0 .../autocrlf_input,eol_crlf}/all-crlf | 0 .../autocrlf_input,eol_crlf}/all-crlf-utf8bom | 0 .../autocrlf_input,eol_crlf/all-lf | 0 .../autocrlf_input,eol_crlf/all-lf-utf8bom | 0 .../autocrlf_input,eol_crlf}/binary-all-crlf | 0 .../autocrlf_input,eol_crlf}/binary-all-lf | 0 .../binary-mixed-lf-cr | 0 .../binary-mixed-lf-cr-crlf | 0 .../few-utf8-chars-crlf | 0 .../autocrlf_input,eol_crlf/few-utf8-chars-lf | 0 .../many-utf8-chars-crlf | 0 .../many-utf8-chars-lf | 0 .../autocrlf_input,eol_crlf}/mixed-lf-cr | 0 .../autocrlf_input,eol_crlf}/mixed-lf-cr-crlf | 0 .../autocrlf_input,eol_crlf}/more-crlf | 0 .../more-crlf-utf8bom | 0 .../autocrlf_input,eol_crlf}/more-lf | 0 .../autocrlf_input,eol_crlf}/more-lf-utf8bom | 0 .../autocrlf_input,eol_crlf/zero-byte | 0 .../autocrlf_input,eol_lf}/all-crlf | 0 .../autocrlf_input,eol_lf}/all-crlf-utf8bom | 0 .../autocrlf_input,eol_lf/all-lf | 5 + .../autocrlf_input,eol_lf/all-lf-utf8bom | 5 + .../autocrlf_input,eol_lf}/binary-all-crlf | 0 .../autocrlf_input,eol_lf/binary-all-lf | 4 + .../autocrlf_input,eol_lf/binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 3 + .../few-utf8-chars-crlf | 0 .../autocrlf_input,eol_lf/few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf | 0 .../autocrlf_input,eol_lf/many-utf8-chars-lf | 4 + .../autocrlf_input,eol_lf/mixed-lf-cr | 3 + .../autocrlf_input,eol_lf/mixed-lf-cr-crlf | 3 + .../autocrlf_input,eol_lf}/more-crlf | 0 .../autocrlf_input,eol_lf}/more-crlf-utf8bom | 0 .../autocrlf_input,eol_lf}/more-lf | 0 .../autocrlf_input,eol_lf}/more-lf-utf8bom | 0 .../autocrlf_input,eol_lf/zero-byte | 0 .../autocrlf_input,text,eol_crlf}/all-crlf | 0 .../all-crlf-utf8bom | 0 .../autocrlf_input,text,eol_crlf/all-lf | 0 .../all-lf-utf8bom | 0 .../binary-all-crlf} | 0 .../binary-all-lf | 0 .../binary-mixed-lf-cr | 0 .../binary-mixed-lf-cr-crlf | 0 .../few-utf8-chars-crlf | 0 .../few-utf8-chars-lf | 0 .../many-utf8-chars-crlf | 0 .../many-utf8-chars-lf | 0 .../autocrlf_input,text,eol_crlf}/mixed-lf-cr | 0 .../mixed-lf-cr-crlf | 0 .../autocrlf_input,text,eol_crlf}/more-crlf | 0 .../more-crlf-utf8bom | 0 .../autocrlf_input,text,eol_crlf}/more-lf | 0 .../more-lf-utf8bom | 0 .../autocrlf_input,text,eol_crlf/zero-byte | 0 .../autocrlf_input,text,eol_lf}/all-crlf | 0 .../all-crlf-utf8bom | 0 .../autocrlf_input,text,eol_lf/all-lf | 5 + .../autocrlf_input,text,eol_lf/all-lf-utf8bom | 5 + .../binary-all-crlf} | 0 .../autocrlf_input,text,eol_lf/binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 3 + .../few-utf8-chars-crlf | 0 .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf | 0 .../many-utf8-chars-lf | 4 + .../autocrlf_input,text,eol_lf/mixed-lf-cr | 3 + .../mixed-lf-cr-crlf | 3 + .../autocrlf_input,text,eol_lf}/more-crlf | 0 .../more-crlf-utf8bom | 0 .../autocrlf_input,text,eol_lf}/more-lf | 0 .../more-lf-utf8bom | 0 .../autocrlf_input,text,eol_lf/zero-byte | 0 .../autocrlf_input,text}/all-crlf | 0 .../autocrlf_input,text}/all-crlf-utf8bom | 0 .../autocrlf_input,text/all-lf | 5 + .../autocrlf_input,text/all-lf-utf8bom | 5 + .../autocrlf_input,text/binary-all-crlf} | 0 .../autocrlf_input,text/binary-all-lf | 4 + .../autocrlf_input,text/binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 3 + .../autocrlf_input,text}/few-utf8-chars-crlf | 0 .../autocrlf_input,text/few-utf8-chars-lf | 22 + .../autocrlf_input,text}/many-utf8-chars-crlf | 0 .../autocrlf_input,text/many-utf8-chars-lf | 4 + .../autocrlf_input,text/mixed-lf-cr | 3 + .../autocrlf_input,text/mixed-lf-cr-crlf | 3 + .../autocrlf_input,text}/more-crlf | 0 .../autocrlf_input,text}/more-crlf-utf8bom | 0 .../autocrlf_input,text}/more-lf | 0 .../autocrlf_input,text}/more-lf-utf8bom | 0 .../autocrlf_input,text/zero-byte | 0 .../all-crlf | 0 .../all-crlf-utf8bom | 0 .../autocrlf_input,text_auto,eol_crlf/all-lf | 0 .../all-lf-utf8bom | 0 .../binary-all-crlf} | 0 .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 3 + .../few-utf8-chars-crlf | 0 .../few-utf8-chars-lf | 0 .../many-utf8-chars-crlf | 0 .../many-utf8-chars-lf | 0 .../mixed-lf-cr | 3 + .../mixed-lf-cr-crlf | 3 + .../more-crlf | 0 .../more-crlf-utf8bom | 0 .../more-lf | 0 .../more-lf-utf8bom | 0 .../zero-byte | 0 .../autocrlf_input,text_auto,eol_lf}/all-crlf | 0 .../all-crlf-utf8bom | 0 .../autocrlf_input,text_auto,eol_lf/all-lf | 5 + .../all-lf-utf8bom | 5 + .../binary-all-crlf} | 0 .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 3 + .../few-utf8-chars-crlf | 0 .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf | 0 .../many-utf8-chars-lf | 4 + .../mixed-lf-cr | 3 + .../mixed-lf-cr-crlf | 3 + .../more-crlf | 0 .../more-crlf-utf8bom | 0 .../autocrlf_input,text_auto,eol_lf}/more-lf | 0 .../more-lf-utf8bom | 0 .../autocrlf_input,text_auto,eol_lf/zero-byte | 0 .../autocrlf_input,text_auto}/all-crlf | 0 .../all-crlf-utf8bom | 0 .../autocrlf_input,text_auto/all-lf | 5 + .../autocrlf_input,text_auto/all-lf-utf8bom | 5 + .../autocrlf_input,text_auto/binary-all-crlf} | 0 .../autocrlf_input,text_auto/binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 3 + .../few-utf8-chars-crlf | 0 .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf | 0 .../many-utf8-chars-lf | 4 + .../autocrlf_input,text_auto/mixed-lf-cr | 3 + .../autocrlf_input,text_auto/mixed-lf-cr-crlf | 3 + .../autocrlf_input,text_auto}/more-crlf | 0 .../more-crlf-utf8bom | 0 .../autocrlf_input,text_auto}/more-lf | 0 .../autocrlf_input,text_auto}/more-lf-utf8bom | 0 .../autocrlf_input,text_auto/zero-byte | 0 .../autocrlf_input}/all-crlf | 0 .../autocrlf_input}/all-crlf-utf8bom | 0 .../posix_to_workdir/autocrlf_input/all-lf | 5 + .../autocrlf_input/all-lf-utf8bom | 5 + .../autocrlf_input/binary-all-crlf} | 0 .../autocrlf_input/binary-all-lf | 4 + .../autocrlf_input/binary-mixed-lf-cr | 3 + .../autocrlf_input/binary-mixed-lf-cr-crlf | 3 + .../autocrlf_input}/few-utf8-chars-crlf | 0 .../autocrlf_input/few-utf8-chars-lf | 22 + .../autocrlf_input}/many-utf8-chars-crlf | 0 .../autocrlf_input/many-utf8-chars-lf | 4 + .../autocrlf_input/mixed-lf-cr | 3 + .../autocrlf_input/mixed-lf-cr-crlf | 3 + .../autocrlf_input}/more-crlf | 0 .../autocrlf_input}/more-crlf-utf8bom | 0 .../autocrlf_input}/more-lf | 0 .../autocrlf_input}/more-lf-utf8bom | 0 .../posix_to_workdir/autocrlf_input/zero-byte | 0 .../autocrlf_true,-crlf}/all-crlf | 0 .../autocrlf_true,-crlf}/all-crlf-utf8bom | 0 .../autocrlf_true,-crlf/all-lf | 5 + .../autocrlf_true,-crlf/all-lf-utf8bom | 5 + .../autocrlf_true,-crlf/binary-all-crlf} | 0 .../autocrlf_true,-crlf/binary-all-lf | 4 + .../autocrlf_true,-crlf/binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 3 + .../autocrlf_true,-crlf}/few-utf8-chars-crlf | 0 .../autocrlf_true,-crlf/few-utf8-chars-lf | 22 + .../autocrlf_true,-crlf}/many-utf8-chars-crlf | 0 .../autocrlf_true,-crlf/many-utf8-chars-lf | 4 + .../autocrlf_true,-crlf/mixed-lf-cr | 3 + .../autocrlf_true,-crlf/mixed-lf-cr-crlf | 3 + .../autocrlf_true,-crlf}/more-crlf | 0 .../autocrlf_true,-crlf}/more-crlf-utf8bom | 0 .../autocrlf_true,-crlf}/more-lf | 0 .../autocrlf_true,-crlf}/more-lf-utf8bom | 0 .../autocrlf_true,-crlf/zero-byte | 0 .../autocrlf_true,-text}/all-crlf | 0 .../autocrlf_true,-text}/all-crlf-utf8bom | 0 .../autocrlf_true,-text/all-lf | 5 + .../autocrlf_true,-text/all-lf-utf8bom | 5 + .../autocrlf_true,-text/binary-all-crlf} | 0 .../autocrlf_true,-text/binary-all-lf | 4 + .../autocrlf_true,-text/binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 3 + .../autocrlf_true,-text}/few-utf8-chars-crlf | 0 .../autocrlf_true,-text/few-utf8-chars-lf | 22 + .../autocrlf_true,-text}/many-utf8-chars-crlf | 0 .../autocrlf_true,-text/many-utf8-chars-lf | 4 + .../autocrlf_true,-text/mixed-lf-cr | 3 + .../autocrlf_true,-text/mixed-lf-cr-crlf | 3 + .../autocrlf_true,-text}/more-crlf | 0 .../autocrlf_true,-text}/more-crlf-utf8bom | 0 .../autocrlf_true,-text}/more-lf | 0 .../autocrlf_true,-text}/more-lf-utf8bom | 0 .../autocrlf_true,-text/zero-byte | 0 .../autocrlf_true,crlf}/all-crlf | 0 .../autocrlf_true,crlf}/all-crlf-utf8bom | 0 .../autocrlf_true,crlf/all-lf | 0 .../autocrlf_true,crlf/all-lf-utf8bom | 0 .../autocrlf_true,crlf/binary-all-crlf} | 0 .../autocrlf_true,crlf}/binary-all-lf | 0 .../autocrlf_true,crlf}/binary-mixed-lf-cr | 0 .../binary-mixed-lf-cr-crlf | 0 .../autocrlf_true,crlf}/few-utf8-chars-crlf | 0 .../autocrlf_true,crlf/few-utf8-chars-lf | 0 .../autocrlf_true,crlf}/many-utf8-chars-crlf | 0 .../autocrlf_true,crlf/many-utf8-chars-lf | 0 .../autocrlf_true,crlf}/mixed-lf-cr | 0 .../autocrlf_true,crlf}/mixed-lf-cr-crlf | 0 .../autocrlf_true,crlf}/more-crlf | 0 .../autocrlf_true,crlf}/more-crlf-utf8bom | 0 .../autocrlf_true,crlf}/more-lf | 0 .../autocrlf_true,crlf}/more-lf-utf8bom | 0 .../autocrlf_true,crlf/zero-byte | 0 .../autocrlf_true,eol_crlf}/all-crlf | 0 .../autocrlf_true,eol_crlf}/all-crlf-utf8bom | 0 .../autocrlf_true,eol_crlf/all-lf | 0 .../autocrlf_true,eol_crlf/all-lf-utf8bom | 0 .../autocrlf_true,eol_crlf/binary-all-crlf} | 0 .../autocrlf_true,eol_crlf}/binary-all-lf | 0 .../binary-mixed-lf-cr | 0 .../binary-mixed-lf-cr-crlf | 0 .../few-utf8-chars-crlf | 0 .../autocrlf_true,eol_crlf/few-utf8-chars-lf | 0 .../many-utf8-chars-crlf | 0 .../autocrlf_true,eol_crlf/many-utf8-chars-lf | 0 .../autocrlf_true,eol_crlf}/mixed-lf-cr | 0 .../autocrlf_true,eol_crlf}/mixed-lf-cr-crlf | 0 .../autocrlf_true,eol_crlf}/more-crlf | 0 .../autocrlf_true,eol_crlf}/more-crlf-utf8bom | 0 .../autocrlf_true,eol_crlf}/more-lf | 0 .../autocrlf_true,eol_crlf}/more-lf-utf8bom | 0 .../autocrlf_true,eol_crlf/zero-byte | 0 .../autocrlf_true,eol_lf}/all-crlf | 0 .../autocrlf_true,eol_lf}/all-crlf-utf8bom | 0 .../autocrlf_true,eol_lf/all-lf | 5 + .../autocrlf_true,eol_lf/all-lf-utf8bom | 5 + .../autocrlf_true,eol_lf/binary-all-crlf} | 0 .../autocrlf_true,eol_lf/binary-all-lf | 4 + .../autocrlf_true,eol_lf/binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 3 + .../autocrlf_true,eol_lf}/few-utf8-chars-crlf | 0 .../autocrlf_true,eol_lf/few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf | 0 .../autocrlf_true,eol_lf/many-utf8-chars-lf | 4 + .../autocrlf_true,eol_lf/mixed-lf-cr | 3 + .../autocrlf_true,eol_lf/mixed-lf-cr-crlf | 3 + .../autocrlf_true,eol_lf}/more-crlf | 0 .../autocrlf_true,eol_lf}/more-crlf-utf8bom | 0 .../autocrlf_true,eol_lf}/more-lf | 0 .../autocrlf_true,eol_lf}/more-lf-utf8bom | 0 .../autocrlf_true,eol_lf/zero-byte | 0 .../autocrlf_true,text,eol_crlf}/all-crlf | 0 .../all-crlf-utf8bom | 0 .../autocrlf_true,text,eol_crlf/all-lf | 0 .../all-lf-utf8bom | 0 .../binary-all-crlf} | 0 .../binary-all-lf | 0 .../binary-mixed-lf-cr | 0 .../binary-mixed-lf-cr-crlf | 0 .../few-utf8-chars-crlf | 0 .../few-utf8-chars-lf | 0 .../many-utf8-chars-crlf | 0 .../many-utf8-chars-lf | 0 .../autocrlf_true,text,eol_crlf}/mixed-lf-cr | 0 .../mixed-lf-cr-crlf | 0 .../autocrlf_true,text,eol_crlf}/more-crlf | 0 .../more-crlf-utf8bom | 0 .../autocrlf_true,text,eol_crlf}/more-lf | 0 .../more-lf-utf8bom | 0 .../autocrlf_true,text,eol_crlf/zero-byte | 0 .../autocrlf_true,text,eol_lf}/all-crlf | 0 .../all-crlf-utf8bom | 0 .../autocrlf_true,text,eol_lf/all-lf | 5 + .../autocrlf_true,text,eol_lf/all-lf-utf8bom | 5 + .../binary-all-crlf} | 0 .../autocrlf_true,text,eol_lf/binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 3 + .../few-utf8-chars-crlf | 0 .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf | 0 .../many-utf8-chars-lf | 4 + .../autocrlf_true,text,eol_lf/mixed-lf-cr | 3 + .../mixed-lf-cr-crlf | 3 + .../autocrlf_true,text,eol_lf/more-crlf | 5 + .../more-crlf-utf8bom | 5 + .../autocrlf_true,text,eol_lf/more-lf | 5 + .../autocrlf_true,text,eol_lf/more-lf-utf8bom | 5 + .../autocrlf_true,text,eol_lf/zero-byte | 0 .../autocrlf_true,text}/all-crlf | 0 .../autocrlf_true,text}/all-crlf-utf8bom | 0 .../autocrlf_true,text/all-lf | 0 .../autocrlf_true,text/all-lf-utf8bom | 0 .../autocrlf_true,text/binary-all-crlf} | 0 .../autocrlf_true,text/binary-all-lf | 0 .../autocrlf_true,text}/binary-mixed-lf-cr | 0 .../binary-mixed-lf-cr-crlf | 0 .../autocrlf_true,text}/few-utf8-chars-crlf | 0 .../autocrlf_true,text/few-utf8-chars-lf | 0 .../autocrlf_true,text}/many-utf8-chars-crlf | 0 .../autocrlf_true,text/many-utf8-chars-lf | 0 .../autocrlf_true,text}/mixed-lf-cr | 0 .../autocrlf_true,text}/mixed-lf-cr-crlf | 0 .../autocrlf_true,text}/more-crlf | 0 .../autocrlf_true,text}/more-crlf-utf8bom | 0 .../autocrlf_true,text}/more-lf | 0 .../autocrlf_true,text}/more-lf-utf8bom | 0 .../autocrlf_true,text/zero-byte | 0 .../all-crlf | 0 .../all-crlf-utf8bom | 0 .../autocrlf_true,text_auto,eol_crlf/all-lf | 0 .../all-lf-utf8bom | 0 .../binary-all-crlf} | 0 .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 3 + .../few-utf8-chars-crlf | 0 .../few-utf8-chars-lf | 0 .../many-utf8-chars-crlf | 0 .../many-utf8-chars-lf | 0 .../mixed-lf-cr | 3 + .../mixed-lf-cr-crlf | 3 + .../more-crlf | 5 + .../more-crlf-utf8bom | 5 + .../autocrlf_true,text_auto,eol_crlf/more-lf | 5 + .../more-lf-utf8bom | 5 + .../zero-byte | 0 .../autocrlf_true,text_auto,eol_lf}/all-crlf | 0 .../all-crlf-utf8bom | 0 .../autocrlf_true,text_auto,eol_lf/all-lf | 5 + .../all-lf-utf8bom | 5 + .../binary-all-crlf | 4 + .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 3 + .../few-utf8-chars-crlf | 0 .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf | 0 .../many-utf8-chars-lf | 4 + .../mixed-lf-cr | 3 + .../mixed-lf-cr-crlf | 3 + .../autocrlf_true,text_auto,eol_lf/more-crlf | 5 + .../more-crlf-utf8bom | 5 + .../autocrlf_true,text_auto,eol_lf/more-lf | 5 + .../more-lf-utf8bom | 5 + .../autocrlf_true,text_auto,eol_lf/zero-byte | 0 .../autocrlf_true,text_auto}/all-crlf | 0 .../autocrlf_true,text_auto}/all-crlf-utf8bom | 0 .../autocrlf_true,text_auto/all-lf | 0 .../autocrlf_true,text_auto/all-lf-utf8bom | 0 .../autocrlf_true,text_auto/binary-all-crlf | 4 + .../autocrlf_true,text_auto/binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 3 + .../few-utf8-chars-crlf | 0 .../autocrlf_true,text_auto/few-utf8-chars-lf | 0 .../many-utf8-chars-crlf | 0 .../many-utf8-chars-lf | 0 .../autocrlf_true,text_auto/mixed-lf-cr | 3 + .../autocrlf_true,text_auto/mixed-lf-cr-crlf | 3 + .../autocrlf_true,text_auto/more-crlf | 5 + .../autocrlf_true,text_auto/more-crlf-utf8bom | 5 + .../autocrlf_true,text_auto/more-lf | 5 + .../autocrlf_true,text_auto/more-lf-utf8bom | 5 + .../autocrlf_true,text_auto/zero-byte | 0 .../autocrlf_true}/all-crlf | 0 .../autocrlf_true}/all-crlf-utf8bom | 0 .../autocrlf_true/all-lf | 0 .../autocrlf_true/all-lf-utf8bom | 0 .../autocrlf_true/binary-all-crlf | 4 + .../autocrlf_true/binary-all-lf | 4 + .../autocrlf_true/binary-mixed-lf-cr | 3 + .../autocrlf_true/binary-mixed-lf-cr-crlf | 3 + .../autocrlf_true}/few-utf8-chars-crlf | 0 .../autocrlf_true/few-utf8-chars-lf | 0 .../autocrlf_true}/many-utf8-chars-crlf | 0 .../autocrlf_true/many-utf8-chars-lf | 0 .../autocrlf_true/mixed-lf-cr | 3 + .../autocrlf_true/mixed-lf-cr-crlf | 3 + .../posix_to_workdir/autocrlf_true/more-crlf | 5 + .../autocrlf_true/more-crlf-utf8bom | 5 + .../posix_to_workdir/autocrlf_true/more-lf | 5 + .../autocrlf_true/more-lf-utf8bom | 5 + .../posix_to_workdir/autocrlf_true/zero-byte | 0 .../windows/autocrlf_true,eol_crlf/more-crlf | 5 - .../autocrlf_true,eol_crlf/more-crlf-utf8bom | 5 - .../windows/autocrlf_true,eol_crlf/more-lf | 5 - .../autocrlf_true,eol_crlf/more-lf-utf8bom | 5 - .../autocrlf_true,text,eol_crlf/more-crlf | 5 - .../more-crlf-utf8bom | 5 - .../autocrlf_true,text,eol_crlf/more-lf | 5 - .../more-lf-utf8bom | 5 - .../autocrlf_true,text/binary-mixed-lf-cr | 3 - .../binary-mixed-lf-cr-crlf | 3 - .../windows/autocrlf_true,text/mixed-lf-cr | 3 - .../autocrlf_true,text/mixed-lf-cr-crlf | 3 - .../windows/autocrlf_true,text/more-crlf | 5 - .../autocrlf_true,text/more-crlf-utf8bom | 5 - .../windows/autocrlf_true,text/more-lf | 5 - .../autocrlf_true,text/more-lf-utf8bom | 5 - .../binary-mixed-lf-cr | 3 - .../binary-mixed-lf-cr-crlf | 3 - .../mixed-lf-cr | 3 - .../mixed-lf-cr-crlf | 3 - .../more-crlf | 5 - .../more-crlf-utf8bom | 5 - .../autocrlf_true,text_auto,eol_crlf/more-lf | 5 - .../more-lf-utf8bom | 5 - .../windows/autocrlf_true,text_auto/more-crlf | 5 - .../autocrlf_true,text_auto/more-crlf-utf8bom | 5 - .../windows/autocrlf_true,text_auto/more-lf | 5 - .../autocrlf_true,text_auto/more-lf-utf8bom | 5 - .../all-crlf | 0 .../all-crlf-utf8bom | 0 .../all-lf | 5 + .../all-lf-utf8bom | 5 + .../binary-all-crlf | 4 + .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 3 + .../few-utf8-chars-crlf | 0 .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf | 0 .../many-utf8-chars-lf | 4 + .../mixed-lf-cr | 3 + .../mixed-lf-cr-crlf | 3 + .../more-crlf | 5 + .../more-crlf-utf8bom | 5 + .../more-lf | 5 + .../more-lf-utf8bom | 5 + .../zero-byte | 0 .../all-crlf | 0 .../all-crlf-utf8bom | 0 .../all-lf | 5 + .../all-lf-utf8bom | 5 + .../binary-all-crlf | 4 + .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 3 + .../few-utf8-chars-crlf | 0 .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf | 0 .../many-utf8-chars-lf | 4 + .../mixed-lf-cr | 3 + .../mixed-lf-cr-crlf | 3 + .../more-crlf | 5 + .../more-crlf-utf8bom | 5 + .../more-lf | 5 + .../more-lf-utf8bom | 5 + .../zero-byte | 0 .../all-crlf | 4 + .../all-crlf-utf8bom | 4 + .../autocrlf_false,safecrlf_false,crlf/all-lf | 5 + .../all-lf-utf8bom | 5 + .../binary-all-crlf | 4 + .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 3 + .../few-utf8-chars-crlf | 22 + .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf | 4 + .../many-utf8-chars-lf | 4 + .../mixed-lf-cr | 3 + .../mixed-lf-cr-crlf | 3 + .../more-crlf | 5 + .../more-crlf-utf8bom | 5 + .../more-lf | 5 + .../more-lf-utf8bom | 5 + .../zero-byte | 0 .../all-crlf | 4 + .../all-crlf-utf8bom | 4 + .../all-lf | 5 + .../all-lf-utf8bom | 5 + .../binary-all-crlf | 4 + .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 3 + .../few-utf8-chars-crlf | 22 + .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf | 4 + .../many-utf8-chars-lf | 4 + .../mixed-lf-cr | 3 + .../mixed-lf-cr-crlf | 3 + .../more-crlf | 5 + .../more-crlf-utf8bom | 5 + .../more-lf | 5 + .../more-lf-utf8bom | 5 + .../zero-byte | 0 .../all-crlf | 4 + .../all-crlf-utf8bom | 4 + .../all-lf | 5 + .../all-lf-utf8bom | 5 + .../binary-all-crlf | 4 + .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 3 + .../few-utf8-chars-crlf | 22 + .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf | 4 + .../many-utf8-chars-lf | 4 + .../mixed-lf-cr | 3 + .../mixed-lf-cr-crlf | 3 + .../more-crlf | 5 + .../more-crlf-utf8bom | 5 + .../more-lf | 5 + .../more-lf-utf8bom | 5 + .../zero-byte | 0 .../all-crlf | 4 + .../all-crlf-utf8bom | 4 + .../all-lf | 5 + .../all-lf-utf8bom | 5 + .../binary-all-crlf | 4 + .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 3 + .../few-utf8-chars-crlf | 22 + .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf | 4 + .../many-utf8-chars-lf | 4 + .../mixed-lf-cr | 3 + .../mixed-lf-cr-crlf | 3 + .../more-crlf | 5 + .../more-crlf-utf8bom | 5 + .../more-lf | 5 + .../more-lf-utf8bom | 5 + .../zero-byte | 0 .../all-crlf | 4 + .../all-crlf-utf8bom | 4 + .../all-lf | 5 + .../all-lf-utf8bom | 5 + .../binary-all-crlf | 4 + .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 3 + .../few-utf8-chars-crlf | 22 + .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf | 4 + .../many-utf8-chars-lf | 4 + .../mixed-lf-cr | 3 + .../mixed-lf-cr-crlf | 3 + .../more-crlf | 5 + .../more-crlf-utf8bom | 5 + .../more-lf | 5 + .../more-lf-utf8bom | 5 + .../zero-byte | 0 .../all-crlf | 4 + .../all-crlf-utf8bom | 4 + .../autocrlf_false,safecrlf_false,text/all-lf | 5 + .../all-lf-utf8bom | 5 + .../binary-all-crlf | 4 + .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 3 + .../few-utf8-chars-crlf | 22 + .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf | 4 + .../many-utf8-chars-lf | 4 + .../mixed-lf-cr | 3 + .../mixed-lf-cr-crlf | 3 + .../more-crlf | 5 + .../more-crlf-utf8bom | 5 + .../more-lf | 5 + .../more-lf-utf8bom | 5 + .../zero-byte | 0 .../all-crlf | 4 + .../all-crlf-utf8bom | 4 + .../all-lf | 5 + .../all-lf-utf8bom | 5 + .../binary-all-crlf | 4 + .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 3 + .../few-utf8-chars-crlf | 22 + .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf | 4 + .../many-utf8-chars-lf | 4 + .../mixed-lf-cr | 3 + .../mixed-lf-cr-crlf | 3 + .../more-crlf | 5 + .../more-crlf-utf8bom | 5 + .../more-lf | 5 + .../more-lf-utf8bom | 5 + .../zero-byte | 0 .../all-crlf | 4 + .../all-crlf-utf8bom | 4 + .../all-lf | 5 + .../all-lf-utf8bom | 5 + .../binary-all-crlf | 4 + .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 3 + .../few-utf8-chars-crlf | 22 + .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf | 4 + .../many-utf8-chars-lf | 4 + .../mixed-lf-cr | 3 + .../mixed-lf-cr-crlf | 3 + .../more-crlf | 5 + .../more-crlf-utf8bom | 5 + .../more-lf | 5 + .../more-lf-utf8bom | 5 + .../zero-byte | 0 .../all-crlf | 4 + .../all-crlf-utf8bom | 4 + .../all-lf | 5 + .../all-lf-utf8bom | 5 + .../binary-all-crlf | 4 + .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 3 + .../few-utf8-chars-crlf | 22 + .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf | 4 + .../many-utf8-chars-lf | 4 + .../mixed-lf-cr | 3 + .../mixed-lf-cr-crlf | 3 + .../more-crlf | 5 + .../more-crlf-utf8bom | 5 + .../more-lf | 5 + .../more-lf-utf8bom | 5 + .../zero-byte | 0 .../autocrlf_false,safecrlf_false}/all-crlf | 0 .../all-crlf-utf8bom | 0 .../autocrlf_false,safecrlf_false/all-lf | 5 + .../all-lf-utf8bom | 5 + .../binary-all-crlf | 4 + .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 3 + .../few-utf8-chars-crlf | 0 .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf | 0 .../many-utf8-chars-lf | 4 + .../autocrlf_false,safecrlf_false/mixed-lf-cr | 3 + .../mixed-lf-cr-crlf | 3 + .../autocrlf_false,safecrlf_false/more-crlf | 5 + .../more-crlf-utf8bom | 5 + .../autocrlf_false,safecrlf_false/more-lf | 5 + .../more-lf-utf8bom | 5 + .../autocrlf_false,safecrlf_false/zero-byte | 0 .../all-crlf | 0 .../all-crlf-utf8bom | 0 .../autocrlf_false,safecrlf_true,-crlf/all-lf | 5 + .../all-lf-utf8bom | 5 + .../binary-all-crlf | 4 + .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 3 + .../few-utf8-chars-crlf | 0 .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf | 0 .../many-utf8-chars-lf | 4 + .../mixed-lf-cr | 3 + .../mixed-lf-cr-crlf | 3 + .../more-crlf | 5 + .../more-crlf-utf8bom | 5 + .../more-lf | 5 + .../more-lf-utf8bom | 5 + .../zero-byte | 0 .../all-crlf | 0 .../all-crlf-utf8bom | 0 .../autocrlf_false,safecrlf_true,-text/all-lf | 5 + .../all-lf-utf8bom | 5 + .../binary-all-crlf | 4 + .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 3 + .../few-utf8-chars-crlf | 0 .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf | 0 .../many-utf8-chars-lf | 4 + .../mixed-lf-cr | 3 + .../mixed-lf-cr-crlf | 3 + .../more-crlf | 5 + .../more-crlf-utf8bom | 5 + .../more-lf | 5 + .../more-lf-utf8bom | 5 + .../zero-byte | 0 .../all-crlf | 4 + .../all-crlf-utf8bom | 4 + .../all-lf-utf8bom.fail | 1 + .../all-lf.fail | 1 + .../binary-all-crlf | 4 + .../binary-all-lf.fail | 1 + .../binary-mixed-lf-cr-crlf.fail | 1 + .../binary-mixed-lf-cr.fail | 1 + .../few-utf8-chars-crlf | 22 + .../few-utf8-chars-lf.fail | 1 + .../many-utf8-chars-crlf | 4 + .../many-utf8-chars-lf.fail | 1 + .../mixed-lf-cr-crlf.fail | 1 + .../mixed-lf-cr.fail | 1 + .../more-crlf-utf8bom.fail | 1 + .../more-crlf.fail | 1 + .../more-lf-utf8bom.fail | 1 + .../more-lf.fail | 1 + .../zero-byte | 0 .../all-crlf | 4 + .../all-crlf-utf8bom | 4 + .../all-lf-utf8bom.fail | 1 + .../all-lf.fail | 1 + .../binary-all-crlf | 4 + .../binary-all-lf.fail | 1 + .../binary-mixed-lf-cr-crlf.fail | 1 + .../binary-mixed-lf-cr.fail | 1 + .../few-utf8-chars-crlf | 22 + .../few-utf8-chars-lf.fail | 1 + .../many-utf8-chars-crlf | 4 + .../many-utf8-chars-lf.fail | 1 + .../mixed-lf-cr-crlf.fail | 1 + .../mixed-lf-cr.fail | 1 + .../more-crlf-utf8bom.fail | 1 + .../more-crlf.fail | 1 + .../more-lf-utf8bom.fail | 1 + .../more-lf.fail | 1 + .../zero-byte | 0 .../all-crlf-utf8bom.fail | 1 + .../all-crlf.fail | 1 + .../all-lf | 5 + .../all-lf-utf8bom | 5 + .../binary-all-crlf.fail | 1 + .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf.fail | 1 + .../few-utf8-chars-crlf.fail | 1 + .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf.fail | 1 + .../many-utf8-chars-lf | 4 + .../mixed-lf-cr | 3 + .../mixed-lf-cr-crlf.fail | 1 + .../more-crlf-utf8bom.fail | 1 + .../more-crlf.fail | 1 + .../more-lf-utf8bom.fail | 1 + .../more-lf.fail | 1 + .../zero-byte | 0 .../all-crlf | 4 + .../all-crlf-utf8bom | 4 + .../all-lf-utf8bom.fail | 1 + .../all-lf.fail | 1 + .../binary-all-crlf | 4 + .../binary-all-lf.fail | 1 + .../binary-mixed-lf-cr-crlf.fail | 1 + .../binary-mixed-lf-cr.fail | 1 + .../few-utf8-chars-crlf | 22 + .../few-utf8-chars-lf.fail | 1 + .../many-utf8-chars-crlf | 4 + .../many-utf8-chars-lf.fail | 1 + .../mixed-lf-cr-crlf.fail | 1 + .../mixed-lf-cr.fail | 1 + .../more-crlf-utf8bom.fail | 1 + .../more-crlf.fail | 1 + .../more-lf-utf8bom.fail | 1 + .../more-lf.fail | 1 + .../zero-byte | 0 .../all-crlf-utf8bom.fail | 1 + .../all-crlf.fail | 1 + .../all-lf | 5 + .../all-lf-utf8bom | 5 + .../binary-all-crlf.fail | 1 + .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf.fail | 1 + .../few-utf8-chars-crlf.fail | 1 + .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf.fail | 1 + .../many-utf8-chars-lf | 4 + .../mixed-lf-cr | 3 + .../mixed-lf-cr-crlf.fail | 1 + .../more-crlf-utf8bom.fail | 1 + .../more-crlf.fail | 1 + .../more-lf-utf8bom.fail | 1 + .../more-lf.fail | 1 + .../zero-byte | 0 .../all-crlf | 4 + .../all-crlf-utf8bom | 4 + .../all-lf-utf8bom.fail | 1 + .../all-lf.fail | 1 + .../binary-all-crlf | 4 + .../binary-all-lf.fail | 1 + .../binary-mixed-lf-cr-crlf.fail | 1 + .../binary-mixed-lf-cr.fail | 1 + .../few-utf8-chars-crlf | 22 + .../few-utf8-chars-lf.fail | 1 + .../many-utf8-chars-crlf | 4 + .../many-utf8-chars-lf.fail | 1 + .../mixed-lf-cr-crlf.fail | 1 + .../mixed-lf-cr.fail | 1 + .../more-crlf-utf8bom.fail | 1 + .../more-crlf.fail | 1 + .../more-lf-utf8bom.fail | 1 + .../more-lf.fail | 1 + .../zero-byte | 0 .../all-crlf | 4 + .../all-crlf-utf8bom | 4 + .../all-lf-utf8bom.fail | 1 + .../all-lf.fail | 1 + .../binary-all-crlf | 4 + .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 3 + .../few-utf8-chars-crlf | 22 + .../few-utf8-chars-lf.fail | 1 + .../many-utf8-chars-crlf | 4 + .../many-utf8-chars-lf.fail | 1 + .../mixed-lf-cr | 3 + .../mixed-lf-cr-crlf | 3 + .../more-crlf-utf8bom.fail | 1 + .../more-crlf.fail | 1 + .../more-lf-utf8bom.fail | 1 + .../more-lf.fail | 1 + .../zero-byte | 0 .../all-crlf-utf8bom.fail | 1 + .../all-crlf.fail | 1 + .../all-lf | 5 + .../all-lf-utf8bom | 5 + .../binary-all-crlf | 4 + .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 3 + .../few-utf8-chars-crlf.fail | 1 + .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf.fail | 1 + .../many-utf8-chars-lf | 4 + .../mixed-lf-cr | 3 + .../mixed-lf-cr-crlf | 3 + .../more-crlf-utf8bom.fail | 1 + .../more-crlf.fail | 1 + .../more-lf-utf8bom.fail | 1 + .../more-lf.fail | 1 + .../zero-byte | 0 .../all-crlf | 4 + .../all-crlf-utf8bom | 4 + .../all-lf-utf8bom.fail | 1 + .../all-lf.fail | 1 + .../binary-all-crlf | 4 + .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 3 + .../few-utf8-chars-crlf | 22 + .../few-utf8-chars-lf.fail | 1 + .../many-utf8-chars-crlf | 4 + .../many-utf8-chars-lf.fail | 1 + .../mixed-lf-cr | 3 + .../mixed-lf-cr-crlf | 3 + .../more-crlf-utf8bom.fail | 1 + .../more-crlf.fail | 1 + .../more-lf-utf8bom.fail | 1 + .../more-lf.fail | 1 + .../zero-byte | 0 .../autocrlf_false,safecrlf_true}/all-crlf | 0 .../all-crlf-utf8bom | 0 .../autocrlf_false,safecrlf_true/all-lf | 5 + .../all-lf-utf8bom | 5 + .../binary-all-crlf | 4 + .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 3 + .../few-utf8-chars-crlf | 0 .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf | 0 .../many-utf8-chars-lf | 4 + .../autocrlf_false,safecrlf_true/mixed-lf-cr | 3 + .../mixed-lf-cr-crlf | 3 + .../autocrlf_false,safecrlf_true/more-crlf | 5 + .../more-crlf-utf8bom | 5 + .../autocrlf_false,safecrlf_true/more-lf | 5 + .../more-lf-utf8bom | 5 + .../autocrlf_false,safecrlf_true/zero-byte | 0 .../all-crlf | 0 .../all-crlf-utf8bom | 0 .../autocrlf_false,safecrlf_warn,-crlf/all-lf | 5 + .../all-lf-utf8bom | 5 + .../binary-all-crlf | 4 + .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 3 + .../few-utf8-chars-crlf | 0 .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf | 0 .../many-utf8-chars-lf | 4 + .../mixed-lf-cr | 3 + .../mixed-lf-cr-crlf | 3 + .../more-crlf | 5 + .../more-crlf-utf8bom | 5 + .../more-lf | 5 + .../more-lf-utf8bom | 5 + .../zero-byte | 0 .../all-crlf | 0 .../all-crlf-utf8bom | 0 .../autocrlf_false,safecrlf_warn,-text/all-lf | 5 + .../all-lf-utf8bom | 5 + .../binary-all-crlf | 4 + .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 3 + .../few-utf8-chars-crlf | 0 .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf | 0 .../many-utf8-chars-lf | 4 + .../mixed-lf-cr | 3 + .../mixed-lf-cr-crlf | 3 + .../more-crlf | 5 + .../more-crlf-utf8bom | 5 + .../more-lf | 5 + .../more-lf-utf8bom | 5 + .../zero-byte | 0 .../all-crlf | 4 + .../all-crlf-utf8bom | 4 + .../autocrlf_false,safecrlf_warn,crlf/all-lf | 5 + .../all-lf-utf8bom | 5 + .../binary-all-crlf | 4 + .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 3 + .../few-utf8-chars-crlf | 22 + .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf | 4 + .../many-utf8-chars-lf | 4 + .../mixed-lf-cr | 3 + .../mixed-lf-cr-crlf | 3 + .../more-crlf | 5 + .../more-crlf-utf8bom | 5 + .../autocrlf_false,safecrlf_warn,crlf/more-lf | 5 + .../more-lf-utf8bom | 5 + .../zero-byte | 0 .../all-crlf | 4 + .../all-crlf-utf8bom | 4 + .../all-lf | 5 + .../all-lf-utf8bom | 5 + .../binary-all-crlf | 4 + .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 3 + .../few-utf8-chars-crlf | 22 + .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf | 4 + .../many-utf8-chars-lf | 4 + .../mixed-lf-cr | 3 + .../mixed-lf-cr-crlf | 3 + .../more-crlf | 5 + .../more-crlf-utf8bom | 5 + .../more-lf | 5 + .../more-lf-utf8bom | 5 + .../zero-byte | 0 .../all-crlf | 4 + .../all-crlf-utf8bom | 4 + .../all-lf | 5 + .../all-lf-utf8bom | 5 + .../binary-all-crlf | 4 + .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 3 + .../few-utf8-chars-crlf | 22 + .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf | 4 + .../many-utf8-chars-lf | 4 + .../mixed-lf-cr | 3 + .../mixed-lf-cr-crlf | 3 + .../more-crlf | 5 + .../more-crlf-utf8bom | 5 + .../more-lf | 5 + .../more-lf-utf8bom | 5 + .../zero-byte | 0 .../all-crlf | 4 + .../all-crlf-utf8bom | 4 + .../all-lf | 5 + .../all-lf-utf8bom | 5 + .../binary-all-crlf | 4 + .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 3 + .../few-utf8-chars-crlf | 22 + .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf | 4 + .../many-utf8-chars-lf | 4 + .../mixed-lf-cr | 3 + .../mixed-lf-cr-crlf | 3 + .../more-crlf | 5 + .../more-crlf-utf8bom | 5 + .../more-lf | 5 + .../more-lf-utf8bom | 5 + .../zero-byte | 0 .../all-crlf | 4 + .../all-crlf-utf8bom | 4 + .../all-lf | 5 + .../all-lf-utf8bom | 5 + .../binary-all-crlf | 4 + .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 3 + .../few-utf8-chars-crlf | 22 + .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf | 4 + .../many-utf8-chars-lf | 4 + .../mixed-lf-cr | 3 + .../mixed-lf-cr-crlf | 3 + .../more-crlf | 5 + .../more-crlf-utf8bom | 5 + .../more-lf | 5 + .../more-lf-utf8bom | 5 + .../zero-byte | 0 .../all-crlf | 4 + .../all-crlf-utf8bom | 4 + .../autocrlf_false,safecrlf_warn,text/all-lf | 5 + .../all-lf-utf8bom | 5 + .../binary-all-crlf | 4 + .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 3 + .../few-utf8-chars-crlf | 22 + .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf | 4 + .../many-utf8-chars-lf | 4 + .../mixed-lf-cr | 3 + .../mixed-lf-cr-crlf | 3 + .../more-crlf | 5 + .../more-crlf-utf8bom | 5 + .../autocrlf_false,safecrlf_warn,text/more-lf | 5 + .../more-lf-utf8bom | 5 + .../zero-byte | 0 .../all-crlf | 4 + .../all-crlf-utf8bom | 4 + .../all-lf | 5 + .../all-lf-utf8bom | 5 + .../binary-all-crlf | 4 + .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 3 + .../few-utf8-chars-crlf | 22 + .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf | 4 + .../many-utf8-chars-lf | 4 + .../mixed-lf-cr | 3 + .../mixed-lf-cr-crlf | 3 + .../more-crlf | 5 + .../more-crlf-utf8bom | 5 + .../more-lf | 5 + .../more-lf-utf8bom | 5 + .../zero-byte | 0 .../all-crlf | 4 + .../all-crlf-utf8bom | 4 + .../all-lf | 5 + .../all-lf-utf8bom | 5 + .../binary-all-crlf | 4 + .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 3 + .../few-utf8-chars-crlf | 22 + .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf | 4 + .../many-utf8-chars-lf | 4 + .../mixed-lf-cr | 3 + .../mixed-lf-cr-crlf | 3 + .../more-crlf | 5 + .../more-crlf-utf8bom | 5 + .../more-lf | 5 + .../more-lf-utf8bom | 5 + .../zero-byte | 0 .../all-crlf | 4 + .../all-crlf-utf8bom | 4 + .../all-lf | 5 + .../all-lf-utf8bom | 5 + .../binary-all-crlf | 4 + .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 3 + .../few-utf8-chars-crlf | 22 + .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf | 4 + .../many-utf8-chars-lf | 4 + .../mixed-lf-cr | 3 + .../mixed-lf-cr-crlf | 3 + .../more-crlf | 5 + .../more-crlf-utf8bom | 5 + .../more-lf | 5 + .../more-lf-utf8bom | 5 + .../zero-byte | 0 .../autocrlf_false,safecrlf_warn}/all-crlf | 0 .../all-crlf-utf8bom | 0 .../autocrlf_false,safecrlf_warn/all-lf | 5 + .../all-lf-utf8bom | 5 + .../binary-all-crlf | 4 + .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 3 + .../few-utf8-chars-crlf | 0 .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf | 0 .../many-utf8-chars-lf | 4 + .../autocrlf_false,safecrlf_warn/mixed-lf-cr | 3 + .../mixed-lf-cr-crlf | 3 + .../autocrlf_false,safecrlf_warn/more-crlf | 5 + .../more-crlf-utf8bom | 5 + .../autocrlf_false,safecrlf_warn/more-lf | 5 + .../more-lf-utf8bom | 5 + .../autocrlf_false,safecrlf_warn/zero-byte | 0 .../all-crlf | 0 .../all-crlf-utf8bom | 0 .../all-lf | 5 + .../all-lf-utf8bom | 5 + .../binary-all-crlf | 4 + .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 3 + .../few-utf8-chars-crlf | 0 .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf | 0 .../many-utf8-chars-lf | 4 + .../mixed-lf-cr | 3 + .../mixed-lf-cr-crlf | 3 + .../more-crlf | 5 + .../more-crlf-utf8bom | 5 + .../more-lf | 5 + .../more-lf-utf8bom | 5 + .../zero-byte | 0 .../all-crlf | 0 .../all-crlf-utf8bom | 0 .../all-lf | 5 + .../all-lf-utf8bom | 5 + .../binary-all-crlf | 4 + .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 3 + .../few-utf8-chars-crlf | 0 .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf | 0 .../many-utf8-chars-lf | 4 + .../mixed-lf-cr | 3 + .../mixed-lf-cr-crlf | 3 + .../more-crlf | 5 + .../more-crlf-utf8bom | 5 + .../more-lf | 5 + .../more-lf-utf8bom | 5 + .../zero-byte | 0 .../all-crlf | 4 + .../all-crlf-utf8bom | 4 + .../autocrlf_input,safecrlf_false,crlf/all-lf | 5 + .../all-lf-utf8bom | 5 + .../binary-all-crlf | 4 + .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 3 + .../few-utf8-chars-crlf | 22 + .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf | 4 + .../many-utf8-chars-lf | 4 + .../mixed-lf-cr | 3 + .../mixed-lf-cr-crlf | 3 + .../more-crlf | 5 + .../more-crlf-utf8bom | 5 + .../more-lf | 5 + .../more-lf-utf8bom | 5 + .../zero-byte | 0 .../all-crlf | 4 + .../all-crlf-utf8bom | 4 + .../all-lf | 5 + .../all-lf-utf8bom | 5 + .../binary-all-crlf | 4 + .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 3 + .../few-utf8-chars-crlf | 22 + .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf | 4 + .../many-utf8-chars-lf | 4 + .../mixed-lf-cr | 3 + .../mixed-lf-cr-crlf | 3 + .../more-crlf | 5 + .../more-crlf-utf8bom | 5 + .../more-lf | 5 + .../more-lf-utf8bom | 5 + .../zero-byte | 0 .../all-crlf | 4 + .../all-crlf-utf8bom | 4 + .../all-lf | 5 + .../all-lf-utf8bom | 5 + .../binary-all-crlf | 4 + .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 3 + .../few-utf8-chars-crlf | 22 + .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf | 4 + .../many-utf8-chars-lf | 4 + .../mixed-lf-cr | 3 + .../mixed-lf-cr-crlf | 3 + .../more-crlf | 5 + .../more-crlf-utf8bom | 5 + .../more-lf | 5 + .../more-lf-utf8bom | 5 + .../zero-byte | 0 .../all-crlf | 4 + .../all-crlf-utf8bom | 4 + .../all-lf | 5 + .../all-lf-utf8bom | 5 + .../binary-all-crlf | 4 + .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 3 + .../few-utf8-chars-crlf | 22 + .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf | 4 + .../many-utf8-chars-lf | 4 + .../mixed-lf-cr | 3 + .../mixed-lf-cr-crlf | 3 + .../more-crlf | 5 + .../more-crlf-utf8bom | 5 + .../more-lf | 5 + .../more-lf-utf8bom | 5 + .../zero-byte | 0 .../all-crlf | 4 + .../all-crlf-utf8bom | 4 + .../all-lf | 5 + .../all-lf-utf8bom | 5 + .../binary-all-crlf | 4 + .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 3 + .../few-utf8-chars-crlf | 22 + .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf | 4 + .../many-utf8-chars-lf | 4 + .../mixed-lf-cr | 3 + .../mixed-lf-cr-crlf | 3 + .../more-crlf | 5 + .../more-crlf-utf8bom | 5 + .../more-lf | 5 + .../more-lf-utf8bom | 5 + .../zero-byte | 0 .../all-crlf | 4 + .../all-crlf-utf8bom | 4 + .../autocrlf_input,safecrlf_false,text/all-lf | 5 + .../all-lf-utf8bom | 5 + .../binary-all-crlf | 4 + .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 3 + .../few-utf8-chars-crlf | 22 + .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf | 4 + .../many-utf8-chars-lf | 4 + .../mixed-lf-cr | 3 + .../mixed-lf-cr-crlf | 3 + .../more-crlf | 5 + .../more-crlf-utf8bom | 5 + .../more-lf | 5 + .../more-lf-utf8bom | 5 + .../zero-byte | 0 .../all-crlf | 4 + .../all-crlf-utf8bom | 4 + .../all-lf | 5 + .../all-lf-utf8bom | 5 + .../binary-all-crlf | 4 + .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 3 + .../few-utf8-chars-crlf | 22 + .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf | 4 + .../many-utf8-chars-lf | 4 + .../mixed-lf-cr | 3 + .../mixed-lf-cr-crlf | 3 + .../more-crlf | 5 + .../more-crlf-utf8bom | 5 + .../more-lf | 5 + .../more-lf-utf8bom | 5 + .../zero-byte | 0 .../all-crlf | 4 + .../all-crlf-utf8bom | 4 + .../all-lf | 5 + .../all-lf-utf8bom | 5 + .../binary-all-crlf | 4 + .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 3 + .../few-utf8-chars-crlf | 22 + .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf | 4 + .../many-utf8-chars-lf | 4 + .../mixed-lf-cr | 3 + .../mixed-lf-cr-crlf | 3 + .../more-crlf | 5 + .../more-crlf-utf8bom | 5 + .../more-lf | 5 + .../more-lf-utf8bom | 5 + .../zero-byte | 0 .../all-crlf | 4 + .../all-crlf-utf8bom | 4 + .../all-lf | 5 + .../all-lf-utf8bom | 5 + .../binary-all-crlf | 4 + .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 3 + .../few-utf8-chars-crlf | 22 + .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf | 4 + .../many-utf8-chars-lf | 4 + .../mixed-lf-cr | 3 + .../mixed-lf-cr-crlf | 3 + .../more-crlf | 5 + .../more-crlf-utf8bom | 5 + .../more-lf | 5 + .../more-lf-utf8bom | 5 + .../zero-byte | 0 .../autocrlf_input,safecrlf_false/all-crlf | 4 + .../all-crlf-utf8bom | 4 + .../autocrlf_input,safecrlf_false/all-lf | 5 + .../all-lf-utf8bom | 5 + .../binary-all-crlf | 4 + .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 3 + .../few-utf8-chars-crlf | 22 + .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf | 4 + .../many-utf8-chars-lf | 4 + .../autocrlf_input,safecrlf_false/mixed-lf-cr | 3 + .../mixed-lf-cr-crlf | 3 + .../autocrlf_input,safecrlf_false/more-crlf | 5 + .../more-crlf-utf8bom | 5 + .../autocrlf_input,safecrlf_false/more-lf | 5 + .../more-lf-utf8bom | 5 + .../autocrlf_input,safecrlf_false/zero-byte | 0 .../all-crlf | 0 .../all-crlf-utf8bom | 0 .../autocrlf_input,safecrlf_true,-crlf/all-lf | 5 + .../all-lf-utf8bom | 5 + .../binary-all-crlf | 4 + .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 3 + .../few-utf8-chars-crlf | 0 .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf | 0 .../many-utf8-chars-lf | 4 + .../mixed-lf-cr | 3 + .../mixed-lf-cr-crlf | 3 + .../more-crlf | 5 + .../more-crlf-utf8bom | 5 + .../more-lf | 5 + .../more-lf-utf8bom | 5 + .../zero-byte | 0 .../all-crlf | 0 .../all-crlf-utf8bom | 0 .../autocrlf_input,safecrlf_true,-text/all-lf | 5 + .../all-lf-utf8bom | 5 + .../binary-all-crlf | 4 + .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 3 + .../few-utf8-chars-crlf | 0 .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf | 0 .../many-utf8-chars-lf | 4 + .../mixed-lf-cr | 3 + .../mixed-lf-cr-crlf | 3 + .../more-crlf | 5 + .../more-crlf-utf8bom | 5 + .../more-lf | 5 + .../more-lf-utf8bom | 5 + .../zero-byte | 0 .../all-crlf-utf8bom.fail | 1 + .../all-crlf.fail | 1 + .../autocrlf_input,safecrlf_true,crlf/all-lf | 5 + .../all-lf-utf8bom | 5 + .../binary-all-crlf.fail | 1 + .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf.fail | 1 + .../few-utf8-chars-crlf.fail | 1 + .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf.fail | 1 + .../many-utf8-chars-lf | 4 + .../mixed-lf-cr | 3 + .../mixed-lf-cr-crlf.fail | 1 + .../more-crlf-utf8bom.fail | 1 + .../more-crlf.fail | 1 + .../more-lf-utf8bom.fail | 1 + .../more-lf.fail | 1 + .../zero-byte | 0 .../all-crlf | 4 + .../all-crlf-utf8bom | 4 + .../all-lf-utf8bom.fail | 1 + .../all-lf.fail | 1 + .../binary-all-crlf | 4 + .../binary-all-lf.fail | 1 + .../binary-mixed-lf-cr-crlf.fail | 1 + .../binary-mixed-lf-cr.fail | 1 + .../few-utf8-chars-crlf | 22 + .../few-utf8-chars-lf.fail | 1 + .../many-utf8-chars-crlf | 4 + .../many-utf8-chars-lf.fail | 1 + .../mixed-lf-cr-crlf.fail | 1 + .../mixed-lf-cr.fail | 1 + .../more-crlf-utf8bom.fail | 1 + .../more-crlf.fail | 1 + .../more-lf-utf8bom.fail | 1 + .../more-lf.fail | 1 + .../zero-byte | 0 .../all-crlf-utf8bom.fail | 1 + .../all-crlf.fail | 1 + .../all-lf | 5 + .../all-lf-utf8bom | 5 + .../binary-all-crlf.fail | 1 + .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf.fail | 1 + .../few-utf8-chars-crlf.fail | 1 + .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf.fail | 1 + .../many-utf8-chars-lf | 4 + .../mixed-lf-cr | 3 + .../mixed-lf-cr-crlf.fail | 1 + .../more-crlf-utf8bom.fail | 1 + .../more-crlf.fail | 1 + .../more-lf-utf8bom.fail | 1 + .../more-lf.fail | 1 + .../zero-byte | 0 .../all-crlf | 4 + .../all-crlf-utf8bom | 4 + .../all-lf-utf8bom.fail | 1 + .../all-lf.fail | 1 + .../binary-all-crlf | 4 + .../binary-all-lf.fail | 1 + .../binary-mixed-lf-cr-crlf.fail | 1 + .../binary-mixed-lf-cr.fail | 1 + .../few-utf8-chars-crlf | 22 + .../few-utf8-chars-lf.fail | 1 + .../many-utf8-chars-crlf | 4 + .../many-utf8-chars-lf.fail | 1 + .../mixed-lf-cr-crlf.fail | 1 + .../mixed-lf-cr.fail | 1 + .../more-crlf-utf8bom.fail | 1 + .../more-crlf.fail | 1 + .../more-lf-utf8bom.fail | 1 + .../more-lf.fail | 1 + .../zero-byte | 0 .../all-crlf-utf8bom.fail | 1 + .../all-crlf.fail | 1 + .../all-lf | 5 + .../all-lf-utf8bom | 5 + .../binary-all-crlf.fail | 1 + .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf.fail | 1 + .../few-utf8-chars-crlf.fail | 1 + .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf.fail | 1 + .../many-utf8-chars-lf | 4 + .../mixed-lf-cr | 3 + .../mixed-lf-cr-crlf.fail | 1 + .../more-crlf-utf8bom.fail | 1 + .../more-crlf.fail | 1 + .../more-lf-utf8bom.fail | 1 + .../more-lf.fail | 1 + .../zero-byte | 0 .../all-crlf-utf8bom.fail | 1 + .../all-crlf.fail | 1 + .../autocrlf_input,safecrlf_true,text/all-lf | 5 + .../all-lf-utf8bom | 5 + .../binary-all-crlf.fail | 1 + .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf.fail | 1 + .../few-utf8-chars-crlf.fail | 1 + .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf.fail | 1 + .../many-utf8-chars-lf | 4 + .../mixed-lf-cr | 3 + .../mixed-lf-cr-crlf.fail | 1 + .../more-crlf-utf8bom.fail | 1 + .../more-crlf.fail | 1 + .../more-lf-utf8bom.fail | 1 + .../more-lf.fail | 1 + .../zero-byte | 0 .../all-crlf | 4 + .../all-crlf-utf8bom | 4 + .../all-lf-utf8bom.fail | 1 + .../all-lf.fail | 1 + .../binary-all-crlf | 4 + .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 3 + .../few-utf8-chars-crlf | 22 + .../few-utf8-chars-lf.fail | 1 + .../many-utf8-chars-crlf | 4 + .../many-utf8-chars-lf.fail | 1 + .../mixed-lf-cr | 3 + .../mixed-lf-cr-crlf | 3 + .../more-crlf-utf8bom.fail | 1 + .../more-crlf.fail | 1 + .../more-lf-utf8bom.fail | 1 + .../more-lf.fail | 1 + .../zero-byte | 0 .../all-crlf-utf8bom.fail | 1 + .../all-crlf.fail | 1 + .../all-lf | 5 + .../all-lf-utf8bom | 5 + .../binary-all-crlf | 4 + .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 3 + .../few-utf8-chars-crlf.fail | 1 + .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf.fail | 1 + .../many-utf8-chars-lf | 4 + .../mixed-lf-cr | 3 + .../mixed-lf-cr-crlf | 3 + .../more-crlf-utf8bom.fail | 1 + .../more-crlf.fail | 1 + .../more-lf-utf8bom.fail | 1 + .../more-lf.fail | 1 + .../zero-byte | 0 .../all-crlf-utf8bom.fail | 1 + .../all-crlf.fail | 1 + .../all-lf | 5 + .../all-lf-utf8bom | 5 + .../binary-all-crlf | 4 + .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 3 + .../few-utf8-chars-crlf.fail | 1 + .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf.fail | 1 + .../many-utf8-chars-lf | 4 + .../mixed-lf-cr | 3 + .../mixed-lf-cr-crlf | 3 + .../more-crlf-utf8bom.fail | 1 + .../more-crlf.fail | 1 + .../more-lf-utf8bom.fail | 1 + .../more-lf.fail | 1 + .../zero-byte | 0 .../all-crlf-utf8bom.fail | 1 + .../all-crlf.fail | 1 + .../autocrlf_input,safecrlf_true/all-lf | 5 + .../all-lf-utf8bom | 5 + .../binary-all-crlf | 4 + .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 3 + .../few-utf8-chars-crlf.fail | 1 + .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf.fail | 1 + .../many-utf8-chars-lf | 4 + .../autocrlf_input,safecrlf_true/mixed-lf-cr | 3 + .../mixed-lf-cr-crlf | 3 + .../more-crlf-utf8bom.fail | 1 + .../more-crlf.fail | 1 + .../more-lf-utf8bom.fail | 1 + .../autocrlf_input,safecrlf_true/more-lf.fail | 1 + .../autocrlf_input,safecrlf_true/zero-byte | 0 .../all-crlf | 0 .../all-crlf-utf8bom | 0 .../autocrlf_input,safecrlf_warn,-crlf/all-lf | 5 + .../all-lf-utf8bom | 5 + .../binary-all-crlf | 4 + .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 3 + .../few-utf8-chars-crlf | 0 .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf | 0 .../many-utf8-chars-lf | 4 + .../mixed-lf-cr | 3 + .../mixed-lf-cr-crlf | 3 + .../more-crlf | 5 + .../more-crlf-utf8bom | 5 + .../more-lf | 5 + .../more-lf-utf8bom | 5 + .../zero-byte | 0 .../all-crlf | 4 + .../all-crlf-utf8bom | 4 + .../autocrlf_input,safecrlf_warn,-text/all-lf | 5 + .../all-lf-utf8bom | 5 + .../binary-all-crlf | 4 + .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 3 + .../few-utf8-chars-crlf} | 0 .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf} | 0 .../many-utf8-chars-lf | 4 + .../mixed-lf-cr | 3 + .../mixed-lf-cr-crlf | 3 + .../more-crlf | 5 + .../more-crlf-utf8bom | 5 + .../more-lf | 5 + .../more-lf-utf8bom | 5 + .../zero-byte | 0 .../all-crlf | 4 + .../all-crlf-utf8bom | 4 + .../autocrlf_input,safecrlf_warn,crlf/all-lf | 5 + .../all-lf-utf8bom | 5 + .../binary-all-crlf | 4 + .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 3 + .../few-utf8-chars-crlf | 22 + .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf | 4 + .../many-utf8-chars-lf | 4 + .../mixed-lf-cr | 3 + .../mixed-lf-cr-crlf | 3 + .../more-crlf | 5 + .../more-crlf-utf8bom | 5 + .../autocrlf_input,safecrlf_warn,crlf/more-lf | 5 + .../more-lf-utf8bom | 5 + .../zero-byte | 0 .../all-crlf | 4 + .../all-crlf-utf8bom | 4 + .../all-lf | 5 + .../all-lf-utf8bom | 5 + .../binary-all-crlf | 4 + .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 3 + .../few-utf8-chars-crlf | 22 + .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf | 4 + .../many-utf8-chars-lf | 4 + .../mixed-lf-cr | 3 + .../mixed-lf-cr-crlf | 3 + .../more-crlf | 5 + .../more-crlf-utf8bom | 5 + .../more-lf | 5 + .../more-lf-utf8bom | 5 + .../zero-byte | 0 .../all-crlf | 4 + .../all-crlf-utf8bom | 4 + .../all-lf | 5 + .../all-lf-utf8bom | 5 + .../binary-all-crlf | 4 + .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 3 + .../few-utf8-chars-crlf | 22 + .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf | 4 + .../many-utf8-chars-lf | 4 + .../mixed-lf-cr | 3 + .../mixed-lf-cr-crlf | 3 + .../more-crlf | 5 + .../more-crlf-utf8bom | 5 + .../more-lf | 5 + .../more-lf-utf8bom | 5 + .../zero-byte | 0 .../all-crlf | 4 + .../all-crlf-utf8bom | 4 + .../all-lf | 5 + .../all-lf-utf8bom | 5 + .../binary-all-crlf | 4 + .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 3 + .../few-utf8-chars-crlf | 22 + .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf | 4 + .../many-utf8-chars-lf | 4 + .../mixed-lf-cr | 3 + .../mixed-lf-cr-crlf | 3 + .../more-crlf | 5 + .../more-crlf-utf8bom | 5 + .../more-lf | 5 + .../more-lf-utf8bom | 5 + .../zero-byte | 0 .../all-crlf | 4 + .../all-crlf-utf8bom | 4 + .../all-lf | 5 + .../all-lf-utf8bom | 5 + .../binary-all-crlf | 4 + .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 3 + .../few-utf8-chars-crlf | 22 + .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf | 4 + .../many-utf8-chars-lf | 4 + .../mixed-lf-cr | 3 + .../mixed-lf-cr-crlf | 3 + .../more-crlf | 5 + .../more-crlf-utf8bom | 5 + .../more-lf | 5 + .../more-lf-utf8bom | 5 + .../zero-byte | 0 .../all-crlf | 4 + .../all-crlf-utf8bom | 4 + .../autocrlf_input,safecrlf_warn,text/all-lf | 5 + .../all-lf-utf8bom | 5 + .../binary-all-crlf | 4 + .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 3 + .../few-utf8-chars-crlf | 22 + .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf | 4 + .../many-utf8-chars-lf | 4 + .../mixed-lf-cr | 3 + .../mixed-lf-cr-crlf | 3 + .../more-crlf | 5 + .../more-crlf-utf8bom | 5 + .../autocrlf_input,safecrlf_warn,text/more-lf | 5 + .../more-lf-utf8bom | 5 + .../zero-byte | 0 .../all-crlf | 4 + .../all-crlf-utf8bom | 4 + .../all-lf | 5 + .../all-lf-utf8bom | 5 + .../binary-all-crlf | 4 + .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 3 + .../few-utf8-chars-crlf | 22 + .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf | 4 + .../many-utf8-chars-lf | 4 + .../mixed-lf-cr | 3 + .../mixed-lf-cr-crlf | 3 + .../more-crlf | 5 + .../more-crlf-utf8bom | 5 + .../more-lf | 5 + .../more-lf-utf8bom | 5 + .../zero-byte | 0 .../all-crlf | 4 + .../all-crlf-utf8bom | 4 + .../all-lf | 5 + .../all-lf-utf8bom | 5 + .../binary-all-crlf | 4 + .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 3 + .../few-utf8-chars-crlf | 22 + .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf | 4 + .../many-utf8-chars-lf | 4 + .../mixed-lf-cr | 3 + .../mixed-lf-cr-crlf | 3 + .../more-crlf | 5 + .../more-crlf-utf8bom | 5 + .../more-lf | 5 + .../more-lf-utf8bom | 5 + .../zero-byte | 0 .../all-crlf | 4 + .../all-crlf-utf8bom | 4 + .../all-lf | 5 + .../all-lf-utf8bom | 5 + .../binary-all-crlf | 4 + .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 3 + .../few-utf8-chars-crlf | 22 + .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf | 4 + .../many-utf8-chars-lf | 4 + .../mixed-lf-cr | 3 + .../mixed-lf-cr-crlf | 3 + .../more-crlf | 5 + .../more-crlf-utf8bom | 5 + .../more-lf | 5 + .../more-lf-utf8bom | 5 + .../zero-byte | 0 .../autocrlf_input,safecrlf_warn/all-crlf | 4 + .../all-crlf-utf8bom | 4 + .../autocrlf_input,safecrlf_warn/all-lf | 5 + .../all-lf-utf8bom | 5 + .../binary-all-crlf | 4 + .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 3 + .../few-utf8-chars-crlf | 22 + .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf | 4 + .../many-utf8-chars-lf | 4 + .../autocrlf_input,safecrlf_warn/mixed-lf-cr | 3 + .../mixed-lf-cr-crlf | 3 + .../autocrlf_input,safecrlf_warn/more-crlf | 5 + .../more-crlf-utf8bom | 5 + .../autocrlf_input,safecrlf_warn/more-lf | 5 + .../more-lf-utf8bom | 5 + .../autocrlf_input,safecrlf_warn/zero-byte | 0 .../all-crlf | 4 + .../all-crlf-utf8bom | 4 + .../autocrlf_true,safecrlf_false,-crlf/all-lf | 5 + .../all-lf-utf8bom | 5 + .../binary-all-crlf | 4 + .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 3 + .../few-utf8-chars-crlf} | 0 .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf} | 0 .../many-utf8-chars-lf | 4 + .../mixed-lf-cr | 3 + .../mixed-lf-cr-crlf | 3 + .../more-crlf | 5 + .../more-crlf-utf8bom | 5 + .../more-lf | 5 + .../more-lf-utf8bom | 5 + .../zero-byte | 0 .../all-crlf | 4 + .../all-crlf-utf8bom | 4 + .../autocrlf_true,safecrlf_false,-text/all-lf | 5 + .../all-lf-utf8bom | 5 + .../binary-all-crlf | 4 + .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 3 + .../few-utf8-chars-crlf} | 0 .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf} | 0 .../many-utf8-chars-lf | 4 + .../mixed-lf-cr | 3 + .../mixed-lf-cr-crlf | 3 + .../more-crlf | 5 + .../more-crlf-utf8bom | 5 + .../more-lf | 5 + .../more-lf-utf8bom | 5 + .../zero-byte | 0 .../all-crlf | 4 + .../all-crlf-utf8bom | 4 + .../autocrlf_true,safecrlf_false,crlf/all-lf | 5 + .../all-lf-utf8bom | 5 + .../binary-all-crlf | 4 + .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 3 + .../few-utf8-chars-crlf | 22 + .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf | 4 + .../many-utf8-chars-lf | 4 + .../mixed-lf-cr | 3 + .../mixed-lf-cr-crlf | 3 + .../more-crlf | 5 + .../more-crlf-utf8bom | 5 + .../autocrlf_true,safecrlf_false,crlf/more-lf | 5 + .../more-lf-utf8bom | 5 + .../zero-byte | 0 .../all-crlf | 4 + .../all-crlf-utf8bom | 4 + .../all-lf | 5 + .../all-lf-utf8bom | 5 + .../binary-all-crlf | 4 + .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 3 + .../few-utf8-chars-crlf | 22 + .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf | 4 + .../many-utf8-chars-lf | 4 + .../mixed-lf-cr | 3 + .../mixed-lf-cr-crlf | 3 + .../more-crlf | 5 + .../more-crlf-utf8bom | 5 + .../more-lf | 5 + .../more-lf-utf8bom | 5 + .../zero-byte | 0 .../all-crlf | 4 + .../all-crlf-utf8bom | 4 + .../all-lf | 5 + .../all-lf-utf8bom | 5 + .../binary-all-crlf | 4 + .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 3 + .../few-utf8-chars-crlf | 22 + .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf | 4 + .../many-utf8-chars-lf | 4 + .../mixed-lf-cr | 3 + .../mixed-lf-cr-crlf | 3 + .../more-crlf | 5 + .../more-crlf-utf8bom | 5 + .../more-lf | 5 + .../more-lf-utf8bom | 5 + .../zero-byte | 0 .../all-crlf | 4 + .../all-crlf-utf8bom | 4 + .../all-lf | 5 + .../all-lf-utf8bom | 5 + .../binary-all-crlf | 4 + .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 3 + .../few-utf8-chars-crlf | 22 + .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf | 4 + .../many-utf8-chars-lf | 4 + .../mixed-lf-cr | 3 + .../mixed-lf-cr-crlf | 3 + .../more-crlf | 5 + .../more-crlf-utf8bom | 5 + .../more-lf | 5 + .../more-lf-utf8bom | 5 + .../zero-byte | 0 .../all-crlf | 4 + .../all-crlf-utf8bom | 4 + .../all-lf | 5 + .../all-lf-utf8bom | 5 + .../binary-all-crlf | 4 + .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 3 + .../few-utf8-chars-crlf | 22 + .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf | 4 + .../many-utf8-chars-lf | 4 + .../mixed-lf-cr | 3 + .../mixed-lf-cr-crlf | 3 + .../more-crlf | 5 + .../more-crlf-utf8bom | 5 + .../more-lf | 5 + .../more-lf-utf8bom | 5 + .../zero-byte | 0 .../all-crlf | 4 + .../all-crlf-utf8bom | 4 + .../autocrlf_true,safecrlf_false,text/all-lf | 5 + .../all-lf-utf8bom | 5 + .../binary-all-crlf | 4 + .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 3 + .../few-utf8-chars-crlf | 22 + .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf | 4 + .../many-utf8-chars-lf | 4 + .../mixed-lf-cr | 3 + .../mixed-lf-cr-crlf | 3 + .../more-crlf | 5 + .../more-crlf-utf8bom | 5 + .../autocrlf_true,safecrlf_false,text/more-lf | 5 + .../more-lf-utf8bom | 5 + .../zero-byte | 0 .../all-crlf | 4 + .../all-crlf-utf8bom | 4 + .../all-lf | 5 + .../all-lf-utf8bom | 5 + .../binary-all-crlf | 4 + .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 3 + .../few-utf8-chars-crlf | 22 + .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf | 4 + .../many-utf8-chars-lf | 4 + .../mixed-lf-cr | 3 + .../mixed-lf-cr-crlf | 3 + .../more-crlf | 5 + .../more-crlf-utf8bom | 5 + .../more-lf | 5 + .../more-lf-utf8bom | 5 + .../zero-byte | 0 .../all-crlf | 4 + .../all-crlf-utf8bom | 4 + .../all-lf | 5 + .../all-lf-utf8bom | 5 + .../binary-all-crlf | 4 + .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 3 + .../few-utf8-chars-crlf | 22 + .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf | 4 + .../many-utf8-chars-lf | 4 + .../mixed-lf-cr | 3 + .../mixed-lf-cr-crlf | 3 + .../more-crlf | 5 + .../more-crlf-utf8bom | 5 + .../more-lf | 5 + .../more-lf-utf8bom | 5 + .../zero-byte | 0 .../all-crlf | 4 + .../all-crlf-utf8bom | 4 + .../all-lf | 5 + .../all-lf-utf8bom | 5 + .../binary-all-crlf | 4 + .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 3 + .../few-utf8-chars-crlf | 22 + .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf | 4 + .../many-utf8-chars-lf | 4 + .../mixed-lf-cr | 3 + .../mixed-lf-cr-crlf | 3 + .../more-crlf | 5 + .../more-crlf-utf8bom | 5 + .../more-lf | 5 + .../more-lf-utf8bom | 5 + .../zero-byte | 0 .../autocrlf_true,safecrlf_false/all-crlf | 4 + .../all-crlf-utf8bom | 4 + .../autocrlf_true,safecrlf_false/all-lf | 5 + .../all-lf-utf8bom | 5 + .../binary-all-crlf | 4 + .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 3 + .../few-utf8-chars-crlf | 22 + .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf | 4 + .../many-utf8-chars-lf | 4 + .../autocrlf_true,safecrlf_false/mixed-lf-cr | 3 + .../mixed-lf-cr-crlf | 3 + .../autocrlf_true,safecrlf_false/more-crlf | 5 + .../more-crlf-utf8bom | 5 + .../autocrlf_true,safecrlf_false/more-lf | 5 + .../more-lf-utf8bom | 5 + .../autocrlf_true,safecrlf_false/zero-byte | 0 .../all-crlf | 4 + .../all-crlf-utf8bom | 4 + .../autocrlf_true,safecrlf_true,-crlf/all-lf | 5 + .../all-lf-utf8bom | 5 + .../binary-all-crlf | 4 + .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 3 + .../few-utf8-chars-crlf} | 0 .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf} | 0 .../many-utf8-chars-lf | 4 + .../mixed-lf-cr | 3 + .../mixed-lf-cr-crlf | 3 + .../more-crlf | 5 + .../more-crlf-utf8bom | 5 + .../autocrlf_true,safecrlf_true,-crlf/more-lf | 5 + .../more-lf-utf8bom | 5 + .../zero-byte | 0 .../all-crlf | 4 + .../all-crlf-utf8bom | 4 + .../autocrlf_true,safecrlf_true,-text/all-lf | 5 + .../all-lf-utf8bom | 5 + .../binary-all-crlf | 4 + .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 3 + .../few-utf8-chars-crlf} | 0 .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf} | 0 .../many-utf8-chars-lf | 4 + .../mixed-lf-cr | 3 + .../mixed-lf-cr-crlf | 3 + .../more-crlf | 5 + .../more-crlf-utf8bom | 5 + .../autocrlf_true,safecrlf_true,-text/more-lf | 5 + .../more-lf-utf8bom | 5 + .../zero-byte | 0 .../autocrlf_true,safecrlf_true,crlf/all-crlf | 4 + .../all-crlf-utf8bom | 4 + .../all-lf-utf8bom.fail | 1 + .../all-lf.fail | 1 + .../binary-all-crlf | 4 + .../binary-all-lf.fail | 1 + .../binary-mixed-lf-cr-crlf.fail | 1 + .../binary-mixed-lf-cr.fail | 1 + .../few-utf8-chars-crlf | 22 + .../few-utf8-chars-lf.fail | 1 + .../many-utf8-chars-crlf | 4 + .../many-utf8-chars-lf.fail | 1 + .../mixed-lf-cr-crlf.fail | 1 + .../mixed-lf-cr.fail | 1 + .../more-crlf-utf8bom.fail | 1 + .../more-crlf.fail | 1 + .../more-lf-utf8bom.fail | 1 + .../more-lf.fail | 1 + .../zero-byte | 0 .../all-crlf | 4 + .../all-crlf-utf8bom | 4 + .../all-lf-utf8bom.fail | 1 + .../all-lf.fail | 1 + .../binary-all-crlf | 4 + .../binary-all-lf.fail | 1 + .../binary-mixed-lf-cr-crlf.fail | 1 + .../binary-mixed-lf-cr.fail | 1 + .../few-utf8-chars-crlf | 22 + .../few-utf8-chars-lf.fail | 1 + .../many-utf8-chars-crlf | 4 + .../many-utf8-chars-lf.fail | 1 + .../mixed-lf-cr-crlf.fail | 1 + .../mixed-lf-cr.fail | 1 + .../more-crlf-utf8bom.fail | 1 + .../more-crlf.fail | 1 + .../more-lf-utf8bom.fail | 1 + .../more-lf.fail | 1 + .../zero-byte | 0 .../all-crlf-utf8bom.fail | 1 + .../all-crlf.fail | 1 + .../autocrlf_true,safecrlf_true,eol_lf/all-lf | 5 + .../all-lf-utf8bom | 5 + .../binary-all-crlf.fail | 1 + .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf.fail | 1 + .../few-utf8-chars-crlf.fail | 1 + .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf.fail | 1 + .../many-utf8-chars-lf | 4 + .../mixed-lf-cr | 3 + .../mixed-lf-cr-crlf.fail | 1 + .../more-crlf-utf8bom.fail | 1 + .../more-crlf.fail | 1 + .../more-lf-utf8bom.fail | 1 + .../more-lf.fail | 1 + .../zero-byte | 0 .../all-crlf | 4 + .../all-crlf-utf8bom | 4 + .../all-lf-utf8bom.fail | 1 + .../all-lf.fail | 1 + .../binary-all-crlf | 4 + .../binary-all-lf.fail | 1 + .../binary-mixed-lf-cr-crlf.fail | 1 + .../binary-mixed-lf-cr.fail | 1 + .../few-utf8-chars-crlf | 22 + .../few-utf8-chars-lf.fail | 1 + .../many-utf8-chars-crlf | 4 + .../many-utf8-chars-lf.fail | 1 + .../mixed-lf-cr-crlf.fail | 1 + .../mixed-lf-cr.fail | 1 + .../more-crlf-utf8bom.fail | 1 + .../more-crlf.fail | 1 + .../more-lf-utf8bom.fail | 1 + .../more-lf.fail | 1 + .../zero-byte | 0 .../all-crlf-utf8bom.fail | 1 + .../all-crlf.fail | 1 + .../all-lf | 5 + .../all-lf-utf8bom | 5 + .../binary-all-crlf.fail | 1 + .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf.fail | 1 + .../few-utf8-chars-crlf.fail | 1 + .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf.fail | 1 + .../many-utf8-chars-lf | 4 + .../mixed-lf-cr | 3 + .../mixed-lf-cr-crlf.fail | 1 + .../more-crlf-utf8bom.fail | 1 + .../more-crlf.fail | 1 + .../more-lf-utf8bom.fail | 1 + .../more-lf.fail | 1 + .../zero-byte | 0 .../autocrlf_true,safecrlf_true,text/all-crlf | 4 + .../all-crlf-utf8bom | 4 + .../all-lf-utf8bom.fail | 1 + .../all-lf.fail | 1 + .../binary-all-crlf | 4 + .../binary-all-lf.fail | 1 + .../binary-mixed-lf-cr-crlf.fail | 1 + .../binary-mixed-lf-cr.fail | 1 + .../few-utf8-chars-crlf | 22 + .../few-utf8-chars-lf.fail | 1 + .../many-utf8-chars-crlf | 4 + .../many-utf8-chars-lf.fail | 1 + .../mixed-lf-cr-crlf.fail | 1 + .../mixed-lf-cr.fail | 1 + .../more-crlf-utf8bom.fail | 1 + .../more-crlf.fail | 1 + .../more-lf-utf8bom.fail | 1 + .../more-lf.fail | 1 + .../zero-byte | 0 .../all-crlf | 4 + .../all-crlf-utf8bom | 4 + .../all-lf-utf8bom.fail | 1 + .../all-lf.fail | 1 + .../binary-all-crlf | 4 + .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 3 + .../few-utf8-chars-crlf | 22 + .../few-utf8-chars-lf.fail | 1 + .../many-utf8-chars-crlf | 4 + .../many-utf8-chars-lf.fail | 1 + .../mixed-lf-cr | 3 + .../mixed-lf-cr-crlf | 3 + .../more-crlf-utf8bom.fail | 1 + .../more-crlf.fail | 1 + .../more-lf-utf8bom.fail | 1 + .../more-lf.fail | 1 + .../zero-byte | 0 .../all-crlf-utf8bom.fail | 1 + .../all-crlf.fail | 1 + .../all-lf | 5 + .../all-lf-utf8bom | 5 + .../binary-all-crlf | 4 + .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 3 + .../few-utf8-chars-crlf.fail | 1 + .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf.fail | 1 + .../many-utf8-chars-lf | 4 + .../mixed-lf-cr | 3 + .../mixed-lf-cr-crlf | 3 + .../more-crlf-utf8bom.fail | 1 + .../more-crlf.fail | 1 + .../more-lf-utf8bom.fail | 1 + .../more-lf.fail | 1 + .../zero-byte | 0 .../all-crlf | 4 + .../all-crlf-utf8bom | 4 + .../all-lf-utf8bom.fail | 1 + .../all-lf.fail | 1 + .../binary-all-crlf | 4 + .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 3 + .../few-utf8-chars-crlf | 22 + .../few-utf8-chars-lf.fail | 1 + .../many-utf8-chars-crlf | 4 + .../many-utf8-chars-lf.fail | 1 + .../mixed-lf-cr | 3 + .../mixed-lf-cr-crlf | 3 + .../more-crlf-utf8bom.fail | 1 + .../more-crlf.fail | 1 + .../more-lf-utf8bom.fail | 1 + .../more-lf.fail | 1 + .../zero-byte | 0 .../autocrlf_true,safecrlf_true/all-crlf | 4 + .../all-crlf-utf8bom | 4 + .../all-lf-utf8bom.fail | 1 + .../autocrlf_true,safecrlf_true/all-lf.fail | 1 + .../binary-all-crlf | 4 + .../autocrlf_true,safecrlf_true/binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 3 + .../few-utf8-chars-crlf | 22 + .../few-utf8-chars-lf.fail | 1 + .../many-utf8-chars-crlf | 4 + .../many-utf8-chars-lf.fail | 1 + .../autocrlf_true,safecrlf_true/mixed-lf-cr | 3 + .../mixed-lf-cr-crlf | 3 + .../more-crlf-utf8bom.fail | 1 + .../more-crlf.fail | 1 + .../more-lf-utf8bom.fail | 1 + .../autocrlf_true,safecrlf_true/more-lf.fail | 1 + .../autocrlf_true,safecrlf_true/zero-byte | 0 .../all-crlf | 4 + .../all-crlf-utf8bom | 4 + .../autocrlf_true,safecrlf_warn,-crlf/all-lf | 5 + .../all-lf-utf8bom | 5 + .../binary-all-crlf | 4 + .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 3 + .../few-utf8-chars-crlf} | 0 .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf} | 0 .../many-utf8-chars-lf | 4 + .../mixed-lf-cr | 3 + .../mixed-lf-cr-crlf | 3 + .../more-crlf | 5 + .../more-crlf-utf8bom | 5 + .../autocrlf_true,safecrlf_warn,-crlf/more-lf | 5 + .../more-lf-utf8bom | 5 + .../zero-byte | 0 .../all-crlf | 4 + .../all-crlf-utf8bom | 4 + .../autocrlf_true,safecrlf_warn,-text/all-lf | 5 + .../all-lf-utf8bom | 5 + .../binary-all-crlf | 4 + .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 3 + .../few-utf8-chars-crlf} | 0 .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf} | 0 .../many-utf8-chars-lf | 4 + .../mixed-lf-cr | 3 + .../mixed-lf-cr-crlf | 3 + .../more-crlf | 5 + .../more-crlf-utf8bom | 5 + .../autocrlf_true,safecrlf_warn,-text/more-lf | 5 + .../more-lf-utf8bom | 5 + .../zero-byte | 0 .../autocrlf_true,safecrlf_warn,crlf/all-crlf | 4 + .../all-crlf-utf8bom | 4 + .../autocrlf_true,safecrlf_warn,crlf/all-lf | 5 + .../all-lf-utf8bom | 5 + .../binary-all-crlf | 4 + .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 3 + .../few-utf8-chars-crlf | 22 + .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf | 4 + .../many-utf8-chars-lf | 4 + .../mixed-lf-cr | 3 + .../mixed-lf-cr-crlf | 3 + .../more-crlf | 5 + .../more-crlf-utf8bom | 5 + .../autocrlf_true,safecrlf_warn,crlf/more-lf | 5 + .../more-lf-utf8bom | 5 + .../zero-byte | 0 .../all-crlf | 4 + .../all-crlf-utf8bom | 4 + .../all-lf | 5 + .../all-lf-utf8bom | 5 + .../binary-all-crlf | 4 + .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 3 + .../few-utf8-chars-crlf | 22 + .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf | 4 + .../many-utf8-chars-lf | 4 + .../mixed-lf-cr | 3 + .../mixed-lf-cr-crlf | 3 + .../more-crlf | 5 + .../more-crlf-utf8bom | 5 + .../more-lf | 5 + .../more-lf-utf8bom | 5 + .../zero-byte | 0 .../all-crlf | 4 + .../all-crlf-utf8bom | 4 + .../autocrlf_true,safecrlf_warn,eol_lf/all-lf | 5 + .../all-lf-utf8bom | 5 + .../binary-all-crlf | 4 + .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 3 + .../few-utf8-chars-crlf | 22 + .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf | 4 + .../many-utf8-chars-lf | 4 + .../mixed-lf-cr | 3 + .../mixed-lf-cr-crlf | 3 + .../more-crlf | 5 + .../more-crlf-utf8bom | 5 + .../more-lf | 5 + .../more-lf-utf8bom | 5 + .../zero-byte | 0 .../all-crlf | 4 + .../all-crlf-utf8bom | 4 + .../all-lf | 5 + .../all-lf-utf8bom | 5 + .../binary-all-crlf | 4 + .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 3 + .../few-utf8-chars-crlf | 22 + .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf | 4 + .../many-utf8-chars-lf | 4 + .../mixed-lf-cr | 3 + .../mixed-lf-cr-crlf | 3 + .../more-crlf | 5 + .../more-crlf-utf8bom | 5 + .../more-lf | 5 + .../more-lf-utf8bom | 5 + .../zero-byte | 0 .../all-crlf | 4 + .../all-crlf-utf8bom | 4 + .../all-lf | 5 + .../all-lf-utf8bom | 5 + .../binary-all-crlf | 4 + .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 3 + .../few-utf8-chars-crlf | 22 + .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf | 4 + .../many-utf8-chars-lf | 4 + .../mixed-lf-cr | 3 + .../mixed-lf-cr-crlf | 3 + .../more-crlf | 5 + .../more-crlf-utf8bom | 5 + .../more-lf | 5 + .../more-lf-utf8bom | 5 + .../zero-byte | 0 .../autocrlf_true,safecrlf_warn,text/all-crlf | 4 + .../all-crlf-utf8bom | 4 + .../autocrlf_true,safecrlf_warn,text/all-lf | 5 + .../all-lf-utf8bom | 5 + .../binary-all-crlf | 4 + .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 3 + .../few-utf8-chars-crlf | 22 + .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf | 4 + .../many-utf8-chars-lf | 4 + .../mixed-lf-cr | 3 + .../mixed-lf-cr-crlf | 3 + .../more-crlf | 5 + .../more-crlf-utf8bom | 5 + .../autocrlf_true,safecrlf_warn,text/more-lf | 5 + .../more-lf-utf8bom | 5 + .../zero-byte | 0 .../all-crlf | 4 + .../all-crlf-utf8bom | 4 + .../all-lf | 5 + .../all-lf-utf8bom | 5 + .../binary-all-crlf | 4 + .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 3 + .../few-utf8-chars-crlf | 22 + .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf | 4 + .../many-utf8-chars-lf | 4 + .../mixed-lf-cr | 3 + .../mixed-lf-cr-crlf | 3 + .../more-crlf | 5 + .../more-crlf-utf8bom | 5 + .../more-lf | 5 + .../more-lf-utf8bom | 5 + .../zero-byte | 0 .../all-crlf | 4 + .../all-crlf-utf8bom | 4 + .../all-lf | 5 + .../all-lf-utf8bom | 5 + .../binary-all-crlf | 4 + .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 3 + .../few-utf8-chars-crlf | 22 + .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf | 4 + .../many-utf8-chars-lf | 4 + .../mixed-lf-cr | 3 + .../mixed-lf-cr-crlf | 3 + .../more-crlf | 5 + .../more-crlf-utf8bom | 5 + .../more-lf | 5 + .../more-lf-utf8bom | 5 + .../zero-byte | 0 .../all-crlf | 4 + .../all-crlf-utf8bom | 4 + .../all-lf | 5 + .../all-lf-utf8bom | 5 + .../binary-all-crlf | 4 + .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 3 + .../few-utf8-chars-crlf | 22 + .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf | 4 + .../many-utf8-chars-lf | 4 + .../mixed-lf-cr | 3 + .../mixed-lf-cr-crlf | 3 + .../more-crlf | 5 + .../more-crlf-utf8bom | 5 + .../more-lf | 5 + .../more-lf-utf8bom | 5 + .../zero-byte | 0 .../autocrlf_true,safecrlf_warn/all-crlf | 4 + .../all-crlf-utf8bom | 4 + .../autocrlf_true,safecrlf_warn/all-lf | 5 + .../all-lf-utf8bom | 5 + .../binary-all-crlf | 4 + .../autocrlf_true,safecrlf_warn/binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 3 + .../few-utf8-chars-crlf | 22 + .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf | 4 + .../many-utf8-chars-lf | 4 + .../autocrlf_true,safecrlf_warn/mixed-lf-cr | 3 + .../mixed-lf-cr-crlf | 3 + .../autocrlf_true,safecrlf_warn/more-crlf | 5 + .../more-crlf-utf8bom | 5 + .../autocrlf_true,safecrlf_warn/more-lf | 5 + .../more-lf-utf8bom | 5 + .../autocrlf_true,safecrlf_warn/zero-byte | 0 .../autocrlf_false,-crlf/all-crlf | 4 + .../autocrlf_false,-crlf/all-crlf-utf8bom | 4 + .../autocrlf_false,-crlf/all-lf | 5 + .../autocrlf_false,-crlf/all-lf-utf8bom | 5 + .../autocrlf_false,-crlf/binary-all-crlf | 4 + .../autocrlf_false,-crlf/binary-all-lf | 4 + .../autocrlf_false,-crlf/binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 3 + .../autocrlf_false,-crlf/few-utf8-chars-crlf} | 0 .../autocrlf_false,-crlf/few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf} | 0 .../autocrlf_false,-crlf/many-utf8-chars-lf | 4 + .../autocrlf_false,-crlf/mixed-lf-cr | 3 + .../autocrlf_false,-crlf/mixed-lf-cr-crlf | 3 + .../autocrlf_false,-crlf/more-crlf | 5 + .../autocrlf_false,-crlf/more-crlf-utf8bom | 5 + .../autocrlf_false,-crlf/more-lf | 5 + .../autocrlf_false,-crlf/more-lf-utf8bom | 5 + .../autocrlf_false,-crlf/zero-byte | 0 .../autocrlf_false,-text/all-crlf | 4 + .../autocrlf_false,-text/all-crlf-utf8bom | 4 + .../autocrlf_false,-text/all-lf | 5 + .../autocrlf_false,-text/all-lf-utf8bom | 5 + .../autocrlf_false,-text/binary-all-crlf | 4 + .../autocrlf_false,-text/binary-all-lf | 4 + .../autocrlf_false,-text/binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 3 + .../autocrlf_false,-text/few-utf8-chars-crlf} | 0 .../autocrlf_false,-text/few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf} | 0 .../autocrlf_false,-text/many-utf8-chars-lf | 4 + .../autocrlf_false,-text/mixed-lf-cr | 3 + .../autocrlf_false,-text/mixed-lf-cr-crlf | 3 + .../autocrlf_false,-text/more-crlf | 5 + .../autocrlf_false,-text/more-crlf-utf8bom | 5 + .../autocrlf_false,-text/more-lf | 5 + .../autocrlf_false,-text/more-lf-utf8bom | 5 + .../autocrlf_false,-text/zero-byte | 0 .../autocrlf_false,crlf/all-crlf | 4 + .../autocrlf_false,crlf/all-crlf-utf8bom | 4 + .../autocrlf_false,crlf/all-lf | 0 .../autocrlf_false,crlf/all-lf-utf8bom | 0 .../autocrlf_false,crlf/binary-all-crlf | 4 + .../autocrlf_false,crlf/binary-all-lf | 4 + .../autocrlf_false,crlf}/binary-mixed-lf-cr | 0 .../binary-mixed-lf-cr-crlf | 0 .../autocrlf_false,crlf/few-utf8-chars-crlf} | 0 .../autocrlf_false,crlf}/few-utf8-chars-lf | 0 .../autocrlf_false,crlf/many-utf8-chars-crlf} | 0 .../autocrlf_false,crlf}/many-utf8-chars-lf | 0 .../autocrlf_false,crlf}/mixed-lf-cr | 0 .../autocrlf_false,crlf}/mixed-lf-cr-crlf | 0 .../autocrlf_false,crlf}/more-crlf | 0 .../autocrlf_false,crlf}/more-crlf-utf8bom | 0 .../autocrlf_false,crlf}/more-lf | 0 .../autocrlf_false,crlf}/more-lf-utf8bom | 0 .../autocrlf_false,crlf/zero-byte | 0 .../autocrlf_false,eol_crlf/all-crlf | 4 + .../autocrlf_false,eol_crlf/all-crlf-utf8bom | 4 + .../autocrlf_false,eol_crlf/all-lf | 0 .../autocrlf_false,eol_crlf/all-lf-utf8bom | 0 .../autocrlf_false,eol_crlf/binary-all-crlf | 4 + .../autocrlf_false,eol_crlf/binary-all-lf | 4 + .../binary-mixed-lf-cr | 0 .../binary-mixed-lf-cr-crlf | 0 .../few-utf8-chars-crlf} | 0 .../few-utf8-chars-lf | 0 .../many-utf8-chars-crlf} | 0 .../many-utf8-chars-lf | 0 .../autocrlf_false,eol_crlf}/mixed-lf-cr | 0 .../autocrlf_false,eol_crlf}/mixed-lf-cr-crlf | 0 .../autocrlf_false,eol_crlf}/more-crlf | 0 .../more-crlf-utf8bom | 0 .../autocrlf_false,eol_crlf}/more-lf | 0 .../autocrlf_false,eol_crlf}/more-lf-utf8bom | 0 .../autocrlf_false,eol_crlf/zero-byte | 0 .../autocrlf_false,eol_lf/all-crlf | 4 + .../autocrlf_false,eol_lf/all-crlf-utf8bom | 4 + .../autocrlf_false,eol_lf/all-lf | 5 + .../autocrlf_false,eol_lf/all-lf-utf8bom | 5 + .../autocrlf_false,eol_lf/binary-all-crlf | 4 + .../autocrlf_false,eol_lf/binary-all-lf | 4 + .../autocrlf_false,eol_lf/binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 3 + .../few-utf8-chars-crlf} | 0 .../autocrlf_false,eol_lf/few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf} | 0 .../autocrlf_false,eol_lf/many-utf8-chars-lf | 4 + .../autocrlf_false,eol_lf/mixed-lf-cr | 3 + .../autocrlf_false,eol_lf/mixed-lf-cr-crlf | 3 + .../autocrlf_false,eol_lf/more-crlf | 5 + .../autocrlf_false,eol_lf/more-crlf-utf8bom | 5 + .../autocrlf_false,eol_lf/more-lf | 5 + .../autocrlf_false,eol_lf/more-lf-utf8bom | 5 + .../autocrlf_false,eol_lf/zero-byte | 0 .../autocrlf_false,text,eol_crlf/all-crlf | 4 + .../all-crlf-utf8bom | 4 + .../autocrlf_false,text,eol_crlf/all-lf | 0 .../all-lf-utf8bom | 0 .../binary-all-crlf | 4 + .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 0 .../binary-mixed-lf-cr-crlf | 0 .../few-utf8-chars-crlf} | 0 .../few-utf8-chars-lf | 0 .../many-utf8-chars-crlf} | 0 .../many-utf8-chars-lf | 0 .../autocrlf_false,text,eol_crlf}/mixed-lf-cr | 0 .../mixed-lf-cr-crlf | 0 .../autocrlf_false,text,eol_crlf}/more-crlf | 0 .../more-crlf-utf8bom | 0 .../autocrlf_false,text,eol_crlf}/more-lf | 0 .../more-lf-utf8bom | 0 .../autocrlf_false,text,eol_crlf/zero-byte | 0 .../autocrlf_false,text,eol_lf/all-crlf | 4 + .../all-crlf-utf8bom | 4 + .../autocrlf_false,text,eol_lf/all-lf | 5 + .../autocrlf_false,text,eol_lf/all-lf-utf8bom | 5 + .../binary-all-crlf | 4 + .../autocrlf_false,text,eol_lf/binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 3 + .../few-utf8-chars-crlf | 22 + .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf | 4 + .../many-utf8-chars-lf | 4 + .../autocrlf_false,text,eol_lf/mixed-lf-cr | 3 + .../mixed-lf-cr-crlf | 3 + .../autocrlf_false,text,eol_lf/more-crlf | 5 + .../more-crlf-utf8bom | 5 + .../autocrlf_false,text,eol_lf/more-lf | 5 + .../more-lf-utf8bom | 5 + .../autocrlf_false,text,eol_lf/zero-byte | 0 .../autocrlf_false,text/all-crlf | 4 + .../autocrlf_false,text/all-crlf-utf8bom | 4 + .../autocrlf_false,text/all-lf | 0 .../autocrlf_false,text/all-lf-utf8bom | 0 .../autocrlf_false,text/binary-all-crlf | 4 + .../autocrlf_false,text/binary-all-lf | 4 + .../autocrlf_false,text}/binary-mixed-lf-cr | 0 .../binary-mixed-lf-cr-crlf | 0 .../autocrlf_false,text/few-utf8-chars-crlf | 22 + .../autocrlf_false,text/few-utf8-chars-lf | 22 + .../autocrlf_false,text/many-utf8-chars-crlf | 4 + .../autocrlf_false,text/many-utf8-chars-lf | 4 + .../autocrlf_false,text}/mixed-lf-cr | 0 .../autocrlf_false,text}/mixed-lf-cr-crlf | 0 .../autocrlf_false,text}/more-crlf | 0 .../autocrlf_false,text}/more-crlf-utf8bom | 0 .../autocrlf_false,text}/more-lf | 0 .../autocrlf_false,text}/more-lf-utf8bom | 0 .../autocrlf_false,text/zero-byte | 0 .../all-crlf | 4 + .../all-crlf-utf8bom | 4 + .../autocrlf_false,text_auto,eol_crlf/all-lf | 0 .../all-lf-utf8bom | 0 .../binary-all-crlf | 4 + .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 3 + .../few-utf8-chars-crlf | 22 + .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf | 4 + .../many-utf8-chars-lf | 4 + .../mixed-lf-cr | 3 + .../mixed-lf-cr-crlf | 3 + .../more-crlf | 5 + .../more-crlf-utf8bom | 5 + .../autocrlf_false,text_auto,eol_crlf/more-lf | 5 + .../more-lf-utf8bom | 5 + .../zero-byte | 0 .../autocrlf_false,text_auto,eol_lf/all-crlf | 4 + .../all-crlf-utf8bom | 4 + .../autocrlf_false,text_auto,eol_lf/all-lf | 5 + .../all-lf-utf8bom | 5 + .../binary-all-crlf | 4 + .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 3 + .../few-utf8-chars-crlf | 22 + .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf | 4 + .../many-utf8-chars-lf | 4 + .../mixed-lf-cr | 3 + .../mixed-lf-cr-crlf | 3 + .../autocrlf_false,text_auto,eol_lf/more-crlf | 5 + .../more-crlf-utf8bom | 5 + .../autocrlf_false,text_auto,eol_lf/more-lf | 5 + .../more-lf-utf8bom | 5 + .../autocrlf_false,text_auto,eol_lf/zero-byte | 0 .../autocrlf_false,text_auto/all-crlf | 4 + .../autocrlf_false,text_auto/all-crlf-utf8bom | 4 + .../autocrlf_false,text_auto/all-lf | 0 .../autocrlf_false,text_auto/all-lf-utf8bom | 0 .../autocrlf_false,text_auto/binary-all-crlf | 4 + .../autocrlf_false,text_auto/binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 3 + .../few-utf8-chars-crlf | 22 + .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf | 4 + .../many-utf8-chars-lf | 4 + .../autocrlf_false,text_auto/mixed-lf-cr | 3 + .../autocrlf_false,text_auto/mixed-lf-cr-crlf | 3 + .../autocrlf_false,text_auto/more-crlf | 5 + .../more-crlf-utf8bom | 5 + .../autocrlf_false,text_auto/more-lf | 5 + .../autocrlf_false,text_auto/more-lf-utf8bom | 5 + .../autocrlf_false,text_auto/zero-byte | 0 .../autocrlf_false/all-crlf | 4 + .../autocrlf_false/all-crlf-utf8bom | 4 + .../windows_to_workdir/autocrlf_false/all-lf | 5 + .../autocrlf_false/all-lf-utf8bom | 5 + .../autocrlf_false/binary-all-crlf | 4 + .../autocrlf_false/binary-all-lf | 4 + .../autocrlf_false/binary-mixed-lf-cr | 3 + .../autocrlf_false/binary-mixed-lf-cr-crlf | 3 + .../autocrlf_false/few-utf8-chars-crlf | 22 + .../autocrlf_false/few-utf8-chars-lf | 22 + .../autocrlf_false/many-utf8-chars-crlf | 4 + .../autocrlf_false/many-utf8-chars-lf | 4 + .../autocrlf_false/mixed-lf-cr | 3 + .../autocrlf_false/mixed-lf-cr-crlf | 3 + .../autocrlf_false/more-crlf | 5 + .../autocrlf_false/more-crlf-utf8bom | 5 + .../windows_to_workdir/autocrlf_false/more-lf | 5 + .../autocrlf_false/more-lf-utf8bom | 5 + .../autocrlf_false/zero-byte | 0 .../autocrlf_input,-crlf/all-crlf | 4 + .../autocrlf_input,-crlf/all-crlf-utf8bom | 4 + .../autocrlf_input,-crlf/all-lf | 5 + .../autocrlf_input,-crlf/all-lf-utf8bom | 5 + .../autocrlf_input,-crlf/binary-all-crlf | 4 + .../autocrlf_input,-crlf/binary-all-lf | 4 + .../autocrlf_input,-crlf/binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 3 + .../autocrlf_input,-crlf/few-utf8-chars-crlf | 22 + .../autocrlf_input,-crlf/few-utf8-chars-lf | 22 + .../autocrlf_input,-crlf/many-utf8-chars-crlf | 4 + .../autocrlf_input,-crlf/many-utf8-chars-lf | 4 + .../autocrlf_input,-crlf/mixed-lf-cr | 3 + .../autocrlf_input,-crlf/mixed-lf-cr-crlf | 3 + .../autocrlf_input,-crlf/more-crlf | 5 + .../autocrlf_input,-crlf/more-crlf-utf8bom | 5 + .../autocrlf_input,-crlf/more-lf | 5 + .../autocrlf_input,-crlf/more-lf-utf8bom | 5 + .../autocrlf_input,-crlf/zero-byte | 0 .../autocrlf_input,-text/all-crlf | 4 + .../autocrlf_input,-text/all-crlf-utf8bom | 4 + .../autocrlf_input,-text/all-lf | 5 + .../autocrlf_input,-text/all-lf-utf8bom | 5 + .../autocrlf_input,-text/binary-all-crlf | 4 + .../autocrlf_input,-text/binary-all-lf | 4 + .../autocrlf_input,-text/binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 3 + .../autocrlf_input,-text/few-utf8-chars-crlf | 22 + .../autocrlf_input,-text/few-utf8-chars-lf | 22 + .../autocrlf_input,-text/many-utf8-chars-crlf | 4 + .../autocrlf_input,-text/many-utf8-chars-lf | 4 + .../autocrlf_input,-text/mixed-lf-cr | 3 + .../autocrlf_input,-text/mixed-lf-cr-crlf | 3 + .../autocrlf_input,-text/more-crlf | 5 + .../autocrlf_input,-text/more-crlf-utf8bom | 5 + .../autocrlf_input,-text/more-lf | 5 + .../autocrlf_input,-text/more-lf-utf8bom | 5 + .../autocrlf_input,-text/zero-byte | 0 .../autocrlf_input,crlf/all-crlf | 4 + .../autocrlf_input,crlf/all-crlf-utf8bom | 4 + .../autocrlf_input,crlf/all-lf | 5 + .../autocrlf_input,crlf/all-lf-utf8bom | 5 + .../autocrlf_input,crlf/binary-all-crlf | 4 + .../autocrlf_input,crlf/binary-all-lf | 4 + .../autocrlf_input,crlf/binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 3 + .../autocrlf_input,crlf/few-utf8-chars-crlf | 22 + .../autocrlf_input,crlf/few-utf8-chars-lf | 22 + .../autocrlf_input,crlf/many-utf8-chars-crlf | 4 + .../autocrlf_input,crlf/many-utf8-chars-lf | 4 + .../autocrlf_input,crlf/mixed-lf-cr | 3 + .../autocrlf_input,crlf/mixed-lf-cr-crlf | 3 + .../autocrlf_input,crlf/more-crlf | 5 + .../autocrlf_input,crlf/more-crlf-utf8bom | 5 + .../autocrlf_input,crlf/more-lf | 5 + .../autocrlf_input,crlf/more-lf-utf8bom | 5 + .../autocrlf_input,crlf/zero-byte | 0 .../autocrlf_input,eol_crlf/all-crlf | 4 + .../autocrlf_input,eol_crlf/all-crlf-utf8bom | 4 + .../autocrlf_input,eol_crlf/all-lf | 0 .../autocrlf_input,eol_crlf/all-lf-utf8bom | 0 .../autocrlf_input,eol_crlf/binary-all-crlf | 4 + .../autocrlf_input,eol_crlf/binary-all-lf | 4 + .../binary-mixed-lf-cr | 0 .../binary-mixed-lf-cr-crlf | 0 .../few-utf8-chars-crlf | 22 + .../autocrlf_input,eol_crlf/few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf | 4 + .../many-utf8-chars-lf | 4 + .../autocrlf_input,eol_crlf}/mixed-lf-cr | 0 .../autocrlf_input,eol_crlf}/mixed-lf-cr-crlf | 0 .../autocrlf_input,eol_crlf}/more-crlf | 0 .../more-crlf-utf8bom | 0 .../autocrlf_input,eol_crlf}/more-lf | 0 .../autocrlf_input,eol_crlf}/more-lf-utf8bom | 0 .../autocrlf_input,eol_crlf/zero-byte | 0 .../autocrlf_input,eol_lf/all-crlf | 4 + .../autocrlf_input,eol_lf/all-crlf-utf8bom | 4 + .../autocrlf_input,eol_lf/all-lf | 5 + .../autocrlf_input,eol_lf/all-lf-utf8bom | 5 + .../autocrlf_input,eol_lf/binary-all-crlf | 4 + .../autocrlf_input,eol_lf/binary-all-lf | 4 + .../autocrlf_input,eol_lf/binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 3 + .../autocrlf_input,eol_lf/few-utf8-chars-crlf | 22 + .../autocrlf_input,eol_lf/few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf | 4 + .../autocrlf_input,eol_lf/many-utf8-chars-lf | 4 + .../autocrlf_input,eol_lf/mixed-lf-cr | 3 + .../autocrlf_input,eol_lf/mixed-lf-cr-crlf | 3 + .../autocrlf_input,eol_lf/more-crlf | 5 + .../autocrlf_input,eol_lf/more-crlf-utf8bom | 5 + .../autocrlf_input,eol_lf/more-lf | 5 + .../autocrlf_input,eol_lf/more-lf-utf8bom | 5 + .../autocrlf_input,eol_lf/zero-byte | 0 .../autocrlf_input,text,eol_crlf/all-crlf | 4 + .../all-crlf-utf8bom | 4 + .../autocrlf_input,text,eol_crlf/all-lf | 0 .../all-lf-utf8bom | 0 .../binary-all-crlf | 4 + .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 0 .../binary-mixed-lf-cr-crlf | 0 .../few-utf8-chars-crlf | 22 + .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf | 4 + .../many-utf8-chars-lf | 4 + .../autocrlf_input,text,eol_crlf}/mixed-lf-cr | 0 .../mixed-lf-cr-crlf | 0 .../autocrlf_input,text,eol_crlf}/more-crlf | 0 .../more-crlf-utf8bom | 0 .../autocrlf_input,text,eol_crlf}/more-lf | 0 .../more-lf-utf8bom | 0 .../autocrlf_input,text,eol_crlf/zero-byte | 0 .../autocrlf_input,text,eol_lf/all-crlf | 4 + .../all-crlf-utf8bom | 4 + .../autocrlf_input,text,eol_lf/all-lf | 5 + .../autocrlf_input,text,eol_lf/all-lf-utf8bom | 5 + .../binary-all-crlf | 4 + .../autocrlf_input,text,eol_lf/binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 3 + .../few-utf8-chars-crlf | 22 + .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf | 4 + .../many-utf8-chars-lf | 4 + .../autocrlf_input,text,eol_lf/mixed-lf-cr | 3 + .../mixed-lf-cr-crlf | 3 + .../autocrlf_input,text,eol_lf/more-crlf | 5 + .../more-crlf-utf8bom | 5 + .../autocrlf_input,text,eol_lf/more-lf | 5 + .../more-lf-utf8bom | 5 + .../autocrlf_input,text,eol_lf/zero-byte | 0 .../autocrlf_input,text/all-crlf | 4 + .../autocrlf_input,text/all-crlf-utf8bom | 4 + .../autocrlf_input,text/all-lf | 5 + .../autocrlf_input,text/all-lf-utf8bom | 5 + .../autocrlf_input,text/binary-all-crlf | 4 + .../autocrlf_input,text/binary-all-lf | 4 + .../autocrlf_input,text/binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 3 + .../autocrlf_input,text/few-utf8-chars-crlf | 22 + .../autocrlf_input,text/few-utf8-chars-lf | 22 + .../autocrlf_input,text/many-utf8-chars-crlf | 4 + .../autocrlf_input,text/many-utf8-chars-lf | 4 + .../autocrlf_input,text/mixed-lf-cr | 3 + .../autocrlf_input,text/mixed-lf-cr-crlf | 3 + .../autocrlf_input,text/more-crlf | 5 + .../autocrlf_input,text/more-crlf-utf8bom | 5 + .../autocrlf_input,text/more-lf | 5 + .../autocrlf_input,text/more-lf-utf8bom | 5 + .../autocrlf_input,text/zero-byte | 0 .../all-crlf | 4 + .../all-crlf-utf8bom | 4 + .../autocrlf_input,text_auto,eol_crlf/all-lf | 0 .../all-lf-utf8bom | 0 .../binary-all-crlf | 4 + .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 3 + .../few-utf8-chars-crlf | 22 + .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf | 4 + .../many-utf8-chars-lf | 4 + .../mixed-lf-cr | 3 + .../mixed-lf-cr-crlf | 3 + .../more-crlf | 5 + .../more-crlf-utf8bom | 5 + .../autocrlf_input,text_auto,eol_crlf/more-lf | 5 + .../more-lf-utf8bom | 5 + .../zero-byte | 0 .../autocrlf_input,text_auto,eol_lf/all-crlf | 4 + .../all-crlf-utf8bom | 4 + .../autocrlf_input,text_auto,eol_lf/all-lf | 5 + .../all-lf-utf8bom | 5 + .../binary-all-crlf | 4 + .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 3 + .../few-utf8-chars-crlf | 22 + .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf | 4 + .../many-utf8-chars-lf | 4 + .../mixed-lf-cr | 3 + .../mixed-lf-cr-crlf | 3 + .../autocrlf_input,text_auto,eol_lf/more-crlf | 5 + .../more-crlf-utf8bom | 5 + .../autocrlf_input,text_auto,eol_lf/more-lf | 5 + .../more-lf-utf8bom | 5 + .../autocrlf_input,text_auto,eol_lf/zero-byte | 0 .../autocrlf_input,text_auto/all-crlf | 4 + .../autocrlf_input,text_auto/all-crlf-utf8bom | 4 + .../autocrlf_input,text_auto/all-lf | 5 + .../autocrlf_input,text_auto/all-lf-utf8bom | 5 + .../autocrlf_input,text_auto/binary-all-crlf | 4 + .../autocrlf_input,text_auto/binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 3 + .../few-utf8-chars-crlf | 22 + .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf | 4 + .../many-utf8-chars-lf | 4 + .../autocrlf_input,text_auto/mixed-lf-cr | 3 + .../autocrlf_input,text_auto/mixed-lf-cr-crlf | 3 + .../autocrlf_input,text_auto/more-crlf | 5 + .../more-crlf-utf8bom | 5 + .../autocrlf_input,text_auto/more-lf | 5 + .../autocrlf_input,text_auto/more-lf-utf8bom | 5 + .../autocrlf_input,text_auto/zero-byte | 0 .../autocrlf_input/all-crlf | 4 + .../autocrlf_input/all-crlf-utf8bom | 4 + .../windows_to_workdir/autocrlf_input/all-lf | 5 + .../autocrlf_input/all-lf-utf8bom | 5 + .../autocrlf_input/binary-all-crlf | 4 + .../autocrlf_input/binary-all-lf | 4 + .../autocrlf_input/binary-mixed-lf-cr | 3 + .../autocrlf_input/binary-mixed-lf-cr-crlf | 3 + .../autocrlf_input/few-utf8-chars-crlf | 22 + .../autocrlf_input/few-utf8-chars-lf | 22 + .../autocrlf_input/many-utf8-chars-crlf | 4 + .../autocrlf_input/many-utf8-chars-lf | 4 + .../autocrlf_input/mixed-lf-cr | 3 + .../autocrlf_input/mixed-lf-cr-crlf | 3 + .../autocrlf_input/more-crlf | 5 + .../autocrlf_input/more-crlf-utf8bom | 5 + .../windows_to_workdir/autocrlf_input/more-lf | 5 + .../autocrlf_input/more-lf-utf8bom | 5 + .../autocrlf_input/zero-byte | 0 .../autocrlf_true,-crlf/all-crlf | 4 + .../autocrlf_true,-crlf/all-crlf-utf8bom | 4 + .../autocrlf_true,-crlf/all-lf | 5 + .../autocrlf_true,-crlf/all-lf-utf8bom | 5 + .../autocrlf_true,-crlf/binary-all-crlf | 4 + .../autocrlf_true,-crlf/binary-all-lf | 4 + .../autocrlf_true,-crlf/binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 3 + .../autocrlf_true,-crlf/few-utf8-chars-crlf | 22 + .../autocrlf_true,-crlf/few-utf8-chars-lf | 22 + .../autocrlf_true,-crlf/many-utf8-chars-crlf | 4 + .../autocrlf_true,-crlf/many-utf8-chars-lf | 4 + .../autocrlf_true,-crlf/mixed-lf-cr | 3 + .../autocrlf_true,-crlf/mixed-lf-cr-crlf | 3 + .../autocrlf_true,-crlf/more-crlf | 5 + .../autocrlf_true,-crlf/more-crlf-utf8bom | 5 + .../autocrlf_true,-crlf/more-lf | 5 + .../autocrlf_true,-crlf/more-lf-utf8bom | 5 + .../autocrlf_true,-crlf/zero-byte | 0 .../autocrlf_true,-text/all-crlf | 4 + .../autocrlf_true,-text/all-crlf-utf8bom | 4 + .../autocrlf_true,-text/all-lf | 5 + .../autocrlf_true,-text/all-lf-utf8bom | 5 + .../autocrlf_true,-text/binary-all-crlf | 4 + .../autocrlf_true,-text/binary-all-lf | 4 + .../autocrlf_true,-text/binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 3 + .../autocrlf_true,-text/few-utf8-chars-crlf | 22 + .../autocrlf_true,-text/few-utf8-chars-lf | 22 + .../autocrlf_true,-text/many-utf8-chars-crlf | 4 + .../autocrlf_true,-text/many-utf8-chars-lf | 4 + .../autocrlf_true,-text/mixed-lf-cr | 3 + .../autocrlf_true,-text/mixed-lf-cr-crlf | 3 + .../autocrlf_true,-text/more-crlf | 5 + .../autocrlf_true,-text/more-crlf-utf8bom | 5 + .../autocrlf_true,-text/more-lf | 5 + .../autocrlf_true,-text/more-lf-utf8bom | 5 + .../autocrlf_true,-text/zero-byte | 0 .../autocrlf_true,crlf/all-crlf | 4 + .../autocrlf_true,crlf/all-crlf-utf8bom | 4 + .../autocrlf_true,crlf/all-lf | 0 .../autocrlf_true,crlf/all-lf-utf8bom | 0 .../autocrlf_true,crlf/binary-all-crlf | 4 + .../autocrlf_true,crlf/binary-all-lf | 4 + .../autocrlf_true,crlf}/binary-mixed-lf-cr | 0 .../binary-mixed-lf-cr-crlf | 0 .../autocrlf_true,crlf/few-utf8-chars-crlf | 22 + .../autocrlf_true,crlf/few-utf8-chars-lf | 22 + .../autocrlf_true,crlf/many-utf8-chars-crlf | 4 + .../autocrlf_true,crlf/many-utf8-chars-lf | 4 + .../autocrlf_true,crlf}/mixed-lf-cr | 0 .../autocrlf_true,crlf}/mixed-lf-cr-crlf | 0 .../autocrlf_true,crlf}/more-crlf | 0 .../autocrlf_true,crlf}/more-crlf-utf8bom | 0 .../autocrlf_true,crlf}/more-lf | 0 .../autocrlf_true,crlf}/more-lf-utf8bom | 0 .../autocrlf_true,crlf/zero-byte | 0 .../autocrlf_true,eol_crlf/all-crlf | 4 + .../autocrlf_true,eol_crlf/all-crlf-utf8bom | 4 + .../autocrlf_true,eol_crlf/all-lf | 0 .../autocrlf_true,eol_crlf/all-lf-utf8bom | 0 .../autocrlf_true,eol_crlf/binary-all-crlf | 4 + .../autocrlf_true,eol_crlf/binary-all-lf | 4 + .../binary-mixed-lf-cr | 0 .../binary-mixed-lf-cr-crlf | 0 .../few-utf8-chars-crlf | 22 + .../autocrlf_true,eol_crlf/few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf | 4 + .../autocrlf_true,eol_crlf/many-utf8-chars-lf | 4 + .../autocrlf_true,eol_crlf}/mixed-lf-cr | 0 .../autocrlf_true,eol_crlf}/mixed-lf-cr-crlf | 0 .../autocrlf_true,eol_crlf}/more-crlf | 0 .../autocrlf_true,eol_crlf}/more-crlf-utf8bom | 0 .../autocrlf_true,eol_crlf}/more-lf | 0 .../autocrlf_true,eol_crlf}/more-lf-utf8bom | 0 .../autocrlf_true,eol_crlf/zero-byte | 0 .../autocrlf_true,eol_lf/all-crlf | 4 + .../autocrlf_true,eol_lf/all-crlf-utf8bom | 4 + .../autocrlf_true,eol_lf/all-lf | 5 + .../autocrlf_true,eol_lf/all-lf-utf8bom | 5 + .../autocrlf_true,eol_lf/binary-all-crlf | 4 + .../autocrlf_true,eol_lf/binary-all-lf | 4 + .../autocrlf_true,eol_lf/binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 3 + .../autocrlf_true,eol_lf/few-utf8-chars-crlf | 22 + .../autocrlf_true,eol_lf/few-utf8-chars-lf | 22 + .../autocrlf_true,eol_lf/many-utf8-chars-crlf | 4 + .../autocrlf_true,eol_lf/many-utf8-chars-lf | 4 + .../autocrlf_true,eol_lf/mixed-lf-cr | 3 + .../autocrlf_true,eol_lf/mixed-lf-cr-crlf | 3 + .../autocrlf_true,eol_lf/more-crlf | 5 + .../autocrlf_true,eol_lf/more-crlf-utf8bom | 5 + .../autocrlf_true,eol_lf/more-lf | 5 + .../autocrlf_true,eol_lf/more-lf-utf8bom | 5 + .../autocrlf_true,eol_lf/zero-byte | 0 .../autocrlf_true,text,eol_crlf/all-crlf | 4 + .../all-crlf-utf8bom | 4 + .../autocrlf_true,text,eol_crlf/all-lf | 0 .../all-lf-utf8bom | 0 .../binary-all-crlf | 4 + .../autocrlf_true,text,eol_crlf/binary-all-lf | 4 + .../binary-mixed-lf-cr | 0 .../binary-mixed-lf-cr-crlf | 0 .../few-utf8-chars-crlf | 22 + .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf | 4 + .../many-utf8-chars-lf | 4 + .../autocrlf_true,text,eol_crlf}/mixed-lf-cr | 0 .../mixed-lf-cr-crlf | 0 .../autocrlf_true,text,eol_crlf}/more-crlf | 0 .../more-crlf-utf8bom | 0 .../autocrlf_true,text,eol_crlf}/more-lf | 0 .../more-lf-utf8bom | 0 .../autocrlf_true,text,eol_crlf/zero-byte | 0 .../autocrlf_true,text,eol_lf/all-crlf | 4 + .../all-crlf-utf8bom | 4 + .../autocrlf_true,text,eol_lf/all-lf | 5 + .../autocrlf_true,text,eol_lf/all-lf-utf8bom | 5 + .../autocrlf_true,text,eol_lf/binary-all-crlf | 4 + .../autocrlf_true,text,eol_lf/binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 3 + .../few-utf8-chars-crlf | 22 + .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf | 4 + .../many-utf8-chars-lf | 4 + .../autocrlf_true,text,eol_lf/mixed-lf-cr | 3 + .../mixed-lf-cr-crlf | 3 + .../autocrlf_true,text,eol_lf/more-crlf | 5 + .../more-crlf-utf8bom | 5 + .../autocrlf_true,text,eol_lf/more-lf | 5 + .../autocrlf_true,text,eol_lf/more-lf-utf8bom | 5 + .../autocrlf_true,text,eol_lf/zero-byte | 0 .../autocrlf_true,text/all-crlf | 4 + .../autocrlf_true,text/all-crlf-utf8bom | 4 + .../autocrlf_true,text/all-lf | 0 .../autocrlf_true,text/all-lf-utf8bom | 0 .../autocrlf_true,text/binary-all-crlf | 4 + .../autocrlf_true,text/binary-all-lf | 4 + .../autocrlf_true,text}/binary-mixed-lf-cr | 0 .../binary-mixed-lf-cr-crlf | 0 .../autocrlf_true,text/few-utf8-chars-crlf | 22 + .../autocrlf_true,text/few-utf8-chars-lf | 22 + .../autocrlf_true,text/many-utf8-chars-crlf | 4 + .../autocrlf_true,text/many-utf8-chars-lf | 4 + .../autocrlf_true,text}/mixed-lf-cr | 0 .../autocrlf_true,text}/mixed-lf-cr-crlf | 0 .../autocrlf_true,text}/more-crlf | 0 .../autocrlf_true,text}/more-crlf-utf8bom | 0 .../autocrlf_true,text}/more-lf | 0 .../autocrlf_true,text}/more-lf-utf8bom | 0 .../autocrlf_true,text/zero-byte | 0 .../autocrlf_true,text_auto,eol_crlf/all-crlf | 4 + .../all-crlf-utf8bom | 4 + .../autocrlf_true,text_auto,eol_crlf/all-lf | 0 .../all-lf-utf8bom | 0 .../binary-all-crlf | 4 + .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 3 + .../few-utf8-chars-crlf | 22 + .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf | 4 + .../many-utf8-chars-lf | 4 + .../mixed-lf-cr | 3 + .../mixed-lf-cr-crlf | 3 + .../more-crlf | 5 + .../more-crlf-utf8bom | 5 + .../autocrlf_true,text_auto,eol_crlf/more-lf | 5 + .../more-lf-utf8bom | 5 + .../zero-byte | 0 .../autocrlf_true,text_auto,eol_lf/all-crlf | 4 + .../all-crlf-utf8bom | 4 + .../autocrlf_true,text_auto,eol_lf/all-lf | 5 + .../all-lf-utf8bom | 5 + .../binary-all-crlf | 4 + .../binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 3 + .../few-utf8-chars-crlf | 22 + .../few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf | 4 + .../many-utf8-chars-lf | 4 + .../mixed-lf-cr | 3 + .../mixed-lf-cr-crlf | 3 + .../autocrlf_true,text_auto,eol_lf/more-crlf | 5 + .../more-crlf-utf8bom | 5 + .../autocrlf_true,text_auto,eol_lf/more-lf | 5 + .../more-lf-utf8bom | 5 + .../autocrlf_true,text_auto,eol_lf/zero-byte | 0 .../autocrlf_true,text_auto/all-crlf | 4 + .../autocrlf_true,text_auto/all-crlf-utf8bom | 4 + .../autocrlf_true,text_auto/all-lf | 0 .../autocrlf_true,text_auto/all-lf-utf8bom | 0 .../autocrlf_true,text_auto/binary-all-crlf | 4 + .../autocrlf_true,text_auto/binary-all-lf | 4 + .../binary-mixed-lf-cr | 3 + .../binary-mixed-lf-cr-crlf | 3 + .../few-utf8-chars-crlf | 22 + .../autocrlf_true,text_auto/few-utf8-chars-lf | 22 + .../many-utf8-chars-crlf | 4 + .../many-utf8-chars-lf | 4 + .../autocrlf_true,text_auto/mixed-lf-cr | 3 + .../autocrlf_true,text_auto/mixed-lf-cr-crlf | 3 + .../autocrlf_true,text_auto/more-crlf | 5 + .../autocrlf_true,text_auto/more-crlf-utf8bom | 5 + .../autocrlf_true,text_auto/more-lf | 5 + .../autocrlf_true,text_auto/more-lf-utf8bom | 5 + .../autocrlf_true,text_auto/zero-byte | 0 .../windows_to_workdir/autocrlf_true/all-crlf | 4 + .../autocrlf_true/all-crlf-utf8bom | 4 + .../autocrlf_true/all-lf | 0 .../autocrlf_true/all-lf-utf8bom | 0 .../autocrlf_true/binary-all-crlf | 4 + .../autocrlf_true/binary-all-lf | 4 + .../autocrlf_true/binary-mixed-lf-cr | 3 + .../autocrlf_true/binary-mixed-lf-cr-crlf | 3 + .../autocrlf_true/few-utf8-chars-crlf | 22 + .../autocrlf_true/few-utf8-chars-lf | 22 + .../autocrlf_true/many-utf8-chars-crlf | 4 + .../autocrlf_true/many-utf8-chars-lf | 4 + .../autocrlf_true/mixed-lf-cr | 3 + .../autocrlf_true/mixed-lf-cr-crlf | 3 + .../autocrlf_true/more-crlf | 5 + .../autocrlf_true/more-crlf-utf8bom | 5 + .../windows_to_workdir/autocrlf_true/more-lf | 5 + .../autocrlf_true/more-lf-utf8bom | 5 + .../autocrlf_true/zero-byte | 0 .../resources/diff_format_email/.gitted/index | Bin 289 -> 621 bytes .../07/594f324ebcf92902334c6016e30e716431dfbc | Bin 0 -> 152 bytes .../0d/593fca18d1ab11deb6e8025c9fe417456fe883 | Bin 0 -> 56 bytes .../0d/b2a262bc8c5c3cba55254730045a8258da7a37 | 2 + .../39/ed6bbd76bca81c50db3aaca261456284f5d5b8 | Bin 0 -> 49 bytes .../53/92ef3c959f744b892bbebb168bbbb7b05c03f3 | Bin 0 -> 150 bytes .../85/fa91713734c588c897dd6dd67a39576f67ae50 | Bin 0 -> 157 bytes .../8c/637df9661edd808932b2f5d383f2c41ced9f06 | Bin 0 -> 150 bytes .../94/f84b3e65e8bcbe8bffef2c885339343a802dd4 | Bin 0 -> 53 bytes .../bb/07a00e58b260c4eb9a82f8afbc1d80ad9739bf | Bin 0 -> 171 bytes .../.gitted/refs/heads/master | 2 +- .../diff_format_email/dir/renamed.txt | 5 + tests/resources/generate_crlf.sh | 147 ++++ tests/resources/mailmap/.gitted/HEAD | 1 + tests/resources/mailmap/.gitted/config | 5 + tests/resources/mailmap/.gitted/description | 1 + tests/resources/mailmap/.gitted/index | Bin 0 -> 289 bytes tests/resources/mailmap/.gitted/info/exclude | 6 + .../00/1387531bed84262f137837125d4d998a9ba65d | Bin 0 -> 70 bytes .../02/7b2816ae0d7a08ba656d0417c09b4eac18cf00 | Bin 0 -> 85 bytes .../09/20975110511365e56aec2263082d0c3d56d1fa | Bin 0 -> 113 bytes .../0c/d99501dfbec781a22ff7b84426b7bb308e709a | Bin 0 -> 53 bytes .../1e/1212e7674820c17f7b8797aee7bf38ece0e838 | 2 + .../36/370b71f5aad1dd46bec5e14145280a843c9f49 | Bin 0 -> 53 bytes .../3a/1295dbc9234c0c5947c72803618c7112a01447 | 2 + .../3f/134546ae8fbe95a39dd20ea8c12b5fb0f48afb | 3 + .../43/179dc93939196f59b25387b5e44e9e8794f84c | 2 + .../46/b5bb908c78b575cac9f9e6e42ff9ba3f769a46 | Bin 0 -> 53 bytes .../4b/4d2010ba256ef339c1d1854d20249da7478f01 | Bin 0 -> 54 bytes .../4b/825dc642cb6eb9a060e54bf8d69288fbee4904 | Bin 0 -> 15 bytes .../4d/61d588546529ad27b2d77a3d6b05460ecb4be0 | Bin 0 -> 79 bytes .../50/d69f4e64be2cff2cedde8f9b7f970257caf4dd | 1 + .../61/293f4c3d7500d227a755a7a8258e28e53449b2 | Bin 0 -> 52 bytes .../62/7f0bd2f4fb5e949b79ba450d84676fa876b1c8 | Bin 0 -> 53 bytes .../68/dfd5e5cb6138488680246d134f47ce559f4cf1 | Bin 0 -> 149 bytes .../69/b9768d022706dab26e2af4dd5a13f42039e36f | Bin 0 -> 123 bytes .../6a/0fc44893d4867166f9d321f78c269b3e42b08b | Bin 0 -> 67 bytes .../6c/dec08ab9bfcd5a3d889f27bbed650317e3ec13 | Bin 0 -> 76 bytes .../71/00e631fb4d5deba31fdc8acc98f4fb5c1573fd | Bin 0 -> 178 bytes .../7e/cbb98d860b304f622b38ce9ab8f08d14d981a8 | Bin 0 -> 198 bytes .../7e/e7b9a4a2a1eda925f6260338c063d8211d5ad5 | 2 + .../83/714a9223f3e072b85f0d4301cd2081fff3acf2 | Bin 0 -> 52 bytes .../87/ce8d4920a30ddb9547334e7c65806518863ff1 | 2 + .../8c/f0547fcb649b44ebaf39b8104982bb0abb4e69 | Bin 0 -> 121 bytes .../94/7ff75c33ac7941a32fe9900118b6ba85ab2be9 | Bin 0 -> 49 bytes .../95/d03c49d94de67d5a05553a1bb22e78f7cdf5ca | 1 + .../96/78a4325710507f7bf598a0fde5ebbd88148614 | Bin 0 -> 132 bytes .../a1/6db1cbb8817dddcf199c12d3c81221cf8eefc4 | 1 + .../a7/054a4b356b3ecdec60cee66e50beaa5b863755 | 3 + .../a7/eb40274887baeb01a958ead80d106b5977312c | Bin 0 -> 52 bytes .../c9/e5462de8ec453e94d85f26f64b80ea76fda6d4 | Bin 0 -> 53 bytes .../d3/e5e624cc7bfb09ac1960ebb6c458021b098f87 | Bin 0 -> 97 bytes .../f6/3578091d884c3066a003c50eb6c85ae7542269 | 2 + .../fe/dd34e8baffdb2acfe9a6860bf339287ca942bc | Bin 0 -> 53 bytes .../fe/ef8f2135df4835496e4d576b1f1bd23510e1c5 | 1 + .../mailmap/.gitted/refs/heads/master | 1 + tests/resources/mailmap/.mailmap | 9 + tests/resources/mailmap/file.txt | 10 + tests/resources/mailmap/file_override | 2 + .../06/d3fefb8726ab1099acc76e02dfb85e034b2538 | Bin 0 -> 375 bytes tests/resources/push.sh | 110 +-- tests/resources/splitindex/.gitted/HEAD | 1 + tests/resources/splitindex/.gitted/config | 8 + tests/resources/splitindex/.gitted/index | Bin 0 -> 100 bytes .../resources/splitindex/.gitted/info/exclude | 6 + .../splitindex/.gitted/objects/.gitkeep | 0 .../splitindex/.gitted/refs/.gitkeep | 0 ...x.39d890139ee5356c7ef572216cebcd27aa41f9df | Bin 0 -> 32 bytes tests/resources/testrepo/.gitted/index | Bin 10041 -> 10232 bytes .../97/328ac7e3bd0bcd3900cb3e7a624d71dd0df888 | Bin 0 -> 40 bytes .../99/1f1b12603e1d78411c1b4042719f964efa7adf | Bin 0 -> 5599 bytes tests/revert/bare.c | 4 +- tests/revert/workdir.c | 16 +- tests/revwalk/basic.c | 33 +- tests/revwalk/hidecb.c | 31 +- tests/revwalk/mergebase.c | 6 +- tests/stash/apply.c | 10 +- tests/stash/save.c | 58 +- tests/status/ignore.c | 71 +- tests/status/renames.c | 8 +- tests/status/single.c | 4 +- tests/status/status_data.h | 2 +- tests/status/worktree.c | 28 +- tests/{core/stream.c => stream/deprecated.c} | 20 +- tests/stream/registration.c | 119 +++ tests/stress/diff.c | 4 +- tests/submodule/add.c | 59 +- tests/submodule/escape.c | 4 +- tests/submodule/init.c | 8 +- tests/submodule/inject_option.c | 4 +- tests/submodule/lookup.c | 8 +- tests/submodule/nosubs.c | 2 +- tests/submodule/open.c | 8 +- tests/submodule/repository_init.c | 2 +- tests/submodule/status.c | 2 +- tests/submodule/submodule_helpers.c | 6 +- tests/submodule/update.c | 8 +- tests/threads/basic.c | 4 +- tests/threads/diff.c | 31 +- tests/threads/iterator.c | 7 +- tests/threads/refdb.c | 6 +- tests/trace/windows/stacktrace.c | 1 + tests/valgrind-supp-mac.txt | 4 +- tests/win32/longpath.c | 4 +- tests/worktree/bare.c | 72 ++ tests/worktree/config.c | 6 +- tests/worktree/merge.c | 6 +- tests/worktree/open.c | 27 +- tests/worktree/refs.c | 24 +- tests/worktree/submodule.c | 8 +- tests/worktree/worktree.c | 116 ++- 6535 files changed, 43726 insertions(+), 9453 deletions(-) rename {ci => azure-pipelines}/bash.yml (100%) create mode 100644 azure-pipelines/coverity.yml rename {ci => azure-pipelines}/docker.yml (85%) create mode 100644 azure-pipelines/nightly.yml rename {ci => azure-pipelines}/powershell.yml (100%) rename ci/{coverity.sh => coverity-build.sh} (60%) create mode 100755 ci/coverity-publish.sh delete mode 100644 ci/nightly.yml create mode 100644 cmake/Modules/FindmbedTLS.cmake rename CHANGELOG.md => docs/changelog.md (81%) rename CODE_OF_CONDUCT.md => docs/code_of_conduct.md (100%) rename CONTRIBUTING.md => docs/contributing.md (90%) rename CONVENTIONS.md => docs/conventions.md (97%) create mode 100644 docs/differences-from-git.md create mode 100644 docs/fuzzing.md rename PROJECTS.md => docs/projects.md (97%) rename THREADING.md => docs/threading.md (98%) rename TROUBLESHOOTING.md => docs/troubleshooting.md (100%) create mode 100644 examples/checkout.c create mode 100644 examples/ls-files.c create mode 100644 fuzzers/CMakeLists.txt create mode 100644 fuzzers/config_file_fuzzer.c create mode 100644 fuzzers/corpora/config_file/git2.dat create mode 100644 fuzzers/corpora/download_refs/clone.dat create mode 100644 fuzzers/corpora/objects/blob create mode 100644 fuzzers/corpora/objects/commit create mode 100644 fuzzers/corpora/objects/tag create mode 100644 fuzzers/corpora/objects/tree create mode 100644 fuzzers/corpora/packfile/004bd06c91c0dc8ab7e963f4b5e87be00292911e create mode 100644 fuzzers/corpora/packfile/00b67414c7b17916b3bd0a3d02284937fa0c4378 create mode 100644 fuzzers/corpora/packfile/02eaeb43f0ec7dbfd91bd75e7ddcc7fd590dbc77 create mode 100644 fuzzers/corpora/packfile/02f4286569be24124d8ab209733b7492f7560310 create mode 100644 fuzzers/corpora/packfile/037ba5f9d6d695aa4739810f8bea6e795c1d7614 create mode 100644 fuzzers/corpora/packfile/038e06289ac876f109fc12ca4b8284497ca26821 create mode 100644 fuzzers/corpora/packfile/042dc4512fa3d391c5170cf3aa61e6a638f84342 create mode 100644 fuzzers/corpora/packfile/044bf19babf3f9cde07adbfa2a45c7508538cbe8 create mode 100644 fuzzers/corpora/packfile/044e12ea43bee3c4befe27ba4687bee98d505fd7 create mode 100644 fuzzers/corpora/packfile/061fb208431db793bbd3645b7a16058a1e2a2412 create mode 100644 fuzzers/corpora/packfile/06576556d1ad802f247cad11ae748be47b70cd9c create mode 100644 fuzzers/corpora/packfile/06ceea0c98756d302c302410fffe0dc54a055486 create mode 100644 fuzzers/corpora/packfile/071e65ac0bf08f2424a89a4a499004c1bb9f3f6c create mode 100644 fuzzers/corpora/packfile/0739ff2f064568a4d775c8061958e66c419dbea0 create mode 100644 fuzzers/corpora/packfile/077760469bf8392342d09329c732b98d24be2c30 create mode 100644 fuzzers/corpora/packfile/08534f33c201a45017b502e90a800f1b708ebcb3 create mode 100644 fuzzers/corpora/packfile/09e9046a7d6125cf2915a326a1504dd75d0543b5 create mode 100644 fuzzers/corpora/packfile/0ade7c2cf97f75d009975f4d720d1fa6c19f4897 create mode 100644 fuzzers/corpora/packfile/0c316c67c1450aee57ffa3f74c19ea5d32d44622 create mode 100644 fuzzers/corpora/packfile/0c395c44e4dd5b67caae8a98a66741e17e8af136 create mode 100644 fuzzers/corpora/packfile/0cb9120e5ae00b0d660a111ef85fc9194a5f244a create mode 100644 fuzzers/corpora/packfile/0d44e7156d04cd269fd1219c58c3b79dc8c41d60 create mode 100644 fuzzers/corpora/packfile/0d77a48bea1dde6e5d391a65456dc0aa3d9cc5e3 create mode 100644 fuzzers/corpora/packfile/0db25107ff248616cadc75b7819b21d06394cf25 create mode 100644 fuzzers/corpora/packfile/0debae2db7ef2933f386bac21a2d3bebb473070e create mode 100644 fuzzers/corpora/packfile/0e2d48524de33394ca82ea3a43f5f04aac6e86c7 create mode 100644 fuzzers/corpora/packfile/0e49f6aa78f3b2f6c3fa5d281d5b1052fa9951dc create mode 100644 fuzzers/corpora/packfile/0f2982027f0b3b05250267b19e3969f8797e389e create mode 100644 fuzzers/corpora/packfile/11f6ad8ec52a2984abaafd7c3b516503785c2072 create mode 100644 fuzzers/corpora/packfile/123ca693d81a8cfd99760ff5ca9e152ded878537 create mode 100644 fuzzers/corpora/packfile/12878ca5643ab15a4a847e74ddd84fb365736af2 create mode 100644 fuzzers/corpora/packfile/13f292a24a9e79ae911f5d5e1ef7db0112601e64 create mode 100644 fuzzers/corpora/packfile/13facd9b4b5b4509fee92c7ccc1c82ed90624172 create mode 100644 fuzzers/corpora/packfile/140092a21903fdc56c98de126725fa6bead98ab1 create mode 100644 fuzzers/corpora/packfile/1489f923c4dca729178b3e3233458550d8dddf29 create mode 100644 fuzzers/corpora/packfile/1501a58834f24f95442f190653a50dd67d01e19d create mode 100644 fuzzers/corpora/packfile/15eddee57cafb11e927810d62230a6e104de1d5c create mode 100644 fuzzers/corpora/packfile/1632aa4b049f1118306485b11c70c499a0200dd5 create mode 100644 fuzzers/corpora/packfile/18e1cf33b179a5cbaaf0baac8279ec4ed1cbdcf3 create mode 100644 fuzzers/corpora/packfile/18e768865207e0b90047487b66532b20bc74b1a2 create mode 100644 fuzzers/corpora/packfile/1940c66b45a3bd5c847330b207fd87aee6e96194 create mode 100644 fuzzers/corpora/packfile/1966ab31dc80ab75196b0cbf28e3960a0eb3f6c5 create mode 100644 fuzzers/corpora/packfile/19da91f2603889267dfd77786e07a5b8f067d62a create mode 100644 fuzzers/corpora/packfile/1a72795a3dffdfc999b030d9aab7237dea1e2bc1 create mode 100644 fuzzers/corpora/packfile/1e29cf67a66f225b338610fbcdf1b8185a8f5b7d create mode 100644 fuzzers/corpora/packfile/1eb8977ef8c3be9ee896d785663c762c7e32be28 create mode 100644 fuzzers/corpora/packfile/1f0837530c1c3d122157f2eaa9c2178dcc3580df create mode 100644 fuzzers/corpora/packfile/1f3c5fd6dc091faa397bce776aa97b457388fdae create mode 100644 fuzzers/corpora/packfile/20528983163f834108150a7191600ff94ae2c1d2 create mode 100644 fuzzers/corpora/packfile/20a725140a8ffbe11bb71c1b83f19452147e5180 create mode 100644 fuzzers/corpora/packfile/2149aa9e07dda9bbf502e088d8d0a38e8fb94f2e create mode 100644 fuzzers/corpora/packfile/21b664aa8c86aaee4007d9bdbc2d63bf82bd5109 create mode 100644 fuzzers/corpora/packfile/21b9ec8a7d7ac4d542c9bf7b2e26581cfcfaaab6 create mode 100644 fuzzers/corpora/packfile/21c07e2affed6b0134d5dc28ea6c4937e691c761 create mode 100644 fuzzers/corpora/packfile/23841d4076641ebcb4f58d1fd03047528c9d359b create mode 100644 fuzzers/corpora/packfile/23b9174c42560de6525b1f103125f599479f95cb create mode 100644 fuzzers/corpora/packfile/241cbd6dfb6e53c43c73b62f9384359091dcbf56 create mode 100644 fuzzers/corpora/packfile/245a2ddea41e6531944933c4420b8c9790ac351b create mode 100644 fuzzers/corpora/packfile/2541e340271ea496a392870bcc20d3510287b9e9 create mode 100644 fuzzers/corpora/packfile/276af22d5bf94344737fb1a5eb5de7d335004493 create mode 100644 fuzzers/corpora/packfile/27d5482eebd075de44389774fce28c69f45c8a75 create mode 100644 fuzzers/corpora/packfile/28334bd612cb539de776370995f60c8032215434 create mode 100644 fuzzers/corpora/packfile/2973e2ac092cba077d7350bfffe1cf2e0644a6e1 create mode 100644 fuzzers/corpora/packfile/2adcd01e876b12d867c858ffaec38c42c59c36c7 create mode 100644 fuzzers/corpora/packfile/2b28470644f5d0323643da99c831d82f20a7a74f create mode 100644 fuzzers/corpora/packfile/2b86229020ba808df84e16f800dc152254f18f64 create mode 100644 fuzzers/corpora/packfile/2cc5bf2f780cd85ad93d232890f418625f4d1274 create mode 100644 fuzzers/corpora/packfile/2d6ae8fa82b656879dd3371d0a6899e88ef34e76 create mode 100644 fuzzers/corpora/packfile/2e74d24e887678f0681d4c7c010477b8b9697f1a create mode 100644 fuzzers/corpora/packfile/2f436c68a7b0be43aa6d4ad5126ec9401a9f9211 create mode 100644 fuzzers/corpora/packfile/2fec48b0dcb45b98597bfec12bf0dc650543b3e3 create mode 100644 fuzzers/corpora/packfile/31bd25636a9807d6024e78b9b3d02fbb1a02835e create mode 100644 fuzzers/corpora/packfile/323c88be36ecc20ff30b21cf417106554042db04 create mode 100644 fuzzers/corpora/packfile/33b3aa957ca4fb31873033a7f460617f1fe81e32 create mode 100644 fuzzers/corpora/packfile/34303d14e37c9ddfb0bad130e006fec927e13785 create mode 100644 fuzzers/corpora/packfile/34dac9466a4a2c15aaeef13a9567f6827ace7748 create mode 100644 fuzzers/corpora/packfile/356a192b7913b04c54574d18c28d46e6395428ab create mode 100644 fuzzers/corpora/packfile/35bf585248be2c6d3940e15b85f72c4146903097 create mode 100644 fuzzers/corpora/packfile/3725a1c4431714019827277deac8ec2efeed8f1d create mode 100644 fuzzers/corpora/packfile/37a2b7de1fadc9eab2d5fabf5dfe7007c245dbee create mode 100644 fuzzers/corpora/packfile/37ab8a0ca81fc62279057401761f7730a5a8f1b2 create mode 100644 fuzzers/corpora/packfile/38011be20a664dcd2594e712a26c063c2d50efcd create mode 100644 fuzzers/corpora/packfile/3838851a5da8239c2ae6cbbe869c81446c720e87 create mode 100644 fuzzers/corpora/packfile/3921322ac01429b001f88d64c8319088fe49218e create mode 100644 fuzzers/corpora/packfile/395df8f7c51f007019cb30201c49e884b46b92fa create mode 100644 fuzzers/corpora/packfile/3e98eb4fd65d3f2c41fa979db0f5678b310e51fe create mode 100644 fuzzers/corpora/packfile/3f9ec359d0cb573cb6d2b2df64c9f4048ea298b8 create mode 100644 fuzzers/corpora/packfile/4067250457728bf775aa310ef253b223ae2fe4dc create mode 100644 fuzzers/corpora/packfile/40818db87e110b29cb864f73265586cc054f5bbb create mode 100644 fuzzers/corpora/packfile/418f9fb9ce1d4efdf481ca8fff9dadd09caee9fc create mode 100644 fuzzers/corpora/packfile/41ca0ae865b686089b8d99e9d661da291ce51019 create mode 100644 fuzzers/corpora/packfile/42099b4af021e53fd8fd4e056c2568d7c2e3ffa8 create mode 100644 fuzzers/corpora/packfile/420ce645ce1c93cee59a06da2159cbbb251e4c01 create mode 100644 fuzzers/corpora/packfile/4345cb1fa27885a8fbfe7c0c830a592cc76a552b create mode 100644 fuzzers/corpora/packfile/450718a71a93a1b5ff982595432400b0fa876fb6 create mode 100644 fuzzers/corpora/packfile/453a312eb77b9d4198ac62faef10ecf3e283120c create mode 100644 fuzzers/corpora/packfile/45470317334b614ce4d119c05ed2d6250dbc6061 create mode 100644 fuzzers/corpora/packfile/45a65193e30784b0124f4fed659eb7e46552c2d0 create mode 100644 fuzzers/corpora/packfile/45cff3494791ded181e1e3dab1c7a0e40130b57b create mode 100644 fuzzers/corpora/packfile/481dedc2855981510024d48828af0fe35a1503dd create mode 100644 fuzzers/corpora/packfile/49a6448a722742b1b392f0471542ee0c572c5a9a create mode 100644 fuzzers/corpora/packfile/4a6e6af93dea13a5720be52b95f2948e0cab4602 create mode 100644 fuzzers/corpora/packfile/4ac25548f35e06eb9f91b0f15b89db3cb5bcb283 create mode 100644 fuzzers/corpora/packfile/4b586169f192749a0aa023ad6e4edd2e15d67f53 create mode 100644 fuzzers/corpora/packfile/4c3c8ec0e25da9342dc87c2e78d3040c381514ce create mode 100644 fuzzers/corpora/packfile/4d5189cd1411daaa579df34591c6a5946204c9a0 create mode 100644 fuzzers/corpora/packfile/4d7f1bfa928c0d3399598d562e346c6e23de6a03 create mode 100644 fuzzers/corpora/packfile/4eee38183d6fce3f42224738be58d0e3975300f4 create mode 100644 fuzzers/corpora/packfile/4f2e2af611d6567abcf5b6bfc579487ac417a8d4 create mode 100644 fuzzers/corpora/packfile/4fa04b2c3ac839c36c4a3b51bf882eb99b7cd097 create mode 100644 fuzzers/corpora/packfile/4fbe10aede9fd9ce2030c6e567a9281e1a5338f4 create mode 100644 fuzzers/corpora/packfile/5037f4f74273aed9a09122af5f4acc10f42c033a create mode 100644 fuzzers/corpora/packfile/511993d3c99719e38a6779073019dacd7178ddb9 create mode 100644 fuzzers/corpora/packfile/520aa436eab6343c3729f51f0f8048e6b87f6aeb create mode 100644 fuzzers/corpora/packfile/521e228f3b62dca81d87d2e7d5476657d7b5e0a9 create mode 100644 fuzzers/corpora/packfile/52e37dfd77d56769dc8a96388aa26695a8108dac create mode 100644 fuzzers/corpora/packfile/5374fb6be0a406cf8d0e95771ecb032254d21305 create mode 100644 fuzzers/corpora/packfile/53e1d4898c15c8ee3ef5e2fb279d151108725731 create mode 100644 fuzzers/corpora/packfile/53e61ad37ca92b7f6c0396e5fab1ed8743e73da0 create mode 100644 fuzzers/corpora/packfile/55df2a59ed6a888ee2f0cdfdcc8582696702de7a create mode 100644 fuzzers/corpora/packfile/56a2020f68c5eb72786ea168cc2a7e8ea34ad9c2 create mode 100644 fuzzers/corpora/packfile/578678e78b72f8bcb9f414e4129ae5d85a4af914 create mode 100644 fuzzers/corpora/packfile/5a8bc5597fd0b2b44194ffabce46e2fa94c1ffd7 create mode 100644 fuzzers/corpora/packfile/5bab61eb53176449e25c2c82f172b82cb13ffb9d create mode 100644 fuzzers/corpora/packfile/5c2dd944dde9e08881bef0894fe7b22a5c9c4b06 create mode 100644 fuzzers/corpora/packfile/5cb4674f4468d39f061d1df3c95b9c2dca529c54 create mode 100644 fuzzers/corpora/packfile/60b6fbfe65dc1796a09a734e054223aba8c90260 create mode 100644 fuzzers/corpora/packfile/611f5b9368427ef823f7ed89ad23667b02a06435 create mode 100644 fuzzers/corpora/packfile/6214b4afdbfe63400ce428d47a58a2e29f682738 create mode 100644 fuzzers/corpora/packfile/634b675b80d51b52c3c6fbc73181ed47f61749ba create mode 100644 fuzzers/corpora/packfile/6431f1b31dc492fad89732b7d3e511fa7361985d create mode 100644 fuzzers/corpora/packfile/6442fd4bbb7656f142c92050da17b0e81e79fad1 create mode 100644 fuzzers/corpora/packfile/6486c8cf6bcc2fca60502564924f6b266399df3d create mode 100644 fuzzers/corpora/packfile/651c573b6fdd393e97536a47f8b9e65226e29c33 create mode 100644 fuzzers/corpora/packfile/657fc646e93cb999417f43f0ec77fbad694e3e18 create mode 100644 fuzzers/corpora/packfile/65cc90263dec0020ceabc727d33aa587e57fc175 create mode 100644 fuzzers/corpora/packfile/688934845f22049cb14668832efa33d45013b6b9 create mode 100644 fuzzers/corpora/packfile/6b0d31c0d563223024da45691584643ac78c96e8 create mode 100644 fuzzers/corpora/packfile/6b4dc6028a3a684a20dbc427b15a37ea2fd12dd1 create mode 100644 fuzzers/corpora/packfile/6b7486fc2a47a40eb5a85a5edf53af60d48be7d5 create mode 100644 fuzzers/corpora/packfile/6bace82ea640ac0a78963c79483faf0faa7fd168 create mode 100644 fuzzers/corpora/packfile/6ca38da5f096a5847776e4d50cb63121341fd67c create mode 100644 fuzzers/corpora/packfile/6d344a65b9edced36045f94215b6810799789334 create mode 100644 fuzzers/corpora/packfile/6dd655e8ef0573eb1c41151af924974aa1e9c454 create mode 100644 fuzzers/corpora/packfile/6e118259c2940fafba0a9ceeef6308e12e881ae1 create mode 100644 fuzzers/corpora/packfile/6e4b5ef83333606a16a63b579f221f6ffb7b48ee create mode 100644 fuzzers/corpora/packfile/6f47ff60d54c012103a0c28851ffa9eab3002511 create mode 100644 fuzzers/corpora/packfile/701a765befff451207517d56c3fe8609d059867d create mode 100644 fuzzers/corpora/packfile/7050f56d64b28499c89d5430761f18a8a2a933d4 create mode 100644 fuzzers/corpora/packfile/724fa0194f615e1a0f08184a9f1520123f8e2833 create mode 100644 fuzzers/corpora/packfile/72c52d0d98717e21dfee45418a046a19198b5d5d create mode 100644 fuzzers/corpora/packfile/72cec0949c5743ee1df67b41ece5d6806f9bede6 create mode 100644 fuzzers/corpora/packfile/72e6bfb7b881befc0b461334411d70ae227a426a create mode 100644 fuzzers/corpora/packfile/73b74736664ad85828ce1be2e29fb4a68d24402b create mode 100644 fuzzers/corpora/packfile/745bedb79413d20844a8b0e96fbec51b4989c65d create mode 100644 fuzzers/corpora/packfile/748142c17e56d0f0ad9e4d6525b39294d81261d6 create mode 100644 fuzzers/corpora/packfile/74dfea2e26741a8778fb942d1d60a84d0759d7a0 create mode 100644 fuzzers/corpora/packfile/767b2efbb7502a2f652a448b471693d32c128677 create mode 100644 fuzzers/corpora/packfile/78abe558c4277852128d4b91282edcb68f86bdea create mode 100644 fuzzers/corpora/packfile/7960246c2db6d39e68dfe93ded358a3acba8f896 create mode 100644 fuzzers/corpora/packfile/7a4ff814176b55af008ad9580201d5e659242f05 create mode 100644 fuzzers/corpora/packfile/7a752694fce29ded083fbabbc9ff95f5b92a3d9c create mode 100644 fuzzers/corpora/packfile/7a81af3e591ac713f81ea1efe93dcf36157d8376 create mode 100644 fuzzers/corpora/packfile/7c957a1fd650f9ae0eadc112837ea451a692affc create mode 100644 fuzzers/corpora/packfile/7cda4ab6a0daf50f675d5225cbc166c86a8ef95f create mode 100644 fuzzers/corpora/packfile/7cf184f4c67ad58283ecb19349720b0cae756829 create mode 100644 fuzzers/corpora/packfile/7df1ea8d86d601c3bd39977ea85e5f74c9db6acb create mode 100644 fuzzers/corpora/packfile/820ec3e39089d863641a1be6942445db3ff34270 create mode 100644 fuzzers/corpora/packfile/827704fd978bd02a46268b7396b202a52ad261ed create mode 100644 fuzzers/corpora/packfile/828acfc1d49a0fdbcd9f238138ff65582c2a9fc8 create mode 100644 fuzzers/corpora/packfile/8306a2f04a47fe4c95098675ffa25c074ecd89de create mode 100644 fuzzers/corpora/packfile/8327db1c6a884d8b3e3cefd94cec9eb94bffae0a create mode 100644 fuzzers/corpora/packfile/847f4e42f8f2730a48d19951d8829621b2e70082 create mode 100644 fuzzers/corpora/packfile/84a516841ba77a5b4648de2cd0dfcb30ea46dbb4 create mode 100644 fuzzers/corpora/packfile/8552526f5aba95119c0b95b61cd40386e7a3738b create mode 100644 fuzzers/corpora/packfile/8565db62ac64209ff009ac40e7c2d2ac4ae944eb create mode 100644 fuzzers/corpora/packfile/859b3346967c5c3c136459e565b402f9a936aa0d create mode 100644 fuzzers/corpora/packfile/86a69caf3c5866d78d80da087b1b843cfea5e907 create mode 100644 fuzzers/corpora/packfile/86e1fb54a04fc18ee482b794ba3b2b306f6515d4 create mode 100644 fuzzers/corpora/packfile/86f217ee467d31ad9ad2a8c502b91279cd7f1c40 create mode 100644 fuzzers/corpora/packfile/8768a53e1d4c182907306300f9ca90cfd8018383 create mode 100644 fuzzers/corpora/packfile/8834a7aac170c494f45aa4da71b9605a52d82435 create mode 100644 fuzzers/corpora/packfile/883f023f38a031d8a8e8ce2cba6614b9bff5d41f create mode 100644 fuzzers/corpora/packfile/88738071086eb04e47b77d1ca28b35ddbfaa0968 create mode 100644 fuzzers/corpora/packfile/892aef744c87c6ee4ba3dd457c7ca02ba3d359bd create mode 100644 fuzzers/corpora/packfile/8afb5c282d23c4055500f88a10b26383c682c900 create mode 100644 fuzzers/corpora/packfile/8b3dfce4cd7b8942eedb52af0e9ca4caa5c6de61 create mode 100644 fuzzers/corpora/packfile/8c2cccf751bb5844bea8dc63c22e3f8e4489411e create mode 100644 fuzzers/corpora/packfile/8e30894298502ba4d43af98f1ec3088f9b8f29d5 create mode 100644 fuzzers/corpora/packfile/8eb4d738f7170d2e0594b779f782eb3171c9d421 create mode 100644 fuzzers/corpora/packfile/8f46a043da3aa5d466ade170e62b0b9f362b4c5b create mode 100644 fuzzers/corpora/packfile/9295f39686016bf3abb1d6e9924d6725c1263920 create mode 100644 fuzzers/corpora/packfile/92fa2c2237724e7ba49e9c59adad8d61ce400bbf create mode 100644 fuzzers/corpora/packfile/936548b53e1a1e30cb30747a87203abd4eae78ea create mode 100644 fuzzers/corpora/packfile/9835ad3ff27939bc1315632d6a22980b377c36e4 create mode 100644 fuzzers/corpora/packfile/9857740c36a95415fa3be04cdf184db7b41a8b3e create mode 100644 fuzzers/corpora/packfile/98c35b9d5e7b430d0d4ef70f642d8e2f3266b6d4 create mode 100644 fuzzers/corpora/packfile/9929b50ac145c0781a0347be1559764edc668173 create mode 100644 fuzzers/corpora/packfile/9bf6a450d87badf2d495c2df37081ea16156915a create mode 100644 fuzzers/corpora/packfile/9bffb3ff7a4429144305b770162074bbffe39ce9 create mode 100644 fuzzers/corpora/packfile/9c040d3207196e3aeee0df389170d6e59733ba0f create mode 100644 fuzzers/corpora/packfile/9c740d0f3b8875a3b19f1cf1a88d5192a997a68d create mode 100644 fuzzers/corpora/packfile/9cf72097400efb70d06179e6b00abb4cdec74e66 create mode 100644 fuzzers/corpora/packfile/9d36c270ef1f14214742562238dc747242d4756e create mode 100644 fuzzers/corpora/packfile/9fb415ccadc8e7b0f38646ec5782d5895111e259 create mode 100644 fuzzers/corpora/packfile/a13b7fbb454fe3bdebd07a51d466484aa41ee142 create mode 100644 fuzzers/corpora/packfile/a1a7715c7596c77b892dc6d4debb7c108ca4ef97 create mode 100644 fuzzers/corpora/packfile/a1ac8b656af02b56aefe6029db36b1af9fb664ef create mode 100644 fuzzers/corpora/packfile/a343687e2522222c2d49e8cb18d3feda64cf1d66 create mode 100644 fuzzers/corpora/packfile/a6f57425137e9aa54537f0b3f5364ce165aedb0a create mode 100644 fuzzers/corpora/packfile/a73df4ce29f75cc638a7a2d823fee57d909ab681 create mode 100644 fuzzers/corpora/packfile/a7ee38bb7be4fc44198cb2685d9601dcf2b9f569 create mode 100644 fuzzers/corpora/packfile/a8b9b91157274e617bf4ac5045fc0c6ac97e76f7 create mode 100644 fuzzers/corpora/packfile/a9c697f383f59a3b0642cd55b88190bce6201bae create mode 100644 fuzzers/corpora/packfile/ab064cd6847c0fa546bbec4241eb9b095e0e73da create mode 100644 fuzzers/corpora/packfile/ab2c64588d3d9dc5c54c48d414e6d46d6a78cfa6 create mode 100644 fuzzers/corpora/packfile/abe729b06750880778312618dcebb43257ec03e0 create mode 100644 fuzzers/corpora/packfile/ac1bf5a5fe61e5784f72b364ef1bcddfb0d13716 create mode 100644 fuzzers/corpora/packfile/ac47b6d3f0e479df3292131535f8e0d99c288de9 create mode 100644 fuzzers/corpora/packfile/ac9231da4082430afe8f4d40127814c613648d8e create mode 100644 fuzzers/corpora/packfile/ace9ffcaa273c01c0eb60381321e47edf4842332 create mode 100644 fuzzers/corpora/packfile/ad6ba9b0bc076987efbeb11ce3fc92bc1df69d0a create mode 100644 fuzzers/corpora/packfile/ae99dcb9b5e1b09aa5df6bb2fada3a3de61268fe create mode 100644 fuzzers/corpora/packfile/aeeacf0499ace69549fe2c76757d4948ba65a10b create mode 100644 fuzzers/corpora/packfile/af6614c37604ee5d3f7b00cddca761a8776283b5 create mode 100644 fuzzers/corpora/packfile/afd44f8c385a922c8caacc1ea5688d324bad5b39 create mode 100644 fuzzers/corpora/packfile/aff024fe4ab0fece4091de044c58c9ae4233383a create mode 100644 fuzzers/corpora/packfile/b1f86f05d4928c8393fe0f138c0714df3978f0bb create mode 100644 fuzzers/corpora/packfile/b452cd4b70f2827e3cbd6d5dd20f678b6e55f813 create mode 100644 fuzzers/corpora/packfile/b491dbad4c3edc87aa5a7f12b2c9a447a712c20d create mode 100644 fuzzers/corpora/packfile/b54664965911c6fe91e18cd01b68a75c8183b530 create mode 100644 fuzzers/corpora/packfile/b68542373c05c0ed25231d09955b2c699d37c45b create mode 100644 fuzzers/corpora/packfile/b706e78cf7110a78dfccce991cd4ce22c6fd898a create mode 100644 fuzzers/corpora/packfile/b8d3910a75ad8a7058f9c3f202f8eb27419137d7 create mode 100644 fuzzers/corpora/packfile/b93abe6094fb4ebbfa7414fbceb7199ce766075b create mode 100644 fuzzers/corpora/packfile/b9a64cc0694f3ac4a3c530c721bbf69026192187 create mode 100644 fuzzers/corpora/packfile/b9e5319eca8fbc26e5c322e0b151ed8ed60628d1 create mode 100644 fuzzers/corpora/packfile/ba390745a04c5394601f7aa73fe795097b814d1a create mode 100644 fuzzers/corpora/packfile/bb7d065b776833337d3e1a3071de4d5d2759d78b create mode 100644 fuzzers/corpora/packfile/bb99cf0bb3e5d75d59300e6ca9cb1f67ce315e3a create mode 100644 fuzzers/corpora/packfile/bd9722d91e0615cbdae3cee3476ec6181fbad98d create mode 100644 fuzzers/corpora/packfile/bf8b4530d8d246dd74ac53a13471bba17941dff7 create mode 100644 fuzzers/corpora/packfile/bffc4698ad4aaddd977fe857da20858aa6654263 create mode 100644 fuzzers/corpora/packfile/c0ea828d8f9c4a2c0fc6253908cd283f6c7994a1 create mode 100644 fuzzers/corpora/packfile/c151b760696d665265187501c51f38cd84503634 create mode 100644 fuzzers/corpora/packfile/c16f90096603258174790bc85f076413dad0e228 create mode 100644 fuzzers/corpora/packfile/c20fc8fb8f1d44050c281089191b8eac2dc9444c create mode 100644 fuzzers/corpora/packfile/c2143b1a0db17957bec1b41bb2e5f75aa135981e create mode 100644 fuzzers/corpora/packfile/c22c3fba53bb2c5579b47852fa9ec54a88c03472 create mode 100644 fuzzers/corpora/packfile/c297564cff1bb4f7933221050cfcffa36c59f691 create mode 100644 fuzzers/corpora/packfile/c2c4da76233acd3efe08eaebb7ae8dc9b3036527 create mode 100644 fuzzers/corpora/packfile/c3d47118536d19a8d1a601978510cc24344aa8df create mode 100644 fuzzers/corpora/packfile/c4cbb032db94c57061003a85d30bdf4117979b1e create mode 100644 fuzzers/corpora/packfile/c7090127a03c0e7230c11a649e4f98fcb4ca2b75 create mode 100644 fuzzers/corpora/packfile/c8b839665bd381ff7d006b1b08c35f94f1818556 create mode 100644 fuzzers/corpora/packfile/ca8c7c16d1d6b60e951dcfb558cc97e14231c750 create mode 100644 fuzzers/corpora/packfile/cb46c744c83541a0900e1e61780c18d43031a08b create mode 100644 fuzzers/corpora/packfile/cbf1e454dc7ac878bd23e3dfd0b6a28a50b2155d create mode 100644 fuzzers/corpora/packfile/cbfb8cae82ddd82c04996f474fdb4f1b80dcb6db create mode 100644 fuzzers/corpora/packfile/cf74f755c004ca634818f8ba44c99fffbaa950a1 create mode 100644 fuzzers/corpora/packfile/d07e4bc786c88b8d2304f84c7db2098666f822c0 create mode 100644 fuzzers/corpora/packfile/d17ab0db9edea68e8f9f51f471decae84b192a1a create mode 100644 fuzzers/corpora/packfile/d1854cae891ec7b29161ccaf79a24b00c274bdaa create mode 100644 fuzzers/corpora/packfile/d22aac18f8b435fc34566fe0d3f42464aec9458c create mode 100644 fuzzers/corpora/packfile/d446a50788c32053358495358696f9d595358bcf create mode 100644 fuzzers/corpora/packfile/d461cbcff85c87b0068f0e9c15d2056197cdfa52 create mode 100644 fuzzers/corpora/packfile/d54709a1b46002c81f57da533379e57f00afe942 create mode 100644 fuzzers/corpora/packfile/d567007f84b83e82df7069838bf8b6c5826b18a8 create mode 100644 fuzzers/corpora/packfile/d5e60b9f94126a9ec865fda83feb6835d294b76b create mode 100644 fuzzers/corpora/packfile/d81092a4f3607ddbba85862facf2285459696078 create mode 100644 fuzzers/corpora/packfile/d898eb860ceac044950605db88429e029ea278ef create mode 100644 fuzzers/corpora/packfile/d8fc60ccdd8f555c1858b9f0820f263e3d2b58ec create mode 100644 fuzzers/corpora/packfile/d9b69c63cdc0c1622f2fab84d1307f9e0c0fa3b9 create mode 100644 fuzzers/corpora/packfile/db1bb4b7348d387623dcaf0a743d0b11fa18409f create mode 100644 fuzzers/corpora/packfile/db291360a195c79ae504a3dfb2cd0f71cbc11902 create mode 100644 fuzzers/corpora/packfile/dc98359b3ef2ced9c3d07636c89d475a564c39d9 create mode 100644 fuzzers/corpora/packfile/dccc5642917b20b4dd64d3e44b71d08da30445e9 create mode 100644 fuzzers/corpora/packfile/dd79c8cfb8beeacd0460429944b4ecbe95a31561 create mode 100644 fuzzers/corpora/packfile/de9550264c4e2dbef14e1281ff3693f2d19dc1c9 create mode 100644 fuzzers/corpora/packfile/df8b4d163e9ed75634eb56467343bde73b13263e create mode 100644 fuzzers/corpora/packfile/e0184adedf913b076626646d3f52c3b49c39ad6d create mode 100644 fuzzers/corpora/packfile/e0905bac594c818b9cfa909269114977c4d6d1b2 create mode 100644 fuzzers/corpora/packfile/e0bcb16cd6b42128201e1b6454323175a7e412f0 create mode 100644 fuzzers/corpora/packfile/e1ac9563c33f4f31b3e147b9d2fef80fca550948 create mode 100644 fuzzers/corpora/packfile/e230c91352f1b07f6f34da803d07e75c06897b30 create mode 100644 fuzzers/corpora/packfile/e26b3bacbfd6603d021d4ddadbac94b7b7aa0034 create mode 100644 fuzzers/corpora/packfile/e2a6f8dc3dc5d6c859f19d6e0fa64745201df0a6 create mode 100644 fuzzers/corpora/packfile/e2ba004118345660b379df5147bfa7a39d884dbc create mode 100644 fuzzers/corpora/packfile/e45aaf139d726366a18dce9e4854ee6c82901677 create mode 100644 fuzzers/corpora/packfile/e4b3ab7e8c18de815fc8bd6ebfd5d52cf1924a8e create mode 100644 fuzzers/corpora/packfile/e6818b96c50bb749911248959af81a9c412a0223 create mode 100644 fuzzers/corpora/packfile/e69f20e9f683920d3fb4329abd951e878b1f9372 create mode 100644 fuzzers/corpora/packfile/e6eb439fef7d5461bc3552aa7c064d24e44c5f32 create mode 100644 fuzzers/corpora/packfile/e9d9930dc3fea44fbc7acb0d1ef4bd867f1c902b create mode 100644 fuzzers/corpora/packfile/eb05b6ad73fb1f69ef750d0b9cb6c606ab9d949f create mode 100644 fuzzers/corpora/packfile/eb0814ae767e5f28b87c998b0f44dcf80814db1b create mode 100644 fuzzers/corpora/packfile/ebbd9763912dd557d08abd1373c867a4b56e6a41 create mode 100644 fuzzers/corpora/packfile/ebcdcb7effcc3f06e0d503638ac621de877fc554 create mode 100644 fuzzers/corpora/packfile/eddccafb2716adafb9ad48203f0621bb00ebc73f create mode 100644 fuzzers/corpora/packfile/edfbf20c83d3cec45470105581f7dc8b7e0889da create mode 100644 fuzzers/corpora/packfile/f03218467b1c74e465cebb3b8092e21a5122f31d create mode 100644 fuzzers/corpora/packfile/f28600befd899a94bed8e62853e90655d614f439 create mode 100644 fuzzers/corpora/packfile/f3b15185b7a9a10716752d58434fe656d839092e create mode 100644 fuzzers/corpora/packfile/f436ed7933482610e08e18b40e9eec102b63b7d4 create mode 100644 fuzzers/corpora/packfile/f55ea5b7c1cf5400aae56d7faf65a42320d0323a create mode 100644 fuzzers/corpora/packfile/f5eeab2d009aa4984378df6bfdd89366b7ecbb32 create mode 100644 fuzzers/corpora/packfile/f6250c8b3cc0510e0f8f621100be83f018e2d234 create mode 100644 fuzzers/corpora/packfile/f7168410c7158ff7331698930937f9cdc54f4d8a create mode 100644 fuzzers/corpora/packfile/f91847640af285c1b8a6df27f5c50686ed0deb70 create mode 100644 fuzzers/corpora/packfile/fa58a6b2d3286a136a43afeeaac589d2dde0a2a6 create mode 100644 fuzzers/corpora/packfile/fe3667be5fd2ffdd553ae04a534a2e9ce5445188 create mode 100644 fuzzers/corpora/packfile/ff21cad92ddd105224408fa696e91080a8cf98fb create mode 100644 fuzzers/corpora/packfile/ff9804ac04790bd58cdd124526c00b920469b812 create mode 100644 fuzzers/corpora/packfile/ffc54ca808e7666f250133ad0ae2185ad688a826 create mode 100644 fuzzers/download_refs_fuzzer.c create mode 100644 fuzzers/objects_fuzzer.c create mode 100644 fuzzers/packfile_fuzzer.c create mode 100644 fuzzers/standalone_driver.c create mode 100644 include/git2/apply.h create mode 100644 include/git2/deprecated.h create mode 100644 include/git2/mailmap.h create mode 100644 include/git2/sys/alloc.h create mode 100644 include/git2/sys/path.h create mode 100644 package.json create mode 100755 script/backport.sh create mode 100644 src/alloc.c create mode 100644 src/alloc.h create mode 100644 src/config_backend.h create mode 100644 src/config_entries.c create mode 100644 src/config_entries.h delete mode 100644 src/config_file.h create mode 100644 src/config_mem.c create mode 100644 src/hash/hash_mbedtls.c create mode 100644 src/hash/hash_mbedtls.h create mode 100644 src/mailmap.c create mode 100644 src/mailmap.h create mode 100644 src/reader.c create mode 100644 src/reader.h create mode 100644 src/stdalloc.c rename src/{streams/curl.h => stdalloc.h} (52%) delete mode 100644 src/streams/curl.c create mode 100644 src/streams/mbedtls.c create mode 100644 src/streams/mbedtls.h create mode 100644 src/streams/registry.c create mode 100644 src/streams/registry.h create mode 100644 tests/apply/apply_helpers.c create mode 100644 tests/apply/apply_helpers.h create mode 100644 tests/apply/both.c create mode 100644 tests/apply/callbacks.c create mode 100644 tests/apply/index.c create mode 100644 tests/apply/partial.c create mode 100644 tests/apply/tree.c create mode 100644 tests/apply/workdir.c create mode 100644 tests/config/memory.c delete mode 100644 tests/generate_crlf.sh create mode 100644 tests/index/splitindex.c create mode 100644 tests/mailmap/basic.c create mode 100644 tests/mailmap/blame.c create mode 100644 tests/mailmap/mailmap_testdata.h create mode 100644 tests/mailmap/parsing.c create mode 100644 tests/merge/annotated_commit.c delete mode 100644 tests/network/remote/createthenload.c create mode 100644 tests/object/commit/parse.c create mode 100644 tests/object/tag/parse.c create mode 100644 tests/object/tree/parse.c create mode 100644 tests/remote/create.c create mode 100644 tests/resources/crlf/.gitattributes rename tests/resources/{crlf_data/posix/autocrlf_false,-crlf => crlf}/all-crlf (100%) rename tests/resources/{crlf_data/posix/autocrlf_false,-crlf => crlf}/all-crlf-utf8bom (100%) rename tests/resources/{crlf_data/posix/autocrlf_false,-crlf => crlf}/all-lf (100%) rename tests/resources/{crlf_data/posix/autocrlf_false,-crlf => crlf}/all-lf-utf8bom (100%) rename tests/resources/{crlf_data/posix/autocrlf_false,-crlf => crlf}/binary-all-crlf (100%) rename tests/resources/{crlf_data/posix/autocrlf_false,-crlf => crlf}/binary-all-lf (100%) rename tests/resources/{crlf_data/posix/autocrlf_false,-crlf => crlf}/binary-mixed-lf-cr (100%) rename tests/resources/{crlf_data/posix/autocrlf_false,-crlf => crlf}/binary-mixed-lf-cr-crlf (100%) rename tests/resources/{crlf_data/posix/autocrlf_false,-crlf => crlf}/few-utf8-chars-crlf (100%) rename tests/resources/{crlf_data/posix/autocrlf_false,-crlf => crlf}/few-utf8-chars-lf (100%) rename tests/resources/{crlf_data/posix/autocrlf_false,-crlf => crlf}/many-utf8-chars-crlf (100%) rename tests/resources/{crlf_data/posix/autocrlf_false,-crlf => crlf}/many-utf8-chars-lf (100%) rename tests/resources/{crlf_data/posix/autocrlf_false,-crlf => crlf}/mixed-lf-cr (100%) rename tests/resources/{crlf_data/posix/autocrlf_false,-crlf => crlf}/mixed-lf-cr-crlf (100%) rename tests/resources/{crlf_data/posix/autocrlf_false,-crlf => crlf}/more-crlf (100%) rename tests/resources/{crlf_data/posix/autocrlf_false,-crlf => crlf}/more-crlf-utf8bom (100%) rename tests/resources/{crlf_data/posix/autocrlf_false,-crlf => crlf}/more-lf (100%) rename tests/resources/{crlf_data/posix/autocrlf_false,-crlf => crlf}/more-lf-utf8bom (100%) rename tests/resources/{crlf_data/posix/autocrlf_false,-crlf => crlf}/zero-byte (100%) create mode 100644 tests/resources/crlf_data/README rename tests/resources/crlf_data/{posix/autocrlf_false,-text => posix_to_odb/autocrlf_false,safecrlf_false,-crlf}/all-crlf (100%) rename tests/resources/crlf_data/{posix/autocrlf_false,-text => posix_to_odb/autocrlf_false,safecrlf_false,-crlf}/all-crlf-utf8bom (100%) rename tests/resources/crlf_data/{posix/autocrlf_false,-text => posix_to_odb/autocrlf_false,safecrlf_false,-crlf}/all-lf (100%) rename tests/resources/crlf_data/{posix/autocrlf_false,-text => posix_to_odb/autocrlf_false,safecrlf_false,-crlf}/all-lf-utf8bom (100%) rename tests/resources/crlf_data/{posix/autocrlf_false,-text => posix_to_odb/autocrlf_false,safecrlf_false,-crlf}/binary-all-crlf (100%) rename tests/resources/crlf_data/{posix/autocrlf_false,-text => posix_to_odb/autocrlf_false,safecrlf_false,-crlf}/binary-all-lf (100%) rename tests/resources/crlf_data/{posix/autocrlf_false,-text => posix_to_odb/autocrlf_false,safecrlf_false,-crlf}/binary-mixed-lf-cr (100%) rename tests/resources/crlf_data/{posix/autocrlf_false,-text => posix_to_odb/autocrlf_false,safecrlf_false,-crlf}/binary-mixed-lf-cr-crlf (100%) rename tests/resources/crlf_data/{posix/autocrlf_false,-text => posix_to_odb/autocrlf_false,safecrlf_false,-crlf}/few-utf8-chars-crlf (100%) rename tests/resources/crlf_data/{posix/autocrlf_false,-text => posix_to_odb/autocrlf_false,safecrlf_false,-crlf}/few-utf8-chars-lf (100%) rename tests/resources/crlf_data/{posix/autocrlf_false,-text => posix_to_odb/autocrlf_false,safecrlf_false,-crlf}/many-utf8-chars-crlf (100%) rename tests/resources/crlf_data/{posix/autocrlf_false,-text => posix_to_odb/autocrlf_false,safecrlf_false,-crlf}/many-utf8-chars-lf (100%) rename tests/resources/crlf_data/{posix/autocrlf_false,-text => posix_to_odb/autocrlf_false,safecrlf_false,-crlf}/mixed-lf-cr (100%) rename tests/resources/crlf_data/{posix/autocrlf_false,-text => posix_to_odb/autocrlf_false,safecrlf_false,-crlf}/mixed-lf-cr-crlf (100%) rename tests/resources/crlf_data/{posix/autocrlf_false,-text => posix_to_odb/autocrlf_false,safecrlf_false,-crlf}/more-crlf (100%) rename tests/resources/crlf_data/{posix/autocrlf_false,-text => posix_to_odb/autocrlf_false,safecrlf_false,-crlf}/more-crlf-utf8bom (100%) rename tests/resources/crlf_data/{posix/autocrlf_false,-text => posix_to_odb/autocrlf_false,safecrlf_false,-crlf}/more-lf (100%) rename tests/resources/crlf_data/{posix/autocrlf_false,-text => posix_to_odb/autocrlf_false,safecrlf_false,-crlf}/more-lf-utf8bom (100%) rename tests/resources/crlf_data/{posix/autocrlf_false,-text => posix_to_odb/autocrlf_false,safecrlf_false,-crlf}/zero-byte (100%) rename tests/resources/crlf_data/{posix/autocrlf_false,crlf => posix_to_odb/autocrlf_false,safecrlf_false,-text}/all-crlf (100%) rename tests/resources/crlf_data/{posix/autocrlf_false,crlf => posix_to_odb/autocrlf_false,safecrlf_false,-text}/all-crlf-utf8bom (100%) rename tests/resources/crlf_data/{posix/autocrlf_false,crlf => posix_to_odb/autocrlf_false,safecrlf_false,-text}/all-lf (100%) rename tests/resources/crlf_data/{posix/autocrlf_false,crlf => posix_to_odb/autocrlf_false,safecrlf_false,-text}/all-lf-utf8bom (100%) rename tests/resources/crlf_data/{posix/autocrlf_false,crlf => posix_to_odb/autocrlf_false,safecrlf_false,-text}/binary-all-crlf (100%) rename tests/resources/crlf_data/{posix/autocrlf_false,crlf => posix_to_odb/autocrlf_false,safecrlf_false,-text}/binary-all-lf (100%) rename tests/resources/crlf_data/{posix/autocrlf_false,crlf => posix_to_odb/autocrlf_false,safecrlf_false,-text}/binary-mixed-lf-cr (100%) rename tests/resources/crlf_data/{posix/autocrlf_false,crlf => posix_to_odb/autocrlf_false,safecrlf_false,-text}/binary-mixed-lf-cr-crlf (100%) rename tests/resources/crlf_data/{posix/autocrlf_false,crlf => posix_to_odb/autocrlf_false,safecrlf_false,-text}/few-utf8-chars-crlf (100%) rename tests/resources/crlf_data/{posix/autocrlf_false,crlf => posix_to_odb/autocrlf_false,safecrlf_false,-text}/few-utf8-chars-lf (100%) rename tests/resources/crlf_data/{posix/autocrlf_false,crlf => posix_to_odb/autocrlf_false,safecrlf_false,-text}/many-utf8-chars-crlf (100%) rename tests/resources/crlf_data/{posix/autocrlf_false,crlf => posix_to_odb/autocrlf_false,safecrlf_false,-text}/many-utf8-chars-lf (100%) rename tests/resources/crlf_data/{posix/autocrlf_false,crlf => posix_to_odb/autocrlf_false,safecrlf_false,-text}/mixed-lf-cr (100%) rename tests/resources/crlf_data/{posix/autocrlf_false,crlf => posix_to_odb/autocrlf_false,safecrlf_false,-text}/mixed-lf-cr-crlf (100%) rename tests/resources/crlf_data/{posix/autocrlf_false,crlf => posix_to_odb/autocrlf_false,safecrlf_false,-text}/more-crlf (100%) rename tests/resources/crlf_data/{posix/autocrlf_false,crlf => posix_to_odb/autocrlf_false,safecrlf_false,-text}/more-crlf-utf8bom (100%) rename tests/resources/crlf_data/{posix/autocrlf_false,crlf => posix_to_odb/autocrlf_false,safecrlf_false,-text}/more-lf (100%) rename tests/resources/crlf_data/{posix/autocrlf_false,crlf => posix_to_odb/autocrlf_false,safecrlf_false,-text}/more-lf-utf8bom (100%) rename tests/resources/crlf_data/{posix/autocrlf_false,crlf => posix_to_odb/autocrlf_false,safecrlf_false,-text}/zero-byte (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/all-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/all-crlf-utf8bom rename tests/resources/crlf_data/{posix/autocrlf_false,eol_lf => posix_to_odb/autocrlf_false,safecrlf_false,crlf}/all-lf (100%) rename tests/resources/crlf_data/{posix/autocrlf_false,eol_lf => posix_to_odb/autocrlf_false,safecrlf_false,crlf}/all-lf-utf8bom (100%) rename tests/resources/crlf_data/{posix/autocrlf_false,eol_lf/binary-all-lf => posix_to_odb/autocrlf_false,safecrlf_false,crlf/binary-all-crlf} (100%) rename tests/resources/crlf_data/{posix/autocrlf_false,text,eol_lf => posix_to_odb/autocrlf_false,safecrlf_false,crlf}/binary-all-lf (100%) rename tests/resources/crlf_data/{posix/autocrlf_false,eol_lf => posix_to_odb/autocrlf_false,safecrlf_false,crlf}/binary-mixed-lf-cr (100%) rename tests/resources/crlf_data/{posix/autocrlf_false,text,eol_lf/binary-mixed-lf-cr => posix_to_odb/autocrlf_false,safecrlf_false,crlf/binary-mixed-lf-cr-crlf} (100%) rename tests/resources/crlf_data/{posix/autocrlf_false,eol_lf/few-utf8-chars-lf => posix_to_odb/autocrlf_false,safecrlf_false,crlf/few-utf8-chars-crlf} (100%) rename tests/resources/crlf_data/{posix/autocrlf_false,text,eol_lf => posix_to_odb/autocrlf_false,safecrlf_false,crlf}/few-utf8-chars-lf (100%) rename tests/resources/crlf_data/{posix/autocrlf_false,eol_lf/many-utf8-chars-lf => posix_to_odb/autocrlf_false,safecrlf_false,crlf/many-utf8-chars-crlf} (100%) rename tests/resources/crlf_data/{posix/autocrlf_false,text,eol_lf => posix_to_odb/autocrlf_false,safecrlf_false,crlf}/many-utf8-chars-lf (100%) rename tests/resources/crlf_data/{posix/autocrlf_false,eol_lf => posix_to_odb/autocrlf_false,safecrlf_false,crlf}/mixed-lf-cr (100%) rename tests/resources/crlf_data/{posix/autocrlf_false,text,eol_lf/mixed-lf-cr => posix_to_odb/autocrlf_false,safecrlf_false,crlf/mixed-lf-cr-crlf} (100%) rename tests/resources/crlf_data/{windows/autocrlf_input,eol_crlf => posix_to_odb/autocrlf_false,safecrlf_false,crlf}/more-crlf (82%) rename tests/resources/crlf_data/{windows/autocrlf_input,text_auto,eol_crlf => posix_to_odb/autocrlf_false,safecrlf_false,crlf}/more-crlf-utf8bom (83%) rename tests/resources/crlf_data/{windows/autocrlf_input,text,eol_crlf => posix_to_odb/autocrlf_false,safecrlf_false,crlf}/more-lf (77%) rename tests/resources/crlf_data/{windows/autocrlf_input,text_auto,eol_crlf => posix_to_odb/autocrlf_false,safecrlf_false,crlf}/more-lf-utf8bom (80%) rename tests/resources/crlf_data/{posix/autocrlf_false,eol_crlf => posix_to_odb/autocrlf_false,safecrlf_false,crlf}/zero-byte (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/all-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/all-crlf-utf8bom rename tests/resources/crlf_data/{posix/autocrlf_false,text,eol_lf => posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf}/all-lf (100%) rename tests/resources/crlf_data/{posix/autocrlf_false,text,eol_lf => posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf}/all-lf-utf8bom (100%) rename tests/resources/crlf_data/{posix/autocrlf_false,text/binary-all-lf => posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/binary-all-crlf} (100%) rename tests/resources/crlf_data/{posix/autocrlf_false,text_auto,eol_lf => posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf}/binary-all-lf (100%) rename tests/resources/crlf_data/{posix/autocrlf_false,text => posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf}/binary-mixed-lf-cr (100%) rename tests/resources/crlf_data/{posix/autocrlf_false,text_auto,eol_lf/binary-mixed-lf-cr => posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/binary-mixed-lf-cr-crlf} (100%) rename tests/resources/crlf_data/{posix/autocrlf_false,text/few-utf8-chars-lf => posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/few-utf8-chars-crlf} (100%) rename tests/resources/crlf_data/{posix/autocrlf_false,text_auto,eol_lf => posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf}/few-utf8-chars-lf (100%) rename tests/resources/crlf_data/{posix/autocrlf_false,text/many-utf8-chars-lf => posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/many-utf8-chars-crlf} (100%) rename tests/resources/crlf_data/{posix/autocrlf_false,text_auto,eol_lf => posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf}/many-utf8-chars-lf (100%) rename tests/resources/crlf_data/{posix/autocrlf_false,text => posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf}/mixed-lf-cr (100%) rename tests/resources/crlf_data/{posix/autocrlf_false,text_auto,eol_lf/mixed-lf-cr => posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/mixed-lf-cr-crlf} (100%) rename tests/resources/crlf_data/{windows/autocrlf_input,text_auto,eol_crlf => posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf}/more-crlf (82%) rename tests/resources/crlf_data/{windows/autocrlf_input,eol_crlf => posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf}/more-crlf-utf8bom (83%) rename tests/resources/crlf_data/{windows/autocrlf_input,text_auto,eol_crlf => posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf}/more-lf (77%) rename tests/resources/crlf_data/{windows/autocrlf_input,text,eol_crlf => posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf}/more-lf-utf8bom (80%) rename tests/resources/crlf_data/{posix/autocrlf_false,eol_lf => posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf}/zero-byte (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/all-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/all-crlf-utf8bom rename tests/resources/crlf_data/{posix/autocrlf_false,text => posix_to_odb/autocrlf_false,safecrlf_false,eol_lf}/all-lf (100%) rename tests/resources/crlf_data/{posix/autocrlf_false,text => posix_to_odb/autocrlf_false,safecrlf_false,eol_lf}/all-lf-utf8bom (100%) rename tests/resources/crlf_data/{posix/autocrlf_false,text_auto/binary-all-lf => posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/binary-all-crlf} (100%) rename tests/resources/crlf_data/{posix/autocrlf_false => posix_to_odb/autocrlf_false,safecrlf_false,eol_lf}/binary-all-lf (100%) rename tests/resources/crlf_data/{posix/autocrlf_false,text_auto => posix_to_odb/autocrlf_false,safecrlf_false,eol_lf}/binary-mixed-lf-cr (100%) rename tests/resources/crlf_data/{posix/autocrlf_false/binary-mixed-lf-cr => posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/binary-mixed-lf-cr-crlf} (100%) rename tests/resources/crlf_data/{posix/autocrlf_false,text_auto/few-utf8-chars-lf => posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/few-utf8-chars-crlf} (100%) rename tests/resources/crlf_data/{posix/autocrlf_false => posix_to_odb/autocrlf_false,safecrlf_false,eol_lf}/few-utf8-chars-lf (100%) rename tests/resources/crlf_data/{posix/autocrlf_false,text_auto/many-utf8-chars-lf => posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/many-utf8-chars-crlf} (100%) rename tests/resources/crlf_data/{posix/autocrlf_false => posix_to_odb/autocrlf_false,safecrlf_false,eol_lf}/many-utf8-chars-lf (100%) rename tests/resources/crlf_data/{posix/autocrlf_false,text_auto => posix_to_odb/autocrlf_false,safecrlf_false,eol_lf}/mixed-lf-cr (100%) rename tests/resources/crlf_data/{posix/autocrlf_false/mixed-lf-cr => posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/mixed-lf-cr-crlf} (100%) rename tests/resources/crlf_data/{windows/autocrlf_true,crlf => posix_to_odb/autocrlf_false,safecrlf_false,eol_lf}/more-crlf (82%) rename tests/resources/crlf_data/{windows/autocrlf_true,crlf => posix_to_odb/autocrlf_false,safecrlf_false,eol_lf}/more-crlf-utf8bom (83%) rename tests/resources/crlf_data/{windows/autocrlf_input,eol_crlf => posix_to_odb/autocrlf_false,safecrlf_false,eol_lf}/more-lf (77%) rename tests/resources/crlf_data/{windows/autocrlf_true,crlf => posix_to_odb/autocrlf_false,safecrlf_false,eol_lf}/more-lf-utf8bom (80%) rename tests/resources/crlf_data/{posix/autocrlf_false,text,eol_crlf => posix_to_odb/autocrlf_false,safecrlf_false,eol_lf}/zero-byte (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/all-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/all-crlf-utf8bom rename tests/resources/crlf_data/{posix/autocrlf_false,text_auto,eol_lf => posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf}/all-lf (100%) rename tests/resources/crlf_data/{posix/autocrlf_false,text_auto,eol_lf => posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf}/all-lf-utf8bom (100%) rename tests/resources/crlf_data/{posix/autocrlf_input,-crlf/binary-all-lf => posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/binary-all-crlf} (100%) rename tests/resources/crlf_data/{posix/autocrlf_input,-text => posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf}/binary-all-lf (100%) rename tests/resources/crlf_data/{posix/autocrlf_input,-crlf => posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf}/binary-mixed-lf-cr (100%) rename tests/resources/crlf_data/{posix/autocrlf_input,-text/binary-mixed-lf-cr => posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/binary-mixed-lf-cr-crlf} (100%) rename tests/resources/crlf_data/{posix/autocrlf_input,-crlf/few-utf8-chars-lf => posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/few-utf8-chars-crlf} (100%) rename tests/resources/crlf_data/{posix/autocrlf_input,-text => posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf}/few-utf8-chars-lf (100%) rename tests/resources/crlf_data/{posix/autocrlf_input,-crlf/many-utf8-chars-lf => posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/many-utf8-chars-crlf} (100%) rename tests/resources/crlf_data/{posix/autocrlf_input,-text => posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf}/many-utf8-chars-lf (100%) rename tests/resources/crlf_data/{posix/autocrlf_input,-crlf => posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf}/mixed-lf-cr (100%) rename tests/resources/crlf_data/{posix/autocrlf_input,-text/mixed-lf-cr => posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/mixed-lf-cr-crlf} (100%) rename tests/resources/crlf_data/{windows/autocrlf_input,text,eol_crlf => posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf}/more-crlf (82%) rename tests/resources/crlf_data/{windows/autocrlf_input,text,eol_crlf => posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf}/more-crlf-utf8bom (83%) rename tests/resources/crlf_data/{windows/autocrlf_true,crlf => posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf}/more-lf (77%) rename tests/resources/crlf_data/{windows/autocrlf_input,eol_crlf => posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf}/more-lf-utf8bom (80%) rename tests/resources/crlf_data/{posix/autocrlf_false,text,eol_lf => posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf}/zero-byte (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/all-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/all-crlf-utf8bom rename tests/resources/crlf_data/{posix/autocrlf_false,text_auto => posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf}/all-lf (100%) rename tests/resources/crlf_data/{posix/autocrlf_false,text_auto => posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf}/all-lf-utf8bom (100%) rename tests/resources/crlf_data/{posix/autocrlf_input,crlf/binary-all-lf => posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/binary-all-crlf} (100%) rename tests/resources/crlf_data/{posix/autocrlf_input,eol_lf => posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf}/binary-all-lf (100%) rename tests/resources/crlf_data/{posix/autocrlf_input,crlf => posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf}/binary-mixed-lf-cr (100%) rename tests/resources/crlf_data/{posix/autocrlf_input,eol_lf/binary-mixed-lf-cr => posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/binary-mixed-lf-cr-crlf} (100%) rename tests/resources/crlf_data/{posix/autocrlf_input,crlf/few-utf8-chars-lf => posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/few-utf8-chars-crlf} (100%) rename tests/resources/crlf_data/{posix/autocrlf_input,eol_lf => posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf}/few-utf8-chars-lf (100%) rename tests/resources/crlf_data/{posix/autocrlf_input,crlf/many-utf8-chars-lf => posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/many-utf8-chars-crlf} (100%) rename tests/resources/crlf_data/{posix/autocrlf_input,eol_lf => posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf}/many-utf8-chars-lf (100%) rename tests/resources/crlf_data/{posix/autocrlf_input,crlf => posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf}/mixed-lf-cr (100%) rename tests/resources/crlf_data/{posix/autocrlf_input,eol_lf/mixed-lf-cr => posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/mixed-lf-cr-crlf} (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/more-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/more-crlf-utf8bom create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/more-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/more-lf-utf8bom rename tests/resources/crlf_data/{posix/autocrlf_false,text => posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf}/zero-byte (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/all-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/all-crlf-utf8bom rename tests/resources/crlf_data/{posix/autocrlf_false => posix_to_odb/autocrlf_false,safecrlf_false,text}/all-lf (100%) rename tests/resources/crlf_data/{posix/autocrlf_false => posix_to_odb/autocrlf_false,safecrlf_false,text}/all-lf-utf8bom (100%) rename tests/resources/crlf_data/{posix/autocrlf_input,text,eol_lf/binary-all-lf => posix_to_odb/autocrlf_false,safecrlf_false,text/binary-all-crlf} (100%) rename tests/resources/crlf_data/{posix/autocrlf_input,text => posix_to_odb/autocrlf_false,safecrlf_false,text}/binary-all-lf (100%) rename tests/resources/crlf_data/{posix/autocrlf_input,text,eol_lf => posix_to_odb/autocrlf_false,safecrlf_false,text}/binary-mixed-lf-cr (100%) rename tests/resources/crlf_data/{posix/autocrlf_input,text/binary-mixed-lf-cr => posix_to_odb/autocrlf_false,safecrlf_false,text/binary-mixed-lf-cr-crlf} (100%) rename tests/resources/crlf_data/{posix/autocrlf_input,text,eol_lf/few-utf8-chars-lf => posix_to_odb/autocrlf_false,safecrlf_false,text/few-utf8-chars-crlf} (100%) rename tests/resources/crlf_data/{posix/autocrlf_input,text => posix_to_odb/autocrlf_false,safecrlf_false,text}/few-utf8-chars-lf (100%) rename tests/resources/crlf_data/{posix/autocrlf_input,text,eol_lf/many-utf8-chars-lf => posix_to_odb/autocrlf_false,safecrlf_false,text/many-utf8-chars-crlf} (100%) rename tests/resources/crlf_data/{posix/autocrlf_input,text => posix_to_odb/autocrlf_false,safecrlf_false,text}/many-utf8-chars-lf (100%) rename tests/resources/crlf_data/{posix/autocrlf_input,text,eol_lf => posix_to_odb/autocrlf_false,safecrlf_false,text}/mixed-lf-cr (100%) rename tests/resources/crlf_data/{posix/autocrlf_input,text/mixed-lf-cr => posix_to_odb/autocrlf_false,safecrlf_false,text/mixed-lf-cr-crlf} (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/more-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/more-crlf-utf8bom create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/more-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/more-lf-utf8bom rename tests/resources/crlf_data/{posix/autocrlf_false,text_auto,eol_crlf => posix_to_odb/autocrlf_false,safecrlf_false,text}/zero-byte (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/all-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/all-crlf-utf8bom rename tests/resources/crlf_data/{posix/autocrlf_input,-crlf => posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf}/all-lf (100%) rename tests/resources/crlf_data/{posix/autocrlf_input,-crlf => posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf}/all-lf-utf8bom (100%) rename tests/resources/crlf_data/{posix/autocrlf_false,eol_crlf => posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf}/binary-all-crlf (100%) rename tests/resources/crlf_data/{posix/autocrlf_input,text_auto,eol_lf => posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf}/binary-all-lf (100%) rename tests/resources/crlf_data/{posix/autocrlf_input,text_auto,eol_lf => posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf}/binary-mixed-lf-cr (100%) rename tests/resources/crlf_data/{posix/autocrlf_false,eol_lf => posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf}/binary-mixed-lf-cr-crlf (100%) rename tests/resources/crlf_data/{posix/autocrlf_input,text_auto,eol_lf/few-utf8-chars-lf => posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/few-utf8-chars-crlf} (100%) rename tests/resources/crlf_data/{posix/autocrlf_input,text_auto => posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf}/few-utf8-chars-lf (100%) rename tests/resources/crlf_data/{posix/autocrlf_input,text_auto,eol_lf/many-utf8-chars-lf => posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/many-utf8-chars-crlf} (100%) rename tests/resources/crlf_data/{posix/autocrlf_input,text_auto => posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf}/many-utf8-chars-lf (100%) rename tests/resources/crlf_data/{posix/autocrlf_input,text_auto,eol_lf => posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf}/mixed-lf-cr (100%) rename tests/resources/crlf_data/{posix/autocrlf_false,eol_lf => posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf}/mixed-lf-cr-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/more-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/more-crlf-utf8bom create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/more-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/more-lf-utf8bom rename tests/resources/crlf_data/{posix/autocrlf_false,text_auto,eol_lf => posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf}/zero-byte (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/all-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/all-crlf-utf8bom rename tests/resources/crlf_data/{posix/autocrlf_input,-text => posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf}/all-lf (100%) rename tests/resources/crlf_data/{posix/autocrlf_input,-text => posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf}/all-lf-utf8bom (100%) rename tests/resources/crlf_data/{posix/autocrlf_false,eol_lf => posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf}/binary-all-crlf (100%) rename tests/resources/crlf_data/{posix/autocrlf_input,text_auto => posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf}/binary-all-lf (100%) rename tests/resources/crlf_data/{posix/autocrlf_input,text_auto => posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf}/binary-mixed-lf-cr (100%) rename tests/resources/crlf_data/{posix/autocrlf_false,text,eol_lf => posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf}/binary-mixed-lf-cr-crlf (100%) rename tests/resources/crlf_data/{posix/autocrlf_input/few-utf8-chars-lf => posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/few-utf8-chars-crlf} (100%) rename tests/resources/crlf_data/{posix/autocrlf_true,-crlf => posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf}/few-utf8-chars-lf (100%) rename tests/resources/crlf_data/{posix/autocrlf_input/many-utf8-chars-lf => posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/many-utf8-chars-crlf} (100%) rename tests/resources/crlf_data/{posix/autocrlf_true,-crlf => posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf}/many-utf8-chars-lf (100%) rename tests/resources/crlf_data/{posix/autocrlf_input,text_auto => posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf}/mixed-lf-cr (100%) rename tests/resources/crlf_data/{posix/autocrlf_false,text,eol_lf => posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf}/mixed-lf-cr-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/more-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/more-crlf-utf8bom create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/more-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/more-lf-utf8bom rename tests/resources/crlf_data/{posix/autocrlf_false,text_auto => posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf}/zero-byte (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/all-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/all-crlf-utf8bom rename tests/resources/crlf_data/{posix/autocrlf_input,crlf => posix_to_odb/autocrlf_false,safecrlf_false,text_auto}/all-lf (100%) rename tests/resources/crlf_data/{posix/autocrlf_input,crlf => posix_to_odb/autocrlf_false,safecrlf_false,text_auto}/all-lf-utf8bom (100%) rename tests/resources/crlf_data/{posix/autocrlf_false,text,eol_crlf => posix_to_odb/autocrlf_false,safecrlf_false,text_auto}/binary-all-crlf (100%) rename tests/resources/crlf_data/{posix/autocrlf_input => posix_to_odb/autocrlf_false,safecrlf_false,text_auto}/binary-all-lf (100%) rename tests/resources/crlf_data/{posix/autocrlf_input => posix_to_odb/autocrlf_false,safecrlf_false,text_auto}/binary-mixed-lf-cr (100%) rename tests/resources/crlf_data/{posix/autocrlf_false,text => posix_to_odb/autocrlf_false,safecrlf_false,text_auto}/binary-mixed-lf-cr-crlf (100%) rename tests/resources/crlf_data/{posix/autocrlf_true,-text/few-utf8-chars-lf => posix_to_odb/autocrlf_false,safecrlf_false,text_auto/few-utf8-chars-crlf} (100%) rename tests/resources/crlf_data/{posix/autocrlf_true,eol_lf => posix_to_odb/autocrlf_false,safecrlf_false,text_auto}/few-utf8-chars-lf (100%) rename tests/resources/crlf_data/{posix/autocrlf_true,-text/many-utf8-chars-lf => posix_to_odb/autocrlf_false,safecrlf_false,text_auto/many-utf8-chars-crlf} (100%) rename tests/resources/crlf_data/{posix/autocrlf_true,eol_lf => posix_to_odb/autocrlf_false,safecrlf_false,text_auto}/many-utf8-chars-lf (100%) rename tests/resources/crlf_data/{posix/autocrlf_input => posix_to_odb/autocrlf_false,safecrlf_false,text_auto}/mixed-lf-cr (100%) rename tests/resources/crlf_data/{posix/autocrlf_false,text => posix_to_odb/autocrlf_false,safecrlf_false,text_auto}/mixed-lf-cr-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/more-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/more-crlf-utf8bom create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/more-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/more-lf-utf8bom rename tests/resources/crlf_data/{posix/autocrlf_false => posix_to_odb/autocrlf_false,safecrlf_false,text_auto}/zero-byte (100%) rename tests/resources/crlf_data/{posix/autocrlf_false,eol_crlf => posix_to_odb/autocrlf_false,safecrlf_false}/all-crlf (100%) rename tests/resources/crlf_data/{posix/autocrlf_false,eol_crlf => posix_to_odb/autocrlf_false,safecrlf_false}/all-crlf-utf8bom (100%) rename tests/resources/crlf_data/{posix/autocrlf_input,eol_lf => posix_to_odb/autocrlf_false,safecrlf_false}/all-lf (100%) rename tests/resources/crlf_data/{posix/autocrlf_input,eol_lf => posix_to_odb/autocrlf_false,safecrlf_false}/all-lf-utf8bom (100%) rename tests/resources/crlf_data/{posix/autocrlf_false,text,eol_lf => posix_to_odb/autocrlf_false,safecrlf_false}/binary-all-crlf (100%) rename tests/resources/crlf_data/{posix/autocrlf_true,-crlf => posix_to_odb/autocrlf_false,safecrlf_false}/binary-all-lf (100%) rename tests/resources/crlf_data/{posix/autocrlf_true,-crlf => posix_to_odb/autocrlf_false,safecrlf_false}/binary-mixed-lf-cr (100%) rename tests/resources/crlf_data/{posix/autocrlf_false,text_auto,eol_lf => posix_to_odb/autocrlf_false,safecrlf_false}/binary-mixed-lf-cr-crlf (100%) rename tests/resources/crlf_data/{posix/autocrlf_false,eol_crlf => posix_to_odb/autocrlf_false,safecrlf_false}/few-utf8-chars-crlf (100%) rename tests/resources/crlf_data/{posix/autocrlf_true,text,eol_lf => posix_to_odb/autocrlf_false,safecrlf_false}/few-utf8-chars-lf (100%) rename tests/resources/crlf_data/{posix/autocrlf_false,eol_crlf => posix_to_odb/autocrlf_false,safecrlf_false}/many-utf8-chars-crlf (100%) rename tests/resources/crlf_data/{posix/autocrlf_true,text,eol_lf => posix_to_odb/autocrlf_false,safecrlf_false}/many-utf8-chars-lf (100%) rename tests/resources/crlf_data/{posix/autocrlf_true,-crlf => posix_to_odb/autocrlf_false,safecrlf_false}/mixed-lf-cr (100%) rename tests/resources/crlf_data/{posix/autocrlf_false,text_auto,eol_lf => posix_to_odb/autocrlf_false,safecrlf_false}/mixed-lf-cr-crlf (100%) rename tests/resources/crlf_data/{posix/autocrlf_false,eol_lf => posix_to_odb/autocrlf_false,safecrlf_false}/more-crlf (100%) rename tests/resources/crlf_data/{posix/autocrlf_false,eol_lf => posix_to_odb/autocrlf_false,safecrlf_false}/more-crlf-utf8bom (100%) rename tests/resources/crlf_data/{posix/autocrlf_false,eol_lf => posix_to_odb/autocrlf_false,safecrlf_false}/more-lf (100%) rename tests/resources/crlf_data/{posix/autocrlf_false,eol_lf => posix_to_odb/autocrlf_false,safecrlf_false}/more-lf-utf8bom (100%) rename tests/resources/crlf_data/{posix/autocrlf_input,-crlf => posix_to_odb/autocrlf_false,safecrlf_false}/zero-byte (100%) rename tests/resources/crlf_data/{posix/autocrlf_false,eol_lf => posix_to_odb/autocrlf_false,safecrlf_true,-crlf}/all-crlf (100%) rename tests/resources/crlf_data/{posix/autocrlf_false,eol_lf => posix_to_odb/autocrlf_false,safecrlf_true,-crlf}/all-crlf-utf8bom (100%) rename tests/resources/crlf_data/{posix/autocrlf_input,text,eol_lf => posix_to_odb/autocrlf_false,safecrlf_true,-crlf}/all-lf (100%) rename tests/resources/crlf_data/{posix/autocrlf_input,text,eol_lf => posix_to_odb/autocrlf_false,safecrlf_true,-crlf}/all-lf-utf8bom (100%) rename tests/resources/crlf_data/{posix/autocrlf_false,text => posix_to_odb/autocrlf_false,safecrlf_true,-crlf}/binary-all-crlf (100%) rename tests/resources/crlf_data/{posix/autocrlf_true,-text => posix_to_odb/autocrlf_false,safecrlf_true,-crlf}/binary-all-lf (100%) rename tests/resources/crlf_data/{posix/autocrlf_true,-text => posix_to_odb/autocrlf_false,safecrlf_true,-crlf}/binary-mixed-lf-cr (100%) rename tests/resources/crlf_data/{posix/autocrlf_false,text_auto => posix_to_odb/autocrlf_false,safecrlf_true,-crlf}/binary-mixed-lf-cr-crlf (100%) rename tests/resources/crlf_data/{posix/autocrlf_false,eol_lf => posix_to_odb/autocrlf_false,safecrlf_true,-crlf}/few-utf8-chars-crlf (100%) rename tests/resources/crlf_data/{posix/autocrlf_true,text_auto,eol_lf => posix_to_odb/autocrlf_false,safecrlf_true,-crlf}/few-utf8-chars-lf (100%) rename tests/resources/crlf_data/{posix/autocrlf_false,eol_lf => posix_to_odb/autocrlf_false,safecrlf_true,-crlf}/many-utf8-chars-crlf (100%) rename tests/resources/crlf_data/{posix/autocrlf_true,text_auto,eol_lf => posix_to_odb/autocrlf_false,safecrlf_true,-crlf}/many-utf8-chars-lf (100%) rename tests/resources/crlf_data/{posix/autocrlf_true,-text => posix_to_odb/autocrlf_false,safecrlf_true,-crlf}/mixed-lf-cr (100%) rename tests/resources/crlf_data/{posix/autocrlf_false,text_auto => posix_to_odb/autocrlf_false,safecrlf_true,-crlf}/mixed-lf-cr-crlf (100%) rename tests/resources/crlf_data/{posix/autocrlf_false,text,eol_lf => posix_to_odb/autocrlf_false,safecrlf_true,-crlf}/more-crlf (100%) rename tests/resources/crlf_data/{posix/autocrlf_false,text,eol_lf => posix_to_odb/autocrlf_false,safecrlf_true,-crlf}/more-crlf-utf8bom (100%) rename tests/resources/crlf_data/{posix/autocrlf_false,text,eol_lf => posix_to_odb/autocrlf_false,safecrlf_true,-crlf}/more-lf (100%) rename tests/resources/crlf_data/{posix/autocrlf_false,text,eol_lf => posix_to_odb/autocrlf_false,safecrlf_true,-crlf}/more-lf-utf8bom (100%) rename tests/resources/crlf_data/{posix/autocrlf_input,-text => posix_to_odb/autocrlf_false,safecrlf_true,-crlf}/zero-byte (100%) rename tests/resources/crlf_data/{posix/autocrlf_false,text,eol_crlf => posix_to_odb/autocrlf_false,safecrlf_true,-text}/all-crlf (100%) rename tests/resources/crlf_data/{posix/autocrlf_false,text,eol_crlf => posix_to_odb/autocrlf_false,safecrlf_true,-text}/all-crlf-utf8bom (100%) rename tests/resources/crlf_data/{posix/autocrlf_input,text => posix_to_odb/autocrlf_false,safecrlf_true,-text}/all-lf (100%) rename tests/resources/crlf_data/{posix/autocrlf_input,text => posix_to_odb/autocrlf_false,safecrlf_true,-text}/all-lf-utf8bom (100%) rename tests/resources/crlf_data/{posix/autocrlf_false,text_auto,eol_crlf => posix_to_odb/autocrlf_false,safecrlf_true,-text}/binary-all-crlf (100%) rename tests/resources/crlf_data/{posix/autocrlf_true,eol_lf => posix_to_odb/autocrlf_false,safecrlf_true,-text}/binary-all-lf (100%) rename tests/resources/crlf_data/{posix/autocrlf_true,eol_lf => posix_to_odb/autocrlf_false,safecrlf_true,-text}/binary-mixed-lf-cr (100%) rename tests/resources/crlf_data/{posix/autocrlf_false => posix_to_odb/autocrlf_false,safecrlf_true,-text}/binary-mixed-lf-cr-crlf (100%) rename tests/resources/crlf_data/{posix/autocrlf_false,text,eol_crlf => posix_to_odb/autocrlf_false,safecrlf_true,-text}/few-utf8-chars-crlf (100%) rename tests/resources/crlf_data/{windows/autocrlf_false,-crlf => posix_to_odb/autocrlf_false,safecrlf_true,-text}/few-utf8-chars-lf (100%) rename tests/resources/crlf_data/{posix/autocrlf_false,text,eol_crlf => posix_to_odb/autocrlf_false,safecrlf_true,-text}/many-utf8-chars-crlf (100%) rename tests/resources/crlf_data/{windows/autocrlf_false,-crlf => posix_to_odb/autocrlf_false,safecrlf_true,-text}/many-utf8-chars-lf (100%) rename tests/resources/crlf_data/{posix/autocrlf_true,eol_lf => posix_to_odb/autocrlf_false,safecrlf_true,-text}/mixed-lf-cr (100%) rename tests/resources/crlf_data/{posix/autocrlf_false => posix_to_odb/autocrlf_false,safecrlf_true,-text}/mixed-lf-cr-crlf (100%) rename tests/resources/crlf_data/{posix/autocrlf_false,text => posix_to_odb/autocrlf_false,safecrlf_true,-text}/more-crlf (100%) rename tests/resources/crlf_data/{posix/autocrlf_false,text => posix_to_odb/autocrlf_false,safecrlf_true,-text}/more-crlf-utf8bom (100%) rename tests/resources/crlf_data/{posix/autocrlf_false,text => posix_to_odb/autocrlf_false,safecrlf_true,-text}/more-lf (100%) rename tests/resources/crlf_data/{posix/autocrlf_false,text => posix_to_odb/autocrlf_false,safecrlf_true,-text}/more-lf-utf8bom (100%) rename tests/resources/crlf_data/{posix/autocrlf_input,crlf => posix_to_odb/autocrlf_false,safecrlf_true,-text}/zero-byte (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/all-crlf-utf8bom.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/all-crlf.fail rename tests/resources/crlf_data/{posix/autocrlf_input,text_auto,eol_lf => posix_to_odb/autocrlf_false,safecrlf_true,crlf}/all-lf (100%) rename tests/resources/crlf_data/{posix/autocrlf_input,text_auto,eol_lf => posix_to_odb/autocrlf_false,safecrlf_true,crlf}/all-lf-utf8bom (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/binary-all-crlf.fail rename tests/resources/crlf_data/{posix/autocrlf_true,text,eol_lf => posix_to_odb/autocrlf_false,safecrlf_true,crlf}/binary-all-lf (100%) rename tests/resources/crlf_data/{posix/autocrlf_true,text,eol_lf => posix_to_odb/autocrlf_false,safecrlf_true,crlf}/binary-mixed-lf-cr (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/binary-mixed-lf-cr-crlf.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/few-utf8-chars-crlf.fail rename tests/resources/crlf_data/{windows/autocrlf_false,-text => posix_to_odb/autocrlf_false,safecrlf_true,crlf}/few-utf8-chars-lf (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/many-utf8-chars-crlf.fail rename tests/resources/crlf_data/{windows/autocrlf_false,-text => posix_to_odb/autocrlf_false,safecrlf_true,crlf}/many-utf8-chars-lf (100%) rename tests/resources/crlf_data/{posix/autocrlf_true,text,eol_lf => posix_to_odb/autocrlf_false,safecrlf_true,crlf}/mixed-lf-cr (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/mixed-lf-cr-crlf.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/more-crlf-utf8bom.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/more-crlf.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/more-lf-utf8bom.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/more-lf.fail rename tests/resources/crlf_data/{posix/autocrlf_input,eol_crlf => posix_to_odb/autocrlf_false,safecrlf_true,crlf}/zero-byte (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/all-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/all-crlf-utf8bom create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/all-lf-utf8bom.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/all-lf.fail rename tests/resources/crlf_data/{posix/autocrlf_true,text_auto,eol_lf/binary-all-lf => posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/binary-all-crlf} (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/binary-all-lf.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/binary-mixed-lf-cr-crlf.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/binary-mixed-lf-cr.fail rename tests/resources/crlf_data/{windows/autocrlf_false,eol_lf/few-utf8-chars-lf => posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/few-utf8-chars-crlf} (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/few-utf8-chars-lf.fail rename tests/resources/crlf_data/{windows/autocrlf_false,eol_lf/many-utf8-chars-lf => posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/many-utf8-chars-crlf} (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/many-utf8-chars-lf.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/mixed-lf-cr-crlf.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/mixed-lf-cr.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/more-crlf-utf8bom.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/more-crlf.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/more-lf-utf8bom.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/more-lf.fail rename tests/resources/crlf_data/{posix/autocrlf_input,eol_lf => posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf}/zero-byte (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/all-crlf-utf8bom.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/all-crlf.fail rename tests/resources/crlf_data/{posix/autocrlf_input,text_auto => posix_to_odb/autocrlf_false,safecrlf_true,eol_lf}/all-lf (100%) rename tests/resources/crlf_data/{posix/autocrlf_input,text_auto => posix_to_odb/autocrlf_false,safecrlf_true,eol_lf}/all-lf-utf8bom (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/binary-all-crlf.fail rename tests/resources/crlf_data/{posix/autocrlf_true,text_auto => posix_to_odb/autocrlf_false,safecrlf_true,eol_lf}/binary-all-lf (100%) rename tests/resources/crlf_data/{posix/autocrlf_true,text_auto,eol_lf => posix_to_odb/autocrlf_false,safecrlf_true,eol_lf}/binary-mixed-lf-cr (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/binary-mixed-lf-cr-crlf.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/few-utf8-chars-crlf.fail rename tests/resources/crlf_data/{windows/autocrlf_false,text,eol_lf => posix_to_odb/autocrlf_false,safecrlf_true,eol_lf}/few-utf8-chars-lf (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/many-utf8-chars-crlf.fail rename tests/resources/crlf_data/{windows/autocrlf_false,text,eol_lf => posix_to_odb/autocrlf_false,safecrlf_true,eol_lf}/many-utf8-chars-lf (100%) rename tests/resources/crlf_data/{posix/autocrlf_true,text_auto,eol_lf => posix_to_odb/autocrlf_false,safecrlf_true,eol_lf}/mixed-lf-cr (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/mixed-lf-cr-crlf.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/more-crlf-utf8bom.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/more-crlf.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/more-lf-utf8bom.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/more-lf.fail rename tests/resources/crlf_data/{posix/autocrlf_input,text,eol_crlf => posix_to_odb/autocrlf_false,safecrlf_true,eol_lf}/zero-byte (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/all-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/all-crlf-utf8bom create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/all-lf-utf8bom.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/all-lf.fail rename tests/resources/crlf_data/{posix/autocrlf_true/binary-all-lf => posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/binary-all-crlf} (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/binary-all-lf.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/binary-mixed-lf-cr-crlf.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/binary-mixed-lf-cr.fail rename tests/resources/crlf_data/{windows/autocrlf_false,text_auto,eol_lf/few-utf8-chars-lf => posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/few-utf8-chars-crlf} (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/few-utf8-chars-lf.fail rename tests/resources/crlf_data/{windows/autocrlf_false,text_auto,eol_lf/many-utf8-chars-lf => posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/many-utf8-chars-crlf} (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/many-utf8-chars-lf.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/mixed-lf-cr-crlf.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/mixed-lf-cr.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/more-crlf-utf8bom.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/more-crlf.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/more-lf-utf8bom.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/more-lf.fail rename tests/resources/crlf_data/{posix/autocrlf_input,text,eol_lf => posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf}/zero-byte (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/all-crlf-utf8bom.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/all-crlf.fail rename tests/resources/crlf_data/{posix/autocrlf_input => posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf}/all-lf (100%) rename tests/resources/crlf_data/{posix/autocrlf_input => posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf}/all-lf-utf8bom (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/binary-all-crlf.fail rename tests/resources/crlf_data/{windows/autocrlf_false,-crlf => posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf}/binary-all-lf (100%) rename tests/resources/crlf_data/{posix/autocrlf_true,text_auto => posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf}/binary-mixed-lf-cr (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/binary-mixed-lf-cr-crlf.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/few-utf8-chars-crlf.fail rename tests/resources/crlf_data/{windows/autocrlf_false => posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf}/few-utf8-chars-lf (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/many-utf8-chars-crlf.fail rename tests/resources/crlf_data/{windows/autocrlf_false => posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf}/many-utf8-chars-lf (100%) rename tests/resources/crlf_data/{posix/autocrlf_true,text_auto => posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf}/mixed-lf-cr (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/mixed-lf-cr-crlf.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/more-crlf-utf8bom.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/more-crlf.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/more-lf-utf8bom.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/more-lf.fail rename tests/resources/crlf_data/{posix/autocrlf_input,text => posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf}/zero-byte (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/all-crlf-utf8bom.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/all-crlf.fail rename tests/resources/crlf_data/{posix/autocrlf_true,-crlf => posix_to_odb/autocrlf_false,safecrlf_true,text}/all-lf (100%) rename tests/resources/crlf_data/{posix/autocrlf_true,-crlf => posix_to_odb/autocrlf_false,safecrlf_true,text}/all-lf-utf8bom (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/binary-all-crlf.fail rename tests/resources/crlf_data/{windows/autocrlf_false,-text => posix_to_odb/autocrlf_false,safecrlf_true,text}/binary-all-lf (100%) rename tests/resources/crlf_data/{posix/autocrlf_true => posix_to_odb/autocrlf_false,safecrlf_true,text}/binary-mixed-lf-cr (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/binary-mixed-lf-cr-crlf.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/few-utf8-chars-crlf.fail rename tests/resources/crlf_data/{windows/autocrlf_input,-crlf => posix_to_odb/autocrlf_false,safecrlf_true,text}/few-utf8-chars-lf (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/many-utf8-chars-crlf.fail rename tests/resources/crlf_data/{windows/autocrlf_input,-crlf => posix_to_odb/autocrlf_false,safecrlf_true,text}/many-utf8-chars-lf (100%) rename tests/resources/crlf_data/{posix/autocrlf_true => posix_to_odb/autocrlf_false,safecrlf_true,text}/mixed-lf-cr (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/mixed-lf-cr-crlf.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/more-crlf-utf8bom.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/more-crlf.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/more-lf-utf8bom.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/more-lf.fail rename tests/resources/crlf_data/{posix/autocrlf_input,text_auto,eol_crlf => posix_to_odb/autocrlf_false,safecrlf_true,text}/zero-byte (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/all-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/all-crlf-utf8bom create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/all-lf-utf8bom.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/all-lf.fail rename tests/resources/crlf_data/{posix/autocrlf_false,text_auto,eol_lf => posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf}/binary-all-crlf (100%) rename tests/resources/crlf_data/{windows/autocrlf_false,eol_lf => posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf}/binary-all-lf (100%) rename tests/resources/crlf_data/{windows/autocrlf_false,-crlf => posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf}/binary-mixed-lf-cr (100%) rename tests/resources/crlf_data/{posix/autocrlf_input,-crlf => posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf}/binary-mixed-lf-cr-crlf (100%) rename tests/resources/crlf_data/{windows/autocrlf_input,-text/few-utf8-chars-lf => posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/few-utf8-chars-crlf} (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/few-utf8-chars-lf.fail rename tests/resources/crlf_data/{windows/autocrlf_input,-text/many-utf8-chars-lf => posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/many-utf8-chars-crlf} (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/many-utf8-chars-lf.fail rename tests/resources/crlf_data/{windows/autocrlf_false,-crlf => posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf}/mixed-lf-cr (100%) rename tests/resources/crlf_data/{posix/autocrlf_input,-crlf => posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf}/mixed-lf-cr-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/more-crlf-utf8bom.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/more-crlf.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/more-lf-utf8bom.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/more-lf.fail rename tests/resources/crlf_data/{posix/autocrlf_input,text_auto,eol_lf => posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf}/zero-byte (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/all-crlf-utf8bom.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/all-crlf.fail rename tests/resources/crlf_data/{posix/autocrlf_true,-text => posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf}/all-lf (100%) rename tests/resources/crlf_data/{posix/autocrlf_true,-text => posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf}/all-lf-utf8bom (100%) rename tests/resources/crlf_data/{posix/autocrlf_false,text_auto => posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf}/binary-all-crlf (100%) rename tests/resources/crlf_data/{windows/autocrlf_false,text,eol_lf => posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf}/binary-all-lf (100%) rename tests/resources/crlf_data/{windows/autocrlf_false,-text => posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf}/binary-mixed-lf-cr (100%) rename tests/resources/crlf_data/{posix/autocrlf_input,-text => posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf}/binary-mixed-lf-cr-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/few-utf8-chars-crlf.fail rename tests/resources/crlf_data/{windows/autocrlf_input,crlf => posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf}/few-utf8-chars-lf (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/many-utf8-chars-crlf.fail rename tests/resources/crlf_data/{windows/autocrlf_input,crlf => posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf}/many-utf8-chars-lf (100%) rename tests/resources/crlf_data/{windows/autocrlf_false,-text => posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf}/mixed-lf-cr (100%) rename tests/resources/crlf_data/{posix/autocrlf_input,-text => posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf}/mixed-lf-cr-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/more-crlf-utf8bom.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/more-crlf.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/more-lf-utf8bom.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/more-lf.fail rename tests/resources/crlf_data/{posix/autocrlf_input,text_auto => posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf}/zero-byte (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/all-crlf-utf8bom.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/all-crlf.fail rename tests/resources/crlf_data/{posix/autocrlf_true,eol_lf => posix_to_odb/autocrlf_false,safecrlf_true,text_auto}/all-lf (100%) rename tests/resources/crlf_data/{posix/autocrlf_true,eol_lf => posix_to_odb/autocrlf_false,safecrlf_true,text_auto}/all-lf-utf8bom (100%) rename tests/resources/crlf_data/{posix/autocrlf_false => posix_to_odb/autocrlf_false,safecrlf_true,text_auto}/binary-all-crlf (100%) rename tests/resources/crlf_data/{windows/autocrlf_false,text_auto,eol_lf => posix_to_odb/autocrlf_false,safecrlf_true,text_auto}/binary-all-lf (100%) rename tests/resources/crlf_data/{windows/autocrlf_false,eol_lf => posix_to_odb/autocrlf_false,safecrlf_true,text_auto}/binary-mixed-lf-cr (100%) rename tests/resources/crlf_data/{posix/autocrlf_input,crlf => posix_to_odb/autocrlf_false,safecrlf_true,text_auto}/binary-mixed-lf-cr-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/few-utf8-chars-crlf.fail rename tests/resources/crlf_data/{windows/autocrlf_input,eol_lf => posix_to_odb/autocrlf_false,safecrlf_true,text_auto}/few-utf8-chars-lf (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/many-utf8-chars-crlf.fail rename tests/resources/crlf_data/{windows/autocrlf_input,eol_lf => posix_to_odb/autocrlf_false,safecrlf_true,text_auto}/many-utf8-chars-lf (100%) rename tests/resources/crlf_data/{windows/autocrlf_false,eol_lf => posix_to_odb/autocrlf_false,safecrlf_true,text_auto}/mixed-lf-cr (100%) rename tests/resources/crlf_data/{posix/autocrlf_input,crlf => posix_to_odb/autocrlf_false,safecrlf_true,text_auto}/mixed-lf-cr-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/more-crlf-utf8bom.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/more-crlf.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/more-lf-utf8bom.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/more-lf.fail rename tests/resources/crlf_data/{posix/autocrlf_input => posix_to_odb/autocrlf_false,safecrlf_true,text_auto}/zero-byte (100%) rename tests/resources/crlf_data/{posix/autocrlf_false,text,eol_lf => posix_to_odb/autocrlf_false,safecrlf_true}/all-crlf (100%) rename tests/resources/crlf_data/{posix/autocrlf_false,text,eol_lf => posix_to_odb/autocrlf_false,safecrlf_true}/all-crlf-utf8bom (100%) rename tests/resources/crlf_data/{posix/autocrlf_true,text,eol_lf => posix_to_odb/autocrlf_false,safecrlf_true}/all-lf (100%) rename tests/resources/crlf_data/{posix/autocrlf_true,text,eol_lf => posix_to_odb/autocrlf_false,safecrlf_true}/all-lf-utf8bom (100%) rename tests/resources/crlf_data/{posix/autocrlf_input,-crlf => posix_to_odb/autocrlf_false,safecrlf_true}/binary-all-crlf (100%) rename tests/resources/crlf_data/{windows/autocrlf_false,text_auto => posix_to_odb/autocrlf_false,safecrlf_true}/binary-all-lf (100%) rename tests/resources/crlf_data/{windows/autocrlf_false,text,eol_lf => posix_to_odb/autocrlf_false,safecrlf_true}/binary-mixed-lf-cr (100%) rename tests/resources/crlf_data/{posix/autocrlf_input,eol_lf => posix_to_odb/autocrlf_false,safecrlf_true}/binary-mixed-lf-cr-crlf (100%) rename tests/resources/crlf_data/{posix/autocrlf_false,text,eol_lf => posix_to_odb/autocrlf_false,safecrlf_true}/few-utf8-chars-crlf (100%) rename tests/resources/crlf_data/{windows/autocrlf_input,text,eol_lf => posix_to_odb/autocrlf_false,safecrlf_true}/few-utf8-chars-lf (100%) rename tests/resources/crlf_data/{posix/autocrlf_false,text,eol_lf => posix_to_odb/autocrlf_false,safecrlf_true}/many-utf8-chars-crlf (100%) rename tests/resources/crlf_data/{windows/autocrlf_input,text,eol_lf => posix_to_odb/autocrlf_false,safecrlf_true}/many-utf8-chars-lf (100%) rename tests/resources/crlf_data/{windows/autocrlf_false,text,eol_lf => posix_to_odb/autocrlf_false,safecrlf_true}/mixed-lf-cr (100%) rename tests/resources/crlf_data/{posix/autocrlf_input,eol_lf => posix_to_odb/autocrlf_false,safecrlf_true}/mixed-lf-cr-crlf (100%) rename tests/resources/crlf_data/{posix/autocrlf_false,text_auto,eol_lf => posix_to_odb/autocrlf_false,safecrlf_true}/more-crlf (100%) rename tests/resources/crlf_data/{posix/autocrlf_false,text_auto,eol_lf => posix_to_odb/autocrlf_false,safecrlf_true}/more-crlf-utf8bom (100%) rename tests/resources/crlf_data/{posix/autocrlf_false,text_auto,eol_lf => posix_to_odb/autocrlf_false,safecrlf_true}/more-lf (100%) rename tests/resources/crlf_data/{posix/autocrlf_false,text_auto,eol_lf => posix_to_odb/autocrlf_false,safecrlf_true}/more-lf-utf8bom (100%) rename tests/resources/crlf_data/{posix/autocrlf_true,-crlf => posix_to_odb/autocrlf_false,safecrlf_true}/zero-byte (100%) rename tests/resources/crlf_data/{posix/autocrlf_false,text => posix_to_odb/autocrlf_false,safecrlf_warn,-crlf}/all-crlf (100%) rename tests/resources/crlf_data/{posix/autocrlf_false,text => posix_to_odb/autocrlf_false,safecrlf_warn,-crlf}/all-crlf-utf8bom (100%) rename tests/resources/crlf_data/{posix/autocrlf_true,text_auto,eol_lf => posix_to_odb/autocrlf_false,safecrlf_warn,-crlf}/all-lf (100%) rename tests/resources/crlf_data/{posix/autocrlf_true,text_auto,eol_lf => posix_to_odb/autocrlf_false,safecrlf_warn,-crlf}/all-lf-utf8bom (100%) rename tests/resources/crlf_data/{posix/autocrlf_input,-text => posix_to_odb/autocrlf_false,safecrlf_warn,-crlf}/binary-all-crlf (100%) rename tests/resources/crlf_data/{windows/autocrlf_false => posix_to_odb/autocrlf_false,safecrlf_warn,-crlf}/binary-all-lf (100%) rename tests/resources/crlf_data/{windows/autocrlf_false,text_auto,eol_lf => posix_to_odb/autocrlf_false,safecrlf_warn,-crlf}/binary-mixed-lf-cr (100%) rename tests/resources/crlf_data/{posix/autocrlf_input,text,eol_lf => posix_to_odb/autocrlf_false,safecrlf_warn,-crlf}/binary-mixed-lf-cr-crlf (100%) rename tests/resources/crlf_data/{posix/autocrlf_false,text => posix_to_odb/autocrlf_false,safecrlf_warn,-crlf}/few-utf8-chars-crlf (100%) rename tests/resources/crlf_data/{windows/autocrlf_input,text => posix_to_odb/autocrlf_false,safecrlf_warn,-crlf}/few-utf8-chars-lf (100%) rename tests/resources/crlf_data/{posix/autocrlf_false,text => posix_to_odb/autocrlf_false,safecrlf_warn,-crlf}/many-utf8-chars-crlf (100%) rename tests/resources/crlf_data/{windows/autocrlf_input,text => posix_to_odb/autocrlf_false,safecrlf_warn,-crlf}/many-utf8-chars-lf (100%) rename tests/resources/crlf_data/{windows/autocrlf_false,text_auto,eol_lf => posix_to_odb/autocrlf_false,safecrlf_warn,-crlf}/mixed-lf-cr (100%) rename tests/resources/crlf_data/{posix/autocrlf_input,text,eol_lf => posix_to_odb/autocrlf_false,safecrlf_warn,-crlf}/mixed-lf-cr-crlf (100%) rename tests/resources/crlf_data/{posix/autocrlf_false,text_auto => posix_to_odb/autocrlf_false,safecrlf_warn,-crlf}/more-crlf (100%) rename tests/resources/crlf_data/{posix/autocrlf_false,text_auto => posix_to_odb/autocrlf_false,safecrlf_warn,-crlf}/more-crlf-utf8bom (100%) rename tests/resources/crlf_data/{posix/autocrlf_false,text_auto => posix_to_odb/autocrlf_false,safecrlf_warn,-crlf}/more-lf (100%) rename tests/resources/crlf_data/{posix/autocrlf_false,text_auto => posix_to_odb/autocrlf_false,safecrlf_warn,-crlf}/more-lf-utf8bom (100%) rename tests/resources/crlf_data/{posix/autocrlf_true,-text => posix_to_odb/autocrlf_false,safecrlf_warn,-crlf}/zero-byte (100%) rename tests/resources/crlf_data/{posix/autocrlf_false,text_auto,eol_crlf => posix_to_odb/autocrlf_false,safecrlf_warn,-text}/all-crlf (100%) rename tests/resources/crlf_data/{posix/autocrlf_false,text_auto,eol_crlf => posix_to_odb/autocrlf_false,safecrlf_warn,-text}/all-crlf-utf8bom (100%) rename tests/resources/crlf_data/{windows/autocrlf_false,-crlf => posix_to_odb/autocrlf_false,safecrlf_warn,-text}/all-lf (100%) rename tests/resources/crlf_data/{windows/autocrlf_false,-crlf => posix_to_odb/autocrlf_false,safecrlf_warn,-text}/all-lf-utf8bom (100%) rename tests/resources/crlf_data/{posix/autocrlf_input,crlf => posix_to_odb/autocrlf_false,safecrlf_warn,-text}/binary-all-crlf (100%) rename tests/resources/crlf_data/{windows/autocrlf_input,-crlf => posix_to_odb/autocrlf_false,safecrlf_warn,-text}/binary-all-lf (100%) rename tests/resources/crlf_data/{windows/autocrlf_false,text_auto => posix_to_odb/autocrlf_false,safecrlf_warn,-text}/binary-mixed-lf-cr (100%) rename tests/resources/crlf_data/{posix/autocrlf_input,text => posix_to_odb/autocrlf_false,safecrlf_warn,-text}/binary-mixed-lf-cr-crlf (100%) rename tests/resources/crlf_data/{posix/autocrlf_false,text_auto,eol_crlf => posix_to_odb/autocrlf_false,safecrlf_warn,-text}/few-utf8-chars-crlf (100%) rename tests/resources/crlf_data/{windows/autocrlf_input,text_auto,eol_lf => posix_to_odb/autocrlf_false,safecrlf_warn,-text}/few-utf8-chars-lf (100%) rename tests/resources/crlf_data/{posix/autocrlf_false,text_auto,eol_crlf => posix_to_odb/autocrlf_false,safecrlf_warn,-text}/many-utf8-chars-crlf (100%) rename tests/resources/crlf_data/{windows/autocrlf_input,text_auto,eol_lf => posix_to_odb/autocrlf_false,safecrlf_warn,-text}/many-utf8-chars-lf (100%) rename tests/resources/crlf_data/{windows/autocrlf_false,text_auto => posix_to_odb/autocrlf_false,safecrlf_warn,-text}/mixed-lf-cr (100%) rename tests/resources/crlf_data/{posix/autocrlf_input,text => posix_to_odb/autocrlf_false,safecrlf_warn,-text}/mixed-lf-cr-crlf (100%) rename tests/resources/crlf_data/{posix/autocrlf_false => posix_to_odb/autocrlf_false,safecrlf_warn,-text}/more-crlf (100%) rename tests/resources/crlf_data/{posix/autocrlf_false => posix_to_odb/autocrlf_false,safecrlf_warn,-text}/more-crlf-utf8bom (100%) rename tests/resources/crlf_data/{posix/autocrlf_false => posix_to_odb/autocrlf_false,safecrlf_warn,-text}/more-lf (100%) rename tests/resources/crlf_data/{posix/autocrlf_false => posix_to_odb/autocrlf_false,safecrlf_warn,-text}/more-lf-utf8bom (100%) rename tests/resources/crlf_data/{posix/autocrlf_true,crlf => posix_to_odb/autocrlf_false,safecrlf_warn,-text}/zero-byte (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/all-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/all-crlf-utf8bom rename tests/resources/crlf_data/{windows/autocrlf_false,-text => posix_to_odb/autocrlf_false,safecrlf_warn,crlf}/all-lf (100%) rename tests/resources/crlf_data/{windows/autocrlf_false,-text => posix_to_odb/autocrlf_false,safecrlf_warn,crlf}/all-lf-utf8bom (100%) rename tests/resources/crlf_data/{windows/autocrlf_input,-text/binary-all-lf => posix_to_odb/autocrlf_false,safecrlf_warn,crlf/binary-all-crlf} (100%) rename tests/resources/crlf_data/{windows/autocrlf_input,crlf => posix_to_odb/autocrlf_false,safecrlf_warn,crlf}/binary-all-lf (100%) rename tests/resources/crlf_data/{windows/autocrlf_false => posix_to_odb/autocrlf_false,safecrlf_warn,crlf}/binary-mixed-lf-cr (100%) rename tests/resources/crlf_data/{windows/autocrlf_input,-crlf/binary-mixed-lf-cr => posix_to_odb/autocrlf_false,safecrlf_warn,crlf/binary-mixed-lf-cr-crlf} (100%) rename tests/resources/crlf_data/{windows/autocrlf_input,text_auto/few-utf8-chars-lf => posix_to_odb/autocrlf_false,safecrlf_warn,crlf/few-utf8-chars-crlf} (100%) rename tests/resources/crlf_data/{windows/autocrlf_input => posix_to_odb/autocrlf_false,safecrlf_warn,crlf}/few-utf8-chars-lf (100%) rename tests/resources/crlf_data/{windows/autocrlf_input,text_auto/many-utf8-chars-lf => posix_to_odb/autocrlf_false,safecrlf_warn,crlf/many-utf8-chars-crlf} (100%) rename tests/resources/crlf_data/{windows/autocrlf_input => posix_to_odb/autocrlf_false,safecrlf_warn,crlf}/many-utf8-chars-lf (100%) rename tests/resources/crlf_data/{windows/autocrlf_false => posix_to_odb/autocrlf_false,safecrlf_warn,crlf}/mixed-lf-cr (100%) rename tests/resources/crlf_data/{windows/autocrlf_input,-crlf/mixed-lf-cr => posix_to_odb/autocrlf_false,safecrlf_warn,crlf/mixed-lf-cr-crlf} (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/more-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/more-crlf-utf8bom create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/more-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/more-lf-utf8bom rename tests/resources/crlf_data/{posix/autocrlf_true,eol_crlf => posix_to_odb/autocrlf_false,safecrlf_warn,crlf}/zero-byte (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/all-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/all-crlf-utf8bom rename tests/resources/crlf_data/{windows/autocrlf_false,eol_lf => posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf}/all-lf (100%) rename tests/resources/crlf_data/{windows/autocrlf_false,eol_lf => posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf}/all-lf-utf8bom (100%) rename tests/resources/crlf_data/{windows/autocrlf_input,eol_lf/binary-all-lf => posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/binary-all-crlf} (100%) rename tests/resources/crlf_data/{windows/autocrlf_input,text,eol_lf => posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf}/binary-all-lf (100%) rename tests/resources/crlf_data/{windows/autocrlf_input,-text => posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf}/binary-mixed-lf-cr (100%) rename tests/resources/crlf_data/{windows/autocrlf_input,crlf/binary-mixed-lf-cr => posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/binary-mixed-lf-cr-crlf} (100%) rename tests/resources/crlf_data/{windows/autocrlf_true,-crlf/few-utf8-chars-lf => posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/few-utf8-chars-crlf} (100%) rename tests/resources/crlf_data/{windows/autocrlf_true,-text => posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf}/few-utf8-chars-lf (100%) rename tests/resources/crlf_data/{windows/autocrlf_true,-crlf/many-utf8-chars-lf => posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/many-utf8-chars-crlf} (100%) rename tests/resources/crlf_data/{windows/autocrlf_true,-text => posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf}/many-utf8-chars-lf (100%) rename tests/resources/crlf_data/{windows/autocrlf_input,-text => posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf}/mixed-lf-cr (100%) rename tests/resources/crlf_data/{windows/autocrlf_input,crlf/mixed-lf-cr => posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/mixed-lf-cr-crlf} (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/more-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/more-crlf-utf8bom create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/more-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/more-lf-utf8bom rename tests/resources/crlf_data/{posix/autocrlf_true,eol_lf => posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf}/zero-byte (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/all-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/all-crlf-utf8bom rename tests/resources/crlf_data/{windows/autocrlf_false,text,eol_lf => posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf}/all-lf (100%) rename tests/resources/crlf_data/{windows/autocrlf_false,text,eol_lf => posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf}/all-lf-utf8bom (100%) rename tests/resources/crlf_data/{windows/autocrlf_input,text/binary-all-lf => posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/binary-all-crlf} (100%) rename tests/resources/crlf_data/{windows/autocrlf_input,text_auto,eol_lf => posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf}/binary-all-lf (100%) rename tests/resources/crlf_data/{windows/autocrlf_input,eol_lf => posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf}/binary-mixed-lf-cr (100%) rename tests/resources/crlf_data/{windows/autocrlf_input,text,eol_lf/binary-mixed-lf-cr => posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/binary-mixed-lf-cr-crlf} (100%) rename tests/resources/crlf_data/{windows/autocrlf_true,eol_lf/few-utf8-chars-lf => posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/few-utf8-chars-crlf} (100%) rename tests/resources/crlf_data/{windows/autocrlf_true,text,eol_lf => posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf}/few-utf8-chars-lf (100%) rename tests/resources/crlf_data/{windows/autocrlf_true,eol_lf/many-utf8-chars-lf => posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/many-utf8-chars-crlf} (100%) rename tests/resources/crlf_data/{windows/autocrlf_true,text,eol_lf => posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf}/many-utf8-chars-lf (100%) rename tests/resources/crlf_data/{windows/autocrlf_input,eol_lf => posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf}/mixed-lf-cr (100%) rename tests/resources/crlf_data/{windows/autocrlf_input,text,eol_lf/mixed-lf-cr => posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/mixed-lf-cr-crlf} (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/more-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/more-crlf-utf8bom create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/more-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/more-lf-utf8bom rename tests/resources/crlf_data/{posix/autocrlf_true,text,eol_crlf => posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf}/zero-byte (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/all-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/all-crlf-utf8bom rename tests/resources/crlf_data/{windows/autocrlf_false,text_auto,eol_lf => posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf}/all-lf (100%) rename tests/resources/crlf_data/{windows/autocrlf_false,text_auto,eol_lf => posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf}/all-lf-utf8bom (100%) rename tests/resources/crlf_data/{windows/autocrlf_input,text_auto/binary-all-lf => posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/binary-all-crlf} (100%) rename tests/resources/crlf_data/{windows/autocrlf_input => posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf}/binary-all-lf (100%) rename tests/resources/crlf_data/{windows/autocrlf_input,text => posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf}/binary-mixed-lf-cr (100%) rename tests/resources/crlf_data/{windows/autocrlf_input,text_auto,eol_lf/binary-mixed-lf-cr => posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/binary-mixed-lf-cr-crlf} (100%) rename tests/resources/crlf_data/{windows/autocrlf_true,text_auto,eol_lf/few-utf8-chars-lf => posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/few-utf8-chars-crlf} (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/few-utf8-chars-lf rename tests/resources/crlf_data/{windows/autocrlf_true,text_auto,eol_lf/many-utf8-chars-lf => posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/many-utf8-chars-crlf} (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/many-utf8-chars-lf rename tests/resources/crlf_data/{windows/autocrlf_input,text => posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf}/mixed-lf-cr (100%) rename tests/resources/crlf_data/{windows/autocrlf_input,text_auto,eol_lf/mixed-lf-cr => posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/mixed-lf-cr-crlf} (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/more-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/more-crlf-utf8bom create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/more-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/more-lf-utf8bom rename tests/resources/crlf_data/{posix/autocrlf_true,text,eol_lf => posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf}/zero-byte (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/all-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/all-crlf-utf8bom rename tests/resources/crlf_data/{windows/autocrlf_false => posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf}/all-lf (100%) rename tests/resources/crlf_data/{windows/autocrlf_false => posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf}/all-lf-utf8bom (100%) rename tests/resources/crlf_data/{windows/autocrlf_true,-crlf/binary-all-lf => posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/binary-all-crlf} (100%) rename tests/resources/crlf_data/{windows/autocrlf_true,-text => posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf}/binary-all-lf (100%) rename tests/resources/crlf_data/{windows/autocrlf_input,text_auto => posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf}/binary-mixed-lf-cr (100%) rename tests/resources/crlf_data/{windows/autocrlf_input/binary-mixed-lf-cr => posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/binary-mixed-lf-cr-crlf} (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/few-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/few-utf8-chars-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/many-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/many-utf8-chars-lf rename tests/resources/crlf_data/{windows/autocrlf_input,text_auto => posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf}/mixed-lf-cr (100%) rename tests/resources/crlf_data/{windows/autocrlf_input/mixed-lf-cr => posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/mixed-lf-cr-crlf} (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/more-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/more-crlf-utf8bom create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/more-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/more-lf-utf8bom rename tests/resources/crlf_data/{posix/autocrlf_true,text => posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf}/zero-byte (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/all-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/all-crlf-utf8bom rename tests/resources/crlf_data/{windows/autocrlf_input,-crlf => posix_to_odb/autocrlf_false,safecrlf_warn,text}/all-lf (100%) rename tests/resources/crlf_data/{windows/autocrlf_input,-crlf => posix_to_odb/autocrlf_false,safecrlf_warn,text}/all-lf-utf8bom (100%) rename tests/resources/crlf_data/{windows/autocrlf_true,eol_lf/binary-all-lf => posix_to_odb/autocrlf_false,safecrlf_warn,text/binary-all-crlf} (100%) rename tests/resources/crlf_data/{windows/autocrlf_true,text,eol_lf => posix_to_odb/autocrlf_false,safecrlf_warn,text}/binary-all-lf (100%) rename tests/resources/crlf_data/{windows/autocrlf_true,-crlf => posix_to_odb/autocrlf_false,safecrlf_warn,text}/binary-mixed-lf-cr (100%) rename tests/resources/crlf_data/{windows/autocrlf_true,-text/binary-mixed-lf-cr => posix_to_odb/autocrlf_false,safecrlf_warn,text/binary-mixed-lf-cr-crlf} (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/few-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/few-utf8-chars-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/many-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/many-utf8-chars-lf rename tests/resources/crlf_data/{windows/autocrlf_true,-crlf => posix_to_odb/autocrlf_false,safecrlf_warn,text}/mixed-lf-cr (100%) rename tests/resources/crlf_data/{windows/autocrlf_true,-text/mixed-lf-cr => posix_to_odb/autocrlf_false,safecrlf_warn,text/mixed-lf-cr-crlf} (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/more-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/more-crlf-utf8bom create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/more-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/more-lf-utf8bom rename tests/resources/crlf_data/{posix/autocrlf_true,text_auto,eol_crlf => posix_to_odb/autocrlf_false,safecrlf_warn,text}/zero-byte (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/all-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/all-crlf-utf8bom rename tests/resources/crlf_data/{windows/autocrlf_input,-text => posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf}/all-lf (100%) rename tests/resources/crlf_data/{windows/autocrlf_input,-text => posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf}/all-lf-utf8bom (100%) rename tests/resources/crlf_data/{posix/autocrlf_input,eol_crlf => posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf}/binary-all-crlf (100%) rename tests/resources/crlf_data/{windows/autocrlf_true,text_auto,eol_lf => posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf}/binary-all-lf (100%) rename tests/resources/crlf_data/{windows/autocrlf_true,eol_lf => posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf}/binary-mixed-lf-cr (100%) rename tests/resources/crlf_data/{posix/autocrlf_input,text_auto,eol_lf => posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf}/binary-mixed-lf-cr-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/few-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/few-utf8-chars-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/many-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/many-utf8-chars-lf rename tests/resources/crlf_data/{windows/autocrlf_true,eol_lf => posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf}/mixed-lf-cr (100%) rename tests/resources/crlf_data/{posix/autocrlf_input,text_auto,eol_lf => posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf}/mixed-lf-cr-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/more-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/more-crlf-utf8bom create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/more-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/more-lf-utf8bom rename tests/resources/crlf_data/{posix/autocrlf_true,text_auto,eol_lf => posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf}/zero-byte (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/all-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/all-crlf-utf8bom rename tests/resources/crlf_data/{windows/autocrlf_input,crlf => posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf}/all-lf (100%) rename tests/resources/crlf_data/{windows/autocrlf_input,crlf => posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf}/all-lf-utf8bom (100%) rename tests/resources/crlf_data/{posix/autocrlf_input,eol_lf => posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf}/binary-all-crlf (100%) rename tests/resources/crlf_data/{windows/autocrlf_true,text_auto => posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf}/binary-all-lf (100%) rename tests/resources/crlf_data/{windows/autocrlf_true,text,eol_lf => posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf}/binary-mixed-lf-cr (100%) rename tests/resources/crlf_data/{posix/autocrlf_input,text_auto => posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf}/binary-mixed-lf-cr-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/few-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/few-utf8-chars-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/many-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/many-utf8-chars-lf rename tests/resources/crlf_data/{windows/autocrlf_true,text,eol_lf => posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf}/mixed-lf-cr (100%) rename tests/resources/crlf_data/{posix/autocrlf_input,text_auto => posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf}/mixed-lf-cr-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/more-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/more-crlf-utf8bom create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/more-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/more-lf-utf8bom rename tests/resources/crlf_data/{posix/autocrlf_true,text_auto => posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf}/zero-byte (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/all-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/all-crlf-utf8bom rename tests/resources/crlf_data/{windows/autocrlf_input,eol_lf => posix_to_odb/autocrlf_false,safecrlf_warn,text_auto}/all-lf (100%) rename tests/resources/crlf_data/{windows/autocrlf_input,eol_lf => posix_to_odb/autocrlf_false,safecrlf_warn,text_auto}/all-lf-utf8bom (100%) rename tests/resources/crlf_data/{posix/autocrlf_input,text,eol_crlf => posix_to_odb/autocrlf_false,safecrlf_warn,text_auto}/binary-all-crlf (100%) rename tests/resources/crlf_data/{windows/autocrlf_true => posix_to_odb/autocrlf_false,safecrlf_warn,text_auto}/binary-all-lf (100%) rename tests/resources/crlf_data/{windows/autocrlf_true,text_auto,eol_lf => posix_to_odb/autocrlf_false,safecrlf_warn,text_auto}/binary-mixed-lf-cr (100%) rename tests/resources/crlf_data/{posix/autocrlf_input => posix_to_odb/autocrlf_false,safecrlf_warn,text_auto}/binary-mixed-lf-cr-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/few-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/few-utf8-chars-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/many-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/many-utf8-chars-lf rename tests/resources/crlf_data/{windows/autocrlf_true,text_auto,eol_lf => posix_to_odb/autocrlf_false,safecrlf_warn,text_auto}/mixed-lf-cr (100%) rename tests/resources/crlf_data/{posix/autocrlf_input => posix_to_odb/autocrlf_false,safecrlf_warn,text_auto}/mixed-lf-cr-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/more-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/more-crlf-utf8bom create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/more-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/more-lf-utf8bom rename tests/resources/crlf_data/{posix/autocrlf_true => posix_to_odb/autocrlf_false,safecrlf_warn,text_auto}/zero-byte (100%) rename tests/resources/crlf_data/{posix/autocrlf_false,text_auto,eol_lf => posix_to_odb/autocrlf_false,safecrlf_warn}/all-crlf (100%) rename tests/resources/crlf_data/{posix/autocrlf_false,text_auto,eol_lf => posix_to_odb/autocrlf_false,safecrlf_warn}/all-crlf-utf8bom (100%) rename tests/resources/crlf_data/{windows/autocrlf_input,text,eol_lf => posix_to_odb/autocrlf_false,safecrlf_warn}/all-lf (100%) rename tests/resources/crlf_data/{windows/autocrlf_input,text,eol_lf => posix_to_odb/autocrlf_false,safecrlf_warn}/all-lf-utf8bom (100%) rename tests/resources/crlf_data/{posix/autocrlf_input,text,eol_lf => posix_to_odb/autocrlf_false,safecrlf_warn}/binary-all-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/binary-all-lf rename tests/resources/crlf_data/{windows/autocrlf_true,text_auto => posix_to_odb/autocrlf_false,safecrlf_warn}/binary-mixed-lf-cr (100%) rename tests/resources/crlf_data/{posix/autocrlf_true,-crlf => posix_to_odb/autocrlf_false,safecrlf_warn}/binary-mixed-lf-cr-crlf (100%) rename tests/resources/crlf_data/{posix/autocrlf_false,text_auto,eol_lf => posix_to_odb/autocrlf_false,safecrlf_warn}/few-utf8-chars-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/few-utf8-chars-lf rename tests/resources/crlf_data/{posix/autocrlf_false,text_auto,eol_lf => posix_to_odb/autocrlf_false,safecrlf_warn}/many-utf8-chars-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/many-utf8-chars-lf rename tests/resources/crlf_data/{windows/autocrlf_true,text_auto => posix_to_odb/autocrlf_false,safecrlf_warn}/mixed-lf-cr (100%) rename tests/resources/crlf_data/{posix/autocrlf_true,-crlf => posix_to_odb/autocrlf_false,safecrlf_warn}/mixed-lf-cr-crlf (100%) rename tests/resources/crlf_data/{posix/autocrlf_input,-crlf => posix_to_odb/autocrlf_false,safecrlf_warn}/more-crlf (100%) rename tests/resources/crlf_data/{posix/autocrlf_input,-crlf => posix_to_odb/autocrlf_false,safecrlf_warn}/more-crlf-utf8bom (100%) rename tests/resources/crlf_data/{posix/autocrlf_input,-crlf => posix_to_odb/autocrlf_false,safecrlf_warn}/more-lf (100%) rename tests/resources/crlf_data/{posix/autocrlf_input,-crlf => posix_to_odb/autocrlf_false,safecrlf_warn}/more-lf-utf8bom (100%) rename tests/resources/crlf_data/{windows/autocrlf_false,-crlf => posix_to_odb/autocrlf_false,safecrlf_warn}/zero-byte (100%) rename tests/resources/crlf_data/{posix/autocrlf_false,text_auto => posix_to_odb/autocrlf_input,safecrlf_false,-crlf}/all-crlf (100%) rename tests/resources/crlf_data/{posix/autocrlf_false,text_auto => posix_to_odb/autocrlf_input,safecrlf_false,-crlf}/all-crlf-utf8bom (100%) rename tests/resources/crlf_data/{windows/autocrlf_input,text => posix_to_odb/autocrlf_input,safecrlf_false,-crlf}/all-lf (100%) rename tests/resources/crlf_data/{windows/autocrlf_input,text => posix_to_odb/autocrlf_input,safecrlf_false,-crlf}/all-lf-utf8bom (100%) rename tests/resources/crlf_data/{posix/autocrlf_input,text => posix_to_odb/autocrlf_input,safecrlf_false,-crlf}/binary-all-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/binary-all-lf rename tests/resources/crlf_data/{windows/autocrlf_true => posix_to_odb/autocrlf_input,safecrlf_false,-crlf}/binary-mixed-lf-cr (100%) rename tests/resources/crlf_data/{posix/autocrlf_true,-text => posix_to_odb/autocrlf_input,safecrlf_false,-crlf}/binary-mixed-lf-cr-crlf (100%) rename tests/resources/crlf_data/{posix/autocrlf_false,text_auto => posix_to_odb/autocrlf_input,safecrlf_false,-crlf}/few-utf8-chars-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/few-utf8-chars-lf rename tests/resources/crlf_data/{posix/autocrlf_false,text_auto => posix_to_odb/autocrlf_input,safecrlf_false,-crlf}/many-utf8-chars-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/many-utf8-chars-lf rename tests/resources/crlf_data/{windows/autocrlf_true => posix_to_odb/autocrlf_input,safecrlf_false,-crlf}/mixed-lf-cr (100%) rename tests/resources/crlf_data/{posix/autocrlf_true,-text => posix_to_odb/autocrlf_input,safecrlf_false,-crlf}/mixed-lf-cr-crlf (100%) rename tests/resources/crlf_data/{posix/autocrlf_input,-text => posix_to_odb/autocrlf_input,safecrlf_false,-crlf}/more-crlf (100%) rename tests/resources/crlf_data/{posix/autocrlf_input,-text => posix_to_odb/autocrlf_input,safecrlf_false,-crlf}/more-crlf-utf8bom (100%) rename tests/resources/crlf_data/{posix/autocrlf_input,-text => posix_to_odb/autocrlf_input,safecrlf_false,-crlf}/more-lf (100%) rename tests/resources/crlf_data/{posix/autocrlf_input,-text => posix_to_odb/autocrlf_input,safecrlf_false,-crlf}/more-lf-utf8bom (100%) rename tests/resources/crlf_data/{windows/autocrlf_false,-text => posix_to_odb/autocrlf_input,safecrlf_false,-crlf}/zero-byte (100%) rename tests/resources/crlf_data/{posix/autocrlf_false => posix_to_odb/autocrlf_input,safecrlf_false,-text}/all-crlf (100%) rename tests/resources/crlf_data/{posix/autocrlf_false => posix_to_odb/autocrlf_input,safecrlf_false,-text}/all-crlf-utf8bom (100%) rename tests/resources/crlf_data/{windows/autocrlf_input,text_auto,eol_lf => posix_to_odb/autocrlf_input,safecrlf_false,-text}/all-lf (100%) rename tests/resources/crlf_data/{windows/autocrlf_input,text_auto,eol_lf => posix_to_odb/autocrlf_input,safecrlf_false,-text}/all-lf-utf8bom (100%) rename tests/resources/crlf_data/{posix/autocrlf_input,text_auto,eol_crlf => posix_to_odb/autocrlf_input,safecrlf_false,-text}/binary-all-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/binary-all-lf rename tests/resources/crlf_data/{windows/autocrlf_input,text_auto,eol_crlf => posix_to_odb/autocrlf_input,safecrlf_false,-text}/binary-mixed-lf-cr (68%) rename tests/resources/crlf_data/{posix/autocrlf_true,eol_lf => posix_to_odb/autocrlf_input,safecrlf_false,-text}/binary-mixed-lf-cr-crlf (100%) rename tests/resources/crlf_data/{posix/autocrlf_false => posix_to_odb/autocrlf_input,safecrlf_false,-text}/few-utf8-chars-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/few-utf8-chars-lf rename tests/resources/crlf_data/{posix/autocrlf_false => posix_to_odb/autocrlf_input,safecrlf_false,-text}/many-utf8-chars-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/many-utf8-chars-lf rename tests/resources/crlf_data/{windows/autocrlf_true,crlf => posix_to_odb/autocrlf_input,safecrlf_false,-text}/mixed-lf-cr (66%) rename tests/resources/crlf_data/{posix/autocrlf_true,eol_lf => posix_to_odb/autocrlf_input,safecrlf_false,-text}/mixed-lf-cr-crlf (100%) rename tests/resources/crlf_data/{posix/autocrlf_input,crlf => posix_to_odb/autocrlf_input,safecrlf_false,-text}/more-crlf (100%) rename tests/resources/crlf_data/{posix/autocrlf_input,crlf => posix_to_odb/autocrlf_input,safecrlf_false,-text}/more-crlf-utf8bom (100%) rename tests/resources/crlf_data/{posix/autocrlf_input,crlf => posix_to_odb/autocrlf_input,safecrlf_false,-text}/more-lf (100%) rename tests/resources/crlf_data/{posix/autocrlf_input,crlf => posix_to_odb/autocrlf_input,safecrlf_false,-text}/more-lf-utf8bom (100%) rename tests/resources/crlf_data/{windows/autocrlf_false,crlf => posix_to_odb/autocrlf_input,safecrlf_false,-text}/zero-byte (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/all-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/all-crlf-utf8bom rename tests/resources/crlf_data/{windows/autocrlf_input,text_auto => posix_to_odb/autocrlf_input,safecrlf_false,crlf}/all-lf (100%) rename tests/resources/crlf_data/{windows/autocrlf_input,text_auto => posix_to_odb/autocrlf_input,safecrlf_false,crlf}/all-lf-utf8bom (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/binary-all-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/binary-all-lf rename tests/resources/crlf_data/{windows/autocrlf_true,eol_crlf => posix_to_odb/autocrlf_input,safecrlf_false,crlf}/binary-mixed-lf-cr (68%) rename tests/resources/crlf_data/{windows/autocrlf_true,eol_crlf => posix_to_odb/autocrlf_input,safecrlf_false,crlf}/binary-mixed-lf-cr-crlf (68%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/few-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/few-utf8-chars-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/many-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/many-utf8-chars-lf rename tests/resources/crlf_data/{windows/autocrlf_true,eol_crlf => posix_to_odb/autocrlf_input,safecrlf_false,crlf}/mixed-lf-cr (66%) rename tests/resources/crlf_data/{windows/autocrlf_true,eol_crlf => posix_to_odb/autocrlf_input,safecrlf_false,crlf}/mixed-lf-cr-crlf (66%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/more-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/more-crlf-utf8bom create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/more-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/more-lf-utf8bom rename tests/resources/crlf_data/{windows/autocrlf_false,eol_crlf => posix_to_odb/autocrlf_input,safecrlf_false,crlf}/zero-byte (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/all-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/all-crlf-utf8bom rename tests/resources/crlf_data/{windows/autocrlf_input => posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf}/all-lf (100%) rename tests/resources/crlf_data/{windows/autocrlf_input => posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf}/all-lf-utf8bom (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/binary-all-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/binary-all-lf rename tests/resources/crlf_data/{windows/autocrlf_true,crlf => posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf}/binary-mixed-lf-cr (68%) rename tests/resources/crlf_data/{windows/autocrlf_input,text_auto,eol_crlf => posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf}/binary-mixed-lf-cr-crlf (68%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/few-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/few-utf8-chars-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/many-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/many-utf8-chars-lf rename tests/resources/crlf_data/{windows/autocrlf_input,text_auto,eol_crlf => posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf}/mixed-lf-cr (66%) rename tests/resources/crlf_data/{windows/autocrlf_true,crlf => posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf}/mixed-lf-cr-crlf (66%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/more-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/more-crlf-utf8bom create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/more-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/more-lf-utf8bom rename tests/resources/crlf_data/{windows/autocrlf_false,eol_lf => posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf}/zero-byte (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/all-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/all-crlf-utf8bom rename tests/resources/crlf_data/{windows/autocrlf_true,-crlf => posix_to_odb/autocrlf_input,safecrlf_false,eol_lf}/all-lf (100%) rename tests/resources/crlf_data/{windows/autocrlf_true,-crlf => posix_to_odb/autocrlf_input,safecrlf_false,eol_lf}/all-lf-utf8bom (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/binary-all-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/binary-all-lf rename tests/resources/crlf_data/{windows/autocrlf_true,text,eol_crlf => posix_to_odb/autocrlf_input,safecrlf_false,eol_lf}/binary-mixed-lf-cr (68%) rename tests/resources/crlf_data/{windows/autocrlf_true,text,eol_crlf => posix_to_odb/autocrlf_input,safecrlf_false,eol_lf}/binary-mixed-lf-cr-crlf (68%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/few-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/few-utf8-chars-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/many-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/many-utf8-chars-lf rename tests/resources/crlf_data/{windows/autocrlf_true,text,eol_crlf => posix_to_odb/autocrlf_input,safecrlf_false,eol_lf}/mixed-lf-cr (66%) rename tests/resources/crlf_data/{windows/autocrlf_true,text,eol_crlf => posix_to_odb/autocrlf_input,safecrlf_false,eol_lf}/mixed-lf-cr-crlf (66%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/more-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/more-crlf-utf8bom create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/more-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/more-lf-utf8bom rename tests/resources/crlf_data/{windows/autocrlf_false,text,eol_crlf => posix_to_odb/autocrlf_input,safecrlf_false,eol_lf}/zero-byte (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/all-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/all-crlf-utf8bom rename tests/resources/crlf_data/{windows/autocrlf_true,-text => posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf}/all-lf (100%) rename tests/resources/crlf_data/{windows/autocrlf_true,-text => posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf}/all-lf-utf8bom (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/binary-all-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/binary-all-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/binary-mixed-lf-cr rename tests/resources/crlf_data/{windows/autocrlf_true,crlf => posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf}/binary-mixed-lf-cr-crlf (68%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/few-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/few-utf8-chars-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/many-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/mixed-lf-cr rename tests/resources/crlf_data/{windows/autocrlf_input,text_auto,eol_crlf => posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf}/mixed-lf-cr-crlf (66%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/more-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/more-crlf-utf8bom create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/more-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/more-lf-utf8bom rename tests/resources/crlf_data/{windows/autocrlf_false,text,eol_lf => posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf}/zero-byte (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/all-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/all-crlf-utf8bom rename tests/resources/crlf_data/{windows/autocrlf_true,eol_lf => posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf}/all-lf (100%) rename tests/resources/crlf_data/{windows/autocrlf_true,eol_lf => posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf}/all-lf-utf8bom (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/binary-all-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/binary-all-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/binary-mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/few-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/few-utf8-chars-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/many-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/mixed-lf-cr create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/more-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/more-crlf-utf8bom create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/more-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/more-lf-utf8bom rename tests/resources/crlf_data/{windows/autocrlf_false,text => posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf}/zero-byte (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/all-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/all-crlf-utf8bom rename tests/resources/crlf_data/{windows/autocrlf_true,text,eol_lf => posix_to_odb/autocrlf_input,safecrlf_false,text}/all-lf (100%) rename tests/resources/crlf_data/{windows/autocrlf_true,text,eol_lf => posix_to_odb/autocrlf_input,safecrlf_false,text}/all-lf-utf8bom (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/binary-all-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/binary-all-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/binary-mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/few-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/few-utf8-chars-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/many-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/mixed-lf-cr create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/more-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/more-crlf-utf8bom create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/more-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/more-lf-utf8bom rename tests/resources/crlf_data/{windows/autocrlf_false,text_auto,eol_crlf => posix_to_odb/autocrlf_input,safecrlf_false,text}/zero-byte (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/all-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/all-crlf-utf8bom rename tests/resources/crlf_data/{windows/autocrlf_true,text_auto,eol_lf => posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf}/all-lf (100%) rename tests/resources/crlf_data/{windows/autocrlf_true,text_auto,eol_lf => posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf}/all-lf-utf8bom (100%) rename tests/resources/crlf_data/{posix/autocrlf_input,text_auto,eol_lf => posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf}/binary-all-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/binary-all-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr rename tests/resources/crlf_data/{posix/autocrlf_true,text,eol_lf => posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf}/binary-mixed-lf-cr-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/few-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/few-utf8-chars-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/many-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/mixed-lf-cr rename tests/resources/crlf_data/{posix/autocrlf_true,text,eol_lf => posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf}/mixed-lf-cr-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/more-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/more-crlf-utf8bom create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/more-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/more-lf-utf8bom rename tests/resources/crlf_data/{windows/autocrlf_false,text_auto,eol_lf => posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf}/zero-byte (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/all-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/all-crlf-utf8bom create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/all-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/all-lf-utf8bom rename tests/resources/crlf_data/{posix/autocrlf_input,text_auto => posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf}/binary-all-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/binary-all-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/binary-mixed-lf-cr rename tests/resources/crlf_data/{posix/autocrlf_true,text_auto,eol_lf => posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf}/binary-mixed-lf-cr-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/few-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/few-utf8-chars-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/many-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/mixed-lf-cr rename tests/resources/crlf_data/{posix/autocrlf_true,text_auto,eol_lf => posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf}/mixed-lf-cr-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/more-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/more-crlf-utf8bom create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/more-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/more-lf-utf8bom rename tests/resources/crlf_data/{windows/autocrlf_false,text_auto => posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf}/zero-byte (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/all-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/all-crlf-utf8bom create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/all-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/all-lf-utf8bom rename tests/resources/crlf_data/{posix/autocrlf_input => posix_to_odb/autocrlf_input,safecrlf_false,text_auto}/binary-all-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/binary-all-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/binary-mixed-lf-cr rename tests/resources/crlf_data/{posix/autocrlf_true,text_auto => posix_to_odb/autocrlf_input,safecrlf_false,text_auto}/binary-mixed-lf-cr-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/few-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/few-utf8-chars-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/many-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/mixed-lf-cr rename tests/resources/crlf_data/{posix/autocrlf_true,text_auto => posix_to_odb/autocrlf_input,safecrlf_false,text_auto}/mixed-lf-cr-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/more-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/more-crlf-utf8bom create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/more-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/more-lf-utf8bom rename tests/resources/crlf_data/{windows/autocrlf_false => posix_to_odb/autocrlf_input,safecrlf_false,text_auto}/zero-byte (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/all-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/all-crlf-utf8bom create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/all-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/all-lf-utf8bom rename tests/resources/crlf_data/{posix/autocrlf_true,-crlf => posix_to_odb/autocrlf_input,safecrlf_false}/binary-all-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/binary-all-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/binary-mixed-lf-cr rename tests/resources/crlf_data/{posix/autocrlf_true => posix_to_odb/autocrlf_input,safecrlf_false}/binary-mixed-lf-cr-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/few-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/few-utf8-chars-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/many-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/mixed-lf-cr rename tests/resources/crlf_data/{posix/autocrlf_true => posix_to_odb/autocrlf_input,safecrlf_false}/mixed-lf-cr-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/more-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/more-crlf-utf8bom create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/more-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/more-lf-utf8bom rename tests/resources/crlf_data/{windows/autocrlf_input,-crlf => posix_to_odb/autocrlf_input,safecrlf_false}/zero-byte (100%) rename tests/resources/crlf_data/{posix/autocrlf_input,-crlf => posix_to_odb/autocrlf_input,safecrlf_true,-crlf}/all-crlf (100%) rename tests/resources/crlf_data/{posix/autocrlf_input,-crlf => posix_to_odb/autocrlf_input,safecrlf_true,-crlf}/all-crlf-utf8bom (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/all-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/all-lf-utf8bom rename tests/resources/crlf_data/{posix/autocrlf_true,-text => posix_to_odb/autocrlf_input,safecrlf_true,-crlf}/binary-all-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/binary-all-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/binary-mixed-lf-cr rename tests/resources/crlf_data/{windows/autocrlf_false,-crlf => posix_to_odb/autocrlf_input,safecrlf_true,-crlf}/binary-mixed-lf-cr-crlf (100%) rename tests/resources/crlf_data/{posix/autocrlf_input,-crlf => posix_to_odb/autocrlf_input,safecrlf_true,-crlf}/few-utf8-chars-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/few-utf8-chars-lf rename tests/resources/crlf_data/{posix/autocrlf_input,-crlf => posix_to_odb/autocrlf_input,safecrlf_true,-crlf}/many-utf8-chars-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/mixed-lf-cr rename tests/resources/crlf_data/{windows/autocrlf_false,-crlf => posix_to_odb/autocrlf_input,safecrlf_true,-crlf}/mixed-lf-cr-crlf (100%) rename tests/resources/crlf_data/{posix/autocrlf_input,eol_lf => posix_to_odb/autocrlf_input,safecrlf_true,-crlf}/more-crlf (100%) rename tests/resources/crlf_data/{posix/autocrlf_input,eol_lf => posix_to_odb/autocrlf_input,safecrlf_true,-crlf}/more-crlf-utf8bom (100%) rename tests/resources/crlf_data/{posix/autocrlf_input,eol_lf => posix_to_odb/autocrlf_input,safecrlf_true,-crlf}/more-lf (100%) rename tests/resources/crlf_data/{posix/autocrlf_input,eol_lf => posix_to_odb/autocrlf_input,safecrlf_true,-crlf}/more-lf-utf8bom (100%) rename tests/resources/crlf_data/{windows/autocrlf_input,-text => posix_to_odb/autocrlf_input,safecrlf_true,-crlf}/zero-byte (100%) rename tests/resources/crlf_data/{posix/autocrlf_input,-text => posix_to_odb/autocrlf_input,safecrlf_true,-text}/all-crlf (100%) rename tests/resources/crlf_data/{posix/autocrlf_input,-text => posix_to_odb/autocrlf_input,safecrlf_true,-text}/all-crlf-utf8bom (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/all-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/all-lf-utf8bom rename tests/resources/crlf_data/{posix/autocrlf_true,crlf => posix_to_odb/autocrlf_input,safecrlf_true,-text}/binary-all-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/binary-all-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/binary-mixed-lf-cr rename tests/resources/crlf_data/{windows/autocrlf_false,-text => posix_to_odb/autocrlf_input,safecrlf_true,-text}/binary-mixed-lf-cr-crlf (100%) rename tests/resources/crlf_data/{posix/autocrlf_input,-text => posix_to_odb/autocrlf_input,safecrlf_true,-text}/few-utf8-chars-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/few-utf8-chars-lf rename tests/resources/crlf_data/{posix/autocrlf_input,-text => posix_to_odb/autocrlf_input,safecrlf_true,-text}/many-utf8-chars-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/mixed-lf-cr rename tests/resources/crlf_data/{windows/autocrlf_false,-text => posix_to_odb/autocrlf_input,safecrlf_true,-text}/mixed-lf-cr-crlf (100%) rename tests/resources/crlf_data/{posix/autocrlf_input,text,eol_lf => posix_to_odb/autocrlf_input,safecrlf_true,-text}/more-crlf (100%) rename tests/resources/crlf_data/{posix/autocrlf_input,text,eol_lf => posix_to_odb/autocrlf_input,safecrlf_true,-text}/more-crlf-utf8bom (100%) rename tests/resources/crlf_data/{posix/autocrlf_input,text,eol_lf => posix_to_odb/autocrlf_input,safecrlf_true,-text}/more-lf (100%) rename tests/resources/crlf_data/{posix/autocrlf_input,text,eol_lf => posix_to_odb/autocrlf_input,safecrlf_true,-text}/more-lf-utf8bom (100%) rename tests/resources/crlf_data/{windows/autocrlf_input,crlf => posix_to_odb/autocrlf_input,safecrlf_true,-text}/zero-byte (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/all-crlf-utf8bom.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/all-crlf.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/all-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/all-lf-utf8bom create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/binary-all-crlf.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/binary-all-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/binary-mixed-lf-cr-crlf.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/few-utf8-chars-crlf.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/few-utf8-chars-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/many-utf8-chars-crlf.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/mixed-lf-cr create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/mixed-lf-cr-crlf.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/more-crlf-utf8bom.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/more-crlf.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/more-lf-utf8bom.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/more-lf.fail rename tests/resources/crlf_data/{windows/autocrlf_input,eol_crlf => posix_to_odb/autocrlf_input,safecrlf_true,crlf}/zero-byte (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/all-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/all-crlf-utf8bom create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/all-lf-utf8bom.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/all-lf.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/binary-all-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/binary-all-lf.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/binary-mixed-lf-cr-crlf.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/binary-mixed-lf-cr.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/few-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/few-utf8-chars-lf.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/many-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/many-utf8-chars-lf.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/mixed-lf-cr-crlf.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/mixed-lf-cr.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/more-crlf-utf8bom.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/more-crlf.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/more-lf-utf8bom.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/more-lf.fail rename tests/resources/crlf_data/{windows/autocrlf_input,eol_lf => posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf}/zero-byte (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/all-crlf-utf8bom.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/all-crlf.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/all-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/all-lf-utf8bom create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/binary-all-crlf.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/binary-all-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/binary-mixed-lf-cr-crlf.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/few-utf8-chars-crlf.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/few-utf8-chars-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/many-utf8-chars-crlf.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/mixed-lf-cr create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/mixed-lf-cr-crlf.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/more-crlf-utf8bom.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/more-crlf.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/more-lf-utf8bom.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/more-lf.fail rename tests/resources/crlf_data/{windows/autocrlf_input,text,eol_crlf => posix_to_odb/autocrlf_input,safecrlf_true,eol_lf}/zero-byte (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/all-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/all-crlf-utf8bom create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/all-lf-utf8bom.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/all-lf.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/binary-all-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/binary-all-lf.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/binary-mixed-lf-cr-crlf.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/binary-mixed-lf-cr.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/few-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/few-utf8-chars-lf.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/many-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/many-utf8-chars-lf.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/mixed-lf-cr-crlf.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/mixed-lf-cr.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/more-crlf-utf8bom.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/more-crlf.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/more-lf-utf8bom.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/more-lf.fail rename tests/resources/crlf_data/{windows/autocrlf_input,text,eol_lf => posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf}/zero-byte (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/all-crlf-utf8bom.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/all-crlf.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/all-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/all-lf-utf8bom create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/binary-all-crlf.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/binary-all-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/binary-mixed-lf-cr-crlf.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/few-utf8-chars-crlf.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/few-utf8-chars-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/many-utf8-chars-crlf.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/mixed-lf-cr create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/mixed-lf-cr-crlf.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/more-crlf-utf8bom.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/more-crlf.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/more-lf-utf8bom.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/more-lf.fail rename tests/resources/crlf_data/{windows/autocrlf_input,text => posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf}/zero-byte (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/all-crlf-utf8bom.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/all-crlf.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/all-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/all-lf-utf8bom create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/binary-all-crlf.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/binary-all-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/binary-mixed-lf-cr-crlf.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/few-utf8-chars-crlf.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/few-utf8-chars-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/many-utf8-chars-crlf.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/mixed-lf-cr create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/mixed-lf-cr-crlf.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/more-crlf-utf8bom.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/more-crlf.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/more-lf-utf8bom.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/more-lf.fail rename tests/resources/crlf_data/{windows/autocrlf_input,text_auto,eol_crlf => posix_to_odb/autocrlf_input,safecrlf_true,text}/zero-byte (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/all-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/all-crlf-utf8bom create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/all-lf-utf8bom.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/all-lf.fail rename tests/resources/crlf_data/{posix/autocrlf_true,eol_crlf => posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf}/binary-all-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/binary-all-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr rename tests/resources/crlf_data/{windows/autocrlf_false,eol_lf => posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf}/binary-mixed-lf-cr-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/few-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/few-utf8-chars-lf.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/many-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/many-utf8-chars-lf.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/mixed-lf-cr rename tests/resources/crlf_data/{windows/autocrlf_false,eol_lf => posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf}/mixed-lf-cr-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/more-crlf-utf8bom.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/more-crlf.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/more-lf-utf8bom.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/more-lf.fail rename tests/resources/crlf_data/{windows/autocrlf_input,text_auto,eol_lf => posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf}/zero-byte (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/all-crlf-utf8bom.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/all-crlf.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/all-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/all-lf-utf8bom rename tests/resources/crlf_data/{posix/autocrlf_true,eol_lf => posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf}/binary-all-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/binary-all-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/binary-mixed-lf-cr rename tests/resources/crlf_data/{windows/autocrlf_false,text,eol_lf => posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf}/binary-mixed-lf-cr-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/few-utf8-chars-crlf.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/few-utf8-chars-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/many-utf8-chars-crlf.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/mixed-lf-cr rename tests/resources/crlf_data/{windows/autocrlf_false,text,eol_lf => posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf}/mixed-lf-cr-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/more-crlf-utf8bom.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/more-crlf.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/more-lf-utf8bom.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/more-lf.fail rename tests/resources/crlf_data/{windows/autocrlf_input,text_auto => posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf}/zero-byte (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/all-crlf-utf8bom.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/all-crlf.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/all-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/all-lf-utf8bom rename tests/resources/crlf_data/{posix/autocrlf_true,text,eol_crlf => posix_to_odb/autocrlf_input,safecrlf_true,text_auto}/binary-all-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/binary-all-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/binary-mixed-lf-cr rename tests/resources/crlf_data/{windows/autocrlf_false,text_auto,eol_lf => posix_to_odb/autocrlf_input,safecrlf_true,text_auto}/binary-mixed-lf-cr-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/few-utf8-chars-crlf.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/few-utf8-chars-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/many-utf8-chars-crlf.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/mixed-lf-cr rename tests/resources/crlf_data/{windows/autocrlf_false,text_auto,eol_lf => posix_to_odb/autocrlf_input,safecrlf_true,text_auto}/mixed-lf-cr-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/more-crlf-utf8bom.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/more-crlf.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/more-lf-utf8bom.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/more-lf.fail rename tests/resources/crlf_data/{windows/autocrlf_input => posix_to_odb/autocrlf_input,safecrlf_true,text_auto}/zero-byte (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/all-crlf-utf8bom.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/all-crlf.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/all-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/all-lf-utf8bom rename tests/resources/crlf_data/{posix/autocrlf_true,text,eol_lf => posix_to_odb/autocrlf_input,safecrlf_true}/binary-all-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/binary-all-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/binary-mixed-lf-cr rename tests/resources/crlf_data/{windows/autocrlf_false,text_auto => posix_to_odb/autocrlf_input,safecrlf_true}/binary-mixed-lf-cr-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/few-utf8-chars-crlf.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/few-utf8-chars-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/many-utf8-chars-crlf.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/mixed-lf-cr rename tests/resources/crlf_data/{windows/autocrlf_false,text_auto => posix_to_odb/autocrlf_input,safecrlf_true}/mixed-lf-cr-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/more-crlf-utf8bom.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/more-crlf.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/more-lf-utf8bom.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/more-lf.fail rename tests/resources/crlf_data/{windows/autocrlf_true,-crlf => posix_to_odb/autocrlf_input,safecrlf_true}/zero-byte (100%) rename tests/resources/crlf_data/{posix/autocrlf_input,crlf => posix_to_odb/autocrlf_input,safecrlf_warn,-crlf}/all-crlf (100%) rename tests/resources/crlf_data/{posix/autocrlf_input,crlf => posix_to_odb/autocrlf_input,safecrlf_warn,-crlf}/all-crlf-utf8bom (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/all-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/all-lf-utf8bom rename tests/resources/crlf_data/{posix/autocrlf_true,text => posix_to_odb/autocrlf_input,safecrlf_warn,-crlf}/binary-all-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/binary-all-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/binary-mixed-lf-cr rename tests/resources/crlf_data/{windows/autocrlf_false => posix_to_odb/autocrlf_input,safecrlf_warn,-crlf}/binary-mixed-lf-cr-crlf (100%) rename tests/resources/crlf_data/{posix/autocrlf_input,crlf => posix_to_odb/autocrlf_input,safecrlf_warn,-crlf}/few-utf8-chars-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/few-utf8-chars-lf rename tests/resources/crlf_data/{posix/autocrlf_input,crlf => posix_to_odb/autocrlf_input,safecrlf_warn,-crlf}/many-utf8-chars-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/mixed-lf-cr rename tests/resources/crlf_data/{windows/autocrlf_false => posix_to_odb/autocrlf_input,safecrlf_warn,-crlf}/mixed-lf-cr-crlf (100%) rename tests/resources/crlf_data/{posix/autocrlf_input,text => posix_to_odb/autocrlf_input,safecrlf_warn,-crlf}/more-crlf (100%) rename tests/resources/crlf_data/{posix/autocrlf_input,text => posix_to_odb/autocrlf_input,safecrlf_warn,-crlf}/more-crlf-utf8bom (100%) rename tests/resources/crlf_data/{posix/autocrlf_input,text => posix_to_odb/autocrlf_input,safecrlf_warn,-crlf}/more-lf (100%) rename tests/resources/crlf_data/{posix/autocrlf_input,text => posix_to_odb/autocrlf_input,safecrlf_warn,-crlf}/more-lf-utf8bom (100%) rename tests/resources/crlf_data/{windows/autocrlf_true,-text => posix_to_odb/autocrlf_input,safecrlf_warn,-crlf}/zero-byte (100%) rename tests/resources/crlf_data/{posix/autocrlf_input,eol_crlf => posix_to_odb/autocrlf_input,safecrlf_warn,-text}/all-crlf (100%) rename tests/resources/crlf_data/{posix/autocrlf_input,eol_crlf => posix_to_odb/autocrlf_input,safecrlf_warn,-text}/all-crlf-utf8bom (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/all-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/all-lf-utf8bom rename tests/resources/crlf_data/{posix/autocrlf_true,text_auto,eol_crlf => posix_to_odb/autocrlf_input,safecrlf_warn,-text}/binary-all-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/binary-all-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/binary-mixed-lf-cr rename tests/resources/crlf_data/{windows/autocrlf_input,-crlf => posix_to_odb/autocrlf_input,safecrlf_warn,-text}/binary-mixed-lf-cr-crlf (100%) rename tests/resources/crlf_data/{posix/autocrlf_input,eol_crlf => posix_to_odb/autocrlf_input,safecrlf_warn,-text}/few-utf8-chars-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/few-utf8-chars-lf rename tests/resources/crlf_data/{posix/autocrlf_input,eol_crlf => posix_to_odb/autocrlf_input,safecrlf_warn,-text}/many-utf8-chars-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/mixed-lf-cr rename tests/resources/crlf_data/{windows/autocrlf_input,-crlf => posix_to_odb/autocrlf_input,safecrlf_warn,-text}/mixed-lf-cr-crlf (100%) rename tests/resources/crlf_data/{posix/autocrlf_input,text_auto,eol_lf => posix_to_odb/autocrlf_input,safecrlf_warn,-text}/more-crlf (100%) rename tests/resources/crlf_data/{posix/autocrlf_input,text_auto,eol_lf => posix_to_odb/autocrlf_input,safecrlf_warn,-text}/more-crlf-utf8bom (100%) rename tests/resources/crlf_data/{posix/autocrlf_input,text_auto,eol_lf => posix_to_odb/autocrlf_input,safecrlf_warn,-text}/more-lf (100%) rename tests/resources/crlf_data/{posix/autocrlf_input,text_auto,eol_lf => posix_to_odb/autocrlf_input,safecrlf_warn,-text}/more-lf-utf8bom (100%) rename tests/resources/crlf_data/{windows/autocrlf_true,crlf => posix_to_odb/autocrlf_input,safecrlf_warn,-text}/zero-byte (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/all-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/all-crlf-utf8bom create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/all-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/all-lf-utf8bom create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/binary-all-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/binary-all-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/binary-mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/few-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/few-utf8-chars-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/many-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/mixed-lf-cr create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/more-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/more-crlf-utf8bom create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/more-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/more-lf-utf8bom rename tests/resources/crlf_data/{windows/autocrlf_true,eol_crlf => posix_to_odb/autocrlf_input,safecrlf_warn,crlf}/zero-byte (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/all-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/all-crlf-utf8bom create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/all-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/all-lf-utf8bom create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/binary-all-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/binary-all-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/binary-mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/few-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/few-utf8-chars-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/many-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/mixed-lf-cr create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/more-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/more-crlf-utf8bom create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/more-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/more-lf-utf8bom rename tests/resources/crlf_data/{windows/autocrlf_true,eol_lf => posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf}/zero-byte (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/all-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/all-crlf-utf8bom create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/all-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/all-lf-utf8bom create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/binary-all-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/binary-all-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/binary-mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/few-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/few-utf8-chars-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/many-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/mixed-lf-cr create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/more-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/more-crlf-utf8bom create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/more-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/more-lf-utf8bom rename tests/resources/crlf_data/{windows/autocrlf_true,text,eol_crlf => posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf}/zero-byte (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/all-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/all-crlf-utf8bom create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/all-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/all-lf-utf8bom create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/binary-all-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/binary-all-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/binary-mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/few-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/few-utf8-chars-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/many-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/mixed-lf-cr create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/more-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/more-crlf-utf8bom create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/more-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/more-lf-utf8bom rename tests/resources/crlf_data/{windows/autocrlf_true,text,eol_lf => posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf}/zero-byte (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/all-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/all-crlf-utf8bom create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/all-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/all-lf-utf8bom create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/binary-all-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/binary-all-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/binary-mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/few-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/few-utf8-chars-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/many-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/mixed-lf-cr create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/more-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/more-crlf-utf8bom create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/more-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/more-lf-utf8bom rename tests/resources/crlf_data/{windows/autocrlf_true,text => posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf}/zero-byte (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/all-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/all-crlf-utf8bom create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/all-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/all-lf-utf8bom create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/binary-all-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/binary-all-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/binary-mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/few-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/few-utf8-chars-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/many-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/mixed-lf-cr create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/more-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/more-crlf-utf8bom create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/more-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/more-lf-utf8bom rename tests/resources/crlf_data/{windows/autocrlf_true,text_auto,eol_crlf => posix_to_odb/autocrlf_input,safecrlf_warn,text}/zero-byte (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/all-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/all-crlf-utf8bom create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/all-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/all-lf-utf8bom rename tests/resources/crlf_data/{posix/autocrlf_true,text_auto,eol_lf => posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf}/binary-all-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/binary-all-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/binary-mixed-lf-cr rename tests/resources/crlf_data/{windows/autocrlf_input,-text => posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf}/binary-mixed-lf-cr-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/few-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/few-utf8-chars-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/many-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/mixed-lf-cr rename tests/resources/crlf_data/{windows/autocrlf_input,-text => posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf}/mixed-lf-cr-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/more-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/more-crlf-utf8bom create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/more-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/more-lf-utf8bom rename tests/resources/crlf_data/{windows/autocrlf_true,text_auto,eol_lf => posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf}/zero-byte (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/all-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/all-crlf-utf8bom create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/all-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/all-lf-utf8bom rename tests/resources/crlf_data/{posix/autocrlf_true,text_auto => posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf}/binary-all-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/binary-all-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/binary-mixed-lf-cr rename tests/resources/crlf_data/{windows/autocrlf_input,crlf => posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf}/binary-mixed-lf-cr-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/few-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/few-utf8-chars-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/many-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/mixed-lf-cr rename tests/resources/crlf_data/{windows/autocrlf_input,crlf => posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf}/mixed-lf-cr-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/more-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/more-crlf-utf8bom create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/more-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/more-lf-utf8bom rename tests/resources/crlf_data/{windows/autocrlf_true,text_auto => posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf}/zero-byte (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/all-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/all-crlf-utf8bom create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/all-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/all-lf-utf8bom rename tests/resources/crlf_data/{posix/autocrlf_true => posix_to_odb/autocrlf_input,safecrlf_warn,text_auto}/binary-all-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/binary-all-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/binary-mixed-lf-cr rename tests/resources/crlf_data/{windows/autocrlf_input,eol_lf => posix_to_odb/autocrlf_input,safecrlf_warn,text_auto}/binary-mixed-lf-cr-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/few-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/few-utf8-chars-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/many-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/mixed-lf-cr rename tests/resources/crlf_data/{windows/autocrlf_input,eol_lf => posix_to_odb/autocrlf_input,safecrlf_warn,text_auto}/mixed-lf-cr-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/more-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/more-crlf-utf8bom create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/more-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/more-lf-utf8bom rename tests/resources/crlf_data/{windows/autocrlf_true => posix_to_odb/autocrlf_input,safecrlf_warn,text_auto}/zero-byte (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/all-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/all-crlf-utf8bom create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/all-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/all-lf-utf8bom rename tests/resources/crlf_data/{windows/autocrlf_false,-crlf => posix_to_odb/autocrlf_input,safecrlf_warn}/binary-all-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/binary-all-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/binary-mixed-lf-cr rename tests/resources/crlf_data/{windows/autocrlf_input,text,eol_lf => posix_to_odb/autocrlf_input,safecrlf_warn}/binary-mixed-lf-cr-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/few-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/few-utf8-chars-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/many-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/mixed-lf-cr rename tests/resources/crlf_data/{windows/autocrlf_input,text,eol_lf => posix_to_odb/autocrlf_input,safecrlf_warn}/mixed-lf-cr-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/more-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/more-crlf-utf8bom create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/more-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/more-lf-utf8bom create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/zero-byte rename tests/resources/crlf_data/{posix/autocrlf_input,eol_lf => posix_to_odb/autocrlf_true,safecrlf_false,-crlf}/all-crlf (100%) rename tests/resources/crlf_data/{posix/autocrlf_input,eol_lf => posix_to_odb/autocrlf_true,safecrlf_false,-crlf}/all-crlf-utf8bom (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/all-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/all-lf-utf8bom rename tests/resources/crlf_data/{windows/autocrlf_false,-text => posix_to_odb/autocrlf_true,safecrlf_false,-crlf}/binary-all-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/binary-all-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/binary-mixed-lf-cr rename tests/resources/crlf_data/{windows/autocrlf_input,text => posix_to_odb/autocrlf_true,safecrlf_false,-crlf}/binary-mixed-lf-cr-crlf (100%) rename tests/resources/crlf_data/{posix/autocrlf_input,eol_lf => posix_to_odb/autocrlf_true,safecrlf_false,-crlf}/few-utf8-chars-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/few-utf8-chars-lf rename tests/resources/crlf_data/{posix/autocrlf_input,eol_lf => posix_to_odb/autocrlf_true,safecrlf_false,-crlf}/many-utf8-chars-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/mixed-lf-cr rename tests/resources/crlf_data/{windows/autocrlf_input,text => posix_to_odb/autocrlf_true,safecrlf_false,-crlf}/mixed-lf-cr-crlf (100%) rename tests/resources/crlf_data/{posix/autocrlf_input,text_auto => posix_to_odb/autocrlf_true,safecrlf_false,-crlf}/more-crlf (100%) rename tests/resources/crlf_data/{posix/autocrlf_input,text_auto => posix_to_odb/autocrlf_true,safecrlf_false,-crlf}/more-crlf-utf8bom (100%) rename tests/resources/crlf_data/{posix/autocrlf_input,text_auto => posix_to_odb/autocrlf_true,safecrlf_false,-crlf}/more-lf (100%) rename tests/resources/crlf_data/{posix/autocrlf_input,text_auto => posix_to_odb/autocrlf_true,safecrlf_false,-crlf}/more-lf-utf8bom (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/zero-byte rename tests/resources/crlf_data/{posix/autocrlf_input,text,eol_crlf => posix_to_odb/autocrlf_true,safecrlf_false,-text}/all-crlf (100%) rename tests/resources/crlf_data/{posix/autocrlf_input,text,eol_crlf => posix_to_odb/autocrlf_true,safecrlf_false,-text}/all-crlf-utf8bom (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/all-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/all-lf-utf8bom rename tests/resources/crlf_data/{windows/autocrlf_false,crlf => posix_to_odb/autocrlf_true,safecrlf_false,-text}/binary-all-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/binary-all-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/binary-mixed-lf-cr rename tests/resources/crlf_data/{windows/autocrlf_input,text_auto,eol_lf => posix_to_odb/autocrlf_true,safecrlf_false,-text}/binary-mixed-lf-cr-crlf (100%) rename tests/resources/crlf_data/{posix/autocrlf_input,text,eol_crlf => posix_to_odb/autocrlf_true,safecrlf_false,-text}/few-utf8-chars-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/few-utf8-chars-lf rename tests/resources/crlf_data/{posix/autocrlf_input,text,eol_crlf => posix_to_odb/autocrlf_true,safecrlf_false,-text}/many-utf8-chars-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/mixed-lf-cr rename tests/resources/crlf_data/{windows/autocrlf_input,text_auto,eol_lf => posix_to_odb/autocrlf_true,safecrlf_false,-text}/mixed-lf-cr-crlf (100%) rename tests/resources/crlf_data/{posix/autocrlf_input => posix_to_odb/autocrlf_true,safecrlf_false,-text}/more-crlf (100%) rename tests/resources/crlf_data/{posix/autocrlf_input => posix_to_odb/autocrlf_true,safecrlf_false,-text}/more-crlf-utf8bom (100%) rename tests/resources/crlf_data/{posix/autocrlf_input => posix_to_odb/autocrlf_true,safecrlf_false,-text}/more-lf (100%) rename tests/resources/crlf_data/{posix/autocrlf_input => posix_to_odb/autocrlf_true,safecrlf_false,-text}/more-lf-utf8bom (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/zero-byte create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/all-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/all-crlf-utf8bom create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/all-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/all-lf-utf8bom create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/binary-all-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/binary-all-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/binary-mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/few-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/few-utf8-chars-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/many-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/mixed-lf-cr create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/more-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/more-crlf-utf8bom create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/more-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/more-lf-utf8bom create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/zero-byte create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/all-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/all-crlf-utf8bom create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/all-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/all-lf-utf8bom create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/binary-all-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/binary-all-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/binary-mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/few-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/few-utf8-chars-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/many-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/mixed-lf-cr create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/more-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/more-crlf-utf8bom create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/more-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/more-lf-utf8bom create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/zero-byte create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/all-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/all-crlf-utf8bom create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/all-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/all-lf-utf8bom create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/binary-all-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/binary-all-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/binary-mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/few-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/few-utf8-chars-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/many-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/mixed-lf-cr create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/more-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/more-crlf-utf8bom create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/more-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/more-lf-utf8bom create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/zero-byte create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/all-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/all-crlf-utf8bom create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/all-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/all-lf-utf8bom create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/binary-all-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/binary-all-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/binary-mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/few-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/few-utf8-chars-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/many-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/mixed-lf-cr create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/more-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/more-crlf-utf8bom create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/more-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/more-lf-utf8bom create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/zero-byte create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/all-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/all-crlf-utf8bom create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/all-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/all-lf-utf8bom create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/binary-all-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/binary-all-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/binary-mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/few-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/few-utf8-chars-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/many-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/mixed-lf-cr create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/more-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/more-crlf-utf8bom create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/more-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/more-lf-utf8bom create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/zero-byte create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/all-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/all-crlf-utf8bom create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/all-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/all-lf-utf8bom create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/binary-all-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/binary-all-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/binary-mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/few-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/few-utf8-chars-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/many-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/mixed-lf-cr create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/more-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/more-crlf-utf8bom create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/more-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/more-lf-utf8bom create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/zero-byte create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/all-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/all-crlf-utf8bom create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/all-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/all-lf-utf8bom rename tests/resources/crlf_data/{windows/autocrlf_false,eol_crlf => posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf}/binary-all-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/binary-all-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr rename tests/resources/crlf_data/{windows/autocrlf_input,text_auto => posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf}/binary-mixed-lf-cr-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/few-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/few-utf8-chars-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/many-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/mixed-lf-cr rename tests/resources/crlf_data/{windows/autocrlf_input,text_auto => posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf}/mixed-lf-cr-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/more-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/more-crlf-utf8bom create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/more-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/more-lf-utf8bom create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/zero-byte create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/all-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/all-crlf-utf8bom create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/all-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/all-lf-utf8bom rename tests/resources/crlf_data/{windows/autocrlf_false,eol_lf => posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf}/binary-all-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/binary-all-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/binary-mixed-lf-cr rename tests/resources/crlf_data/{windows/autocrlf_input => posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf}/binary-mixed-lf-cr-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/few-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/few-utf8-chars-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/many-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/mixed-lf-cr rename tests/resources/crlf_data/{windows/autocrlf_input => posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf}/mixed-lf-cr-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/more-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/more-crlf-utf8bom create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/more-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/more-lf-utf8bom create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/zero-byte create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/all-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/all-crlf-utf8bom create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/all-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/all-lf-utf8bom rename tests/resources/crlf_data/{windows/autocrlf_false,text,eol_crlf => posix_to_odb/autocrlf_true,safecrlf_false,text_auto}/binary-all-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/binary-all-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/binary-mixed-lf-cr rename tests/resources/crlf_data/{windows/autocrlf_true,-crlf => posix_to_odb/autocrlf_true,safecrlf_false,text_auto}/binary-mixed-lf-cr-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/few-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/few-utf8-chars-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/many-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/mixed-lf-cr rename tests/resources/crlf_data/{windows/autocrlf_true,-crlf => posix_to_odb/autocrlf_true,safecrlf_false,text_auto}/mixed-lf-cr-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/more-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/more-crlf-utf8bom create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/more-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/more-lf-utf8bom create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/zero-byte create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/all-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/all-crlf-utf8bom create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/all-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/all-lf-utf8bom rename tests/resources/crlf_data/{windows/autocrlf_false,text,eol_lf => posix_to_odb/autocrlf_true,safecrlf_false}/binary-all-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/binary-all-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/binary-mixed-lf-cr rename tests/resources/crlf_data/{windows/autocrlf_true,-text => posix_to_odb/autocrlf_true,safecrlf_false}/binary-mixed-lf-cr-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/few-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/few-utf8-chars-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/many-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/mixed-lf-cr rename tests/resources/crlf_data/{windows/autocrlf_true,-text => posix_to_odb/autocrlf_true,safecrlf_false}/mixed-lf-cr-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/more-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/more-crlf-utf8bom create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/more-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/more-lf-utf8bom create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/zero-byte rename tests/resources/crlf_data/{posix/autocrlf_input,text,eol_lf => posix_to_odb/autocrlf_true,safecrlf_true,-crlf}/all-crlf (100%) rename tests/resources/crlf_data/{posix/autocrlf_input,text,eol_lf => posix_to_odb/autocrlf_true,safecrlf_true,-crlf}/all-crlf-utf8bom (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/all-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/all-lf-utf8bom rename tests/resources/crlf_data/{windows/autocrlf_false,text => posix_to_odb/autocrlf_true,safecrlf_true,-crlf}/binary-all-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/binary-all-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/binary-mixed-lf-cr rename tests/resources/crlf_data/{windows/autocrlf_true,eol_lf => posix_to_odb/autocrlf_true,safecrlf_true,-crlf}/binary-mixed-lf-cr-crlf (100%) rename tests/resources/crlf_data/{posix/autocrlf_input,text,eol_lf => posix_to_odb/autocrlf_true,safecrlf_true,-crlf}/few-utf8-chars-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/few-utf8-chars-lf rename tests/resources/crlf_data/{posix/autocrlf_input,text,eol_lf => posix_to_odb/autocrlf_true,safecrlf_true,-crlf}/many-utf8-chars-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/mixed-lf-cr rename tests/resources/crlf_data/{windows/autocrlf_true,eol_lf => posix_to_odb/autocrlf_true,safecrlf_true,-crlf}/mixed-lf-cr-crlf (100%) rename tests/resources/crlf_data/{posix/autocrlf_true,-crlf => posix_to_odb/autocrlf_true,safecrlf_true,-crlf}/more-crlf (100%) rename tests/resources/crlf_data/{posix/autocrlf_true,-crlf => posix_to_odb/autocrlf_true,safecrlf_true,-crlf}/more-crlf-utf8bom (100%) rename tests/resources/crlf_data/{posix/autocrlf_true,-crlf => posix_to_odb/autocrlf_true,safecrlf_true,-crlf}/more-lf (100%) rename tests/resources/crlf_data/{posix/autocrlf_true,-crlf => posix_to_odb/autocrlf_true,safecrlf_true,-crlf}/more-lf-utf8bom (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/zero-byte rename tests/resources/crlf_data/{posix/autocrlf_input,text => posix_to_odb/autocrlf_true,safecrlf_true,-text}/all-crlf (100%) rename tests/resources/crlf_data/{posix/autocrlf_input,text => posix_to_odb/autocrlf_true,safecrlf_true,-text}/all-crlf-utf8bom (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/all-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/all-lf-utf8bom rename tests/resources/crlf_data/{windows/autocrlf_false,text_auto,eol_crlf => posix_to_odb/autocrlf_true,safecrlf_true,-text}/binary-all-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/binary-all-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/binary-mixed-lf-cr rename tests/resources/crlf_data/{windows/autocrlf_true,text,eol_lf => posix_to_odb/autocrlf_true,safecrlf_true,-text}/binary-mixed-lf-cr-crlf (100%) rename tests/resources/crlf_data/{posix/autocrlf_input,text => posix_to_odb/autocrlf_true,safecrlf_true,-text}/few-utf8-chars-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/few-utf8-chars-lf rename tests/resources/crlf_data/{posix/autocrlf_input,text => posix_to_odb/autocrlf_true,safecrlf_true,-text}/many-utf8-chars-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/mixed-lf-cr rename tests/resources/crlf_data/{windows/autocrlf_true,text,eol_lf => posix_to_odb/autocrlf_true,safecrlf_true,-text}/mixed-lf-cr-crlf (100%) rename tests/resources/crlf_data/{posix/autocrlf_true,-text => posix_to_odb/autocrlf_true,safecrlf_true,-text}/more-crlf (100%) rename tests/resources/crlf_data/{posix/autocrlf_true,-text => posix_to_odb/autocrlf_true,safecrlf_true,-text}/more-crlf-utf8bom (100%) rename tests/resources/crlf_data/{posix/autocrlf_true,-text => posix_to_odb/autocrlf_true,safecrlf_true,-text}/more-lf (100%) rename tests/resources/crlf_data/{posix/autocrlf_true,-text => posix_to_odb/autocrlf_true,safecrlf_true,-text}/more-lf-utf8bom (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/zero-byte create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/all-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/all-crlf-utf8bom create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/all-lf-utf8bom.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/all-lf.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/binary-all-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/binary-all-lf.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/binary-mixed-lf-cr-crlf.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/binary-mixed-lf-cr.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/few-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/few-utf8-chars-lf.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/many-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/many-utf8-chars-lf.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/mixed-lf-cr-crlf.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/mixed-lf-cr.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/more-crlf-utf8bom.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/more-crlf.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/more-lf-utf8bom.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/more-lf.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/zero-byte create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/all-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/all-crlf-utf8bom create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/all-lf-utf8bom.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/all-lf.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/binary-all-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/binary-all-lf.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/binary-mixed-lf-cr-crlf.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/binary-mixed-lf-cr.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/few-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/few-utf8-chars-lf.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/many-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/many-utf8-chars-lf.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/mixed-lf-cr-crlf.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/mixed-lf-cr.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/more-crlf-utf8bom.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/more-crlf.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/more-lf-utf8bom.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/more-lf.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/zero-byte create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/all-crlf-utf8bom.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/all-crlf.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/all-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/all-lf-utf8bom create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/binary-all-crlf.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/binary-all-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/binary-mixed-lf-cr-crlf.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/few-utf8-chars-crlf.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/few-utf8-chars-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/many-utf8-chars-crlf.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/mixed-lf-cr create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/mixed-lf-cr-crlf.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/more-crlf-utf8bom.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/more-crlf.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/more-lf-utf8bom.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/more-lf.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/zero-byte create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/all-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/all-crlf-utf8bom create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/all-lf-utf8bom.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/all-lf.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/binary-all-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/binary-all-lf.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/binary-mixed-lf-cr-crlf.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/binary-mixed-lf-cr.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/few-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/few-utf8-chars-lf.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/many-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/many-utf8-chars-lf.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/mixed-lf-cr-crlf.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/mixed-lf-cr.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/more-crlf-utf8bom.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/more-crlf.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/more-lf-utf8bom.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/more-lf.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/zero-byte create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/all-crlf-utf8bom.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/all-crlf.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/all-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/all-lf-utf8bom create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/binary-all-crlf.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/binary-all-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/binary-mixed-lf-cr-crlf.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/few-utf8-chars-crlf.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/few-utf8-chars-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/many-utf8-chars-crlf.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/mixed-lf-cr create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/mixed-lf-cr-crlf.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/more-crlf-utf8bom.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/more-crlf.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/more-lf-utf8bom.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/more-lf.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/zero-byte create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/all-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/all-crlf-utf8bom create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/all-lf-utf8bom.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/all-lf.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/binary-all-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/binary-all-lf.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/binary-mixed-lf-cr-crlf.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/binary-mixed-lf-cr.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/few-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/few-utf8-chars-lf.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/many-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/many-utf8-chars-lf.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/mixed-lf-cr-crlf.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/mixed-lf-cr.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/more-crlf-utf8bom.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/more-crlf.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/more-lf-utf8bom.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/more-lf.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/zero-byte create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/all-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/all-crlf-utf8bom create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/all-lf-utf8bom.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/all-lf.fail rename tests/resources/crlf_data/{windows/autocrlf_false,text_auto,eol_lf => posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf}/binary-all-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/binary-all-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr rename tests/resources/crlf_data/{windows/autocrlf_true,text_auto,eol_lf => posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf}/binary-mixed-lf-cr-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/few-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/few-utf8-chars-lf.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/many-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/many-utf8-chars-lf.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/mixed-lf-cr rename tests/resources/crlf_data/{windows/autocrlf_true,text_auto,eol_lf => posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf}/mixed-lf-cr-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/more-crlf-utf8bom.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/more-crlf.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/more-lf-utf8bom.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/more-lf.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/zero-byte create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/all-crlf-utf8bom.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/all-crlf.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/all-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/all-lf-utf8bom rename tests/resources/crlf_data/{windows/autocrlf_false,text_auto => posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf}/binary-all-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/binary-all-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/binary-mixed-lf-cr rename tests/resources/crlf_data/{windows/autocrlf_true,text_auto => posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf}/binary-mixed-lf-cr-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/few-utf8-chars-crlf.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/few-utf8-chars-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/many-utf8-chars-crlf.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/mixed-lf-cr rename tests/resources/crlf_data/{windows/autocrlf_true,text_auto => posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf}/mixed-lf-cr-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/more-crlf-utf8bom.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/more-crlf.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/more-lf-utf8bom.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/more-lf.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/zero-byte create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/all-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/all-crlf-utf8bom create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/all-lf-utf8bom.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/all-lf.fail rename tests/resources/crlf_data/{windows/autocrlf_false => posix_to_odb/autocrlf_true,safecrlf_true,text_auto}/binary-all-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/binary-all-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/binary-mixed-lf-cr rename tests/resources/crlf_data/{windows/autocrlf_true => posix_to_odb/autocrlf_true,safecrlf_true,text_auto}/binary-mixed-lf-cr-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/few-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/few-utf8-chars-lf.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/many-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/many-utf8-chars-lf.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/mixed-lf-cr rename tests/resources/crlf_data/{windows/autocrlf_true => posix_to_odb/autocrlf_true,safecrlf_true,text_auto}/mixed-lf-cr-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/more-crlf-utf8bom.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/more-crlf.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/more-lf-utf8bom.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/more-lf.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/zero-byte create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/all-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/all-crlf-utf8bom create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/all-lf-utf8bom.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/all-lf.fail rename tests/resources/crlf_data/{windows/autocrlf_input,-crlf => posix_to_odb/autocrlf_true,safecrlf_true}/binary-all-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/binary-all-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/binary-mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/few-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/few-utf8-chars-lf.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/many-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/many-utf8-chars-lf.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/mixed-lf-cr create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/more-crlf-utf8bom.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/more-crlf.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/more-lf-utf8bom.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/more-lf.fail create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/zero-byte rename tests/resources/crlf_data/{posix/autocrlf_input,text_auto,eol_crlf => posix_to_odb/autocrlf_true,safecrlf_warn,-crlf}/all-crlf (100%) rename tests/resources/crlf_data/{posix/autocrlf_input,text_auto,eol_crlf => posix_to_odb/autocrlf_true,safecrlf_warn,-crlf}/all-crlf-utf8bom (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/all-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/all-lf-utf8bom rename tests/resources/crlf_data/{windows/autocrlf_input,-text => posix_to_odb/autocrlf_true,safecrlf_warn,-crlf}/binary-all-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/binary-all-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/binary-mixed-lf-cr-crlf rename tests/resources/crlf_data/{posix/autocrlf_input,text_auto,eol_crlf => posix_to_odb/autocrlf_true,safecrlf_warn,-crlf}/few-utf8-chars-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/few-utf8-chars-lf rename tests/resources/crlf_data/{posix/autocrlf_input,text_auto,eol_crlf => posix_to_odb/autocrlf_true,safecrlf_warn,-crlf}/many-utf8-chars-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/mixed-lf-cr create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/mixed-lf-cr-crlf rename tests/resources/crlf_data/{posix/autocrlf_true,eol_lf => posix_to_odb/autocrlf_true,safecrlf_warn,-crlf}/more-crlf (100%) rename tests/resources/crlf_data/{posix/autocrlf_true,eol_lf => posix_to_odb/autocrlf_true,safecrlf_warn,-crlf}/more-crlf-utf8bom (100%) rename tests/resources/crlf_data/{posix/autocrlf_true,eol_lf => posix_to_odb/autocrlf_true,safecrlf_warn,-crlf}/more-lf (100%) rename tests/resources/crlf_data/{posix/autocrlf_true,eol_lf => posix_to_odb/autocrlf_true,safecrlf_warn,-crlf}/more-lf-utf8bom (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/zero-byte rename tests/resources/crlf_data/{posix/autocrlf_input,text_auto,eol_lf => posix_to_odb/autocrlf_true,safecrlf_warn,-text}/all-crlf (100%) rename tests/resources/crlf_data/{posix/autocrlf_input,text_auto,eol_lf => posix_to_odb/autocrlf_true,safecrlf_warn,-text}/all-crlf-utf8bom (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/all-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/all-lf-utf8bom rename tests/resources/crlf_data/{windows/autocrlf_input,crlf => posix_to_odb/autocrlf_true,safecrlf_warn,-text}/binary-all-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/binary-all-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/binary-mixed-lf-cr-crlf rename tests/resources/crlf_data/{posix/autocrlf_input,text_auto,eol_lf => posix_to_odb/autocrlf_true,safecrlf_warn,-text}/few-utf8-chars-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/few-utf8-chars-lf rename tests/resources/crlf_data/{posix/autocrlf_input,text_auto,eol_lf => posix_to_odb/autocrlf_true,safecrlf_warn,-text}/many-utf8-chars-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/mixed-lf-cr create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/mixed-lf-cr-crlf rename tests/resources/crlf_data/{posix/autocrlf_true,text,eol_lf => posix_to_odb/autocrlf_true,safecrlf_warn,-text}/more-crlf (100%) rename tests/resources/crlf_data/{posix/autocrlf_true,text,eol_lf => posix_to_odb/autocrlf_true,safecrlf_warn,-text}/more-crlf-utf8bom (100%) rename tests/resources/crlf_data/{posix/autocrlf_true,text,eol_lf => posix_to_odb/autocrlf_true,safecrlf_warn,-text}/more-lf (100%) rename tests/resources/crlf_data/{posix/autocrlf_true,text,eol_lf => posix_to_odb/autocrlf_true,safecrlf_warn,-text}/more-lf-utf8bom (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/zero-byte create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/all-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/all-crlf-utf8bom create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/all-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/all-lf-utf8bom create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/binary-all-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/binary-all-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/binary-mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/few-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/few-utf8-chars-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/many-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/mixed-lf-cr create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/more-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/more-crlf-utf8bom create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/more-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/more-lf-utf8bom create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/zero-byte create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/all-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/all-crlf-utf8bom create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/all-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/all-lf-utf8bom create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/binary-all-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/binary-all-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/binary-mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/few-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/few-utf8-chars-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/many-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/mixed-lf-cr create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/more-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/more-crlf-utf8bom create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/more-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/more-lf-utf8bom create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/zero-byte create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/all-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/all-crlf-utf8bom create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/all-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/all-lf-utf8bom create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/binary-all-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/binary-all-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/binary-mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/few-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/few-utf8-chars-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/many-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/mixed-lf-cr create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/more-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/more-crlf-utf8bom create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/more-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/more-lf-utf8bom create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/zero-byte create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/all-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/all-crlf-utf8bom create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/all-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/all-lf-utf8bom create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/binary-all-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/binary-all-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/binary-mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/few-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/few-utf8-chars-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/many-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/mixed-lf-cr create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/more-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/more-crlf-utf8bom create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/more-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/more-lf-utf8bom create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/zero-byte create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/all-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/all-crlf-utf8bom create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/all-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/all-lf-utf8bom create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/binary-all-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/binary-all-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/binary-mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/few-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/few-utf8-chars-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/many-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/mixed-lf-cr create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/more-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/more-crlf-utf8bom create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/more-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/more-lf-utf8bom create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/zero-byte create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/all-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/all-crlf-utf8bom create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/all-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/all-lf-utf8bom create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/binary-all-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/binary-all-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/binary-mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/few-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/few-utf8-chars-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/many-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/mixed-lf-cr create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/more-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/more-crlf-utf8bom create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/more-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/more-lf-utf8bom create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/zero-byte create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/HEAD create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/all-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/all-crlf-utf8bom create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/all-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/all-lf-utf8bom rename tests/resources/crlf_data/{windows/autocrlf_input,eol_crlf => posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf}/binary-all-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/binary-all-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/binary-mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/branches create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/few-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/few-utf8-chars-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/many-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/mixed-lf-cr create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/more-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/more-crlf-utf8bom create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/more-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/more-lf-utf8bom create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/zero-byte create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/all-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/all-crlf-utf8bom create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/all-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/all-lf-utf8bom rename tests/resources/crlf_data/{windows/autocrlf_input,eol_lf => posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf}/binary-all-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/binary-all-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/binary-mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/few-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/few-utf8-chars-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/many-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/mixed-lf-cr create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/more-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/more-crlf-utf8bom create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/more-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/more-lf-utf8bom create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/zero-byte create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/all-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/all-crlf-utf8bom create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/all-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/all-lf-utf8bom rename tests/resources/crlf_data/{windows/autocrlf_input,text,eol_crlf => posix_to_odb/autocrlf_true,safecrlf_warn,text_auto}/binary-all-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/binary-all-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/binary-mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/few-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/few-utf8-chars-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/many-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/mixed-lf-cr create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/more-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/more-crlf-utf8bom create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/more-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/more-lf-utf8bom create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/zero-byte create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/all-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/all-crlf-utf8bom create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/all-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/all-lf-utf8bom rename tests/resources/crlf_data/{windows/autocrlf_input,text,eol_lf => posix_to_odb/autocrlf_true,safecrlf_warn}/binary-all-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/binary-all-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/binary-mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/few-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/few-utf8-chars-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/many-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/mixed-lf-cr create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/more-crlf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/more-crlf-utf8bom create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/more-lf create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/more-lf-utf8bom create mode 100644 tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/zero-byte rename tests/resources/crlf_data/{posix/autocrlf_input,text_auto => posix_to_workdir/autocrlf_false,-crlf}/all-crlf (100%) rename tests/resources/crlf_data/{posix/autocrlf_input,text_auto => posix_to_workdir/autocrlf_false,-crlf}/all-crlf-utf8bom (100%) create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-crlf/all-lf create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-crlf/all-lf-utf8bom rename tests/resources/crlf_data/{windows/autocrlf_input,text => posix_to_workdir/autocrlf_false,-crlf}/binary-all-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-crlf/binary-all-lf create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-crlf/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-crlf/binary-mixed-lf-cr-crlf rename tests/resources/crlf_data/{posix/autocrlf_input,text_auto => posix_to_workdir/autocrlf_false,-crlf}/few-utf8-chars-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-crlf/few-utf8-chars-lf rename tests/resources/crlf_data/{posix/autocrlf_input,text_auto => posix_to_workdir/autocrlf_false,-crlf}/many-utf8-chars-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-crlf/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-crlf/mixed-lf-cr create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-crlf/mixed-lf-cr-crlf rename tests/resources/crlf_data/{posix/autocrlf_true,text_auto,eol_lf => posix_to_workdir/autocrlf_false,-crlf}/more-crlf (100%) rename tests/resources/crlf_data/{posix/autocrlf_true,text_auto,eol_lf => posix_to_workdir/autocrlf_false,-crlf}/more-crlf-utf8bom (100%) rename tests/resources/crlf_data/{posix/autocrlf_true,text_auto,eol_lf => posix_to_workdir/autocrlf_false,-crlf}/more-lf (100%) rename tests/resources/crlf_data/{posix/autocrlf_true,text_auto,eol_lf => posix_to_workdir/autocrlf_false,-crlf}/more-lf-utf8bom (100%) create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-crlf/zero-byte rename tests/resources/crlf_data/{posix/autocrlf_input => posix_to_workdir/autocrlf_false,-text}/all-crlf (100%) rename tests/resources/crlf_data/{posix/autocrlf_input => posix_to_workdir/autocrlf_false,-text}/all-crlf-utf8bom (100%) create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-text/all-lf create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-text/all-lf-utf8bom rename tests/resources/crlf_data/{windows/autocrlf_input,text_auto,eol_crlf => posix_to_workdir/autocrlf_false,-text}/binary-all-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-text/binary-all-lf create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-text/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-text/binary-mixed-lf-cr-crlf rename tests/resources/crlf_data/{posix/autocrlf_input => posix_to_workdir/autocrlf_false,-text}/few-utf8-chars-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-text/few-utf8-chars-lf rename tests/resources/crlf_data/{posix/autocrlf_input => posix_to_workdir/autocrlf_false,-text}/many-utf8-chars-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-text/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-text/mixed-lf-cr create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-text/mixed-lf-cr-crlf rename tests/resources/crlf_data/{posix/autocrlf_true => posix_to_workdir/autocrlf_false,-text}/more-crlf (100%) rename tests/resources/crlf_data/{posix/autocrlf_true => posix_to_workdir/autocrlf_false,-text}/more-crlf-utf8bom (100%) rename tests/resources/crlf_data/{posix/autocrlf_true => posix_to_workdir/autocrlf_false,-text}/more-lf (100%) rename tests/resources/crlf_data/{posix/autocrlf_true => posix_to_workdir/autocrlf_false,-text}/more-lf-utf8bom (100%) create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-text/zero-byte rename tests/resources/crlf_data/{posix/autocrlf_true,-crlf => posix_to_workdir/autocrlf_false,crlf}/all-crlf (100%) rename tests/resources/crlf_data/{posix/autocrlf_true,-crlf => posix_to_workdir/autocrlf_false,crlf}/all-crlf-utf8bom (100%) create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_false,crlf/all-lf create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_false,crlf/all-lf-utf8bom rename tests/resources/crlf_data/{windows/autocrlf_input,text_auto,eol_lf => posix_to_workdir/autocrlf_false,crlf}/binary-all-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_false,crlf/binary-all-lf create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_false,crlf/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_false,crlf/binary-mixed-lf-cr-crlf rename tests/resources/crlf_data/{posix/autocrlf_true,-crlf => posix_to_workdir/autocrlf_false,crlf}/few-utf8-chars-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_false,crlf/few-utf8-chars-lf rename tests/resources/crlf_data/{posix/autocrlf_true,-crlf => posix_to_workdir/autocrlf_false,crlf}/many-utf8-chars-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_false,crlf/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_false,crlf/mixed-lf-cr create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_false,crlf/mixed-lf-cr-crlf rename tests/resources/crlf_data/{windows/autocrlf_false,-crlf => posix_to_workdir/autocrlf_false,crlf}/more-crlf (100%) rename tests/resources/crlf_data/{windows/autocrlf_false,-crlf => posix_to_workdir/autocrlf_false,crlf}/more-crlf-utf8bom (100%) rename tests/resources/crlf_data/{windows/autocrlf_false,-crlf => posix_to_workdir/autocrlf_false,crlf}/more-lf (100%) rename tests/resources/crlf_data/{windows/autocrlf_false,-crlf => posix_to_workdir/autocrlf_false,crlf}/more-lf-utf8bom (100%) create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_false,crlf/zero-byte rename tests/resources/crlf_data/{posix/autocrlf_true,-text => posix_to_workdir/autocrlf_false,eol_crlf}/all-crlf (100%) rename tests/resources/crlf_data/{posix/autocrlf_true,-text => posix_to_workdir/autocrlf_false,eol_crlf}/all-crlf-utf8bom (100%) rename tests/resources/crlf_data/{posix => posix_to_workdir}/autocrlf_false,eol_crlf/all-lf (100%) rename tests/resources/crlf_data/{posix => posix_to_workdir}/autocrlf_false,eol_crlf/all-lf-utf8bom (100%) rename tests/resources/crlf_data/{windows/autocrlf_input,text_auto => posix_to_workdir/autocrlf_false,eol_crlf}/binary-all-crlf (100%) rename tests/resources/crlf_data/{posix => posix_to_workdir}/autocrlf_false,eol_crlf/binary-all-lf (100%) rename tests/resources/crlf_data/{posix => posix_to_workdir}/autocrlf_false,eol_crlf/binary-mixed-lf-cr (100%) rename tests/resources/crlf_data/{posix => posix_to_workdir}/autocrlf_false,eol_crlf/binary-mixed-lf-cr-crlf (100%) rename tests/resources/crlf_data/{posix/autocrlf_true,-text => posix_to_workdir/autocrlf_false,eol_crlf}/few-utf8-chars-crlf (100%) rename tests/resources/crlf_data/{posix => posix_to_workdir}/autocrlf_false,eol_crlf/few-utf8-chars-lf (100%) rename tests/resources/crlf_data/{posix/autocrlf_true,-text => posix_to_workdir/autocrlf_false,eol_crlf}/many-utf8-chars-crlf (100%) rename tests/resources/crlf_data/{posix => posix_to_workdir}/autocrlf_false,eol_crlf/many-utf8-chars-lf (100%) rename tests/resources/crlf_data/{posix => posix_to_workdir}/autocrlf_false,eol_crlf/mixed-lf-cr (100%) rename tests/resources/crlf_data/{posix => posix_to_workdir}/autocrlf_false,eol_crlf/mixed-lf-cr-crlf (100%) rename tests/resources/crlf_data/{posix => posix_to_workdir}/autocrlf_false,eol_crlf/more-crlf (100%) rename tests/resources/crlf_data/{posix => posix_to_workdir}/autocrlf_false,eol_crlf/more-crlf-utf8bom (100%) rename tests/resources/crlf_data/{posix => posix_to_workdir}/autocrlf_false,eol_crlf/more-lf (100%) rename tests/resources/crlf_data/{posix => posix_to_workdir}/autocrlf_false,eol_crlf/more-lf-utf8bom (100%) create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_crlf/zero-byte rename tests/resources/crlf_data/{posix/autocrlf_true,crlf => posix_to_workdir/autocrlf_false,eol_lf}/all-crlf (100%) rename tests/resources/crlf_data/{posix/autocrlf_true,crlf => posix_to_workdir/autocrlf_false,eol_lf}/all-crlf-utf8bom (100%) create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_lf/all-lf create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_lf/all-lf-utf8bom rename tests/resources/crlf_data/{windows/autocrlf_input => posix_to_workdir/autocrlf_false,eol_lf}/binary-all-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_lf/binary-all-lf create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_lf/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_lf/binary-mixed-lf-cr-crlf rename tests/resources/crlf_data/{posix/autocrlf_true,crlf => posix_to_workdir/autocrlf_false,eol_lf}/few-utf8-chars-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_lf/few-utf8-chars-lf rename tests/resources/crlf_data/{posix/autocrlf_true,crlf => posix_to_workdir/autocrlf_false,eol_lf}/many-utf8-chars-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_lf/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_lf/mixed-lf-cr create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_lf/mixed-lf-cr-crlf rename tests/resources/crlf_data/{windows/autocrlf_false,-text => posix_to_workdir/autocrlf_false,eol_lf}/more-crlf (100%) rename tests/resources/crlf_data/{windows/autocrlf_false,-text => posix_to_workdir/autocrlf_false,eol_lf}/more-crlf-utf8bom (100%) rename tests/resources/crlf_data/{windows/autocrlf_false,-text => posix_to_workdir/autocrlf_false,eol_lf}/more-lf (100%) rename tests/resources/crlf_data/{windows/autocrlf_false,-text => posix_to_workdir/autocrlf_false,eol_lf}/more-lf-utf8bom (100%) create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_lf/zero-byte rename tests/resources/crlf_data/{posix/autocrlf_true,eol_crlf => posix_to_workdir/autocrlf_false,text,eol_crlf}/all-crlf (100%) rename tests/resources/crlf_data/{posix/autocrlf_true,eol_crlf => posix_to_workdir/autocrlf_false,text,eol_crlf}/all-crlf-utf8bom (100%) rename tests/resources/crlf_data/{posix => posix_to_workdir}/autocrlf_false,text,eol_crlf/all-lf (100%) rename tests/resources/crlf_data/{posix => posix_to_workdir}/autocrlf_false,text,eol_crlf/all-lf-utf8bom (100%) rename tests/resources/crlf_data/{windows/autocrlf_true,-crlf => posix_to_workdir/autocrlf_false,text,eol_crlf}/binary-all-crlf (100%) rename tests/resources/crlf_data/{posix => posix_to_workdir}/autocrlf_false,text,eol_crlf/binary-all-lf (100%) rename tests/resources/crlf_data/{posix => posix_to_workdir}/autocrlf_false,text,eol_crlf/binary-mixed-lf-cr (100%) rename tests/resources/crlf_data/{posix => posix_to_workdir}/autocrlf_false,text,eol_crlf/binary-mixed-lf-cr-crlf (100%) rename tests/resources/crlf_data/{posix/autocrlf_true,eol_crlf => posix_to_workdir/autocrlf_false,text,eol_crlf}/few-utf8-chars-crlf (100%) rename tests/resources/crlf_data/{posix => posix_to_workdir}/autocrlf_false,text,eol_crlf/few-utf8-chars-lf (100%) rename tests/resources/crlf_data/{posix/autocrlf_true,eol_crlf => posix_to_workdir/autocrlf_false,text,eol_crlf}/many-utf8-chars-crlf (100%) rename tests/resources/crlf_data/{posix => posix_to_workdir}/autocrlf_false,text,eol_crlf/many-utf8-chars-lf (100%) rename tests/resources/crlf_data/{posix => posix_to_workdir}/autocrlf_false,text,eol_crlf/mixed-lf-cr (100%) rename tests/resources/crlf_data/{posix => posix_to_workdir}/autocrlf_false,text,eol_crlf/mixed-lf-cr-crlf (100%) rename tests/resources/crlf_data/{posix => posix_to_workdir}/autocrlf_false,text,eol_crlf/more-crlf (100%) rename tests/resources/crlf_data/{posix => posix_to_workdir}/autocrlf_false,text,eol_crlf/more-crlf-utf8bom (100%) rename tests/resources/crlf_data/{posix => posix_to_workdir}/autocrlf_false,text,eol_crlf/more-lf (100%) rename tests/resources/crlf_data/{posix => posix_to_workdir}/autocrlf_false,text,eol_crlf/more-lf-utf8bom (100%) create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_crlf/zero-byte rename tests/resources/crlf_data/{posix/autocrlf_true,eol_lf => posix_to_workdir/autocrlf_false,text,eol_lf}/all-crlf (100%) rename tests/resources/crlf_data/{posix/autocrlf_true,eol_lf => posix_to_workdir/autocrlf_false,text,eol_lf}/all-crlf-utf8bom (100%) create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_lf/all-lf create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_lf/all-lf-utf8bom rename tests/resources/crlf_data/{windows/autocrlf_true,-text => posix_to_workdir/autocrlf_false,text,eol_lf}/binary-all-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_lf/binary-all-lf create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_lf/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_lf/binary-mixed-lf-cr-crlf rename tests/resources/crlf_data/{posix/autocrlf_true,eol_lf => posix_to_workdir/autocrlf_false,text,eol_lf}/few-utf8-chars-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_lf/few-utf8-chars-lf rename tests/resources/crlf_data/{posix/autocrlf_true,eol_lf => posix_to_workdir/autocrlf_false,text,eol_lf}/many-utf8-chars-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_lf/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_lf/mixed-lf-cr create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_lf/mixed-lf-cr-crlf rename tests/resources/crlf_data/{windows/autocrlf_false,eol_lf => posix_to_workdir/autocrlf_false,text,eol_lf}/more-crlf (100%) rename tests/resources/crlf_data/{windows/autocrlf_false,eol_lf => posix_to_workdir/autocrlf_false,text,eol_lf}/more-crlf-utf8bom (100%) rename tests/resources/crlf_data/{windows/autocrlf_false,eol_lf => posix_to_workdir/autocrlf_false,text,eol_lf}/more-lf (100%) rename tests/resources/crlf_data/{windows/autocrlf_false,eol_lf => posix_to_workdir/autocrlf_false,text,eol_lf}/more-lf-utf8bom (100%) create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_lf/zero-byte rename tests/resources/crlf_data/{posix/autocrlf_true,text,eol_crlf => posix_to_workdir/autocrlf_false,text}/all-crlf (100%) rename tests/resources/crlf_data/{posix/autocrlf_true,text,eol_crlf => posix_to_workdir/autocrlf_false,text}/all-crlf-utf8bom (100%) create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text/all-lf create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text/all-lf-utf8bom rename tests/resources/crlf_data/{windows/autocrlf_true,crlf => posix_to_workdir/autocrlf_false,text}/binary-all-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text/binary-all-lf create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text/binary-mixed-lf-cr-crlf rename tests/resources/crlf_data/{posix/autocrlf_true,text,eol_crlf => posix_to_workdir/autocrlf_false,text}/few-utf8-chars-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text/few-utf8-chars-lf rename tests/resources/crlf_data/{posix/autocrlf_true,text,eol_crlf => posix_to_workdir/autocrlf_false,text}/many-utf8-chars-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text/mixed-lf-cr create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text/mixed-lf-cr-crlf rename tests/resources/crlf_data/{windows/autocrlf_false,text,eol_lf => posix_to_workdir/autocrlf_false,text}/more-crlf (100%) rename tests/resources/crlf_data/{windows/autocrlf_false,text,eol_lf => posix_to_workdir/autocrlf_false,text}/more-crlf-utf8bom (100%) rename tests/resources/crlf_data/{windows/autocrlf_false,text,eol_lf => posix_to_workdir/autocrlf_false,text}/more-lf (100%) rename tests/resources/crlf_data/{windows/autocrlf_false,text,eol_lf => posix_to_workdir/autocrlf_false,text}/more-lf-utf8bom (100%) create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text/zero-byte rename tests/resources/crlf_data/{posix/autocrlf_true,text,eol_lf => posix_to_workdir/autocrlf_false,text_auto,eol_crlf}/all-crlf (100%) rename tests/resources/crlf_data/{posix/autocrlf_true,text,eol_lf => posix_to_workdir/autocrlf_false,text_auto,eol_crlf}/all-crlf-utf8bom (100%) rename tests/resources/crlf_data/{posix => posix_to_workdir}/autocrlf_false,text_auto,eol_crlf/all-lf (100%) rename tests/resources/crlf_data/{posix => posix_to_workdir}/autocrlf_false,text_auto,eol_crlf/all-lf-utf8bom (100%) rename tests/resources/crlf_data/{windows/autocrlf_true,eol_crlf => posix_to_workdir/autocrlf_false,text_auto,eol_crlf}/binary-all-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_crlf/binary-all-lf create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr-crlf rename tests/resources/crlf_data/{posix/autocrlf_true,text,eol_lf => posix_to_workdir/autocrlf_false,text_auto,eol_crlf}/few-utf8-chars-crlf (100%) rename tests/resources/crlf_data/{posix => posix_to_workdir}/autocrlf_false,text_auto,eol_crlf/few-utf8-chars-lf (100%) rename tests/resources/crlf_data/{posix/autocrlf_true,text,eol_lf => posix_to_workdir/autocrlf_false,text_auto,eol_crlf}/many-utf8-chars-crlf (100%) rename tests/resources/crlf_data/{posix => posix_to_workdir}/autocrlf_false,text_auto,eol_crlf/many-utf8-chars-lf (100%) create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_crlf/mixed-lf-cr create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_crlf/mixed-lf-cr-crlf rename tests/resources/crlf_data/{windows/autocrlf_false,text_auto,eol_lf => posix_to_workdir/autocrlf_false,text_auto,eol_crlf}/more-crlf (100%) rename tests/resources/crlf_data/{windows/autocrlf_false,text_auto,eol_lf => posix_to_workdir/autocrlf_false,text_auto,eol_crlf}/more-crlf-utf8bom (100%) rename tests/resources/crlf_data/{windows/autocrlf_false,text_auto,eol_lf => posix_to_workdir/autocrlf_false,text_auto,eol_crlf}/more-lf (100%) rename tests/resources/crlf_data/{windows/autocrlf_false,text_auto,eol_lf => posix_to_workdir/autocrlf_false,text_auto,eol_crlf}/more-lf-utf8bom (100%) create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_crlf/zero-byte rename tests/resources/crlf_data/{posix/autocrlf_true,text => posix_to_workdir/autocrlf_false,text_auto,eol_lf}/all-crlf (100%) rename tests/resources/crlf_data/{posix/autocrlf_true,text => posix_to_workdir/autocrlf_false,text_auto,eol_lf}/all-crlf-utf8bom (100%) create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_lf/all-lf create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_lf/all-lf-utf8bom rename tests/resources/crlf_data/{windows/autocrlf_true,eol_lf => posix_to_workdir/autocrlf_false,text_auto,eol_lf}/binary-all-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_lf/binary-all-lf create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_lf/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_lf/binary-mixed-lf-cr-crlf rename tests/resources/crlf_data/{posix/autocrlf_true,text => posix_to_workdir/autocrlf_false,text_auto,eol_lf}/few-utf8-chars-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_lf/few-utf8-chars-lf rename tests/resources/crlf_data/{posix/autocrlf_true,text => posix_to_workdir/autocrlf_false,text_auto,eol_lf}/many-utf8-chars-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_lf/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_lf/mixed-lf-cr create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_lf/mixed-lf-cr-crlf rename tests/resources/crlf_data/{windows/autocrlf_false => posix_to_workdir/autocrlf_false,text_auto,eol_lf}/more-crlf (100%) rename tests/resources/crlf_data/{windows/autocrlf_false => posix_to_workdir/autocrlf_false,text_auto,eol_lf}/more-crlf-utf8bom (100%) rename tests/resources/crlf_data/{windows/autocrlf_false => posix_to_workdir/autocrlf_false,text_auto,eol_lf}/more-lf (100%) rename tests/resources/crlf_data/{windows/autocrlf_false => posix_to_workdir/autocrlf_false,text_auto,eol_lf}/more-lf-utf8bom (100%) create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_lf/zero-byte rename tests/resources/crlf_data/{posix/autocrlf_true,text_auto,eol_crlf => posix_to_workdir/autocrlf_false,text_auto}/all-crlf (100%) rename tests/resources/crlf_data/{posix/autocrlf_true,text_auto,eol_crlf => posix_to_workdir/autocrlf_false,text_auto}/all-crlf-utf8bom (100%) create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto/all-lf create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto/all-lf-utf8bom rename tests/resources/crlf_data/{windows/autocrlf_true,text,eol_crlf => posix_to_workdir/autocrlf_false,text_auto}/binary-all-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto/binary-all-lf create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto/binary-mixed-lf-cr-crlf rename tests/resources/crlf_data/{posix/autocrlf_true,text_auto,eol_crlf => posix_to_workdir/autocrlf_false,text_auto}/few-utf8-chars-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto/few-utf8-chars-lf rename tests/resources/crlf_data/{posix/autocrlf_true,text_auto,eol_crlf => posix_to_workdir/autocrlf_false,text_auto}/many-utf8-chars-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto/mixed-lf-cr create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto/mixed-lf-cr-crlf rename tests/resources/crlf_data/{windows/autocrlf_input,-crlf => posix_to_workdir/autocrlf_false,text_auto}/more-crlf (100%) rename tests/resources/crlf_data/{windows/autocrlf_input,-crlf => posix_to_workdir/autocrlf_false,text_auto}/more-crlf-utf8bom (100%) rename tests/resources/crlf_data/{windows/autocrlf_input,-crlf => posix_to_workdir/autocrlf_false,text_auto}/more-lf (100%) rename tests/resources/crlf_data/{windows/autocrlf_input,-crlf => posix_to_workdir/autocrlf_false,text_auto}/more-lf-utf8bom (100%) create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto/zero-byte rename tests/resources/crlf_data/{posix/autocrlf_true,text_auto,eol_lf => posix_to_workdir/autocrlf_false}/all-crlf (100%) rename tests/resources/crlf_data/{posix/autocrlf_true,text_auto,eol_lf => posix_to_workdir/autocrlf_false}/all-crlf-utf8bom (100%) create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_false/all-lf create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_false/all-lf-utf8bom rename tests/resources/crlf_data/{windows/autocrlf_true,text,eol_lf => posix_to_workdir/autocrlf_false}/binary-all-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_false/binary-all-lf create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_false/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_false/binary-mixed-lf-cr-crlf rename tests/resources/crlf_data/{posix/autocrlf_true,text_auto,eol_lf => posix_to_workdir/autocrlf_false}/few-utf8-chars-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_false/few-utf8-chars-lf rename tests/resources/crlf_data/{posix/autocrlf_true,text_auto,eol_lf => posix_to_workdir/autocrlf_false}/many-utf8-chars-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_false/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_false/mixed-lf-cr create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_false/mixed-lf-cr-crlf rename tests/resources/crlf_data/{windows/autocrlf_input,-text => posix_to_workdir/autocrlf_false}/more-crlf (100%) rename tests/resources/crlf_data/{windows/autocrlf_input,-text => posix_to_workdir/autocrlf_false}/more-crlf-utf8bom (100%) rename tests/resources/crlf_data/{windows/autocrlf_input,-text => posix_to_workdir/autocrlf_false}/more-lf (100%) rename tests/resources/crlf_data/{windows/autocrlf_input,-text => posix_to_workdir/autocrlf_false}/more-lf-utf8bom (100%) create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_false/zero-byte rename tests/resources/crlf_data/{posix/autocrlf_true,text_auto => posix_to_workdir/autocrlf_input,-crlf}/all-crlf (100%) rename tests/resources/crlf_data/{posix/autocrlf_true,text_auto => posix_to_workdir/autocrlf_input,-crlf}/all-crlf-utf8bom (100%) create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-crlf/all-lf create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-crlf/all-lf-utf8bom rename tests/resources/crlf_data/{windows/autocrlf_true,text => posix_to_workdir/autocrlf_input,-crlf}/binary-all-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-crlf/binary-all-lf create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-crlf/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-crlf/binary-mixed-lf-cr-crlf rename tests/resources/crlf_data/{posix/autocrlf_true,text_auto => posix_to_workdir/autocrlf_input,-crlf}/few-utf8-chars-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-crlf/few-utf8-chars-lf rename tests/resources/crlf_data/{posix/autocrlf_true,text_auto => posix_to_workdir/autocrlf_input,-crlf}/many-utf8-chars-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-crlf/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-crlf/mixed-lf-cr create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-crlf/mixed-lf-cr-crlf rename tests/resources/crlf_data/{windows/autocrlf_input,crlf => posix_to_workdir/autocrlf_input,-crlf}/more-crlf (100%) rename tests/resources/crlf_data/{windows/autocrlf_input,crlf => posix_to_workdir/autocrlf_input,-crlf}/more-crlf-utf8bom (100%) rename tests/resources/crlf_data/{windows/autocrlf_input,crlf => posix_to_workdir/autocrlf_input,-crlf}/more-lf (100%) rename tests/resources/crlf_data/{windows/autocrlf_input,crlf => posix_to_workdir/autocrlf_input,-crlf}/more-lf-utf8bom (100%) create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-crlf/zero-byte rename tests/resources/crlf_data/{posix/autocrlf_true => posix_to_workdir/autocrlf_input,-text}/all-crlf (100%) rename tests/resources/crlf_data/{posix/autocrlf_true => posix_to_workdir/autocrlf_input,-text}/all-crlf-utf8bom (100%) create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-text/all-lf create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-text/all-lf-utf8bom rename tests/resources/crlf_data/{windows/autocrlf_true,text_auto,eol_crlf => posix_to_workdir/autocrlf_input,-text}/binary-all-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-text/binary-all-lf create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-text/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-text/binary-mixed-lf-cr-crlf rename tests/resources/crlf_data/{posix/autocrlf_true => posix_to_workdir/autocrlf_input,-text}/few-utf8-chars-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-text/few-utf8-chars-lf rename tests/resources/crlf_data/{posix/autocrlf_true => posix_to_workdir/autocrlf_input,-text}/many-utf8-chars-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-text/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-text/mixed-lf-cr create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-text/mixed-lf-cr-crlf rename tests/resources/crlf_data/{windows/autocrlf_input,eol_lf => posix_to_workdir/autocrlf_input,-text}/more-crlf (100%) rename tests/resources/crlf_data/{windows/autocrlf_input,eol_lf => posix_to_workdir/autocrlf_input,-text}/more-crlf-utf8bom (100%) rename tests/resources/crlf_data/{windows/autocrlf_input,eol_lf => posix_to_workdir/autocrlf_input,-text}/more-lf (100%) rename tests/resources/crlf_data/{windows/autocrlf_input,eol_lf => posix_to_workdir/autocrlf_input,-text}/more-lf-utf8bom (100%) create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-text/zero-byte rename tests/resources/crlf_data/{windows/autocrlf_false,-crlf => posix_to_workdir/autocrlf_input,crlf}/all-crlf (100%) rename tests/resources/crlf_data/{windows/autocrlf_false,-crlf => posix_to_workdir/autocrlf_input,crlf}/all-crlf-utf8bom (100%) create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_input,crlf/all-lf create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_input,crlf/all-lf-utf8bom rename tests/resources/crlf_data/{windows/autocrlf_true,text_auto,eol_lf => posix_to_workdir/autocrlf_input,crlf}/binary-all-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_input,crlf/binary-all-lf create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_input,crlf/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_input,crlf/binary-mixed-lf-cr-crlf rename tests/resources/crlf_data/{windows/autocrlf_false,-crlf => posix_to_workdir/autocrlf_input,crlf}/few-utf8-chars-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_input,crlf/few-utf8-chars-lf rename tests/resources/crlf_data/{windows/autocrlf_false,-crlf => posix_to_workdir/autocrlf_input,crlf}/many-utf8-chars-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_input,crlf/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_input,crlf/mixed-lf-cr create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_input,crlf/mixed-lf-cr-crlf rename tests/resources/crlf_data/{windows/autocrlf_input,text,eol_lf => posix_to_workdir/autocrlf_input,crlf}/more-crlf (100%) rename tests/resources/crlf_data/{windows/autocrlf_input,text,eol_lf => posix_to_workdir/autocrlf_input,crlf}/more-crlf-utf8bom (100%) rename tests/resources/crlf_data/{windows/autocrlf_input,text,eol_lf => posix_to_workdir/autocrlf_input,crlf}/more-lf (100%) rename tests/resources/crlf_data/{windows/autocrlf_input,text,eol_lf => posix_to_workdir/autocrlf_input,crlf}/more-lf-utf8bom (100%) create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_input,crlf/zero-byte rename tests/resources/crlf_data/{windows/autocrlf_false,-text => posix_to_workdir/autocrlf_input,eol_crlf}/all-crlf (100%) rename tests/resources/crlf_data/{windows/autocrlf_false,-text => posix_to_workdir/autocrlf_input,eol_crlf}/all-crlf-utf8bom (100%) rename tests/resources/crlf_data/{posix => posix_to_workdir}/autocrlf_input,eol_crlf/all-lf (100%) rename tests/resources/crlf_data/{posix => posix_to_workdir}/autocrlf_input,eol_crlf/all-lf-utf8bom (100%) rename tests/resources/crlf_data/{windows/autocrlf_true,text_auto => posix_to_workdir/autocrlf_input,eol_crlf}/binary-all-crlf (100%) rename tests/resources/crlf_data/{posix/autocrlf_false,text_auto,eol_crlf => posix_to_workdir/autocrlf_input,eol_crlf}/binary-all-lf (100%) rename tests/resources/crlf_data/{posix/autocrlf_false,text_auto,eol_crlf => posix_to_workdir/autocrlf_input,eol_crlf}/binary-mixed-lf-cr (100%) rename tests/resources/crlf_data/{posix/autocrlf_false,text_auto,eol_crlf => posix_to_workdir/autocrlf_input,eol_crlf}/binary-mixed-lf-cr-crlf (100%) rename tests/resources/crlf_data/{windows/autocrlf_false,-text => posix_to_workdir/autocrlf_input,eol_crlf}/few-utf8-chars-crlf (100%) rename tests/resources/crlf_data/{posix => posix_to_workdir}/autocrlf_input,eol_crlf/few-utf8-chars-lf (100%) rename tests/resources/crlf_data/{windows/autocrlf_false,-text => posix_to_workdir/autocrlf_input,eol_crlf}/many-utf8-chars-crlf (100%) rename tests/resources/crlf_data/{posix => posix_to_workdir}/autocrlf_input,eol_crlf/many-utf8-chars-lf (100%) rename tests/resources/crlf_data/{posix/autocrlf_false,text_auto,eol_crlf => posix_to_workdir/autocrlf_input,eol_crlf}/mixed-lf-cr (100%) rename tests/resources/crlf_data/{posix/autocrlf_false,text_auto,eol_crlf => posix_to_workdir/autocrlf_input,eol_crlf}/mixed-lf-cr-crlf (100%) rename tests/resources/crlf_data/{posix/autocrlf_false,text_auto,eol_crlf => posix_to_workdir/autocrlf_input,eol_crlf}/more-crlf (100%) rename tests/resources/crlf_data/{posix/autocrlf_false,text_auto,eol_crlf => posix_to_workdir/autocrlf_input,eol_crlf}/more-crlf-utf8bom (100%) rename tests/resources/crlf_data/{posix/autocrlf_false,text_auto,eol_crlf => posix_to_workdir/autocrlf_input,eol_crlf}/more-lf (100%) rename tests/resources/crlf_data/{posix/autocrlf_false,text_auto,eol_crlf => posix_to_workdir/autocrlf_input,eol_crlf}/more-lf-utf8bom (100%) create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_crlf/zero-byte rename tests/resources/crlf_data/{windows/autocrlf_false,crlf => posix_to_workdir/autocrlf_input,eol_lf}/all-crlf (100%) rename tests/resources/crlf_data/{windows/autocrlf_false,crlf => posix_to_workdir/autocrlf_input,eol_lf}/all-crlf-utf8bom (100%) create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_lf/all-lf create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_lf/all-lf-utf8bom rename tests/resources/crlf_data/{windows/autocrlf_true => posix_to_workdir/autocrlf_input,eol_lf}/binary-all-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_lf/binary-all-lf create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_lf/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_lf/binary-mixed-lf-cr-crlf rename tests/resources/crlf_data/{windows/autocrlf_false,crlf => posix_to_workdir/autocrlf_input,eol_lf}/few-utf8-chars-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_lf/few-utf8-chars-lf rename tests/resources/crlf_data/{windows/autocrlf_false,crlf => posix_to_workdir/autocrlf_input,eol_lf}/many-utf8-chars-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_lf/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_lf/mixed-lf-cr create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_lf/mixed-lf-cr-crlf rename tests/resources/crlf_data/{windows/autocrlf_input,text => posix_to_workdir/autocrlf_input,eol_lf}/more-crlf (100%) rename tests/resources/crlf_data/{windows/autocrlf_input,text => posix_to_workdir/autocrlf_input,eol_lf}/more-crlf-utf8bom (100%) rename tests/resources/crlf_data/{windows/autocrlf_input,text => posix_to_workdir/autocrlf_input,eol_lf}/more-lf (100%) rename tests/resources/crlf_data/{windows/autocrlf_input,text => posix_to_workdir/autocrlf_input,eol_lf}/more-lf-utf8bom (100%) create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_lf/zero-byte rename tests/resources/crlf_data/{windows/autocrlf_false,eol_crlf => posix_to_workdir/autocrlf_input,text,eol_crlf}/all-crlf (100%) rename tests/resources/crlf_data/{windows/autocrlf_false,eol_crlf => posix_to_workdir/autocrlf_input,text,eol_crlf}/all-crlf-utf8bom (100%) rename tests/resources/crlf_data/{posix => posix_to_workdir}/autocrlf_input,text,eol_crlf/all-lf (100%) rename tests/resources/crlf_data/{posix => posix_to_workdir}/autocrlf_input,text,eol_crlf/all-lf-utf8bom (100%) rename tests/resources/crlf_data/{posix/autocrlf_input,eol_crlf/binary-all-lf => posix_to_workdir/autocrlf_input,text,eol_crlf/binary-all-crlf} (100%) rename tests/resources/crlf_data/{posix => posix_to_workdir}/autocrlf_input,text,eol_crlf/binary-all-lf (100%) rename tests/resources/crlf_data/{posix/autocrlf_input,eol_crlf => posix_to_workdir/autocrlf_input,text,eol_crlf}/binary-mixed-lf-cr (100%) rename tests/resources/crlf_data/{posix/autocrlf_input,eol_crlf => posix_to_workdir/autocrlf_input,text,eol_crlf}/binary-mixed-lf-cr-crlf (100%) rename tests/resources/crlf_data/{windows/autocrlf_false,eol_crlf => posix_to_workdir/autocrlf_input,text,eol_crlf}/few-utf8-chars-crlf (100%) rename tests/resources/crlf_data/{posix => posix_to_workdir}/autocrlf_input,text,eol_crlf/few-utf8-chars-lf (100%) rename tests/resources/crlf_data/{windows/autocrlf_false,eol_crlf => posix_to_workdir/autocrlf_input,text,eol_crlf}/many-utf8-chars-crlf (100%) rename tests/resources/crlf_data/{posix => posix_to_workdir}/autocrlf_input,text,eol_crlf/many-utf8-chars-lf (100%) rename tests/resources/crlf_data/{posix/autocrlf_input,eol_crlf => posix_to_workdir/autocrlf_input,text,eol_crlf}/mixed-lf-cr (100%) rename tests/resources/crlf_data/{posix/autocrlf_input,eol_crlf => posix_to_workdir/autocrlf_input,text,eol_crlf}/mixed-lf-cr-crlf (100%) rename tests/resources/crlf_data/{posix/autocrlf_input,eol_crlf => posix_to_workdir/autocrlf_input,text,eol_crlf}/more-crlf (100%) rename tests/resources/crlf_data/{posix/autocrlf_input,eol_crlf => posix_to_workdir/autocrlf_input,text,eol_crlf}/more-crlf-utf8bom (100%) rename tests/resources/crlf_data/{posix/autocrlf_input,eol_crlf => posix_to_workdir/autocrlf_input,text,eol_crlf}/more-lf (100%) rename tests/resources/crlf_data/{posix/autocrlf_input,eol_crlf => posix_to_workdir/autocrlf_input,text,eol_crlf}/more-lf-utf8bom (100%) create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_crlf/zero-byte rename tests/resources/crlf_data/{windows/autocrlf_false,eol_lf => posix_to_workdir/autocrlf_input,text,eol_lf}/all-crlf (100%) rename tests/resources/crlf_data/{windows/autocrlf_false,eol_lf => posix_to_workdir/autocrlf_input,text,eol_lf}/all-crlf-utf8bom (100%) create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_lf/all-lf create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_lf/all-lf-utf8bom rename tests/resources/crlf_data/{posix/autocrlf_input,text_auto,eol_crlf/binary-all-lf => posix_to_workdir/autocrlf_input,text,eol_lf/binary-all-crlf} (100%) create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_lf/binary-all-lf create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_lf/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_lf/binary-mixed-lf-cr-crlf rename tests/resources/crlf_data/{windows/autocrlf_false,eol_lf => posix_to_workdir/autocrlf_input,text,eol_lf}/few-utf8-chars-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_lf/few-utf8-chars-lf rename tests/resources/crlf_data/{windows/autocrlf_false,eol_lf => posix_to_workdir/autocrlf_input,text,eol_lf}/many-utf8-chars-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_lf/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_lf/mixed-lf-cr create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_lf/mixed-lf-cr-crlf rename tests/resources/crlf_data/{windows/autocrlf_input,text_auto,eol_lf => posix_to_workdir/autocrlf_input,text,eol_lf}/more-crlf (100%) rename tests/resources/crlf_data/{windows/autocrlf_input,text_auto,eol_lf => posix_to_workdir/autocrlf_input,text,eol_lf}/more-crlf-utf8bom (100%) rename tests/resources/crlf_data/{windows/autocrlf_input,text_auto,eol_lf => posix_to_workdir/autocrlf_input,text,eol_lf}/more-lf (100%) rename tests/resources/crlf_data/{windows/autocrlf_input,text_auto,eol_lf => posix_to_workdir/autocrlf_input,text,eol_lf}/more-lf-utf8bom (100%) create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_lf/zero-byte rename tests/resources/crlf_data/{windows/autocrlf_false,text,eol_crlf => posix_to_workdir/autocrlf_input,text}/all-crlf (100%) rename tests/resources/crlf_data/{windows/autocrlf_false,text,eol_crlf => posix_to_workdir/autocrlf_input,text}/all-crlf-utf8bom (100%) create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text/all-lf create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text/all-lf-utf8bom rename tests/resources/crlf_data/{posix/autocrlf_true,crlf/binary-all-lf => posix_to_workdir/autocrlf_input,text/binary-all-crlf} (100%) create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text/binary-all-lf create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text/binary-mixed-lf-cr-crlf rename tests/resources/crlf_data/{windows/autocrlf_false,text,eol_crlf => posix_to_workdir/autocrlf_input,text}/few-utf8-chars-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text/few-utf8-chars-lf rename tests/resources/crlf_data/{windows/autocrlf_false,text,eol_crlf => posix_to_workdir/autocrlf_input,text}/many-utf8-chars-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text/mixed-lf-cr create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text/mixed-lf-cr-crlf rename tests/resources/crlf_data/{windows/autocrlf_input,text_auto => posix_to_workdir/autocrlf_input,text}/more-crlf (100%) rename tests/resources/crlf_data/{windows/autocrlf_input,text_auto => posix_to_workdir/autocrlf_input,text}/more-crlf-utf8bom (100%) rename tests/resources/crlf_data/{windows/autocrlf_input,text_auto => posix_to_workdir/autocrlf_input,text}/more-lf (100%) rename tests/resources/crlf_data/{windows/autocrlf_input,text_auto => posix_to_workdir/autocrlf_input,text}/more-lf-utf8bom (100%) create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text/zero-byte rename tests/resources/crlf_data/{windows/autocrlf_false,text,eol_lf => posix_to_workdir/autocrlf_input,text_auto,eol_crlf}/all-crlf (100%) rename tests/resources/crlf_data/{windows/autocrlf_false,text,eol_lf => posix_to_workdir/autocrlf_input,text_auto,eol_crlf}/all-crlf-utf8bom (100%) rename tests/resources/crlf_data/{posix => posix_to_workdir}/autocrlf_input,text_auto,eol_crlf/all-lf (100%) rename tests/resources/crlf_data/{posix => posix_to_workdir}/autocrlf_input,text_auto,eol_crlf/all-lf-utf8bom (100%) rename tests/resources/crlf_data/{posix/autocrlf_true,eol_crlf/binary-all-lf => posix_to_workdir/autocrlf_input,text_auto,eol_crlf/binary-all-crlf} (100%) create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_crlf/binary-all-lf create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_crlf/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_crlf/binary-mixed-lf-cr-crlf rename tests/resources/crlf_data/{windows/autocrlf_false,text,eol_lf => posix_to_workdir/autocrlf_input,text_auto,eol_crlf}/few-utf8-chars-crlf (100%) rename tests/resources/crlf_data/{posix => posix_to_workdir}/autocrlf_input,text_auto,eol_crlf/few-utf8-chars-lf (100%) rename tests/resources/crlf_data/{windows/autocrlf_false,text,eol_lf => posix_to_workdir/autocrlf_input,text_auto,eol_crlf}/many-utf8-chars-crlf (100%) rename tests/resources/crlf_data/{posix => posix_to_workdir}/autocrlf_input,text_auto,eol_crlf/many-utf8-chars-lf (100%) create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_crlf/mixed-lf-cr create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_crlf/mixed-lf-cr-crlf rename tests/resources/crlf_data/{windows/autocrlf_input => posix_to_workdir/autocrlf_input,text_auto,eol_crlf}/more-crlf (100%) rename tests/resources/crlf_data/{windows/autocrlf_input => posix_to_workdir/autocrlf_input,text_auto,eol_crlf}/more-crlf-utf8bom (100%) rename tests/resources/crlf_data/{windows/autocrlf_input => posix_to_workdir/autocrlf_input,text_auto,eol_crlf}/more-lf (100%) rename tests/resources/crlf_data/{windows/autocrlf_input => posix_to_workdir/autocrlf_input,text_auto,eol_crlf}/more-lf-utf8bom (100%) create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_crlf/zero-byte rename tests/resources/crlf_data/{windows/autocrlf_false,text => posix_to_workdir/autocrlf_input,text_auto,eol_lf}/all-crlf (100%) rename tests/resources/crlf_data/{windows/autocrlf_false,text => posix_to_workdir/autocrlf_input,text_auto,eol_lf}/all-crlf-utf8bom (100%) create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_lf/all-lf create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_lf/all-lf-utf8bom rename tests/resources/crlf_data/{posix/autocrlf_true,text,eol_crlf/binary-all-lf => posix_to_workdir/autocrlf_input,text_auto,eol_lf/binary-all-crlf} (100%) create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_lf/binary-all-lf create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_lf/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_lf/binary-mixed-lf-cr-crlf rename tests/resources/crlf_data/{windows/autocrlf_false,text => posix_to_workdir/autocrlf_input,text_auto,eol_lf}/few-utf8-chars-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_lf/few-utf8-chars-lf rename tests/resources/crlf_data/{windows/autocrlf_false,text => posix_to_workdir/autocrlf_input,text_auto,eol_lf}/many-utf8-chars-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_lf/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_lf/mixed-lf-cr create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_lf/mixed-lf-cr-crlf rename tests/resources/crlf_data/{windows/autocrlf_true,-crlf => posix_to_workdir/autocrlf_input,text_auto,eol_lf}/more-crlf (100%) rename tests/resources/crlf_data/{windows/autocrlf_true,-crlf => posix_to_workdir/autocrlf_input,text_auto,eol_lf}/more-crlf-utf8bom (100%) rename tests/resources/crlf_data/{windows/autocrlf_true,-crlf => posix_to_workdir/autocrlf_input,text_auto,eol_lf}/more-lf (100%) rename tests/resources/crlf_data/{windows/autocrlf_true,-crlf => posix_to_workdir/autocrlf_input,text_auto,eol_lf}/more-lf-utf8bom (100%) create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_lf/zero-byte rename tests/resources/crlf_data/{windows/autocrlf_false,text_auto,eol_crlf => posix_to_workdir/autocrlf_input,text_auto}/all-crlf (100%) rename tests/resources/crlf_data/{windows/autocrlf_false,text_auto,eol_crlf => posix_to_workdir/autocrlf_input,text_auto}/all-crlf-utf8bom (100%) create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto/all-lf create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto/all-lf-utf8bom rename tests/resources/crlf_data/{posix/autocrlf_true,text/binary-all-lf => posix_to_workdir/autocrlf_input,text_auto/binary-all-crlf} (100%) create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto/binary-all-lf create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto/binary-mixed-lf-cr-crlf rename tests/resources/crlf_data/{windows/autocrlf_false,text_auto,eol_crlf => posix_to_workdir/autocrlf_input,text_auto}/few-utf8-chars-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto/few-utf8-chars-lf rename tests/resources/crlf_data/{windows/autocrlf_false,text_auto,eol_crlf => posix_to_workdir/autocrlf_input,text_auto}/many-utf8-chars-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto/mixed-lf-cr create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto/mixed-lf-cr-crlf rename tests/resources/crlf_data/{windows/autocrlf_true,-text => posix_to_workdir/autocrlf_input,text_auto}/more-crlf (100%) rename tests/resources/crlf_data/{windows/autocrlf_true,-text => posix_to_workdir/autocrlf_input,text_auto}/more-crlf-utf8bom (100%) rename tests/resources/crlf_data/{windows/autocrlf_true,-text => posix_to_workdir/autocrlf_input,text_auto}/more-lf (100%) rename tests/resources/crlf_data/{windows/autocrlf_true,-text => posix_to_workdir/autocrlf_input,text_auto}/more-lf-utf8bom (100%) create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto/zero-byte rename tests/resources/crlf_data/{windows/autocrlf_false,text_auto,eol_lf => posix_to_workdir/autocrlf_input}/all-crlf (100%) rename tests/resources/crlf_data/{windows/autocrlf_false,text_auto,eol_lf => posix_to_workdir/autocrlf_input}/all-crlf-utf8bom (100%) create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_input/all-lf create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_input/all-lf-utf8bom rename tests/resources/crlf_data/{posix/autocrlf_true,text_auto,eol_crlf/binary-all-lf => posix_to_workdir/autocrlf_input/binary-all-crlf} (100%) create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_input/binary-all-lf create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_input/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_input/binary-mixed-lf-cr-crlf rename tests/resources/crlf_data/{windows/autocrlf_false,text_auto,eol_lf => posix_to_workdir/autocrlf_input}/few-utf8-chars-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_input/few-utf8-chars-lf rename tests/resources/crlf_data/{windows/autocrlf_false,text_auto,eol_lf => posix_to_workdir/autocrlf_input}/many-utf8-chars-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_input/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_input/mixed-lf-cr create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_input/mixed-lf-cr-crlf rename tests/resources/crlf_data/{windows/autocrlf_true,eol_lf => posix_to_workdir/autocrlf_input}/more-crlf (100%) rename tests/resources/crlf_data/{windows/autocrlf_true,eol_lf => posix_to_workdir/autocrlf_input}/more-crlf-utf8bom (100%) rename tests/resources/crlf_data/{windows/autocrlf_true,eol_lf => posix_to_workdir/autocrlf_input}/more-lf (100%) rename tests/resources/crlf_data/{windows/autocrlf_true,eol_lf => posix_to_workdir/autocrlf_input}/more-lf-utf8bom (100%) create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_input/zero-byte rename tests/resources/crlf_data/{windows/autocrlf_false,text_auto => posix_to_workdir/autocrlf_true,-crlf}/all-crlf (100%) rename tests/resources/crlf_data/{windows/autocrlf_false,text_auto => posix_to_workdir/autocrlf_true,-crlf}/all-crlf-utf8bom (100%) create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-crlf/all-lf create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-crlf/all-lf-utf8bom rename tests/resources/crlf_data/{windows/autocrlf_false,crlf/binary-all-lf => posix_to_workdir/autocrlf_true,-crlf/binary-all-crlf} (100%) create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-crlf/binary-all-lf create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-crlf/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-crlf/binary-mixed-lf-cr-crlf rename tests/resources/crlf_data/{windows/autocrlf_false,text_auto => posix_to_workdir/autocrlf_true,-crlf}/few-utf8-chars-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-crlf/few-utf8-chars-lf rename tests/resources/crlf_data/{windows/autocrlf_false,text_auto => posix_to_workdir/autocrlf_true,-crlf}/many-utf8-chars-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-crlf/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-crlf/mixed-lf-cr create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-crlf/mixed-lf-cr-crlf rename tests/resources/crlf_data/{windows/autocrlf_true,text,eol_lf => posix_to_workdir/autocrlf_true,-crlf}/more-crlf (100%) rename tests/resources/crlf_data/{windows/autocrlf_true,text,eol_lf => posix_to_workdir/autocrlf_true,-crlf}/more-crlf-utf8bom (100%) rename tests/resources/crlf_data/{windows/autocrlf_true,text,eol_lf => posix_to_workdir/autocrlf_true,-crlf}/more-lf (100%) rename tests/resources/crlf_data/{windows/autocrlf_true,text,eol_lf => posix_to_workdir/autocrlf_true,-crlf}/more-lf-utf8bom (100%) create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-crlf/zero-byte rename tests/resources/crlf_data/{windows/autocrlf_false => posix_to_workdir/autocrlf_true,-text}/all-crlf (100%) rename tests/resources/crlf_data/{windows/autocrlf_false => posix_to_workdir/autocrlf_true,-text}/all-crlf-utf8bom (100%) create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-text/all-lf create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-text/all-lf-utf8bom rename tests/resources/crlf_data/{windows/autocrlf_false,eol_crlf/binary-all-lf => posix_to_workdir/autocrlf_true,-text/binary-all-crlf} (100%) create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-text/binary-all-lf create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-text/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-text/binary-mixed-lf-cr-crlf rename tests/resources/crlf_data/{windows/autocrlf_false => posix_to_workdir/autocrlf_true,-text}/few-utf8-chars-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-text/few-utf8-chars-lf rename tests/resources/crlf_data/{windows/autocrlf_false => posix_to_workdir/autocrlf_true,-text}/many-utf8-chars-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-text/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-text/mixed-lf-cr create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-text/mixed-lf-cr-crlf rename tests/resources/crlf_data/{windows/autocrlf_true,text_auto,eol_lf => posix_to_workdir/autocrlf_true,-text}/more-crlf (100%) rename tests/resources/crlf_data/{windows/autocrlf_true,text_auto,eol_lf => posix_to_workdir/autocrlf_true,-text}/more-crlf-utf8bom (100%) rename tests/resources/crlf_data/{windows/autocrlf_true,text_auto,eol_lf => posix_to_workdir/autocrlf_true,-text}/more-lf (100%) rename tests/resources/crlf_data/{windows/autocrlf_true,text_auto,eol_lf => posix_to_workdir/autocrlf_true,-text}/more-lf-utf8bom (100%) create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-text/zero-byte rename tests/resources/crlf_data/{windows/autocrlf_input,-crlf => posix_to_workdir/autocrlf_true,crlf}/all-crlf (100%) rename tests/resources/crlf_data/{windows/autocrlf_input,-crlf => posix_to_workdir/autocrlf_true,crlf}/all-crlf-utf8bom (100%) rename tests/resources/crlf_data/{posix => posix_to_workdir}/autocrlf_true,crlf/all-lf (100%) rename tests/resources/crlf_data/{posix => posix_to_workdir}/autocrlf_true,crlf/all-lf-utf8bom (100%) rename tests/resources/crlf_data/{windows/autocrlf_false,text,eol_crlf/binary-all-lf => posix_to_workdir/autocrlf_true,crlf/binary-all-crlf} (100%) rename tests/resources/crlf_data/{windows/autocrlf_false,text => posix_to_workdir/autocrlf_true,crlf}/binary-all-lf (100%) rename tests/resources/crlf_data/{posix/autocrlf_input,text,eol_crlf => posix_to_workdir/autocrlf_true,crlf}/binary-mixed-lf-cr (100%) rename tests/resources/crlf_data/{posix/autocrlf_input,text,eol_crlf => posix_to_workdir/autocrlf_true,crlf}/binary-mixed-lf-cr-crlf (100%) rename tests/resources/crlf_data/{windows/autocrlf_input,-crlf => posix_to_workdir/autocrlf_true,crlf}/few-utf8-chars-crlf (100%) rename tests/resources/crlf_data/{posix => posix_to_workdir}/autocrlf_true,crlf/few-utf8-chars-lf (100%) rename tests/resources/crlf_data/{windows/autocrlf_input,-crlf => posix_to_workdir/autocrlf_true,crlf}/many-utf8-chars-crlf (100%) rename tests/resources/crlf_data/{posix => posix_to_workdir}/autocrlf_true,crlf/many-utf8-chars-lf (100%) rename tests/resources/crlf_data/{posix/autocrlf_input,text,eol_crlf => posix_to_workdir/autocrlf_true,crlf}/mixed-lf-cr (100%) rename tests/resources/crlf_data/{posix/autocrlf_input,text,eol_crlf => posix_to_workdir/autocrlf_true,crlf}/mixed-lf-cr-crlf (100%) rename tests/resources/crlf_data/{posix/autocrlf_input,text,eol_crlf => posix_to_workdir/autocrlf_true,crlf}/more-crlf (100%) rename tests/resources/crlf_data/{posix/autocrlf_input,text,eol_crlf => posix_to_workdir/autocrlf_true,crlf}/more-crlf-utf8bom (100%) rename tests/resources/crlf_data/{posix/autocrlf_input,text,eol_crlf => posix_to_workdir/autocrlf_true,crlf}/more-lf (100%) rename tests/resources/crlf_data/{posix/autocrlf_input,text,eol_crlf => posix_to_workdir/autocrlf_true,crlf}/more-lf-utf8bom (100%) create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_true,crlf/zero-byte rename tests/resources/crlf_data/{windows/autocrlf_input,-text => posix_to_workdir/autocrlf_true,eol_crlf}/all-crlf (100%) rename tests/resources/crlf_data/{windows/autocrlf_input,-text => posix_to_workdir/autocrlf_true,eol_crlf}/all-crlf-utf8bom (100%) rename tests/resources/crlf_data/{posix => posix_to_workdir}/autocrlf_true,eol_crlf/all-lf (100%) rename tests/resources/crlf_data/{posix => posix_to_workdir}/autocrlf_true,eol_crlf/all-lf-utf8bom (100%) rename tests/resources/crlf_data/{windows/autocrlf_false,text_auto,eol_crlf/binary-all-lf => posix_to_workdir/autocrlf_true,eol_crlf/binary-all-crlf} (100%) rename tests/resources/crlf_data/{windows/autocrlf_input,eol_crlf => posix_to_workdir/autocrlf_true,eol_crlf}/binary-all-lf (100%) rename tests/resources/crlf_data/{posix/autocrlf_input,text_auto,eol_crlf => posix_to_workdir/autocrlf_true,eol_crlf}/binary-mixed-lf-cr (100%) rename tests/resources/crlf_data/{posix/autocrlf_input,text_auto,eol_crlf => posix_to_workdir/autocrlf_true,eol_crlf}/binary-mixed-lf-cr-crlf (100%) rename tests/resources/crlf_data/{windows/autocrlf_input,-text => posix_to_workdir/autocrlf_true,eol_crlf}/few-utf8-chars-crlf (100%) rename tests/resources/crlf_data/{posix => posix_to_workdir}/autocrlf_true,eol_crlf/few-utf8-chars-lf (100%) rename tests/resources/crlf_data/{windows/autocrlf_input,-text => posix_to_workdir/autocrlf_true,eol_crlf}/many-utf8-chars-crlf (100%) rename tests/resources/crlf_data/{posix => posix_to_workdir}/autocrlf_true,eol_crlf/many-utf8-chars-lf (100%) rename tests/resources/crlf_data/{posix/autocrlf_input,text_auto,eol_crlf => posix_to_workdir/autocrlf_true,eol_crlf}/mixed-lf-cr (100%) rename tests/resources/crlf_data/{posix/autocrlf_input,text_auto,eol_crlf => posix_to_workdir/autocrlf_true,eol_crlf}/mixed-lf-cr-crlf (100%) rename tests/resources/crlf_data/{posix/autocrlf_input,text_auto,eol_crlf => posix_to_workdir/autocrlf_true,eol_crlf}/more-crlf (100%) rename tests/resources/crlf_data/{posix/autocrlf_input,text_auto,eol_crlf => posix_to_workdir/autocrlf_true,eol_crlf}/more-crlf-utf8bom (100%) rename tests/resources/crlf_data/{posix/autocrlf_input,text_auto,eol_crlf => posix_to_workdir/autocrlf_true,eol_crlf}/more-lf (100%) rename tests/resources/crlf_data/{posix/autocrlf_input,text_auto,eol_crlf => posix_to_workdir/autocrlf_true,eol_crlf}/more-lf-utf8bom (100%) create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_crlf/zero-byte rename tests/resources/crlf_data/{windows/autocrlf_input,crlf => posix_to_workdir/autocrlf_true,eol_lf}/all-crlf (100%) rename tests/resources/crlf_data/{windows/autocrlf_input,crlf => posix_to_workdir/autocrlf_true,eol_lf}/all-crlf-utf8bom (100%) create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_lf/all-lf create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_lf/all-lf-utf8bom rename tests/resources/crlf_data/{windows/autocrlf_input,text,eol_crlf/binary-all-lf => posix_to_workdir/autocrlf_true,eol_lf/binary-all-crlf} (100%) create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_lf/binary-all-lf create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_lf/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_lf/binary-mixed-lf-cr-crlf rename tests/resources/crlf_data/{windows/autocrlf_input,crlf => posix_to_workdir/autocrlf_true,eol_lf}/few-utf8-chars-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_lf/few-utf8-chars-lf rename tests/resources/crlf_data/{windows/autocrlf_input,crlf => posix_to_workdir/autocrlf_true,eol_lf}/many-utf8-chars-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_lf/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_lf/mixed-lf-cr create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_lf/mixed-lf-cr-crlf rename tests/resources/crlf_data/{windows/autocrlf_true => posix_to_workdir/autocrlf_true,eol_lf}/more-crlf (100%) rename tests/resources/crlf_data/{windows/autocrlf_true => posix_to_workdir/autocrlf_true,eol_lf}/more-crlf-utf8bom (100%) rename tests/resources/crlf_data/{windows/autocrlf_true => posix_to_workdir/autocrlf_true,eol_lf}/more-lf (100%) rename tests/resources/crlf_data/{windows/autocrlf_true => posix_to_workdir/autocrlf_true,eol_lf}/more-lf-utf8bom (100%) create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_lf/zero-byte rename tests/resources/crlf_data/{windows/autocrlf_input,eol_crlf => posix_to_workdir/autocrlf_true,text,eol_crlf}/all-crlf (100%) rename tests/resources/crlf_data/{windows/autocrlf_input,eol_crlf => posix_to_workdir/autocrlf_true,text,eol_crlf}/all-crlf-utf8bom (100%) rename tests/resources/crlf_data/{posix => posix_to_workdir}/autocrlf_true,text,eol_crlf/all-lf (100%) rename tests/resources/crlf_data/{posix => posix_to_workdir}/autocrlf_true,text,eol_crlf/all-lf-utf8bom (100%) rename tests/resources/crlf_data/{windows/autocrlf_input,text_auto,eol_crlf/binary-all-lf => posix_to_workdir/autocrlf_true,text,eol_crlf/binary-all-crlf} (100%) rename tests/resources/crlf_data/{windows/autocrlf_true,crlf => posix_to_workdir/autocrlf_true,text,eol_crlf}/binary-all-lf (100%) rename tests/resources/crlf_data/{posix/autocrlf_true,crlf => posix_to_workdir/autocrlf_true,text,eol_crlf}/binary-mixed-lf-cr (100%) rename tests/resources/crlf_data/{posix/autocrlf_true,crlf => posix_to_workdir/autocrlf_true,text,eol_crlf}/binary-mixed-lf-cr-crlf (100%) rename tests/resources/crlf_data/{windows/autocrlf_input,eol_crlf => posix_to_workdir/autocrlf_true,text,eol_crlf}/few-utf8-chars-crlf (100%) rename tests/resources/crlf_data/{posix => posix_to_workdir}/autocrlf_true,text,eol_crlf/few-utf8-chars-lf (100%) rename tests/resources/crlf_data/{windows/autocrlf_input,eol_crlf => posix_to_workdir/autocrlf_true,text,eol_crlf}/many-utf8-chars-crlf (100%) rename tests/resources/crlf_data/{posix => posix_to_workdir}/autocrlf_true,text,eol_crlf/many-utf8-chars-lf (100%) rename tests/resources/crlf_data/{posix/autocrlf_true,crlf => posix_to_workdir/autocrlf_true,text,eol_crlf}/mixed-lf-cr (100%) rename tests/resources/crlf_data/{posix/autocrlf_true,crlf => posix_to_workdir/autocrlf_true,text,eol_crlf}/mixed-lf-cr-crlf (100%) rename tests/resources/crlf_data/{posix/autocrlf_true,crlf => posix_to_workdir/autocrlf_true,text,eol_crlf}/more-crlf (100%) rename tests/resources/crlf_data/{posix/autocrlf_true,crlf => posix_to_workdir/autocrlf_true,text,eol_crlf}/more-crlf-utf8bom (100%) rename tests/resources/crlf_data/{posix/autocrlf_true,crlf => posix_to_workdir/autocrlf_true,text,eol_crlf}/more-lf (100%) rename tests/resources/crlf_data/{posix/autocrlf_true,crlf => posix_to_workdir/autocrlf_true,text,eol_crlf}/more-lf-utf8bom (100%) create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_crlf/zero-byte rename tests/resources/crlf_data/{windows/autocrlf_input,eol_lf => posix_to_workdir/autocrlf_true,text,eol_lf}/all-crlf (100%) rename tests/resources/crlf_data/{windows/autocrlf_input,eol_lf => posix_to_workdir/autocrlf_true,text,eol_lf}/all-crlf-utf8bom (100%) create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_lf/all-lf create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_lf/all-lf-utf8bom rename tests/resources/crlf_data/{windows/autocrlf_true,eol_crlf/binary-all-lf => posix_to_workdir/autocrlf_true,text,eol_lf/binary-all-crlf} (100%) create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_lf/binary-all-lf create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_lf/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_lf/binary-mixed-lf-cr-crlf rename tests/resources/crlf_data/{windows/autocrlf_input,eol_lf => posix_to_workdir/autocrlf_true,text,eol_lf}/few-utf8-chars-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_lf/few-utf8-chars-lf rename tests/resources/crlf_data/{windows/autocrlf_input,eol_lf => posix_to_workdir/autocrlf_true,text,eol_lf}/many-utf8-chars-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_lf/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_lf/mixed-lf-cr create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_lf/mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_lf/more-crlf create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_lf/more-crlf-utf8bom create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_lf/more-lf create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_lf/more-lf-utf8bom create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_lf/zero-byte rename tests/resources/crlf_data/{windows/autocrlf_input,text,eol_crlf => posix_to_workdir/autocrlf_true,text}/all-crlf (100%) rename tests/resources/crlf_data/{windows/autocrlf_input,text,eol_crlf => posix_to_workdir/autocrlf_true,text}/all-crlf-utf8bom (100%) rename tests/resources/crlf_data/{posix => posix_to_workdir}/autocrlf_true,text/all-lf (100%) rename tests/resources/crlf_data/{posix => posix_to_workdir}/autocrlf_true,text/all-lf-utf8bom (100%) rename tests/resources/crlf_data/{windows/autocrlf_true,text,eol_crlf/binary-all-lf => posix_to_workdir/autocrlf_true,text/binary-all-crlf} (100%) rename tests/resources/crlf_data/{windows => posix_to_workdir}/autocrlf_true,text/binary-all-lf (100%) rename tests/resources/crlf_data/{posix/autocrlf_true,eol_crlf => posix_to_workdir/autocrlf_true,text}/binary-mixed-lf-cr (100%) rename tests/resources/crlf_data/{posix/autocrlf_true,eol_crlf => posix_to_workdir/autocrlf_true,text}/binary-mixed-lf-cr-crlf (100%) rename tests/resources/crlf_data/{windows/autocrlf_input,text,eol_crlf => posix_to_workdir/autocrlf_true,text}/few-utf8-chars-crlf (100%) rename tests/resources/crlf_data/{posix => posix_to_workdir}/autocrlf_true,text/few-utf8-chars-lf (100%) rename tests/resources/crlf_data/{windows/autocrlf_input,text,eol_crlf => posix_to_workdir/autocrlf_true,text}/many-utf8-chars-crlf (100%) rename tests/resources/crlf_data/{posix => posix_to_workdir}/autocrlf_true,text/many-utf8-chars-lf (100%) rename tests/resources/crlf_data/{posix/autocrlf_true,eol_crlf => posix_to_workdir/autocrlf_true,text}/mixed-lf-cr (100%) rename tests/resources/crlf_data/{posix/autocrlf_true,eol_crlf => posix_to_workdir/autocrlf_true,text}/mixed-lf-cr-crlf (100%) rename tests/resources/crlf_data/{posix/autocrlf_true,eol_crlf => posix_to_workdir/autocrlf_true,text}/more-crlf (100%) rename tests/resources/crlf_data/{posix/autocrlf_true,eol_crlf => posix_to_workdir/autocrlf_true,text}/more-crlf-utf8bom (100%) rename tests/resources/crlf_data/{posix/autocrlf_true,eol_crlf => posix_to_workdir/autocrlf_true,text}/more-lf (100%) rename tests/resources/crlf_data/{posix/autocrlf_true,eol_crlf => posix_to_workdir/autocrlf_true,text}/more-lf-utf8bom (100%) create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text/zero-byte rename tests/resources/crlf_data/{windows/autocrlf_input,text,eol_lf => posix_to_workdir/autocrlf_true,text_auto,eol_crlf}/all-crlf (100%) rename tests/resources/crlf_data/{windows/autocrlf_input,text,eol_lf => posix_to_workdir/autocrlf_true,text_auto,eol_crlf}/all-crlf-utf8bom (100%) rename tests/resources/crlf_data/{posix => posix_to_workdir}/autocrlf_true,text_auto,eol_crlf/all-lf (100%) rename tests/resources/crlf_data/{posix => posix_to_workdir}/autocrlf_true,text_auto,eol_crlf/all-lf-utf8bom (100%) rename tests/resources/crlf_data/{windows/autocrlf_true,text_auto,eol_crlf/binary-all-lf => posix_to_workdir/autocrlf_true,text_auto,eol_crlf/binary-all-crlf} (100%) create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_crlf/binary-all-lf create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr-crlf rename tests/resources/crlf_data/{windows/autocrlf_input,text,eol_lf => posix_to_workdir/autocrlf_true,text_auto,eol_crlf}/few-utf8-chars-crlf (100%) rename tests/resources/crlf_data/{posix => posix_to_workdir}/autocrlf_true,text_auto,eol_crlf/few-utf8-chars-lf (100%) rename tests/resources/crlf_data/{windows/autocrlf_input,text,eol_lf => posix_to_workdir/autocrlf_true,text_auto,eol_crlf}/many-utf8-chars-crlf (100%) rename tests/resources/crlf_data/{posix => posix_to_workdir}/autocrlf_true,text_auto,eol_crlf/many-utf8-chars-lf (100%) create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_crlf/mixed-lf-cr create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_crlf/mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_crlf/more-crlf create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_crlf/more-crlf-utf8bom create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_crlf/more-lf create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_crlf/more-lf-utf8bom create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_crlf/zero-byte rename tests/resources/crlf_data/{windows/autocrlf_input,text => posix_to_workdir/autocrlf_true,text_auto,eol_lf}/all-crlf (100%) rename tests/resources/crlf_data/{windows/autocrlf_input,text => posix_to_workdir/autocrlf_true,text_auto,eol_lf}/all-crlf-utf8bom (100%) create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_lf/all-lf create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_lf/all-lf-utf8bom create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_lf/binary-all-crlf create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_lf/binary-all-lf create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_lf/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_lf/binary-mixed-lf-cr-crlf rename tests/resources/crlf_data/{windows/autocrlf_input,text => posix_to_workdir/autocrlf_true,text_auto,eol_lf}/few-utf8-chars-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_lf/few-utf8-chars-lf rename tests/resources/crlf_data/{windows/autocrlf_input,text => posix_to_workdir/autocrlf_true,text_auto,eol_lf}/many-utf8-chars-crlf (100%) create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_lf/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_lf/mixed-lf-cr create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_lf/mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_lf/more-crlf create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_lf/more-crlf-utf8bom create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_lf/more-lf create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_lf/more-lf-utf8bom create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_lf/zero-byte rename tests/resources/crlf_data/{windows/autocrlf_input,text_auto,eol_crlf => posix_to_workdir/autocrlf_true,text_auto}/all-crlf (100%) rename tests/resources/crlf_data/{windows/autocrlf_input,text_auto,eol_crlf => posix_to_workdir/autocrlf_true,text_auto}/all-crlf-utf8bom (100%) rename tests/resources/crlf_data/{posix => posix_to_workdir}/autocrlf_true,text_auto/all-lf (100%) rename tests/resources/crlf_data/{posix => posix_to_workdir}/autocrlf_true,text_auto/all-lf-utf8bom (100%) create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto/binary-all-crlf create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto/binary-all-lf create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto/binary-mixed-lf-cr-crlf rename tests/resources/crlf_data/{windows/autocrlf_input,text_auto,eol_crlf => posix_to_workdir/autocrlf_true,text_auto}/few-utf8-chars-crlf (100%) rename tests/resources/crlf_data/{posix => posix_to_workdir}/autocrlf_true,text_auto/few-utf8-chars-lf (100%) rename tests/resources/crlf_data/{windows/autocrlf_input,text_auto,eol_crlf => posix_to_workdir/autocrlf_true,text_auto}/many-utf8-chars-crlf (100%) rename tests/resources/crlf_data/{posix => posix_to_workdir}/autocrlf_true,text_auto/many-utf8-chars-lf (100%) create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto/mixed-lf-cr create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto/mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto/more-crlf create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto/more-crlf-utf8bom create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto/more-lf create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto/more-lf-utf8bom create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto/zero-byte rename tests/resources/crlf_data/{windows/autocrlf_input,text_auto,eol_lf => posix_to_workdir/autocrlf_true}/all-crlf (100%) rename tests/resources/crlf_data/{windows/autocrlf_input,text_auto,eol_lf => posix_to_workdir/autocrlf_true}/all-crlf-utf8bom (100%) rename tests/resources/crlf_data/{posix => posix_to_workdir}/autocrlf_true/all-lf (100%) rename tests/resources/crlf_data/{posix => posix_to_workdir}/autocrlf_true/all-lf-utf8bom (100%) create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_true/binary-all-crlf create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_true/binary-all-lf create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_true/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_true/binary-mixed-lf-cr-crlf rename tests/resources/crlf_data/{windows/autocrlf_input,text_auto,eol_lf => posix_to_workdir/autocrlf_true}/few-utf8-chars-crlf (100%) rename tests/resources/crlf_data/{posix => posix_to_workdir}/autocrlf_true/few-utf8-chars-lf (100%) rename tests/resources/crlf_data/{windows/autocrlf_input,text_auto,eol_lf => posix_to_workdir/autocrlf_true}/many-utf8-chars-crlf (100%) rename tests/resources/crlf_data/{posix => posix_to_workdir}/autocrlf_true/many-utf8-chars-lf (100%) create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_true/mixed-lf-cr create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_true/mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_true/more-crlf create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_true/more-crlf-utf8bom create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_true/more-lf create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_true/more-lf-utf8bom create mode 100644 tests/resources/crlf_data/posix_to_workdir/autocrlf_true/zero-byte delete mode 100644 tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/more-crlf delete mode 100644 tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/more-crlf-utf8bom delete mode 100644 tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/more-lf delete mode 100644 tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/more-lf-utf8bom delete mode 100644 tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/more-crlf delete mode 100644 tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/more-crlf-utf8bom delete mode 100644 tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/more-lf delete mode 100644 tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/more-lf-utf8bom delete mode 100644 tests/resources/crlf_data/windows/autocrlf_true,text/binary-mixed-lf-cr delete mode 100644 tests/resources/crlf_data/windows/autocrlf_true,text/binary-mixed-lf-cr-crlf delete mode 100644 tests/resources/crlf_data/windows/autocrlf_true,text/mixed-lf-cr delete mode 100644 tests/resources/crlf_data/windows/autocrlf_true,text/mixed-lf-cr-crlf delete mode 100644 tests/resources/crlf_data/windows/autocrlf_true,text/more-crlf delete mode 100644 tests/resources/crlf_data/windows/autocrlf_true,text/more-crlf-utf8bom delete mode 100644 tests/resources/crlf_data/windows/autocrlf_true,text/more-lf delete mode 100644 tests/resources/crlf_data/windows/autocrlf_true,text/more-lf-utf8bom delete mode 100644 tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr delete mode 100644 tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr-crlf delete mode 100644 tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/mixed-lf-cr delete mode 100644 tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/mixed-lf-cr-crlf delete mode 100644 tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/more-crlf delete mode 100644 tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/more-crlf-utf8bom delete mode 100644 tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/more-lf delete mode 100644 tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/more-lf-utf8bom delete mode 100644 tests/resources/crlf_data/windows/autocrlf_true,text_auto/more-crlf delete mode 100644 tests/resources/crlf_data/windows/autocrlf_true,text_auto/more-crlf-utf8bom delete mode 100644 tests/resources/crlf_data/windows/autocrlf_true,text_auto/more-lf delete mode 100644 tests/resources/crlf_data/windows/autocrlf_true,text_auto/more-lf-utf8bom rename tests/resources/crlf_data/{windows/autocrlf_input,text_auto => windows_to_odb/autocrlf_false,safecrlf_false,-crlf}/all-crlf (100%) rename tests/resources/crlf_data/{windows/autocrlf_input,text_auto => windows_to_odb/autocrlf_false,safecrlf_false,-crlf}/all-crlf-utf8bom (100%) create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/all-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/binary-all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/binary-all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/binary-mixed-lf-cr-crlf rename tests/resources/crlf_data/{windows/autocrlf_input,text_auto => windows_to_odb/autocrlf_false,safecrlf_false,-crlf}/few-utf8-chars-crlf (100%) create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/few-utf8-chars-lf rename tests/resources/crlf_data/{windows/autocrlf_input,text_auto => windows_to_odb/autocrlf_false,safecrlf_false,-crlf}/many-utf8-chars-crlf (100%) create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/more-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/more-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/more-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/more-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/zero-byte rename tests/resources/crlf_data/{windows/autocrlf_input => windows_to_odb/autocrlf_false,safecrlf_false,-text}/all-crlf (100%) rename tests/resources/crlf_data/{windows/autocrlf_input => windows_to_odb/autocrlf_false,safecrlf_false,-text}/all-crlf-utf8bom (100%) create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/all-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/binary-all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/binary-all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/binary-mixed-lf-cr-crlf rename tests/resources/crlf_data/{windows/autocrlf_input => windows_to_odb/autocrlf_false,safecrlf_false,-text}/few-utf8-chars-crlf (100%) create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/few-utf8-chars-lf rename tests/resources/crlf_data/{windows/autocrlf_input => windows_to_odb/autocrlf_false,safecrlf_false,-text}/many-utf8-chars-crlf (100%) create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/more-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/more-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/more-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/more-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/zero-byte create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/all-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/all-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/binary-all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/binary-all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/binary-mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/few-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/few-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/many-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/more-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/more-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/more-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/more-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/zero-byte create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/all-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/all-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/binary-all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/binary-all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/binary-mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/few-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/few-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/many-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/more-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/more-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/more-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/more-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/zero-byte create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/all-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/all-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/binary-all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/binary-all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/binary-mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/few-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/few-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/many-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/more-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/more-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/more-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/more-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/zero-byte create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/all-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/all-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/binary-all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/binary-all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/binary-mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/few-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/few-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/many-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/more-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/more-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/more-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/more-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/zero-byte create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/all-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/all-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/binary-all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/binary-all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/binary-mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/few-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/few-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/many-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/more-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/more-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/more-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/more-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/zero-byte create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/all-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/all-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/binary-all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/binary-all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/binary-mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/few-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/few-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/many-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/more-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/more-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/more-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/more-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/zero-byte create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/all-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/all-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/binary-all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/binary-all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/few-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/few-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/many-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/more-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/more-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/more-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/more-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/zero-byte create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/all-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/all-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/binary-all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/binary-all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/binary-mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/few-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/few-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/many-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/more-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/more-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/more-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/more-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/zero-byte create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/all-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/all-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/binary-all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/binary-all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/binary-mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/few-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/few-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/many-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/more-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/more-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/more-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/more-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/zero-byte rename tests/resources/crlf_data/{windows/autocrlf_true,-crlf => windows_to_odb/autocrlf_false,safecrlf_false}/all-crlf (100%) rename tests/resources/crlf_data/{windows/autocrlf_true,-crlf => windows_to_odb/autocrlf_false,safecrlf_false}/all-crlf-utf8bom (100%) create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/all-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/binary-all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/binary-all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/binary-mixed-lf-cr-crlf rename tests/resources/crlf_data/{windows/autocrlf_true,-crlf => windows_to_odb/autocrlf_false,safecrlf_false}/few-utf8-chars-crlf (100%) create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/few-utf8-chars-lf rename tests/resources/crlf_data/{windows/autocrlf_true,-crlf => windows_to_odb/autocrlf_false,safecrlf_false}/many-utf8-chars-crlf (100%) create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/more-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/more-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/more-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/more-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/zero-byte rename tests/resources/crlf_data/{windows/autocrlf_true,-text => windows_to_odb/autocrlf_false,safecrlf_true,-crlf}/all-crlf (100%) rename tests/resources/crlf_data/{windows/autocrlf_true,-text => windows_to_odb/autocrlf_false,safecrlf_true,-crlf}/all-crlf-utf8bom (100%) create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/all-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/binary-all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/binary-all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/binary-mixed-lf-cr-crlf rename tests/resources/crlf_data/{windows/autocrlf_true,-text => windows_to_odb/autocrlf_false,safecrlf_true,-crlf}/few-utf8-chars-crlf (100%) create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/few-utf8-chars-lf rename tests/resources/crlf_data/{windows/autocrlf_true,-text => windows_to_odb/autocrlf_false,safecrlf_true,-crlf}/many-utf8-chars-crlf (100%) create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/more-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/more-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/more-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/more-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/zero-byte rename tests/resources/crlf_data/{windows/autocrlf_true,crlf => windows_to_odb/autocrlf_false,safecrlf_true,-text}/all-crlf (100%) rename tests/resources/crlf_data/{windows/autocrlf_true,crlf => windows_to_odb/autocrlf_false,safecrlf_true,-text}/all-crlf-utf8bom (100%) create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/all-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/binary-all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/binary-all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/binary-mixed-lf-cr-crlf rename tests/resources/crlf_data/{windows/autocrlf_true,crlf => windows_to_odb/autocrlf_false,safecrlf_true,-text}/few-utf8-chars-crlf (100%) create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/few-utf8-chars-lf rename tests/resources/crlf_data/{windows/autocrlf_true,crlf => windows_to_odb/autocrlf_false,safecrlf_true,-text}/many-utf8-chars-crlf (100%) create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/more-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/more-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/more-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/more-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/zero-byte create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/all-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/all-lf-utf8bom.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/all-lf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/binary-all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/binary-all-lf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/binary-mixed-lf-cr-crlf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/binary-mixed-lf-cr.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/few-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/few-utf8-chars-lf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/many-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/many-utf8-chars-lf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/mixed-lf-cr-crlf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/mixed-lf-cr.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/more-crlf-utf8bom.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/more-crlf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/more-lf-utf8bom.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/more-lf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/zero-byte create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/all-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/all-lf-utf8bom.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/all-lf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/binary-all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/binary-all-lf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/binary-mixed-lf-cr-crlf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/binary-mixed-lf-cr.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/few-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/few-utf8-chars-lf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/many-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/many-utf8-chars-lf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/mixed-lf-cr-crlf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/mixed-lf-cr.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/more-crlf-utf8bom.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/more-crlf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/more-lf-utf8bom.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/more-lf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/zero-byte create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/all-crlf-utf8bom.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/all-crlf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/all-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/binary-all-crlf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/binary-all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/binary-mixed-lf-cr-crlf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/few-utf8-chars-crlf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/few-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/many-utf8-chars-crlf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/mixed-lf-cr-crlf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/more-crlf-utf8bom.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/more-crlf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/more-lf-utf8bom.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/more-lf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/zero-byte create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/all-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/all-lf-utf8bom.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/all-lf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/binary-all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/binary-all-lf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/binary-mixed-lf-cr-crlf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/binary-mixed-lf-cr.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/few-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/few-utf8-chars-lf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/many-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/many-utf8-chars-lf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/mixed-lf-cr-crlf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/mixed-lf-cr.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/more-crlf-utf8bom.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/more-crlf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/more-lf-utf8bom.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/more-lf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/zero-byte create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/all-crlf-utf8bom.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/all-crlf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/all-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/binary-all-crlf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/binary-all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/binary-mixed-lf-cr-crlf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/few-utf8-chars-crlf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/few-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/many-utf8-chars-crlf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/mixed-lf-cr-crlf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/more-crlf-utf8bom.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/more-crlf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/more-lf-utf8bom.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/more-lf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/zero-byte create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/all-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/all-lf-utf8bom.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/all-lf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/binary-all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/binary-all-lf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/binary-mixed-lf-cr-crlf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/binary-mixed-lf-cr.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/few-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/few-utf8-chars-lf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/many-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/many-utf8-chars-lf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/mixed-lf-cr-crlf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/mixed-lf-cr.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/more-crlf-utf8bom.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/more-crlf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/more-lf-utf8bom.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/more-lf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/zero-byte create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/all-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/all-lf-utf8bom.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/all-lf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/binary-all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/binary-all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/few-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/few-utf8-chars-lf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/many-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/many-utf8-chars-lf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/more-crlf-utf8bom.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/more-crlf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/more-lf-utf8bom.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/more-lf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/zero-byte create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/all-crlf-utf8bom.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/all-crlf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/all-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/binary-all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/binary-all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/binary-mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/few-utf8-chars-crlf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/few-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/many-utf8-chars-crlf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/more-crlf-utf8bom.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/more-crlf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/more-lf-utf8bom.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/more-lf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/zero-byte create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/all-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/all-lf-utf8bom.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/all-lf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/binary-all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/binary-all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/binary-mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/few-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/few-utf8-chars-lf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/many-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/many-utf8-chars-lf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/more-crlf-utf8bom.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/more-crlf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/more-lf-utf8bom.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/more-lf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/zero-byte rename tests/resources/crlf_data/{windows/autocrlf_true,eol_crlf => windows_to_odb/autocrlf_false,safecrlf_true}/all-crlf (100%) rename tests/resources/crlf_data/{windows/autocrlf_true,eol_crlf => windows_to_odb/autocrlf_false,safecrlf_true}/all-crlf-utf8bom (100%) create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/all-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/binary-all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/binary-all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/binary-mixed-lf-cr-crlf rename tests/resources/crlf_data/{windows/autocrlf_true,eol_crlf => windows_to_odb/autocrlf_false,safecrlf_true}/few-utf8-chars-crlf (100%) create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/few-utf8-chars-lf rename tests/resources/crlf_data/{windows/autocrlf_true,eol_crlf => windows_to_odb/autocrlf_false,safecrlf_true}/many-utf8-chars-crlf (100%) create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/more-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/more-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/more-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/more-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/zero-byte rename tests/resources/crlf_data/{windows/autocrlf_true,eol_lf => windows_to_odb/autocrlf_false,safecrlf_warn,-crlf}/all-crlf (100%) rename tests/resources/crlf_data/{windows/autocrlf_true,eol_lf => windows_to_odb/autocrlf_false,safecrlf_warn,-crlf}/all-crlf-utf8bom (100%) create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/all-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/binary-all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/binary-all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/binary-mixed-lf-cr-crlf rename tests/resources/crlf_data/{windows/autocrlf_true,eol_lf => windows_to_odb/autocrlf_false,safecrlf_warn,-crlf}/few-utf8-chars-crlf (100%) create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/few-utf8-chars-lf rename tests/resources/crlf_data/{windows/autocrlf_true,eol_lf => windows_to_odb/autocrlf_false,safecrlf_warn,-crlf}/many-utf8-chars-crlf (100%) create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/more-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/more-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/more-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/more-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/zero-byte rename tests/resources/crlf_data/{windows/autocrlf_true,text,eol_crlf => windows_to_odb/autocrlf_false,safecrlf_warn,-text}/all-crlf (100%) rename tests/resources/crlf_data/{windows/autocrlf_true,text,eol_crlf => windows_to_odb/autocrlf_false,safecrlf_warn,-text}/all-crlf-utf8bom (100%) create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/all-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/binary-all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/binary-all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/binary-mixed-lf-cr-crlf rename tests/resources/crlf_data/{windows/autocrlf_true,text,eol_crlf => windows_to_odb/autocrlf_false,safecrlf_warn,-text}/few-utf8-chars-crlf (100%) create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/few-utf8-chars-lf rename tests/resources/crlf_data/{windows/autocrlf_true,text,eol_crlf => windows_to_odb/autocrlf_false,safecrlf_warn,-text}/many-utf8-chars-crlf (100%) create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/more-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/more-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/more-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/more-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/zero-byte create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/all-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/all-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/binary-all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/binary-all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/binary-mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/few-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/few-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/many-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/more-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/more-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/more-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/more-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/zero-byte create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/all-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/all-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/binary-all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/binary-all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/binary-mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/few-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/few-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/many-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/more-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/more-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/more-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/more-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/zero-byte create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/all-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/all-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/binary-all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/binary-all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/binary-mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/few-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/few-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/many-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/more-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/more-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/more-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/more-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/zero-byte create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/all-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/all-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/binary-all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/binary-all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/binary-mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/few-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/few-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/many-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/more-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/more-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/more-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/more-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/zero-byte create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/all-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/all-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/binary-all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/binary-all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/binary-mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/few-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/few-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/many-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/more-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/more-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/more-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/more-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/zero-byte create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/all-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/all-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/binary-all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/binary-all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/binary-mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/few-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/few-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/many-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/more-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/more-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/more-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/more-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/zero-byte create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/all-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/all-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/binary-all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/binary-all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/binary-mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/few-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/few-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/many-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/more-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/more-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/more-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/more-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/zero-byte create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/all-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/all-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/binary-all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/binary-all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/binary-mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/few-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/few-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/many-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/more-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/more-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/more-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/more-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/zero-byte create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/all-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/all-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/binary-all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/binary-all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/binary-mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/few-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/few-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/many-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/more-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/more-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/more-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/more-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/zero-byte rename tests/resources/crlf_data/{windows/autocrlf_true,text,eol_lf => windows_to_odb/autocrlf_false,safecrlf_warn}/all-crlf (100%) rename tests/resources/crlf_data/{windows/autocrlf_true,text,eol_lf => windows_to_odb/autocrlf_false,safecrlf_warn}/all-crlf-utf8bom (100%) create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/all-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/binary-all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/binary-all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/binary-mixed-lf-cr-crlf rename tests/resources/crlf_data/{windows/autocrlf_true,text,eol_lf => windows_to_odb/autocrlf_false,safecrlf_warn}/few-utf8-chars-crlf (100%) create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/few-utf8-chars-lf rename tests/resources/crlf_data/{windows/autocrlf_true,text,eol_lf => windows_to_odb/autocrlf_false,safecrlf_warn}/many-utf8-chars-crlf (100%) create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/more-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/more-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/more-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/more-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/zero-byte rename tests/resources/crlf_data/{windows/autocrlf_true,text => windows_to_odb/autocrlf_input,safecrlf_false,-crlf}/all-crlf (100%) rename tests/resources/crlf_data/{windows/autocrlf_true,text => windows_to_odb/autocrlf_input,safecrlf_false,-crlf}/all-crlf-utf8bom (100%) create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/all-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/binary-all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/binary-all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/binary-mixed-lf-cr-crlf rename tests/resources/crlf_data/{windows/autocrlf_true,text => windows_to_odb/autocrlf_input,safecrlf_false,-crlf}/few-utf8-chars-crlf (100%) create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/few-utf8-chars-lf rename tests/resources/crlf_data/{windows/autocrlf_true,text => windows_to_odb/autocrlf_input,safecrlf_false,-crlf}/many-utf8-chars-crlf (100%) create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/more-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/more-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/more-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/more-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/zero-byte rename tests/resources/crlf_data/{windows/autocrlf_true,text_auto,eol_crlf => windows_to_odb/autocrlf_input,safecrlf_false,-text}/all-crlf (100%) rename tests/resources/crlf_data/{windows/autocrlf_true,text_auto,eol_crlf => windows_to_odb/autocrlf_input,safecrlf_false,-text}/all-crlf-utf8bom (100%) create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/all-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/binary-all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/binary-all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/binary-mixed-lf-cr-crlf rename tests/resources/crlf_data/{windows/autocrlf_true,text_auto,eol_crlf => windows_to_odb/autocrlf_input,safecrlf_false,-text}/few-utf8-chars-crlf (100%) create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/few-utf8-chars-lf rename tests/resources/crlf_data/{windows/autocrlf_true,text_auto,eol_crlf => windows_to_odb/autocrlf_input,safecrlf_false,-text}/many-utf8-chars-crlf (100%) create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/more-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/more-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/more-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/more-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/zero-byte create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/all-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/all-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/binary-all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/binary-all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/binary-mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/few-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/few-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/many-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/more-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/more-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/more-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/more-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/zero-byte create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/all-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/all-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/binary-all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/binary-all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/binary-mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/few-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/few-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/many-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/more-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/more-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/more-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/more-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/zero-byte create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/all-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/all-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/binary-all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/binary-all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/binary-mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/few-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/few-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/many-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/more-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/more-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/more-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/more-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/zero-byte create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/all-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/all-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/binary-all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/binary-all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/binary-mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/few-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/few-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/many-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/more-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/more-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/more-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/more-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/zero-byte create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/all-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/all-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/binary-all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/binary-all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/binary-mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/few-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/few-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/many-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/more-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/more-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/more-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/more-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/zero-byte create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/all-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/all-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/binary-all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/binary-all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/binary-mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/few-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/few-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/many-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/more-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/more-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/more-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/more-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/zero-byte create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/all-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/all-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/binary-all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/binary-all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/few-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/few-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/many-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/more-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/more-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/more-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/more-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/zero-byte create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/all-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/all-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/binary-all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/binary-all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/binary-mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/few-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/few-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/many-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/more-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/more-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/more-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/more-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/zero-byte create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/all-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/all-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/binary-all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/binary-all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/binary-mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/few-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/few-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/many-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/more-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/more-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/more-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/more-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/zero-byte create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/all-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/all-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/binary-all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/binary-all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/binary-mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/few-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/few-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/many-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/more-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/more-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/more-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/more-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/zero-byte rename tests/resources/crlf_data/{windows/autocrlf_true,text_auto,eol_lf => windows_to_odb/autocrlf_input,safecrlf_true,-crlf}/all-crlf (100%) rename tests/resources/crlf_data/{windows/autocrlf_true,text_auto,eol_lf => windows_to_odb/autocrlf_input,safecrlf_true,-crlf}/all-crlf-utf8bom (100%) create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/all-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/binary-all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/binary-all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/binary-mixed-lf-cr-crlf rename tests/resources/crlf_data/{windows/autocrlf_true,text_auto,eol_lf => windows_to_odb/autocrlf_input,safecrlf_true,-crlf}/few-utf8-chars-crlf (100%) create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/few-utf8-chars-lf rename tests/resources/crlf_data/{windows/autocrlf_true,text_auto,eol_lf => windows_to_odb/autocrlf_input,safecrlf_true,-crlf}/many-utf8-chars-crlf (100%) create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/more-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/more-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/more-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/more-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/zero-byte rename tests/resources/crlf_data/{windows/autocrlf_true,text_auto => windows_to_odb/autocrlf_input,safecrlf_true,-text}/all-crlf (100%) rename tests/resources/crlf_data/{windows/autocrlf_true,text_auto => windows_to_odb/autocrlf_input,safecrlf_true,-text}/all-crlf-utf8bom (100%) create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/all-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/binary-all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/binary-all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/binary-mixed-lf-cr-crlf rename tests/resources/crlf_data/{windows/autocrlf_true,text_auto => windows_to_odb/autocrlf_input,safecrlf_true,-text}/few-utf8-chars-crlf (100%) create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/few-utf8-chars-lf rename tests/resources/crlf_data/{windows/autocrlf_true,text_auto => windows_to_odb/autocrlf_input,safecrlf_true,-text}/many-utf8-chars-crlf (100%) create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/more-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/more-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/more-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/more-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/zero-byte create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/all-crlf-utf8bom.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/all-crlf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/all-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/binary-all-crlf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/binary-all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/binary-mixed-lf-cr-crlf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/few-utf8-chars-crlf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/few-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/many-utf8-chars-crlf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/mixed-lf-cr-crlf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/more-crlf-utf8bom.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/more-crlf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/more-lf-utf8bom.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/more-lf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/zero-byte create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/all-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/all-lf-utf8bom.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/all-lf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/binary-all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/binary-all-lf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/binary-mixed-lf-cr-crlf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/binary-mixed-lf-cr.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/few-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/few-utf8-chars-lf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/many-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/many-utf8-chars-lf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/mixed-lf-cr-crlf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/mixed-lf-cr.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/more-crlf-utf8bom.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/more-crlf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/more-lf-utf8bom.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/more-lf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/zero-byte create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/all-crlf-utf8bom.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/all-crlf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/all-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/binary-all-crlf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/binary-all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/binary-mixed-lf-cr-crlf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/few-utf8-chars-crlf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/few-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/many-utf8-chars-crlf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/mixed-lf-cr-crlf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/more-crlf-utf8bom.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/more-crlf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/more-lf-utf8bom.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/more-lf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/zero-byte create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/all-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/all-lf-utf8bom.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/all-lf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/binary-all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/binary-all-lf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/binary-mixed-lf-cr-crlf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/binary-mixed-lf-cr.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/few-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/few-utf8-chars-lf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/many-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/many-utf8-chars-lf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/mixed-lf-cr-crlf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/mixed-lf-cr.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/more-crlf-utf8bom.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/more-crlf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/more-lf-utf8bom.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/more-lf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/zero-byte create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/all-crlf-utf8bom.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/all-crlf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/all-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/binary-all-crlf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/binary-all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/binary-mixed-lf-cr-crlf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/few-utf8-chars-crlf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/few-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/many-utf8-chars-crlf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/mixed-lf-cr-crlf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/more-crlf-utf8bom.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/more-crlf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/more-lf-utf8bom.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/more-lf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/zero-byte create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/all-crlf-utf8bom.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/all-crlf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/all-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/binary-all-crlf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/binary-all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/binary-mixed-lf-cr-crlf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/few-utf8-chars-crlf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/few-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/many-utf8-chars-crlf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/mixed-lf-cr-crlf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/more-crlf-utf8bom.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/more-crlf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/more-lf-utf8bom.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/more-lf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/zero-byte create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/all-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/all-lf-utf8bom.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/all-lf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/binary-all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/binary-all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/few-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/few-utf8-chars-lf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/many-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/many-utf8-chars-lf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/more-crlf-utf8bom.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/more-crlf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/more-lf-utf8bom.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/more-lf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/zero-byte create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/all-crlf-utf8bom.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/all-crlf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/all-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/binary-all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/binary-all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/binary-mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/few-utf8-chars-crlf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/few-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/many-utf8-chars-crlf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/more-crlf-utf8bom.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/more-crlf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/more-lf-utf8bom.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/more-lf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/zero-byte create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/all-crlf-utf8bom.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/all-crlf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/all-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/binary-all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/binary-all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/binary-mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/few-utf8-chars-crlf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/few-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/many-utf8-chars-crlf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/more-crlf-utf8bom.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/more-crlf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/more-lf-utf8bom.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/more-lf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/zero-byte create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/all-crlf-utf8bom.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/all-crlf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/all-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/binary-all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/binary-all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/binary-mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/few-utf8-chars-crlf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/few-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/many-utf8-chars-crlf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/more-crlf-utf8bom.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/more-crlf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/more-lf-utf8bom.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/more-lf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/zero-byte rename tests/resources/crlf_data/{windows/autocrlf_true => windows_to_odb/autocrlf_input,safecrlf_warn,-crlf}/all-crlf (100%) rename tests/resources/crlf_data/{windows/autocrlf_true => windows_to_odb/autocrlf_input,safecrlf_warn,-crlf}/all-crlf-utf8bom (100%) create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/all-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/binary-all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/binary-all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/binary-mixed-lf-cr-crlf rename tests/resources/crlf_data/{windows/autocrlf_true => windows_to_odb/autocrlf_input,safecrlf_warn,-crlf}/few-utf8-chars-crlf (100%) create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/few-utf8-chars-lf rename tests/resources/crlf_data/{windows/autocrlf_true => windows_to_odb/autocrlf_input,safecrlf_warn,-crlf}/many-utf8-chars-crlf (100%) create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/more-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/more-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/more-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/more-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/zero-byte create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/all-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/all-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/binary-all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/binary-all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/binary-mixed-lf-cr-crlf rename tests/resources/crlf_data/{windows/autocrlf_false,crlf/few-utf8-chars-lf => windows_to_odb/autocrlf_input,safecrlf_warn,-text/few-utf8-chars-crlf} (100%) create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/few-utf8-chars-lf rename tests/resources/crlf_data/{windows/autocrlf_false,crlf/many-utf8-chars-lf => windows_to_odb/autocrlf_input,safecrlf_warn,-text/many-utf8-chars-crlf} (100%) create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/more-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/more-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/more-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/more-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/zero-byte create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/all-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/all-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/binary-all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/binary-all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/binary-mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/few-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/few-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/many-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/more-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/more-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/more-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/more-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/zero-byte create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/all-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/all-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/binary-all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/binary-all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/binary-mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/few-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/few-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/many-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/more-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/more-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/more-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/more-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/zero-byte create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/all-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/all-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/binary-all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/binary-all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/binary-mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/few-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/few-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/many-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/more-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/more-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/more-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/more-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/zero-byte create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/all-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/all-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/binary-all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/binary-all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/binary-mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/few-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/few-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/many-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/more-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/more-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/more-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/more-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/zero-byte create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/all-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/all-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/binary-all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/binary-all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/binary-mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/few-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/few-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/many-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/more-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/more-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/more-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/more-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/zero-byte create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/all-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/all-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/binary-all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/binary-all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/binary-mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/few-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/few-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/many-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/more-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/more-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/more-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/more-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/zero-byte create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/all-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/all-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/binary-all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/binary-all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/binary-mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/few-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/few-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/many-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/more-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/more-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/more-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/more-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/zero-byte create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/all-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/all-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/binary-all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/binary-all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/binary-mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/few-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/few-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/many-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/more-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/more-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/more-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/more-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/zero-byte create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/all-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/all-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/binary-all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/binary-all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/binary-mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/few-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/few-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/many-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/more-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/more-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/more-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/more-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/zero-byte create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/all-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/all-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/binary-all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/binary-all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/binary-mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/few-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/few-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/many-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/more-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/more-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/more-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/more-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/zero-byte create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/all-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/all-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/binary-all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/binary-all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/binary-mixed-lf-cr-crlf rename tests/resources/crlf_data/{windows/autocrlf_false,eol_crlf/few-utf8-chars-lf => windows_to_odb/autocrlf_true,safecrlf_false,-crlf/few-utf8-chars-crlf} (100%) create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/few-utf8-chars-lf rename tests/resources/crlf_data/{windows/autocrlf_false,eol_crlf/many-utf8-chars-lf => windows_to_odb/autocrlf_true,safecrlf_false,-crlf/many-utf8-chars-crlf} (100%) create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/more-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/more-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/more-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/more-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/zero-byte create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/all-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/all-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/binary-all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/binary-all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/binary-mixed-lf-cr-crlf rename tests/resources/crlf_data/{windows/autocrlf_false,text,eol_crlf/few-utf8-chars-lf => windows_to_odb/autocrlf_true,safecrlf_false,-text/few-utf8-chars-crlf} (100%) create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/few-utf8-chars-lf rename tests/resources/crlf_data/{windows/autocrlf_false,text,eol_crlf/many-utf8-chars-lf => windows_to_odb/autocrlf_true,safecrlf_false,-text/many-utf8-chars-crlf} (100%) create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/more-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/more-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/more-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/more-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/zero-byte create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/all-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/all-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/binary-all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/binary-all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/binary-mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/few-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/few-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/many-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/more-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/more-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/more-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/more-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/zero-byte create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/all-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/all-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/binary-all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/binary-all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/binary-mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/few-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/few-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/many-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/more-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/more-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/more-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/more-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/zero-byte create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/all-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/all-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/binary-all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/binary-all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/binary-mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/few-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/few-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/many-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/more-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/more-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/more-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/more-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/zero-byte create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/all-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/all-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/binary-all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/binary-all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/binary-mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/few-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/few-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/many-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/more-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/more-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/more-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/more-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/zero-byte create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/all-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/all-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/binary-all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/binary-all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/binary-mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/few-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/few-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/many-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/more-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/more-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/more-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/more-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/zero-byte create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/all-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/all-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/binary-all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/binary-all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/binary-mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/few-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/few-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/many-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/more-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/more-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/more-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/more-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/zero-byte create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/all-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/all-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/binary-all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/binary-all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/few-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/few-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/many-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/more-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/more-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/more-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/more-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/zero-byte create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/all-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/all-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/binary-all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/binary-all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/binary-mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/few-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/few-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/many-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/more-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/more-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/more-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/more-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/zero-byte create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/all-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/all-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/binary-all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/binary-all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/binary-mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/few-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/few-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/many-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/more-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/more-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/more-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/more-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/zero-byte create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/all-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/all-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/binary-all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/binary-all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/binary-mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/few-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/few-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/many-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/more-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/more-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/more-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/more-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/zero-byte create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/all-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/all-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/binary-all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/binary-all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/binary-mixed-lf-cr-crlf rename tests/resources/crlf_data/{windows/autocrlf_false,text/few-utf8-chars-lf => windows_to_odb/autocrlf_true,safecrlf_true,-crlf/few-utf8-chars-crlf} (100%) create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/few-utf8-chars-lf rename tests/resources/crlf_data/{windows/autocrlf_false,text/many-utf8-chars-lf => windows_to_odb/autocrlf_true,safecrlf_true,-crlf/many-utf8-chars-crlf} (100%) create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/more-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/more-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/more-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/more-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/zero-byte create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/all-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/all-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/binary-all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/binary-all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/binary-mixed-lf-cr-crlf rename tests/resources/crlf_data/{windows/autocrlf_false,text_auto,eol_crlf/few-utf8-chars-lf => windows_to_odb/autocrlf_true,safecrlf_true,-text/few-utf8-chars-crlf} (100%) create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/few-utf8-chars-lf rename tests/resources/crlf_data/{windows/autocrlf_false,text_auto,eol_crlf/many-utf8-chars-lf => windows_to_odb/autocrlf_true,safecrlf_true,-text/many-utf8-chars-crlf} (100%) create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/more-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/more-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/more-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/more-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/zero-byte create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/all-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/all-lf-utf8bom.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/all-lf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/binary-all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/binary-all-lf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/binary-mixed-lf-cr-crlf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/binary-mixed-lf-cr.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/few-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/few-utf8-chars-lf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/many-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/many-utf8-chars-lf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/mixed-lf-cr-crlf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/mixed-lf-cr.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/more-crlf-utf8bom.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/more-crlf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/more-lf-utf8bom.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/more-lf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/zero-byte create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/all-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/all-lf-utf8bom.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/all-lf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/binary-all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/binary-all-lf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/binary-mixed-lf-cr-crlf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/binary-mixed-lf-cr.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/few-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/few-utf8-chars-lf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/many-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/many-utf8-chars-lf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/mixed-lf-cr-crlf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/mixed-lf-cr.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/more-crlf-utf8bom.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/more-crlf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/more-lf-utf8bom.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/more-lf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/zero-byte create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/all-crlf-utf8bom.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/all-crlf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/all-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/binary-all-crlf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/binary-all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/binary-mixed-lf-cr-crlf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/few-utf8-chars-crlf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/few-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/many-utf8-chars-crlf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/mixed-lf-cr-crlf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/more-crlf-utf8bom.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/more-crlf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/more-lf-utf8bom.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/more-lf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/zero-byte create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/all-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/all-lf-utf8bom.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/all-lf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/binary-all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/binary-all-lf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/binary-mixed-lf-cr-crlf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/binary-mixed-lf-cr.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/few-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/few-utf8-chars-lf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/many-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/many-utf8-chars-lf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/mixed-lf-cr-crlf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/mixed-lf-cr.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/more-crlf-utf8bom.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/more-crlf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/more-lf-utf8bom.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/more-lf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/zero-byte create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/all-crlf-utf8bom.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/all-crlf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/all-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/binary-all-crlf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/binary-all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/binary-mixed-lf-cr-crlf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/few-utf8-chars-crlf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/few-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/many-utf8-chars-crlf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/mixed-lf-cr-crlf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/more-crlf-utf8bom.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/more-crlf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/more-lf-utf8bom.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/more-lf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/zero-byte create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/all-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/all-lf-utf8bom.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/all-lf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/binary-all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/binary-all-lf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/binary-mixed-lf-cr-crlf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/binary-mixed-lf-cr.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/few-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/few-utf8-chars-lf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/many-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/many-utf8-chars-lf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/mixed-lf-cr-crlf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/mixed-lf-cr.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/more-crlf-utf8bom.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/more-crlf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/more-lf-utf8bom.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/more-lf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/zero-byte create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/all-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/all-lf-utf8bom.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/all-lf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/binary-all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/binary-all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/few-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/few-utf8-chars-lf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/many-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/many-utf8-chars-lf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/more-crlf-utf8bom.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/more-crlf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/more-lf-utf8bom.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/more-lf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/zero-byte create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/all-crlf-utf8bom.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/all-crlf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/all-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/binary-all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/binary-all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/binary-mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/few-utf8-chars-crlf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/few-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/many-utf8-chars-crlf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/more-crlf-utf8bom.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/more-crlf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/more-lf-utf8bom.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/more-lf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/zero-byte create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/all-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/all-lf-utf8bom.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/all-lf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/binary-all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/binary-all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/binary-mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/few-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/few-utf8-chars-lf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/many-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/many-utf8-chars-lf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/more-crlf-utf8bom.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/more-crlf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/more-lf-utf8bom.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/more-lf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/zero-byte create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/all-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/all-lf-utf8bom.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/all-lf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/binary-all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/binary-all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/binary-mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/few-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/few-utf8-chars-lf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/many-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/many-utf8-chars-lf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/more-crlf-utf8bom.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/more-crlf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/more-lf-utf8bom.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/more-lf.fail create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/zero-byte create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/all-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/all-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/binary-all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/binary-all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/binary-mixed-lf-cr-crlf rename tests/resources/crlf_data/{windows/autocrlf_false,text_auto/few-utf8-chars-lf => windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/few-utf8-chars-crlf} (100%) create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/few-utf8-chars-lf rename tests/resources/crlf_data/{windows/autocrlf_false,text_auto/many-utf8-chars-lf => windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/many-utf8-chars-crlf} (100%) create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/more-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/more-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/more-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/more-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/zero-byte create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/all-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/all-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/binary-all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/binary-all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/binary-mixed-lf-cr-crlf rename tests/resources/crlf_data/{windows/autocrlf_input,eol_crlf/few-utf8-chars-lf => windows_to_odb/autocrlf_true,safecrlf_warn,-text/few-utf8-chars-crlf} (100%) create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/few-utf8-chars-lf rename tests/resources/crlf_data/{windows/autocrlf_input,eol_crlf/many-utf8-chars-lf => windows_to_odb/autocrlf_true,safecrlf_warn,-text/many-utf8-chars-crlf} (100%) create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/more-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/more-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/more-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/more-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/zero-byte create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/all-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/all-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/binary-all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/binary-all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/binary-mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/few-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/few-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/many-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/more-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/more-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/more-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/more-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/zero-byte create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/all-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/all-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/binary-all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/binary-all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/binary-mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/few-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/few-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/many-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/more-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/more-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/more-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/more-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/zero-byte create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/all-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/all-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/binary-all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/binary-all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/binary-mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/few-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/few-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/many-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/more-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/more-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/more-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/more-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/zero-byte create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/all-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/all-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/binary-all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/binary-all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/binary-mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/few-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/few-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/many-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/more-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/more-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/more-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/more-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/zero-byte create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/all-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/all-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/binary-all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/binary-all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/binary-mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/few-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/few-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/many-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/more-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/more-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/more-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/more-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/zero-byte create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/all-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/all-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/binary-all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/binary-all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/binary-mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/few-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/few-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/many-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/more-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/more-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/more-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/more-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/zero-byte create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/all-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/all-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/binary-all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/binary-all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/binary-mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/few-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/few-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/many-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/more-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/more-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/more-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/more-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/zero-byte create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/all-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/all-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/binary-all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/binary-all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/binary-mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/few-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/few-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/many-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/more-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/more-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/more-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/more-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/zero-byte create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/all-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/all-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/binary-all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/binary-all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/binary-mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/few-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/few-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/many-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/more-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/more-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/more-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/more-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/zero-byte create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/all-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/all-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/binary-all-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/binary-all-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/binary-mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/few-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/few-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/many-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/more-crlf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/more-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/more-lf create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/more-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/zero-byte create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-crlf/all-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-crlf/all-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-crlf/all-lf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-crlf/all-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-crlf/binary-all-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-crlf/binary-all-lf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-crlf/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-crlf/binary-mixed-lf-cr-crlf rename tests/resources/crlf_data/{windows/autocrlf_input,text,eol_crlf/few-utf8-chars-lf => windows_to_workdir/autocrlf_false,-crlf/few-utf8-chars-crlf} (100%) create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-crlf/few-utf8-chars-lf rename tests/resources/crlf_data/{windows/autocrlf_input,text,eol_crlf/many-utf8-chars-lf => windows_to_workdir/autocrlf_false,-crlf/many-utf8-chars-crlf} (100%) create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-crlf/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-crlf/mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-crlf/mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-crlf/more-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-crlf/more-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-crlf/more-lf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-crlf/more-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-crlf/zero-byte create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-text/all-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-text/all-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-text/all-lf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-text/all-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-text/binary-all-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-text/binary-all-lf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-text/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-text/binary-mixed-lf-cr-crlf rename tests/resources/crlf_data/{windows/autocrlf_input,text_auto,eol_crlf/few-utf8-chars-lf => windows_to_workdir/autocrlf_false,-text/few-utf8-chars-crlf} (100%) create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-text/few-utf8-chars-lf rename tests/resources/crlf_data/{windows/autocrlf_input,text_auto,eol_crlf/many-utf8-chars-lf => windows_to_workdir/autocrlf_false,-text/many-utf8-chars-crlf} (100%) create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-text/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-text/mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-text/mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-text/more-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-text/more-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-text/more-lf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-text/more-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-text/zero-byte create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_false,crlf/all-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_false,crlf/all-crlf-utf8bom rename tests/resources/crlf_data/{windows => windows_to_workdir}/autocrlf_false,crlf/all-lf (100%) rename tests/resources/crlf_data/{windows => windows_to_workdir}/autocrlf_false,crlf/all-lf-utf8bom (100%) create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_false,crlf/binary-all-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_false,crlf/binary-all-lf rename tests/resources/crlf_data/{posix/autocrlf_true,text,eol_crlf => windows_to_workdir/autocrlf_false,crlf}/binary-mixed-lf-cr (100%) rename tests/resources/crlf_data/{posix/autocrlf_true,text,eol_crlf => windows_to_workdir/autocrlf_false,crlf}/binary-mixed-lf-cr-crlf (100%) rename tests/resources/crlf_data/{windows/autocrlf_true,crlf/few-utf8-chars-lf => windows_to_workdir/autocrlf_false,crlf/few-utf8-chars-crlf} (100%) rename tests/resources/crlf_data/{windows/autocrlf_true,eol_crlf => windows_to_workdir/autocrlf_false,crlf}/few-utf8-chars-lf (100%) rename tests/resources/crlf_data/{windows/autocrlf_true,crlf/many-utf8-chars-lf => windows_to_workdir/autocrlf_false,crlf/many-utf8-chars-crlf} (100%) rename tests/resources/crlf_data/{windows/autocrlf_true,eol_crlf => windows_to_workdir/autocrlf_false,crlf}/many-utf8-chars-lf (100%) rename tests/resources/crlf_data/{posix/autocrlf_true,text,eol_crlf => windows_to_workdir/autocrlf_false,crlf}/mixed-lf-cr (100%) rename tests/resources/crlf_data/{posix/autocrlf_true,text,eol_crlf => windows_to_workdir/autocrlf_false,crlf}/mixed-lf-cr-crlf (100%) rename tests/resources/crlf_data/{posix/autocrlf_true,text,eol_crlf => windows_to_workdir/autocrlf_false,crlf}/more-crlf (100%) rename tests/resources/crlf_data/{posix/autocrlf_true,text,eol_crlf => windows_to_workdir/autocrlf_false,crlf}/more-crlf-utf8bom (100%) rename tests/resources/crlf_data/{posix/autocrlf_true,text,eol_crlf => windows_to_workdir/autocrlf_false,crlf}/more-lf (100%) rename tests/resources/crlf_data/{posix/autocrlf_true,text,eol_crlf => windows_to_workdir/autocrlf_false,crlf}/more-lf-utf8bom (100%) create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_false,crlf/zero-byte create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_crlf/all-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_crlf/all-crlf-utf8bom rename tests/resources/crlf_data/{windows => windows_to_workdir}/autocrlf_false,eol_crlf/all-lf (100%) rename tests/resources/crlf_data/{windows => windows_to_workdir}/autocrlf_false,eol_crlf/all-lf-utf8bom (100%) create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_crlf/binary-all-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_crlf/binary-all-lf rename tests/resources/crlf_data/{posix/autocrlf_true,text => windows_to_workdir/autocrlf_false,eol_crlf}/binary-mixed-lf-cr (100%) rename tests/resources/crlf_data/{posix/autocrlf_true,text => windows_to_workdir/autocrlf_false,eol_crlf}/binary-mixed-lf-cr-crlf (100%) rename tests/resources/crlf_data/{windows/autocrlf_true,text,eol_crlf/few-utf8-chars-lf => windows_to_workdir/autocrlf_false,eol_crlf/few-utf8-chars-crlf} (100%) rename tests/resources/crlf_data/{windows/autocrlf_true,text => windows_to_workdir/autocrlf_false,eol_crlf}/few-utf8-chars-lf (100%) rename tests/resources/crlf_data/{windows/autocrlf_true,text,eol_crlf/many-utf8-chars-lf => windows_to_workdir/autocrlf_false,eol_crlf/many-utf8-chars-crlf} (100%) rename tests/resources/crlf_data/{windows/autocrlf_true,text => windows_to_workdir/autocrlf_false,eol_crlf}/many-utf8-chars-lf (100%) rename tests/resources/crlf_data/{posix/autocrlf_true,text => windows_to_workdir/autocrlf_false,eol_crlf}/mixed-lf-cr (100%) rename tests/resources/crlf_data/{posix/autocrlf_true,text => windows_to_workdir/autocrlf_false,eol_crlf}/mixed-lf-cr-crlf (100%) rename tests/resources/crlf_data/{posix/autocrlf_true,text => windows_to_workdir/autocrlf_false,eol_crlf}/more-crlf (100%) rename tests/resources/crlf_data/{posix/autocrlf_true,text => windows_to_workdir/autocrlf_false,eol_crlf}/more-crlf-utf8bom (100%) rename tests/resources/crlf_data/{posix/autocrlf_true,text => windows_to_workdir/autocrlf_false,eol_crlf}/more-lf (100%) rename tests/resources/crlf_data/{posix/autocrlf_true,text => windows_to_workdir/autocrlf_false,eol_crlf}/more-lf-utf8bom (100%) create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_crlf/zero-byte create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_lf/all-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_lf/all-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_lf/all-lf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_lf/all-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_lf/binary-all-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_lf/binary-all-lf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_lf/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_lf/binary-mixed-lf-cr-crlf rename tests/resources/crlf_data/{windows/autocrlf_true,text_auto,eol_crlf/few-utf8-chars-lf => windows_to_workdir/autocrlf_false,eol_lf/few-utf8-chars-crlf} (100%) create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_lf/few-utf8-chars-lf rename tests/resources/crlf_data/{windows/autocrlf_true,text_auto,eol_crlf/many-utf8-chars-lf => windows_to_workdir/autocrlf_false,eol_lf/many-utf8-chars-crlf} (100%) create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_lf/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_lf/mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_lf/mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_lf/more-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_lf/more-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_lf/more-lf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_lf/more-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_lf/zero-byte create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_crlf/all-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_crlf/all-crlf-utf8bom rename tests/resources/crlf_data/{windows => windows_to_workdir}/autocrlf_false,text,eol_crlf/all-lf (100%) rename tests/resources/crlf_data/{windows => windows_to_workdir}/autocrlf_false,text,eol_crlf/all-lf-utf8bom (100%) create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_crlf/binary-all-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_crlf/binary-all-lf rename tests/resources/crlf_data/{posix/autocrlf_true,text_auto,eol_crlf => windows_to_workdir/autocrlf_false,text,eol_crlf}/binary-mixed-lf-cr (100%) rename tests/resources/crlf_data/{posix/autocrlf_true,text_auto,eol_crlf => windows_to_workdir/autocrlf_false,text,eol_crlf}/binary-mixed-lf-cr-crlf (100%) rename tests/resources/crlf_data/{windows/autocrlf_true,text_auto/few-utf8-chars-lf => windows_to_workdir/autocrlf_false,text,eol_crlf/few-utf8-chars-crlf} (100%) rename tests/resources/crlf_data/{windows/autocrlf_true => windows_to_workdir/autocrlf_false,text,eol_crlf}/few-utf8-chars-lf (100%) rename tests/resources/crlf_data/{windows/autocrlf_true,text_auto/many-utf8-chars-lf => windows_to_workdir/autocrlf_false,text,eol_crlf/many-utf8-chars-crlf} (100%) rename tests/resources/crlf_data/{windows/autocrlf_true => windows_to_workdir/autocrlf_false,text,eol_crlf}/many-utf8-chars-lf (100%) rename tests/resources/crlf_data/{posix/autocrlf_true,text_auto,eol_crlf => windows_to_workdir/autocrlf_false,text,eol_crlf}/mixed-lf-cr (100%) rename tests/resources/crlf_data/{posix/autocrlf_true,text_auto,eol_crlf => windows_to_workdir/autocrlf_false,text,eol_crlf}/mixed-lf-cr-crlf (100%) rename tests/resources/crlf_data/{posix/autocrlf_true,text_auto,eol_crlf => windows_to_workdir/autocrlf_false,text,eol_crlf}/more-crlf (100%) rename tests/resources/crlf_data/{posix/autocrlf_true,text_auto,eol_crlf => windows_to_workdir/autocrlf_false,text,eol_crlf}/more-crlf-utf8bom (100%) rename tests/resources/crlf_data/{posix/autocrlf_true,text_auto,eol_crlf => windows_to_workdir/autocrlf_false,text,eol_crlf}/more-lf (100%) rename tests/resources/crlf_data/{posix/autocrlf_true,text_auto,eol_crlf => windows_to_workdir/autocrlf_false,text,eol_crlf}/more-lf-utf8bom (100%) create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_crlf/zero-byte create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_lf/all-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_lf/all-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_lf/all-lf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_lf/all-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_lf/binary-all-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_lf/binary-all-lf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_lf/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_lf/binary-mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_lf/few-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_lf/few-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_lf/many-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_lf/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_lf/mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_lf/mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_lf/more-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_lf/more-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_lf/more-lf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_lf/more-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_lf/zero-byte create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text/all-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text/all-crlf-utf8bom rename tests/resources/crlf_data/{windows => windows_to_workdir}/autocrlf_false,text/all-lf (100%) rename tests/resources/crlf_data/{windows => windows_to_workdir}/autocrlf_false,text/all-lf-utf8bom (100%) create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text/binary-all-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text/binary-all-lf rename tests/resources/crlf_data/{windows/autocrlf_false,crlf => windows_to_workdir/autocrlf_false,text}/binary-mixed-lf-cr (100%) rename tests/resources/crlf_data/{windows/autocrlf_false,crlf => windows_to_workdir/autocrlf_false,text}/binary-mixed-lf-cr-crlf (100%) create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text/few-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text/few-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text/many-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text/many-utf8-chars-lf rename tests/resources/crlf_data/{windows/autocrlf_false,crlf => windows_to_workdir/autocrlf_false,text}/mixed-lf-cr (100%) rename tests/resources/crlf_data/{windows/autocrlf_false,crlf => windows_to_workdir/autocrlf_false,text}/mixed-lf-cr-crlf (100%) rename tests/resources/crlf_data/{posix/autocrlf_true,text_auto => windows_to_workdir/autocrlf_false,text}/more-crlf (100%) rename tests/resources/crlf_data/{posix/autocrlf_true,text_auto => windows_to_workdir/autocrlf_false,text}/more-crlf-utf8bom (100%) rename tests/resources/crlf_data/{posix/autocrlf_true,text_auto => windows_to_workdir/autocrlf_false,text}/more-lf (100%) rename tests/resources/crlf_data/{posix/autocrlf_true,text_auto => windows_to_workdir/autocrlf_false,text}/more-lf-utf8bom (100%) create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text/zero-byte create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_crlf/all-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_crlf/all-crlf-utf8bom rename tests/resources/crlf_data/{windows => windows_to_workdir}/autocrlf_false,text_auto,eol_crlf/all-lf (100%) rename tests/resources/crlf_data/{windows => windows_to_workdir}/autocrlf_false,text_auto,eol_crlf/all-lf-utf8bom (100%) create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_crlf/binary-all-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_crlf/binary-all-lf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_crlf/few-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_crlf/few-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_crlf/many-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_crlf/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_crlf/mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_crlf/mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_crlf/more-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_crlf/more-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_crlf/more-lf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_crlf/more-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_crlf/zero-byte create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_lf/all-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_lf/all-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_lf/all-lf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_lf/all-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_lf/binary-all-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_lf/binary-all-lf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_lf/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_lf/binary-mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_lf/few-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_lf/few-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_lf/many-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_lf/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_lf/mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_lf/mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_lf/more-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_lf/more-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_lf/more-lf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_lf/more-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_lf/zero-byte create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto/all-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto/all-crlf-utf8bom rename tests/resources/crlf_data/{windows => windows_to_workdir}/autocrlf_false,text_auto/all-lf (100%) rename tests/resources/crlf_data/{windows => windows_to_workdir}/autocrlf_false,text_auto/all-lf-utf8bom (100%) create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto/binary-all-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto/binary-all-lf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto/binary-mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto/few-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto/few-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto/many-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto/mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto/mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto/more-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto/more-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto/more-lf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto/more-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto/zero-byte create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_false/all-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_false/all-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_false/all-lf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_false/all-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_false/binary-all-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_false/binary-all-lf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_false/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_false/binary-mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_false/few-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_false/few-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_false/many-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_false/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_false/mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_false/mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_false/more-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_false/more-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_false/more-lf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_false/more-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_false/zero-byte create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-crlf/all-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-crlf/all-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-crlf/all-lf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-crlf/all-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-crlf/binary-all-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-crlf/binary-all-lf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-crlf/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-crlf/binary-mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-crlf/few-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-crlf/few-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-crlf/many-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-crlf/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-crlf/mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-crlf/mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-crlf/more-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-crlf/more-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-crlf/more-lf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-crlf/more-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-crlf/zero-byte create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-text/all-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-text/all-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-text/all-lf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-text/all-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-text/binary-all-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-text/binary-all-lf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-text/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-text/binary-mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-text/few-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-text/few-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-text/many-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-text/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-text/mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-text/mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-text/more-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-text/more-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-text/more-lf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-text/more-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-text/zero-byte create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,crlf/all-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,crlf/all-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,crlf/all-lf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,crlf/all-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,crlf/binary-all-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,crlf/binary-all-lf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,crlf/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,crlf/binary-mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,crlf/few-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,crlf/few-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,crlf/many-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,crlf/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,crlf/mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,crlf/mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,crlf/more-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,crlf/more-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,crlf/more-lf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,crlf/more-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,crlf/zero-byte create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_crlf/all-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_crlf/all-crlf-utf8bom rename tests/resources/crlf_data/{windows => windows_to_workdir}/autocrlf_input,eol_crlf/all-lf (100%) rename tests/resources/crlf_data/{windows => windows_to_workdir}/autocrlf_input,eol_crlf/all-lf-utf8bom (100%) create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_crlf/binary-all-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_crlf/binary-all-lf rename tests/resources/crlf_data/{windows/autocrlf_false,eol_crlf => windows_to_workdir/autocrlf_input,eol_crlf}/binary-mixed-lf-cr (100%) rename tests/resources/crlf_data/{windows/autocrlf_false,eol_crlf => windows_to_workdir/autocrlf_input,eol_crlf}/binary-mixed-lf-cr-crlf (100%) create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_crlf/few-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_crlf/few-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_crlf/many-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_crlf/many-utf8-chars-lf rename tests/resources/crlf_data/{windows/autocrlf_false,eol_crlf => windows_to_workdir/autocrlf_input,eol_crlf}/mixed-lf-cr (100%) rename tests/resources/crlf_data/{windows/autocrlf_false,eol_crlf => windows_to_workdir/autocrlf_input,eol_crlf}/mixed-lf-cr-crlf (100%) rename tests/resources/crlf_data/{windows/autocrlf_false,crlf => windows_to_workdir/autocrlf_input,eol_crlf}/more-crlf (100%) rename tests/resources/crlf_data/{windows/autocrlf_false,crlf => windows_to_workdir/autocrlf_input,eol_crlf}/more-crlf-utf8bom (100%) rename tests/resources/crlf_data/{windows/autocrlf_false,crlf => windows_to_workdir/autocrlf_input,eol_crlf}/more-lf (100%) rename tests/resources/crlf_data/{windows/autocrlf_false,crlf => windows_to_workdir/autocrlf_input,eol_crlf}/more-lf-utf8bom (100%) create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_crlf/zero-byte create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_lf/all-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_lf/all-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_lf/all-lf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_lf/all-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_lf/binary-all-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_lf/binary-all-lf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_lf/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_lf/binary-mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_lf/few-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_lf/few-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_lf/many-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_lf/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_lf/mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_lf/mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_lf/more-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_lf/more-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_lf/more-lf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_lf/more-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_lf/zero-byte create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_crlf/all-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_crlf/all-crlf-utf8bom rename tests/resources/crlf_data/{windows => windows_to_workdir}/autocrlf_input,text,eol_crlf/all-lf (100%) rename tests/resources/crlf_data/{windows => windows_to_workdir}/autocrlf_input,text,eol_crlf/all-lf-utf8bom (100%) create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_crlf/binary-all-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_crlf/binary-all-lf rename tests/resources/crlf_data/{windows/autocrlf_false,text,eol_crlf => windows_to_workdir/autocrlf_input,text,eol_crlf}/binary-mixed-lf-cr (100%) rename tests/resources/crlf_data/{windows/autocrlf_false,text,eol_crlf => windows_to_workdir/autocrlf_input,text,eol_crlf}/binary-mixed-lf-cr-crlf (100%) create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_crlf/few-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_crlf/few-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_crlf/many-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_crlf/many-utf8-chars-lf rename tests/resources/crlf_data/{windows/autocrlf_false,text,eol_crlf => windows_to_workdir/autocrlf_input,text,eol_crlf}/mixed-lf-cr (100%) rename tests/resources/crlf_data/{windows/autocrlf_false,text,eol_crlf => windows_to_workdir/autocrlf_input,text,eol_crlf}/mixed-lf-cr-crlf (100%) rename tests/resources/crlf_data/{windows/autocrlf_false,eol_crlf => windows_to_workdir/autocrlf_input,text,eol_crlf}/more-crlf (100%) rename tests/resources/crlf_data/{windows/autocrlf_false,eol_crlf => windows_to_workdir/autocrlf_input,text,eol_crlf}/more-crlf-utf8bom (100%) rename tests/resources/crlf_data/{windows/autocrlf_false,eol_crlf => windows_to_workdir/autocrlf_input,text,eol_crlf}/more-lf (100%) rename tests/resources/crlf_data/{windows/autocrlf_false,eol_crlf => windows_to_workdir/autocrlf_input,text,eol_crlf}/more-lf-utf8bom (100%) create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_crlf/zero-byte create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_lf/all-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_lf/all-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_lf/all-lf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_lf/all-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_lf/binary-all-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_lf/binary-all-lf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_lf/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_lf/binary-mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_lf/few-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_lf/few-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_lf/many-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_lf/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_lf/mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_lf/mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_lf/more-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_lf/more-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_lf/more-lf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_lf/more-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_lf/zero-byte create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text/all-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text/all-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text/all-lf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text/all-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text/binary-all-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text/binary-all-lf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text/binary-mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text/few-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text/few-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text/many-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text/mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text/mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text/more-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text/more-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text/more-lf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text/more-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text/zero-byte create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_crlf/all-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_crlf/all-crlf-utf8bom rename tests/resources/crlf_data/{windows => windows_to_workdir}/autocrlf_input,text_auto,eol_crlf/all-lf (100%) rename tests/resources/crlf_data/{windows => windows_to_workdir}/autocrlf_input,text_auto,eol_crlf/all-lf-utf8bom (100%) create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_crlf/binary-all-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_crlf/binary-all-lf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_crlf/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_crlf/binary-mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_crlf/few-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_crlf/few-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_crlf/many-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_crlf/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_crlf/mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_crlf/mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_crlf/more-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_crlf/more-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_crlf/more-lf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_crlf/more-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_crlf/zero-byte create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_lf/all-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_lf/all-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_lf/all-lf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_lf/all-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_lf/binary-all-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_lf/binary-all-lf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_lf/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_lf/binary-mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_lf/few-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_lf/few-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_lf/many-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_lf/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_lf/mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_lf/mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_lf/more-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_lf/more-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_lf/more-lf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_lf/more-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_lf/zero-byte create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto/all-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto/all-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto/all-lf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto/all-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto/binary-all-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto/binary-all-lf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto/binary-mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto/few-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto/few-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto/many-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto/mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto/mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto/more-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto/more-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto/more-lf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto/more-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto/zero-byte create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input/all-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input/all-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input/all-lf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input/all-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input/binary-all-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input/binary-all-lf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input/binary-mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input/few-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input/few-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input/many-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input/mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input/mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input/more-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input/more-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input/more-lf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input/more-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_input/zero-byte create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-crlf/all-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-crlf/all-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-crlf/all-lf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-crlf/all-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-crlf/binary-all-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-crlf/binary-all-lf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-crlf/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-crlf/binary-mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-crlf/few-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-crlf/few-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-crlf/many-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-crlf/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-crlf/mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-crlf/mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-crlf/more-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-crlf/more-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-crlf/more-lf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-crlf/more-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-crlf/zero-byte create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-text/all-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-text/all-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-text/all-lf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-text/all-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-text/binary-all-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-text/binary-all-lf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-text/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-text/binary-mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-text/few-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-text/few-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-text/many-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-text/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-text/mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-text/mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-text/more-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-text/more-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-text/more-lf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-text/more-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-text/zero-byte create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true,crlf/all-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true,crlf/all-crlf-utf8bom rename tests/resources/crlf_data/{windows => windows_to_workdir}/autocrlf_true,crlf/all-lf (100%) rename tests/resources/crlf_data/{windows => windows_to_workdir}/autocrlf_true,crlf/all-lf-utf8bom (100%) create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true,crlf/binary-all-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true,crlf/binary-all-lf rename tests/resources/crlf_data/{windows/autocrlf_false,text => windows_to_workdir/autocrlf_true,crlf}/binary-mixed-lf-cr (100%) rename tests/resources/crlf_data/{windows/autocrlf_false,text => windows_to_workdir/autocrlf_true,crlf}/binary-mixed-lf-cr-crlf (100%) create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true,crlf/few-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true,crlf/few-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true,crlf/many-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true,crlf/many-utf8-chars-lf rename tests/resources/crlf_data/{windows/autocrlf_false,text => windows_to_workdir/autocrlf_true,crlf}/mixed-lf-cr (100%) rename tests/resources/crlf_data/{windows/autocrlf_false,text => windows_to_workdir/autocrlf_true,crlf}/mixed-lf-cr-crlf (100%) rename tests/resources/crlf_data/{windows/autocrlf_false,text,eol_crlf => windows_to_workdir/autocrlf_true,crlf}/more-crlf (100%) rename tests/resources/crlf_data/{windows/autocrlf_false,text,eol_crlf => windows_to_workdir/autocrlf_true,crlf}/more-crlf-utf8bom (100%) rename tests/resources/crlf_data/{windows/autocrlf_false,text,eol_crlf => windows_to_workdir/autocrlf_true,crlf}/more-lf (100%) rename tests/resources/crlf_data/{windows/autocrlf_false,text,eol_crlf => windows_to_workdir/autocrlf_true,crlf}/more-lf-utf8bom (100%) create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true,crlf/zero-byte create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_crlf/all-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_crlf/all-crlf-utf8bom rename tests/resources/crlf_data/{windows => windows_to_workdir}/autocrlf_true,eol_crlf/all-lf (100%) rename tests/resources/crlf_data/{windows => windows_to_workdir}/autocrlf_true,eol_crlf/all-lf-utf8bom (100%) create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_crlf/binary-all-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_crlf/binary-all-lf rename tests/resources/crlf_data/{windows/autocrlf_false,text_auto,eol_crlf => windows_to_workdir/autocrlf_true,eol_crlf}/binary-mixed-lf-cr (100%) rename tests/resources/crlf_data/{windows/autocrlf_false,text_auto,eol_crlf => windows_to_workdir/autocrlf_true,eol_crlf}/binary-mixed-lf-cr-crlf (100%) create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_crlf/few-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_crlf/few-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_crlf/many-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_crlf/many-utf8-chars-lf rename tests/resources/crlf_data/{windows/autocrlf_false,text_auto,eol_crlf => windows_to_workdir/autocrlf_true,eol_crlf}/mixed-lf-cr (100%) rename tests/resources/crlf_data/{windows/autocrlf_false,text_auto,eol_crlf => windows_to_workdir/autocrlf_true,eol_crlf}/mixed-lf-cr-crlf (100%) rename tests/resources/crlf_data/{windows/autocrlf_false,text => windows_to_workdir/autocrlf_true,eol_crlf}/more-crlf (100%) rename tests/resources/crlf_data/{windows/autocrlf_false,text => windows_to_workdir/autocrlf_true,eol_crlf}/more-crlf-utf8bom (100%) rename tests/resources/crlf_data/{windows/autocrlf_false,text => windows_to_workdir/autocrlf_true,eol_crlf}/more-lf (100%) rename tests/resources/crlf_data/{windows/autocrlf_false,text => windows_to_workdir/autocrlf_true,eol_crlf}/more-lf-utf8bom (100%) create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_crlf/zero-byte create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_lf/all-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_lf/all-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_lf/all-lf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_lf/all-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_lf/binary-all-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_lf/binary-all-lf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_lf/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_lf/binary-mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_lf/few-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_lf/few-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_lf/many-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_lf/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_lf/mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_lf/mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_lf/more-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_lf/more-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_lf/more-lf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_lf/more-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_lf/zero-byte create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_crlf/all-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_crlf/all-crlf-utf8bom rename tests/resources/crlf_data/{windows => windows_to_workdir}/autocrlf_true,text,eol_crlf/all-lf (100%) rename tests/resources/crlf_data/{windows => windows_to_workdir}/autocrlf_true,text,eol_crlf/all-lf-utf8bom (100%) create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_crlf/binary-all-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_crlf/binary-all-lf rename tests/resources/crlf_data/{windows/autocrlf_input,eol_crlf => windows_to_workdir/autocrlf_true,text,eol_crlf}/binary-mixed-lf-cr (100%) rename tests/resources/crlf_data/{windows/autocrlf_input,eol_crlf => windows_to_workdir/autocrlf_true,text,eol_crlf}/binary-mixed-lf-cr-crlf (100%) create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_crlf/few-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_crlf/few-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_crlf/many-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_crlf/many-utf8-chars-lf rename tests/resources/crlf_data/{windows/autocrlf_input,eol_crlf => windows_to_workdir/autocrlf_true,text,eol_crlf}/mixed-lf-cr (100%) rename tests/resources/crlf_data/{windows/autocrlf_input,eol_crlf => windows_to_workdir/autocrlf_true,text,eol_crlf}/mixed-lf-cr-crlf (100%) rename tests/resources/crlf_data/{windows/autocrlf_false,text_auto,eol_crlf => windows_to_workdir/autocrlf_true,text,eol_crlf}/more-crlf (100%) rename tests/resources/crlf_data/{windows/autocrlf_false,text_auto,eol_crlf => windows_to_workdir/autocrlf_true,text,eol_crlf}/more-crlf-utf8bom (100%) rename tests/resources/crlf_data/{windows/autocrlf_false,text_auto,eol_crlf => windows_to_workdir/autocrlf_true,text,eol_crlf}/more-lf (100%) rename tests/resources/crlf_data/{windows/autocrlf_false,text_auto,eol_crlf => windows_to_workdir/autocrlf_true,text,eol_crlf}/more-lf-utf8bom (100%) create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_crlf/zero-byte create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_lf/all-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_lf/all-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_lf/all-lf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_lf/all-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_lf/binary-all-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_lf/binary-all-lf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_lf/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_lf/binary-mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_lf/few-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_lf/few-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_lf/many-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_lf/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_lf/mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_lf/mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_lf/more-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_lf/more-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_lf/more-lf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_lf/more-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_lf/zero-byte create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text/all-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text/all-crlf-utf8bom rename tests/resources/crlf_data/{windows => windows_to_workdir}/autocrlf_true,text/all-lf (100%) rename tests/resources/crlf_data/{windows => windows_to_workdir}/autocrlf_true,text/all-lf-utf8bom (100%) create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text/binary-all-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text/binary-all-lf rename tests/resources/crlf_data/{windows/autocrlf_input,text,eol_crlf => windows_to_workdir/autocrlf_true,text}/binary-mixed-lf-cr (100%) rename tests/resources/crlf_data/{windows/autocrlf_input,text,eol_crlf => windows_to_workdir/autocrlf_true,text}/binary-mixed-lf-cr-crlf (100%) create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text/few-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text/few-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text/many-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text/many-utf8-chars-lf rename tests/resources/crlf_data/{windows/autocrlf_input,text,eol_crlf => windows_to_workdir/autocrlf_true,text}/mixed-lf-cr (100%) rename tests/resources/crlf_data/{windows/autocrlf_input,text,eol_crlf => windows_to_workdir/autocrlf_true,text}/mixed-lf-cr-crlf (100%) rename tests/resources/crlf_data/{windows/autocrlf_false,text_auto => windows_to_workdir/autocrlf_true,text}/more-crlf (100%) rename tests/resources/crlf_data/{windows/autocrlf_false,text_auto => windows_to_workdir/autocrlf_true,text}/more-crlf-utf8bom (100%) rename tests/resources/crlf_data/{windows/autocrlf_false,text_auto => windows_to_workdir/autocrlf_true,text}/more-lf (100%) rename tests/resources/crlf_data/{windows/autocrlf_false,text_auto => windows_to_workdir/autocrlf_true,text}/more-lf-utf8bom (100%) create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text/zero-byte create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_crlf/all-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_crlf/all-crlf-utf8bom rename tests/resources/crlf_data/{windows => windows_to_workdir}/autocrlf_true,text_auto,eol_crlf/all-lf (100%) rename tests/resources/crlf_data/{windows => windows_to_workdir}/autocrlf_true,text_auto,eol_crlf/all-lf-utf8bom (100%) create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_crlf/binary-all-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_crlf/binary-all-lf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_crlf/few-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_crlf/few-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_crlf/many-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_crlf/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_crlf/mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_crlf/mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_crlf/more-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_crlf/more-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_crlf/more-lf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_crlf/more-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_crlf/zero-byte create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_lf/all-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_lf/all-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_lf/all-lf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_lf/all-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_lf/binary-all-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_lf/binary-all-lf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_lf/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_lf/binary-mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_lf/few-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_lf/few-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_lf/many-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_lf/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_lf/mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_lf/mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_lf/more-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_lf/more-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_lf/more-lf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_lf/more-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_lf/zero-byte create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto/all-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto/all-crlf-utf8bom rename tests/resources/crlf_data/{windows => windows_to_workdir}/autocrlf_true,text_auto/all-lf (100%) rename tests/resources/crlf_data/{windows => windows_to_workdir}/autocrlf_true,text_auto/all-lf-utf8bom (100%) create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto/binary-all-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto/binary-all-lf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto/binary-mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto/few-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto/few-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto/many-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto/mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto/mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto/more-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto/more-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto/more-lf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto/more-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto/zero-byte create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true/all-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true/all-crlf-utf8bom rename tests/resources/crlf_data/{windows => windows_to_workdir}/autocrlf_true/all-lf (100%) rename tests/resources/crlf_data/{windows => windows_to_workdir}/autocrlf_true/all-lf-utf8bom (100%) create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true/binary-all-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true/binary-all-lf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true/binary-mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true/binary-mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true/few-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true/few-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true/many-utf8-chars-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true/many-utf8-chars-lf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true/mixed-lf-cr create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true/mixed-lf-cr-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true/more-crlf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true/more-crlf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true/more-lf create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true/more-lf-utf8bom create mode 100644 tests/resources/crlf_data/windows_to_workdir/autocrlf_true/zero-byte create mode 100644 tests/resources/diff_format_email/.gitted/objects/07/594f324ebcf92902334c6016e30e716431dfbc create mode 100644 tests/resources/diff_format_email/.gitted/objects/0d/593fca18d1ab11deb6e8025c9fe417456fe883 create mode 100644 tests/resources/diff_format_email/.gitted/objects/0d/b2a262bc8c5c3cba55254730045a8258da7a37 create mode 100644 tests/resources/diff_format_email/.gitted/objects/39/ed6bbd76bca81c50db3aaca261456284f5d5b8 create mode 100644 tests/resources/diff_format_email/.gitted/objects/53/92ef3c959f744b892bbebb168bbbb7b05c03f3 create mode 100644 tests/resources/diff_format_email/.gitted/objects/85/fa91713734c588c897dd6dd67a39576f67ae50 create mode 100644 tests/resources/diff_format_email/.gitted/objects/8c/637df9661edd808932b2f5d383f2c41ced9f06 create mode 100644 tests/resources/diff_format_email/.gitted/objects/94/f84b3e65e8bcbe8bffef2c885339343a802dd4 create mode 100644 tests/resources/diff_format_email/.gitted/objects/bb/07a00e58b260c4eb9a82f8afbc1d80ad9739bf create mode 100644 tests/resources/diff_format_email/dir/renamed.txt create mode 100755 tests/resources/generate_crlf.sh create mode 100644 tests/resources/mailmap/.gitted/HEAD create mode 100644 tests/resources/mailmap/.gitted/config create mode 100644 tests/resources/mailmap/.gitted/description create mode 100644 tests/resources/mailmap/.gitted/index create mode 100644 tests/resources/mailmap/.gitted/info/exclude create mode 100644 tests/resources/mailmap/.gitted/objects/00/1387531bed84262f137837125d4d998a9ba65d create mode 100644 tests/resources/mailmap/.gitted/objects/02/7b2816ae0d7a08ba656d0417c09b4eac18cf00 create mode 100644 tests/resources/mailmap/.gitted/objects/09/20975110511365e56aec2263082d0c3d56d1fa create mode 100644 tests/resources/mailmap/.gitted/objects/0c/d99501dfbec781a22ff7b84426b7bb308e709a create mode 100644 tests/resources/mailmap/.gitted/objects/1e/1212e7674820c17f7b8797aee7bf38ece0e838 create mode 100644 tests/resources/mailmap/.gitted/objects/36/370b71f5aad1dd46bec5e14145280a843c9f49 create mode 100644 tests/resources/mailmap/.gitted/objects/3a/1295dbc9234c0c5947c72803618c7112a01447 create mode 100644 tests/resources/mailmap/.gitted/objects/3f/134546ae8fbe95a39dd20ea8c12b5fb0f48afb create mode 100644 tests/resources/mailmap/.gitted/objects/43/179dc93939196f59b25387b5e44e9e8794f84c create mode 100644 tests/resources/mailmap/.gitted/objects/46/b5bb908c78b575cac9f9e6e42ff9ba3f769a46 create mode 100644 tests/resources/mailmap/.gitted/objects/4b/4d2010ba256ef339c1d1854d20249da7478f01 create mode 100644 tests/resources/mailmap/.gitted/objects/4b/825dc642cb6eb9a060e54bf8d69288fbee4904 create mode 100644 tests/resources/mailmap/.gitted/objects/4d/61d588546529ad27b2d77a3d6b05460ecb4be0 create mode 100644 tests/resources/mailmap/.gitted/objects/50/d69f4e64be2cff2cedde8f9b7f970257caf4dd create mode 100644 tests/resources/mailmap/.gitted/objects/61/293f4c3d7500d227a755a7a8258e28e53449b2 create mode 100644 tests/resources/mailmap/.gitted/objects/62/7f0bd2f4fb5e949b79ba450d84676fa876b1c8 create mode 100644 tests/resources/mailmap/.gitted/objects/68/dfd5e5cb6138488680246d134f47ce559f4cf1 create mode 100644 tests/resources/mailmap/.gitted/objects/69/b9768d022706dab26e2af4dd5a13f42039e36f create mode 100644 tests/resources/mailmap/.gitted/objects/6a/0fc44893d4867166f9d321f78c269b3e42b08b create mode 100644 tests/resources/mailmap/.gitted/objects/6c/dec08ab9bfcd5a3d889f27bbed650317e3ec13 create mode 100644 tests/resources/mailmap/.gitted/objects/71/00e631fb4d5deba31fdc8acc98f4fb5c1573fd create mode 100644 tests/resources/mailmap/.gitted/objects/7e/cbb98d860b304f622b38ce9ab8f08d14d981a8 create mode 100644 tests/resources/mailmap/.gitted/objects/7e/e7b9a4a2a1eda925f6260338c063d8211d5ad5 create mode 100644 tests/resources/mailmap/.gitted/objects/83/714a9223f3e072b85f0d4301cd2081fff3acf2 create mode 100644 tests/resources/mailmap/.gitted/objects/87/ce8d4920a30ddb9547334e7c65806518863ff1 create mode 100644 tests/resources/mailmap/.gitted/objects/8c/f0547fcb649b44ebaf39b8104982bb0abb4e69 create mode 100644 tests/resources/mailmap/.gitted/objects/94/7ff75c33ac7941a32fe9900118b6ba85ab2be9 create mode 100644 tests/resources/mailmap/.gitted/objects/95/d03c49d94de67d5a05553a1bb22e78f7cdf5ca create mode 100644 tests/resources/mailmap/.gitted/objects/96/78a4325710507f7bf598a0fde5ebbd88148614 create mode 100644 tests/resources/mailmap/.gitted/objects/a1/6db1cbb8817dddcf199c12d3c81221cf8eefc4 create mode 100644 tests/resources/mailmap/.gitted/objects/a7/054a4b356b3ecdec60cee66e50beaa5b863755 create mode 100644 tests/resources/mailmap/.gitted/objects/a7/eb40274887baeb01a958ead80d106b5977312c create mode 100644 tests/resources/mailmap/.gitted/objects/c9/e5462de8ec453e94d85f26f64b80ea76fda6d4 create mode 100644 tests/resources/mailmap/.gitted/objects/d3/e5e624cc7bfb09ac1960ebb6c458021b098f87 create mode 100644 tests/resources/mailmap/.gitted/objects/f6/3578091d884c3066a003c50eb6c85ae7542269 create mode 100644 tests/resources/mailmap/.gitted/objects/fe/dd34e8baffdb2acfe9a6860bf339287ca942bc create mode 100644 tests/resources/mailmap/.gitted/objects/fe/ef8f2135df4835496e4d576b1f1bd23510e1c5 create mode 100644 tests/resources/mailmap/.gitted/refs/heads/master create mode 100644 tests/resources/mailmap/.mailmap create mode 100644 tests/resources/mailmap/file.txt create mode 100644 tests/resources/mailmap/file_override create mode 100644 tests/resources/merge-recursive/.gitted/objects/06/d3fefb8726ab1099acc76e02dfb85e034b2538 create mode 100644 tests/resources/splitindex/.gitted/HEAD create mode 100644 tests/resources/splitindex/.gitted/config create mode 100644 tests/resources/splitindex/.gitted/index create mode 100644 tests/resources/splitindex/.gitted/info/exclude create mode 100644 tests/resources/splitindex/.gitted/objects/.gitkeep create mode 100644 tests/resources/splitindex/.gitted/refs/.gitkeep create mode 100644 tests/resources/splitindex/.gitted/sharedindex.39d890139ee5356c7ef572216cebcd27aa41f9df create mode 100644 tests/resources/testrepo/.gitted/objects/97/328ac7e3bd0bcd3900cb3e7a624d71dd0df888 create mode 100644 tests/resources/testrepo/.gitted/objects/99/1f1b12603e1d78411c1b4042719f964efa7adf rename tests/{core/stream.c => stream/deprecated.c} (62%) create mode 100644 tests/stream/registration.c create mode 100644 tests/worktree/bare.c diff --git a/.editorconfig b/.editorconfig index be59274e8..d4b419012 100644 --- a/.editorconfig +++ b/.editorconfig @@ -12,3 +12,4 @@ insert_final_newline = true [*.md] indent_style = space indent_size = 4 +trim_trailing_whitespace = false diff --git a/.github/ISSUE_TEMPLATE b/.github/ISSUE_TEMPLATE index 1e432aeef..717f8b934 100644 --- a/.github/ISSUE_TEMPLATE +++ b/.github/ISSUE_TEMPLATE @@ -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 diff --git a/.gitignore b/.gitignore index 1ef1ec730..5991a41b9 100644 --- a/.gitignore +++ b/.gitignore @@ -31,3 +31,5 @@ msvc/Release/ .*.swp tags mkmf.log +*.profdata +*.profraw diff --git a/.mailmap b/.mailmap index 8479cf6c4..0b16a7e1f 100644 --- a/.mailmap +++ b/.mailmap @@ -16,7 +16,7 @@ Xavier L. Sascha Cunz Authmillenon Authmillenon -Edward Thomson -Edward Thomson +Edward Thomson +Edward Thomson J. David Ibáñez Russell Belfer diff --git a/CMakeLists.txt b/CMakeLists.txt index 83898c570..88eb9ec10 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -14,12 +14,15 @@ 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/README.md b/README.md index 1ec0bd800..3d05dab8e 100644 --- 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/api.docurium b/api.docurium index 9e17817db..bf733273b 100644 --- a/api.docurium +++ b/api.docurium @@ -1,7 +1,7 @@ { "name": "libgit2", "github": "libgit2/libgit2", - "input": "include/git2", + "input": "include", "prefix": "git_", "output": "docs", "branch": "gh-pages", diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 64007d1a2..a37319adf 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -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/ci/bash.yml b/azure-pipelines/bash.yml similarity index 100% rename from ci/bash.yml rename to azure-pipelines/bash.yml diff --git a/azure-pipelines/coverity.yml b/azure-pipelines/coverity.yml new file mode 100644 index 000000000..d8d34229e --- /dev/null +++ b/azure-pipelines/coverity.yml @@ -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/ci/docker.yml b/azure-pipelines/docker.yml similarity index 85% rename from ci/docker.yml rename to azure-pipelines/docker.yml index e92510478..2744a63ae 100644 --- a/ci/docker.yml +++ b/azure-pipelines/docker.yml @@ -1,5 +1,9 @@ # 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: diff --git a/azure-pipelines/nightly.yml b/azure-pipelines/nightly.yml new file mode 100644 index 000000000..fd76b97a8 --- /dev/null +++ b/azure-pipelines/nightly.yml @@ -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/ci/powershell.yml b/azure-pipelines/powershell.yml similarity index 100% rename from ci/powershell.yml rename to azure-pipelines/powershell.yml diff --git a/ci/build.sh b/ci/build.sh index 3757be48d..7ffa610ae 100755 --- a/ci/build.sh +++ b/ci/build.sh @@ -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.sh b/ci/coverity-build.sh similarity index 60% rename from ci/coverity.sh rename to ci/coverity-build.sh index a97fae8c8..f8264fa83 100755 --- a/ci/coverity.sh +++ b/ci/coverity-build.sh @@ -39,27 +39,3 @@ 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/coverity-publish.sh b/ci/coverity-publish.sh new file mode 100755 index 000000000..2341b13fb --- /dev/null +++ b/ci/coverity-publish.sh @@ -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/nightly.yml b/ci/nightly.yml deleted file mode 100644 index 4d6d8a3e8..000000000 --- a/ci/nightly.yml +++ /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/setup-linux.sh b/ci/setup-linux.sh index a0db14ee0..c5ecb550b 100755 --- a/ci/setup-linux.sh +++ b/ci/setup-linux.sh @@ -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 diff --git a/ci/setup-osx.sh b/ci/setup-osx.sh index 564910e41..2e630eedb 100755 --- a/ci/setup-osx.sh +++ b/ci/setup-osx.sh @@ -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 diff --git a/ci/test.ps1 b/ci/test.ps1 index 1cf02118f..06e0ab228 100644 --- a/ci/test.ps1 +++ b/ci/test.ps1 @@ -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 } diff --git a/ci/test.sh b/ci/test.sh index fea9d82d7..136ff2581 100755 --- a/ci/test.sh +++ b/ci/test.sh @@ -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 diff --git a/cmake/Modules/AddCFlagIfSupported.cmake b/cmake/Modules/AddCFlagIfSupported.cmake index 67fc89510..b7aaa7910 100644 --- a/cmake/Modules/AddCFlagIfSupported.cmake +++ b/cmake/Modules/AddCFlagIfSupported.cmake @@ -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) diff --git a/cmake/Modules/EnableWarnings.cmake b/cmake/Modules/EnableWarnings.cmake index e7d7d3986..72e1523c4 100644 --- a/cmake/Modules/EnableWarnings.cmake +++ b/cmake/Modules/EnableWarnings.cmake @@ -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 index 000000000..93297555e --- /dev/null +++ b/cmake/Modules/FindmbedTLS.cmake @@ -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/CHANGELOG.md b/docs/changelog.md similarity index 81% rename from CHANGELOG.md rename to docs/changelog.md index f7e72d343..7d1dac62a 100644 --- a/CHANGELOG.md +++ b/docs/changelog.md @@ -1,228 +1,160 @@ -v0.27.7 +v0.28.1 ------- -This is a bugfix release with the following changes or improvements: +This is a bugfix release with the following change: -- Our continuous integration environment has switched from Travis and - AppVeyor to Azure Pipelines CI. +* 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. -- Fix adding worktrees for bare repositories. +v0.28 +----- -- Fix parsed patches not computing the old respectively new line - numbers correctly. +### Changes or improvements -- Fix parsing configuration variables which do not have a section. +* The library is now always built with cdecl calling conventions on + Windows; the ability to build a stdcall library has been removed. -- Fix a zero-byte allocation when trying to detect file renames and - copies of a diff without any hunks. +* Reference log creation now honors `core.logallrefupdates=always`. -- Fix a zero-byte allocation when trying to resize or duplicate - vectors. +* Fix some issues with the error-reporting in the OpenSSL backend. -- Fix return value when trying to unlock worktrees which aren't - locked. +* HTTP proxy support is now builtin; libcurl is no longer used to support + proxies and is removed as a dependency. -- Fix returning an unitialized error code when preparing a revision - walk without any pushed commits. +* 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. -- Fix return value of `git_remote_lookup` when lookup of - "remote.$remote.tagopt" fails. +* The line-ending filtering logic - when checking out files - has been + updated to match newer git (>= git 2.9) for proper interoperability. -- Fix the revision walk always labelling commits as interesting due - to a mishandling of the commit date. +* Symbolic links are now supported on Windows when `core.symlinks` is set + to `true`. -- Fix the packbuilder inserting uninteresting blobs when adding a - tree containing references to such blobs. +* 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. -- Ignore unsupported authentication schemes in HTTP transport. +* Object validation is now performed during tree creation in the + `git_index_write_tree_to` API. -- Improve performane of `git_remote_prune`. +* Configuration variable may now be specified on the same line as a section + header; previously this was erroneously a parser error. -- Fix detection of whether `qsort_r` has a BSD or GNU function - signature. +* When an HTTP server supports both NTLM and Negotiate authentication + mechanisms, we would previously fail to authenticate with any mechanism. -- Fix detection of iconv if it is provided by libc. +* 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. -v0.27.6 -------- +* Line numbers in diffs loaded from patch files were not being populated; + they are now included in the results. -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 -------- +* The repository's index is reloaded from disk at the beginning of + `git_merge` operations to ensure that it is up-to-date. -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 -------- +* 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. -This is a security release fixing out-of-bounds reads when -processing smart-protocol "ng" packets. +* Ignore handling for files in ignored folders would be ignored. -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. +* Worktrees can now be backed by bare repositories. -The issue was discovered by the oss-fuzz project, issue 9406. +* Trailing spaces are supported in `.gitignore` files, these spaces were + previously (and erroneously) treated as part of the pattern. -v0.27.3 -------- +* The library can now be built with mbedTLS support for HTTPS. -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 ---------- +* The diff status character 'T' will now be presented by the + `git_diff_status_char` API for diff entries that change type. -### Changes or improvements +* Revision walks previously would sometimes include commits that should + have been ignored; this is corrected. -* Fix builds with LibreSSL 2.7. +* Revision walks are now more efficient when the output is unsorted; + we now avoid walking all the way to the beginning of history unnecessarily. -* Fix for `git_diff_status_char()` not returning the correct mapping for - `GIT_DELTA_TYPECHANGE`. +* Error-handling around index extension loading has been fixed. We were + previously always misreporting a truncated index (#4858). -* Fix for the submodules API not reporting errors when parsing the ".gitmodules" - file. +### API additions -* Fix for accepting a ".gitmodules" file where two submodules have the same - path. +* The index may now be iterated atomically using `git_index_iterator`. -* Fix for hiding references in a graph walk not always limiting the graph - correctly. +* Remote objects can now be created with extended options using the + `git_remote_create_with_opts` API. -* Fix for directory patterns with trailing spaces in attribute files not being - handled correctly. +* 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. -* Fix SSH transports not properly disconnecting from the server. +* You can now swap out memory allocators via the + `GIT_OPT_SET_ALLOCATOR` option with `git_libgit2_opts()`. -* Fix reading HEAD reflog in worktrees. +* 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.) -* Update our copy of SHA1DC to fix errors with endianess on some platforms. + 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. -v0.27.1 ---------- +* 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. -This is a security release fixing insufficient validation of submodule names -(CVE-2018-11235, reported by Etienne Stalmans) and disallows `.gitmodules` files -as symlinks. +* It's now possible to analyze merge relationships between any two + references, not just against `HEAD`, using `git_merge_analysis_for_ref`. -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. +### 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 -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. +* The default checkout strategy changed from `DRY_RUN` to `SAFE` (#4531). -libgit2 is not susceptible to CVE-2018-11233. +* 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 --------- diff --git a/CODE_OF_CONDUCT.md b/docs/code_of_conduct.md similarity index 100% rename from CODE_OF_CONDUCT.md rename to docs/code_of_conduct.md diff --git a/CONTRIBUTING.md b/docs/contributing.md similarity index 90% rename from CONTRIBUTING.md rename to docs/contributing.md index 7f372233a..21e42b1d9 100644 --- a/CONTRIBUTING.md +++ b/docs/contributing.md @@ -6,13 +6,22 @@ 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 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 +[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 @@ -97,7 +106,7 @@ 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 +* Add to the [`changelog.md`](changelog.md) file describing any major changes ## Unit Tests @@ -168,10 +177,8 @@ 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). +at the [conventions file](conventions.md). ## Starter Projects -See our [projects -list](https://github.com/libgit2/libgit2/blob/development/PROJECTS.md). +See our [projects list](projects.md). diff --git a/CONVENTIONS.md b/docs/conventions.md similarity index 97% rename from CONVENTIONS.md rename to docs/conventions.md index ffb696a4d..a017db11c 100644 --- a/CONVENTIONS.md +++ b/docs/conventions.md @@ -136,11 +136,11 @@ 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 +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 `giterr_clear()` to prevent +error, but the error is not propagated up, use `git_error_clear()` to prevent callers from getting the wrong error message later on. @@ -156,8 +156,8 @@ typedef struct git_odb git_odb; 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. +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. @@ -199,7 +199,7 @@ GIT_EXTERN(int) git_foo_id( int b); ``` -Indent with tabs; set your editor's tab width to 4 for best effect. +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 diff --git a/docs/differences-from-git.md b/docs/differences-from-git.md new file mode 100644 index 000000000..3f4650806 --- /dev/null +++ b/docs/differences-from-git.md @@ -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. diff --git a/docs/error-handling.md b/docs/error-handling.md index 719244d2f..05725f2ed 100644 --- a/docs/error-handling.md +++ b/docs/error-handling.md @@ -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 index 000000000..cd825766b --- /dev/null +++ b/docs/fuzzing.md @@ -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/PROJECTS.md b/docs/projects.md similarity index 97% rename from PROJECTS.md rename to docs/projects.md index 419fdcdfc..1b9f47648 100644 --- a/PROJECTS.md +++ b/docs/projects.md @@ -10,8 +10,8 @@ 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) +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. diff --git a/docs/release.md b/docs/release.md index 42f032b12..a8eff056d 100644 --- a/docs/release.md +++ b/docs/release.md @@ -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: - - [ ] 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, . The changelog follows. diff --git a/THREADING.md b/docs/threading.md similarity index 98% rename from THREADING.md rename to docs/threading.md index 430bca858..7dd37444f 100644 --- a/THREADING.md +++ b/docs/threading.md @@ -22,7 +22,7 @@ snapshots. Error messages -------------- -The error message is thread-local. The `giterr_last()` call must +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) diff --git a/TROUBLESHOOTING.md b/docs/troubleshooting.md similarity index 100% rename from TROUBLESHOOTING.md rename to docs/troubleshooting.md diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt index ca7515e5d..e631b96f2 100644 --- a/examples/CMakeLists.txt +++ b/examples/CMakeLists.txt @@ -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() diff --git a/examples/cat-file.c b/examples/cat-file.c index f948740a1..0fb7d4535 100644 --- a/examples/cat-file.c +++ b/examples/cat-file.c @@ -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 index 000000000..9119d6503 --- /dev/null +++ b/examples/checkout.c @@ -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 + * . + */ + +#include "common.h" +#include + +/* 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] \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 " 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; +} diff --git a/examples/common.c b/examples/common.c index 118072044..e20767a9e 100644 --- a/examples/common.c +++ b/examples/common.c @@ -12,6 +12,8 @@ * . */ +#include + #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; +} diff --git a/examples/common.h b/examples/common.h index af42324c2..1c7b2035e 100644 --- a/examples/common.h +++ b/examples/common.h @@ -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); diff --git a/examples/diff.c b/examples/diff.c index 9a4f7a59f..1de0483a3 100644 --- a/examples/diff.c +++ b/examples/diff.c @@ -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); } diff --git a/examples/for-each-ref.c b/examples/for-each-ref.c index a8ceaaff9..3bc25fcf2 100644 --- a/examples/for-each-ref.c +++ b/examples/for-each-ref.c @@ -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", diff --git a/examples/general.c b/examples/general.c index 0780d3d49..e0f5b5ec5 100644 --- a/examples/general.c +++ b/examples/general.c @@ -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: diff --git a/examples/log.c b/examples/log.c index a107470ee..3e891e4d8 100644 --- a/examples/log.c +++ b/examples/log.c @@ -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 index 000000000..98c89c93c --- /dev/null +++ b/examples/ls-files.c @@ -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 + * . + */ + +#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] [--] [...]\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; +} diff --git a/examples/merge.c b/examples/merge.c index 59982cb9b..13e3f9632 100644 --- a/examples/merge.c +++ b/examples/merge.c @@ -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])); diff --git a/examples/network/clone.c b/examples/network/clone.c index 540000bfd..bbcd2e848 100644 --- a/examples/network/clone.c +++ b/examples/network/clone.c @@ -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 \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); } diff --git a/examples/network/git2.c b/examples/network/git2.c index 1d3d27b1b..d0d0eb610 100644 --- a/examples/network/git2.c +++ b/examples/network/git2.c @@ -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; diff --git a/examples/network/index-pack.c b/examples/network/index-pack.c index 314f21160..128c7ebf5 100644 --- a/examples/network/index-pack.c +++ b/examples/network/index-pack.c @@ -19,8 +19,10 @@ #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; } diff --git a/examples/network/ls-remote.c b/examples/network/ls-remote.c index 9329da5d9..fb258acbe 100644 --- a/examples/network/ls-remote.c +++ b/examples/network/ls-remote.c @@ -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); diff --git a/examples/remote.c b/examples/remote.c index e0d5a1406..1cb61ccd8 100644 --- a/examples/remote.c +++ b/examples/remote.c @@ -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) { diff --git a/examples/tag.c b/examples/tag.c index c6a70d90e..fa405b8de 100644 --- a/examples/tag.c +++ b/examples/tag.c @@ -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 index 000000000..ea0612322 --- /dev/null +++ b/fuzzers/CMakeLists.txt @@ -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 index 000000000..fa52642ae --- /dev/null +++ b/fuzzers/config_file_fuzzer.c @@ -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 +#include "config_backend.h" + +#include +#include +#include +#include +#include + +#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 index 000000000..e5561545f --- /dev/null +++ b/fuzzers/corpora/config_file/git2.dat @@ -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 index 0000000000000000000000000000000000000000..f3e56b06b4b160af545c5d688400a52bd0ad7695 GIT binary patch literal 632 zcmXpoFi25WNY2mAP0cGYFi0~pH%LxRGPN{GF*Y(xwJVaP4bDanjaOwLv)$;iypEda5KGgDG^lM?e%5G-9YlWc|jv|`^6{R2U~OzXZlCO3g_u$t+7%$jjF)D9TSSN-Zu{ z0IJO?1zJ#&n63b~Jw7G1Br!856=-E;Zc%EQEy!_JKt{2CMrvY8v3_o1aY<^CLSj15 zm$vDdCHh8shK70uTm}ZlX+--N!#tpNFtG4*^aiqx449nrOY=%H^U@Xald@8iONy-& zjCB-J^7B&lK=MgUA^9bVISR%K8jyf6(9}^VN-Zr0I@|yu22`42$r#}1?9ITyzy!q1 zGr23~%+wLu#{IZZ~Cd;vJ|AemyN6gleyYhH0$Fz(S z3!I*AiJs&g=&75|BfiN@V`j6v?e8h9`zqgB+pO4E)x2`u50xEezj}VJKfg2ITw) (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 . + +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 +* Chicken Scheme + * chicken-git +* D + * dlibgit +* Delphi + * GitForDelphi +* Erlang + * Geef +* Go + * git2go +* GObject + * libgit2-glib +* Guile + * Guile-Git +* Haskell + * hgit2 +* Java + * Jagged +* Julia + * LibGit2.jl +* Lua + * luagit2 +* .NET + * libgit2sharp +* Node.js + * nodegit +* Objective-C + * objective-git +* OCaml + * ocaml-libgit2 +* Parrot Virtual Machine + * parrot-libgit2 +* Perl + * Git-Raw +* PHP + * php-git +* PowerShell + * PSGit +* Python + * pygit2 +* R + * git2r +* Ruby + * Rugged +* Rust + * git2-rs +* Swift + * SwiftGit2 +* Vala + * 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 index 000000000..519495fc7 --- /dev/null +++ b/fuzzers/corpora/objects/commit @@ -0,0 +1,20 @@ +tree 3e7ac388cadae960fe7e22175ce0da878afe9d18 +parent 8b89f362a34fcccdf1c6c5f3445895b71d9c6d56 +parent c590b41fe4057a84a9bd31a5605ceef2c309b0f8 +author Patrick Steinhardt 1538760730 +0200 +committer GitHub 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 index 000000000..f5f1c5ed2 --- /dev/null +++ b/fuzzers/corpora/objects/tag @@ -0,0 +1,6 @@ +object a8d447f68076d1520f69649bb52629941be7031f +type commit +tag testtag +tagger Patrick Steinhardt 1539253015 +0200 + +Tag message diff --git a/fuzzers/corpora/objects/tree b/fuzzers/corpora/objects/tree new file mode 100644 index 0000000000000000000000000000000000000000..d6639d860ef7bc5efaebd400519fa7a0079fcc0c GIT binary patch literal 1177 zcmXpsFfcPQQPA^nb#!qJV))x)u&2%E&()87p%Z>Aaep8^Mf;y2R7q+|W=Vcga(-S~ zW;(;ZNOixqzte;+w9T6l{q4e6#;_y_n8NhTlEjjdqRgbylGI`b@hsQ=DGy!+6`e~z zoc)$ho_B+2=^<)BEwO>e(r&DN%rytk}_2x>(Ya&_ah`zQfsV{kMzIgqT z?+B$~u6`k&{(iwAL;r7^w&bq+gdqPM9#xMcx4(&=Ew6y942T4p$8ak%Zts@b)um4Q z2eyb@Fd@7zClD#CQ`iHv`}(l5eye~S=-DhmRpBwtsM zb@N}&?G0;WQD1ncM7h3P1FhzCd+)C11kr&@b$b`?)kzqjT5>zk(Cj_>+l z>Vo`3oqSw_J^cM)-sOn@-z;l)VadtOo0lvWZtAjNaLb3PPAtgOOUX|zEy^s-Wtb=4 zSiA4w%KIXc%(~n~%v#~OhjQWS3d&L|^NYZV;d_R`X~()JBB8YnWs&*ChNb&FDj?}I zITsj#3>8gj-GXji-?v%36YhAvzs7u0VE{xvCAFZKVFFXro$S=AN+${4{LAhBO-UYq zzd)t)lZzSNeE0LSe5SzlXx?Pk73`B&rhL|43Xx8&NX#wB0cMb??^`aLY<5!kx}U4E zp8cM{JVS#cP=^9D2q=^2CYF|D2!!`nR&@M zr75WleJO9goSgj4mHqAH72!W_pE&eng*4Q#oXjMkSw?yV$$FW24AXX|P7Qt+w4X^~ z;kRX-Y_C%tH(o_m7@wSzSfp26T2R2SS845%gfCV6)2H_B=i0jD#iqqqw?phLPA3>zs-P&D;e-6{8)@54rL!fZe&4847doTj&Uc6` fuz)BjW_Yd9`0QzVJI8EW7nOvs3fu2;`aA>xcD&3o literal 0 HcmV?d00001 diff --git a/fuzzers/corpora/packfile/004bd06c91c0dc8ab7e963f4b5e87be00292911e b/fuzzers/corpora/packfile/004bd06c91c0dc8ab7e963f4b5e87be00292911e new file mode 100644 index 000000000..53c964260 --- /dev/null +++ b/fuzzers/corpora/packfile/004bd06c91c0dc8ab7e963f4b5e87be00292911e @@ -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 index 0000000000000000000000000000000000000000..838a0074745070e9604a3deae4f5838b4942d6a4 GIT binary patch literal 2 JcmZSh2><~50Qvv` literal 0 HcmV?d00001 diff --git a/fuzzers/corpora/packfile/02eaeb43f0ec7dbfd91bd75e7ddcc7fd590dbc77 b/fuzzers/corpora/packfile/02eaeb43f0ec7dbfd91bd75e7ddcc7fd590dbc77 new file mode 100644 index 0000000000000000000000000000000000000000..48fe2b3d68aab9f67f8176a08f8b7da0230bf13d GIT binary patch literal 13 ScmdN7aCG)&U|?VdVom@KQ~_H6 literal 0 HcmV?d00001 diff --git a/fuzzers/corpora/packfile/02f4286569be24124d8ab209733b7492f7560310 b/fuzzers/corpora/packfile/02f4286569be24124d8ab209733b7492f7560310 new file mode 100644 index 0000000000000000000000000000000000000000..3944cd0cbddea706c9c7828b30a2bd85ab6e4229 GIT binary patch literal 33 icmdN7aCG)&U|?VdVh$h%vNmtr3<5s?|3BHxU;OOklz`(%Fn)hMz=C;k7F9QHL>j!}V literal 0 HcmV?d00001 diff --git a/fuzzers/corpora/packfile/071e65ac0bf08f2424a89a4a499004c1bb9f3f6c b/fuzzers/corpora/packfile/071e65ac0bf08f2424a89a4a499004c1bb9f3f6c new file mode 100644 index 0000000000000000000000000000000000000000..748750ce61a5828bb45ddc9f6f0969e4a78ab37c GIT binary patch literal 112 zcmZn&aCG)&U|?VZVrHX?Imzijh5!S{zp`ijFN9`?WD7{Wn<{YBsIOk}l&l0$J}J%b y^m%p$rZtSdrHt1L&C*eo}?pyZbaF~(;I3ZHQWJdN=n+!%)pSz-~#~E&?TGz literal 0 HcmV?d00001 diff --git a/fuzzers/corpora/packfile/0739ff2f064568a4d775c8061958e66c419dbea0 b/fuzzers/corpora/packfile/0739ff2f064568a4d775c8061958e66c419dbea0 new file mode 100644 index 0000000000000000000000000000000000000000..aed5f1686e7caf0caf539004889175540fd60083 GIT binary patch literal 111 zcmZn&aCG)&U|?VZVrJWlImzijh5!Rc*|Yu^LbF4%1*G0h6*y|tSFd1poj5 literal 0 HcmV?d00001 diff --git a/fuzzers/corpora/packfile/0cb9120e5ae00b0d660a111ef85fc9194a5f244a b/fuzzers/corpora/packfile/0cb9120e5ae00b0d660a111ef85fc9194a5f244a new file mode 100644 index 0000000000000000000000000000000000000000..9fb6a664bdbc038e0e7f2f88fd5748222b46c442 GIT binary patch literal 27 hcmZn&aCG)&U|?WkU}0d+ub7jZ4&(?haJ+ct0{}|F1}Fdk literal 0 HcmV?d00001 diff --git a/fuzzers/corpora/packfile/0d44e7156d04cd269fd1219c58c3b79dc8c41d60 b/fuzzers/corpora/packfile/0d44e7156d04cd269fd1219c58c3b79dc8c41d60 new file mode 100644 index 0000000000000000000000000000000000000000..cf18be050f6d33e53a11cce87aa4ddd268b739f2 GIT binary patch literal 20 ZcmcZ*;OOklz`(%F91H{+!J_O83;;4b1K9uo literal 0 HcmV?d00001 diff --git a/fuzzers/corpora/packfile/0d77a48bea1dde6e5d391a65456dc0aa3d9cc5e3 b/fuzzers/corpora/packfile/0d77a48bea1dde6e5d391a65456dc0aa3d9cc5e3 new file mode 100644 index 0000000000000000000000000000000000000000..6d3c9c0c83bef0cedf34521422cb6f6961688930 GIT binary patch literal 15 WcmcZ*;OOklz`(%F%v@TW$_)S>fdf$h literal 0 HcmV?d00001 diff --git a/fuzzers/corpora/packfile/0db25107ff248616cadc75b7819b21d06394cf25 b/fuzzers/corpora/packfile/0db25107ff248616cadc75b7819b21d06394cf25 new file mode 100644 index 0000000000000000000000000000000000000000..c158d57e84a7d8fb6ccf9e9af6410fb2fb0c0bb5 GIT binary patch literal 74 zcmZn&aCG)&U|?VZVrHX?Imzijh5$ph0E2HSulJhN%Z?}M2>byl;wbxg YdPASqqlP;`)k#T7+nF^O7%~}r0Po2cA^-pY literal 0 HcmV?d00001 diff --git a/fuzzers/corpora/packfile/0debae2db7ef2933f386bac21a2d3bebb473070e b/fuzzers/corpora/packfile/0debae2db7ef2933f386bac21a2d3bebb473070e new file mode 100644 index 0000000000000000000000000000000000000000..1f9443f9f6d12b0a453d5e07a756179caaee0dd7 GIT binary patch literal 17 YcmcZ*;OOklz`(%F{GXBa{RajH04x9m+5i9m literal 0 HcmV?d00001 diff --git a/fuzzers/corpora/packfile/0e2d48524de33394ca82ea3a43f5f04aac6e86c7 b/fuzzers/corpora/packfile/0e2d48524de33394ca82ea3a43f5f04aac6e86c7 new file mode 100644 index 0000000000000000000000000000000000000000..1fd3289a50d95d0a78c53bd44a64d4c30733ac0c GIT binary patch literal 93 zcmZn&aCG)&U|?VZV&?pcImzijh5!Rc*|Yu^LbF4%1*G0h6*y|tSFdnSu__WF literal 0 HcmV?d00001 diff --git a/fuzzers/corpora/packfile/13facd9b4b5b4509fee92c7ccc1c82ed90624172 b/fuzzers/corpora/packfile/13facd9b4b5b4509fee92c7ccc1c82ed90624172 new file mode 100644 index 0000000000000000000000000000000000000000..82f4fa05902048889493c4c846a6a454f0a829e0 GIT binary patch literal 124 zcmZn&aCG)&U|?VZVrIjNImzijh5!Rc*|Yu^LbF4%1*G0h6*y|tSFd1SXz0`o!UecVv{sNoLCgrubH K%nS^f3_buP?kq(B literal 0 HcmV?d00001 diff --git a/fuzzers/corpora/packfile/140092a21903fdc56c98de126725fa6bead98ab1 b/fuzzers/corpora/packfile/140092a21903fdc56c98de126725fa6bead98ab1 new file mode 100644 index 0000000000000000000000000000000000000000..11006ca79d3dd25f61aacd8a5dcf40fc9dd41905 GIT binary patch literal 33 icmdN7aCG)&U|?VdVh$h%vNnUj#?3ze|3BHxU~6b00T$av;G%CvqQ24q~1*xIBL{auXsvU0w|r7=6Cu$ KI|I`iMqdEel@b;J literal 0 HcmV?d00001 diff --git a/fuzzers/corpora/packfile/15eddee57cafb11e927810d62230a6e104de1d5c b/fuzzers/corpora/packfile/15eddee57cafb11e927810d62230a6e104de1d5c new file mode 100644 index 0000000000000000000000000000000000000000..4c563e6cba42e071223a7a1e652c1a5198882686 GIT binary patch literal 19 bcmbOi;OOklz`(%F%=-VsdyRFQH*W?2I+F*M literal 0 HcmV?d00001 diff --git a/fuzzers/corpora/packfile/1632aa4b049f1118306485b11c70c499a0200dd5 b/fuzzers/corpora/packfile/1632aa4b049f1118306485b11c70c499a0200dd5 new file mode 100644 index 0000000000000000000000000000000000000000..677f3ab4933928cf6127b2d7aaee80c6417d0cc5 GIT binary patch literal 25 fcmZn&aCG)&U|?WkkY`|0ub7jZ4&(?ha0meaJP!l% literal 0 HcmV?d00001 diff --git a/fuzzers/corpora/packfile/18e1cf33b179a5cbaaf0baac8279ec4ed1cbdcf3 b/fuzzers/corpora/packfile/18e1cf33b179a5cbaaf0baac8279ec4ed1cbdcf3 new file mode 100644 index 0000000000000000000000000000000000000000..8445262300dc7f285b60e759797741a33317f221 GIT binary patch literal 238 zcmZn&aCG)&U|?VZVrHX?Imzijh5!Qx60_`C{|ljv*&*2iQY=8pcT+!ZXaMSBW?;yK z>SQ*AXuQUdw4K=pD9+%+4OEE>fONy{G)CA7w8*HhUa{hogzW4&A&$%%Kr0v+7C==q xGqZjB@SgEMSdf7MMcWIZ+3G;&y_+g<)EH>ODcR%-nB{XA7?P5J&H}lL0RScQGsyq| literal 0 HcmV?d00001 diff --git a/fuzzers/corpora/packfile/18e768865207e0b90047487b66532b20bc74b1a2 b/fuzzers/corpora/packfile/18e768865207e0b90047487b66532b20bc74b1a2 new file mode 100644 index 0000000000000000000000000000000000000000..2069d5bb96f9357ebedcab40fd5cf4ce4091d184 GIT binary patch literal 23 dcmcZ*;OOklz`(%F%+SE_|L+UtU?CvT1OQEE1|a|d literal 0 HcmV?d00001 diff --git a/fuzzers/corpora/packfile/1940c66b45a3bd5c847330b207fd87aee6e96194 b/fuzzers/corpora/packfile/1940c66b45a3bd5c847330b207fd87aee6e96194 new file mode 100644 index 0000000000000000000000000000000000000000..5b8513ee73e92619e9cd007704d321a4ae98cc10 GIT binary patch literal 47 ycmZn&aCG)&U|?VZVWWyU$>~6b00T$aGa%jnLTGl#oaCf5ztiX08JN~E`T_v@-waX! literal 0 HcmV?d00001 diff --git a/fuzzers/corpora/packfile/1966ab31dc80ab75196b0cbf28e3960a0eb3f6c5 b/fuzzers/corpora/packfile/1966ab31dc80ab75196b0cbf28e3960a0eb3f6c5 new file mode 100644 index 0000000000000000000000000000000000000000..572d311d205f4302fef57f2ef6cad0e3475474b0 GIT binary patch literal 18 acmbOi;OOklz`(%F%=$lm^XJW*Hv<4MrUvE! literal 0 HcmV?d00001 diff --git a/fuzzers/corpora/packfile/19da91f2603889267dfd77786e07a5b8f067d62a b/fuzzers/corpora/packfile/19da91f2603889267dfd77786e07a5b8f067d62a new file mode 100644 index 000000000..8b43ca9ac --- /dev/null +++ b/fuzzers/corpora/packfile/19da91f2603889267dfd77786e07a5b8f067d62a @@ -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 index 0000000000000000000000000000000000000000..5a8a38b900e8fb85bd2fcc78ee193c5c31df6b44 GIT binary patch literal 27 fcmZn&aCG)&U|?VZVrGMiImzijh5!S{|Ns91NHqq? literal 0 HcmV?d00001 diff --git a/fuzzers/corpora/packfile/1e29cf67a66f225b338610fbcdf1b8185a8f5b7d b/fuzzers/corpora/packfile/1e29cf67a66f225b338610fbcdf1b8185a8f5b7d new file mode 100644 index 0000000000000000000000000000000000000000..52219dec15d331ee65018edbec60a59e05a1faf9 GIT binary patch literal 13 UcmdN7aCG)&U|?WwU|`?`01#9G+W-In literal 0 HcmV?d00001 diff --git a/fuzzers/corpora/packfile/1eb8977ef8c3be9ee896d785663c762c7e32be28 b/fuzzers/corpora/packfile/1eb8977ef8c3be9ee896d785663c762c7e32be28 new file mode 100644 index 0000000000000000000000000000000000000000..d924eb71be5c89970b5ed443e0f3466cddba2b03 GIT binary patch literal 93 zcmZn&aCG)&U|?VZVrHX?Imzijh5!Rc*|Yu^LbF4%1*G0h6*y|tSFdN$q4rV39gvcwr0vWM44Di*0AW!fF8}}l literal 0 HcmV?d00001 diff --git a/fuzzers/corpora/packfile/1f0837530c1c3d122157f2eaa9c2178dcc3580df b/fuzzers/corpora/packfile/1f0837530c1c3d122157f2eaa9c2178dcc3580df new file mode 100644 index 0000000000000000000000000000000000000000..26b0c60418f3c838a724d158c2e1f67b1df11c38 GIT binary patch literal 93 zcmZn&aCG)&U|?VZVrJ8dImzijh5!Rc*|Yu^LbF4%1*G0h6*y|tSFdN$q4rV39gvcwr0vWM44Di*0AgJsGXMYp literal 0 HcmV?d00001 diff --git a/fuzzers/corpora/packfile/1f3c5fd6dc091faa397bce776aa97b457388fdae b/fuzzers/corpora/packfile/1f3c5fd6dc091faa397bce776aa97b457388fdae new file mode 100644 index 0000000000000000000000000000000000000000..5b5232da2226ebe8987d8f831550f62a3c611403 GIT binary patch literal 17 YcmcZ*;OOklz`(%FY_0e{@qe>A04o>;O8@`> literal 0 HcmV?d00001 diff --git a/fuzzers/corpora/packfile/20528983163f834108150a7191600ff94ae2c1d2 b/fuzzers/corpora/packfile/20528983163f834108150a7191600ff94ae2c1d2 new file mode 100644 index 0000000000000000000000000000000000000000..05189f0f4699348324038f7ec285302991ce678c GIT binary patch literal 33 kcmbOi;OOklz`(%F%=-Vsd&a)aAn^bH|H@M!hWch^0Piypo&W#< literal 0 HcmV?d00001 diff --git a/fuzzers/corpora/packfile/20a725140a8ffbe11bb71c1b83f19452147e5180 b/fuzzers/corpora/packfile/20a725140a8ffbe11bb71c1b83f19452147e5180 new file mode 100644 index 0000000000000000000000000000000000000000..f0337fac29dfd5a6764309516611fbf5b90c28e0 GIT binary patch literal 51 zcmZn&aCG)&U|?VZVr8R>Imzijh5!Rc*|Yu^LbF4%1*G0h6*y|tSFdX#6)R3j$j+V< F0sx1w5qbas literal 0 HcmV?d00001 diff --git a/fuzzers/corpora/packfile/23b9174c42560de6525b1f103125f599479f95cb b/fuzzers/corpora/packfile/23b9174c42560de6525b1f103125f599479f95cb new file mode 100644 index 0000000000000000000000000000000000000000..4bef2f6edda630fa05560a9bbeac109f32f5893d GIT binary patch literal 111 zcmZn&aCG)&U|?VZV&?pcImzijh5!Rc*|Yu^LbF4%1*G0hJ#|!8ps!xhNCGIGl;(H( zJUau^8b;qz#_NS0M3lN==6 literal 0 HcmV?d00001 diff --git a/fuzzers/corpora/packfile/241cbd6dfb6e53c43c73b62f9384359091dcbf56 b/fuzzers/corpora/packfile/241cbd6dfb6e53c43c73b62f9384359091dcbf56 new file mode 100644 index 000000000..bd0fd3594 --- /dev/null +++ b/fuzzers/corpora/packfile/241cbd6dfb6e53c43c73b62f9384359091dcbf56 @@ -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 index 0000000000000000000000000000000000000000..99cbc9beb378cd0fbfef14e646bc52c383d52921 GIT binary patch literal 20 bcmcZ*;OOklz`(%FY<=$kd&U3F>gwtMMFIx} literal 0 HcmV?d00001 diff --git a/fuzzers/corpora/packfile/2541e340271ea496a392870bcc20d3510287b9e9 b/fuzzers/corpora/packfile/2541e340271ea496a392870bcc20d3510287b9e9 new file mode 100644 index 0000000000000000000000000000000000000000..ff63b2add2a68e1a4681c9e219bb0f820c11a5d8 GIT binary patch literal 146 zcmZn&aCG)&U|?VZVve$B{V#-Ohhz&#y_+g<)Tpms@szAY#hm1%G{4j5*%_GDF#47< k0u_RQdfD+L9f6M*eo}?oHHo^#DMA^sF8?+uZKs9c+Vg}lPBu%UhW>6bo RjwHhfnmZEa`}9l(9{`!Da&Q0u literal 0 HcmV?d00001 diff --git a/fuzzers/corpora/packfile/2973e2ac092cba077d7350bfffe1cf2e0644a6e1 b/fuzzers/corpora/packfile/2973e2ac092cba077d7350bfffe1cf2e0644a6e1 new file mode 100644 index 0000000000000000000000000000000000000000..1066746d3855702611658bc5af1d7b62d9efa8d5 GIT binary patch literal 111 zcmZn&aCG)&U|?VZVrJutImzijh5!Rc*|Yu^LbF4%1*G0h6*y|tSFdZCIcsEtxs8L_N;wf2)iaCCZlajVu zFfe2?G{EG6=5mxh>wh6MJ0x2`>fKZykn(v93{V}(Nojtk&$BZytzq;nWdte)0rj%u zNjd@_H`G3AxC3-sQc{vSGXn!Y=irg6Ldb1}IwX_92kaIBqrRh9-EqCpEbZ&PCWt%0 zVPu2|qcX6=K;DHoo`D_Wc%Z2e=cABjR0a$T(#*`(=l;J}{NJpu4lx|XLaK0(qmS7b y$?wnlL6Kc?NJ7$d;=*-O4`oMz>vw{0|1(PBPsv@ literal 0 HcmV?d00001 diff --git a/fuzzers/corpora/packfile/34303d14e37c9ddfb0bad130e006fec927e13785 b/fuzzers/corpora/packfile/34303d14e37c9ddfb0bad130e006fec927e13785 new file mode 100644 index 0000000000000000000000000000000000000000..1adb6b18d3b57e6cc760ea0e37968e539dc0dbef GIT binary patch literal 14 VcmcZ*;OOklz`(%F%v@TW3IH2014aM< literal 0 HcmV?d00001 diff --git a/fuzzers/corpora/packfile/34dac9466a4a2c15aaeef13a9567f6827ace7748 b/fuzzers/corpora/packfile/34dac9466a4a2c15aaeef13a9567f6827ace7748 new file mode 100644 index 0000000000000000000000000000000000000000..2b0708eabd046542c802d09b36c48f5dafcc8d7b GIT binary patch literal 13 UcmcZ*;OOklz`(%FY^{C=02p5bGynhq literal 0 HcmV?d00001 diff --git a/fuzzers/corpora/packfile/356a192b7913b04c54574d18c28d46e6395428ab b/fuzzers/corpora/packfile/356a192b7913b04c54574d18c28d46e6395428ab new file mode 100644 index 000000000..56a6051ca --- /dev/null +++ b/fuzzers/corpora/packfile/356a192b7913b04c54574d18c28d46e6395428ab @@ -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 index 0000000000000000000000000000000000000000..f17d4fa07141c25dbe785fae0dc19a951be779e0 GIT binary patch literal 104 zcmZn&aCG)&U|?VZVrJutImzijh5!Rc*|Yu^LbF4%1*G0h6*y|tSFdz?t*a-Xp literal 0 HcmV?d00001 diff --git a/fuzzers/corpora/packfile/37a2b7de1fadc9eab2d5fabf5dfe7007c245dbee b/fuzzers/corpora/packfile/37a2b7de1fadc9eab2d5fabf5dfe7007c245dbee new file mode 100644 index 0000000000000000000000000000000000000000..0c71198c3446562798c0c885d71466daa16919a1 GIT binary patch literal 112 zcmZn&aCG)&U|?VZVrHX?Imzijh5!S{zp`ijFN9`?WD7{Wn<{YBsIOk}l&l0$J}J%b v^m%p$rZtSdrHt1L&C*eo}?pyZbaF~(;GliAWcb0+nE^{G8udT$GIfO literal 0 HcmV?d00001 diff --git a/fuzzers/corpora/packfile/37ab8a0ca81fc62279057401761f7730a5a8f1b2 b/fuzzers/corpora/packfile/37ab8a0ca81fc62279057401761f7730a5a8f1b2 new file mode 100644 index 0000000000000000000000000000000000000000..d9b74cf6546480a46d15616a6bb8e2ae62c9830d GIT binary patch literal 16 XcmZn&@MNi2@9dk!z>u^elVKA8EinaT literal 0 HcmV?d00001 diff --git a/fuzzers/corpora/packfile/38011be20a664dcd2594e712a26c063c2d50efcd b/fuzzers/corpora/packfile/38011be20a664dcd2594e712a26c063c2d50efcd new file mode 100644 index 0000000000000000000000000000000000000000..bd806165340beb0756bbdb5ad2d087b89ed83207 GIT binary patch literal 338 zcmZn&aCG)&U|?VZVrHX?Imzijh5!S{zp`ijFN9`?WD7_MygO<%wXa_Bl&l0$J}J%b z^m%p$rZtSdrHt1Ljnlr~Yf>*eo}?pyZbaF~(;KuNH9$3Pw_+yG1~aG)gV~WV-=}9X G_y7QyWO8o+ literal 0 HcmV?d00001 diff --git a/fuzzers/corpora/packfile/3838851a5da8239c2ae6cbbe869c81446c720e87 b/fuzzers/corpora/packfile/3838851a5da8239c2ae6cbbe869c81446c720e87 new file mode 100644 index 0000000000000000000000000000000000000000..d1282b948c97228592877c136ee7133284cea186 GIT binary patch literal 16 XcmcZ*;OOklz`(%F{GXBaJp%&(B}N14 literal 0 HcmV?d00001 diff --git a/fuzzers/corpora/packfile/3921322ac01429b001f88d64c8319088fe49218e b/fuzzers/corpora/packfile/3921322ac01429b001f88d64c8319088fe49218e new file mode 100644 index 0000000000000000000000000000000000000000..6ed50ebd0c80a8bf7feb0218c71a55b175efb009 GIT binary patch literal 84 zcmZn&aCG)&U|?VZVrG+yImzijh5!Rc*|Yu^LbF4%1*G0h6*y|tSFdMY9BS+0m&pKZD(d+$Yk&V03J*mga7~l literal 0 HcmV?d00001 diff --git a/fuzzers/corpora/packfile/395df8f7c51f007019cb30201c49e884b46b92fa b/fuzzers/corpora/packfile/395df8f7c51f007019cb30201c49e884b46b92fa new file mode 100644 index 000000000..fa7af8bf5 --- /dev/null +++ b/fuzzers/corpora/packfile/395df8f7c51f007019cb30201c49e884b46b92fa @@ -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 index 0000000000000000000000000000000000000000..8f1d1f526cade9f039d3fe558cc3304b92efa420 GIT binary patch literal 46 ycmZn&aCG)&U|?VZ;p7)WF3nS D&EXOS literal 0 HcmV?d00001 diff --git a/fuzzers/corpora/packfile/418f9fb9ce1d4efdf481ca8fff9dadd09caee9fc b/fuzzers/corpora/packfile/418f9fb9ce1d4efdf481ca8fff9dadd09caee9fc new file mode 100644 index 0000000000000000000000000000000000000000..93eb93508239db1f9c282b66a624102a70b281fe GIT binary patch literal 55 zcmZn&aCG)&U|?VZVrHX?Imzijh5!Qx60_`C{|lknA=v^_@1}m-z|6pq$>0M3P`M5| literal 0 HcmV?d00001 diff --git a/fuzzers/corpora/packfile/41ca0ae865b686089b8d99e9d661da291ce51019 b/fuzzers/corpora/packfile/41ca0ae865b686089b8d99e9d661da291ce51019 new file mode 100644 index 0000000000000000000000000000000000000000..e6f394f020abdb11d44a7af2733b65723dc500eb GIT binary patch literal 93 zcmZn&aCG)&U|?VZVs(>>Imzijh5!Rc*|Yu^LbF4%1*G0h6*y|tSFdX-snVGH6{eQ3czgb-!VmKCSDHKBSvoRv|0K?6wuU@g@l!WZ;IU$bB8sL~&08Ky4 z%xvF2yl4E67G3k;(yaf1(tVqO;4?qeg+Mj~!-xNf1OrYgJ{SSa01V;lg(hiV?=`8H z9Z%8`_y~661-RM&9ht3}8Q^?~@dC$xE`W25tELsNoJsK~mCoW)z|x5g3#V%*_9N--sW5_TkI3uNz#>XL#O} z=KAw(Gst;g;QriD3v}KosPiD91G5&LMkL1T;D7*n+{0BjAlO?Mn%hv#g@loo1CS2> zFT|knpFzl~CBPBv87P77C19C?E<^$!V&PyW!HE-;KsQ4Z7R0d`JENk|4VIBo|PLEz#B GC<6dz6hoK* literal 0 HcmV?d00001 diff --git a/fuzzers/corpora/packfile/453a312eb77b9d4198ac62faef10ecf3e283120c b/fuzzers/corpora/packfile/453a312eb77b9d4198ac62faef10ecf3e283120c new file mode 100644 index 0000000000000000000000000000000000000000..b25fe537670c5b7af21bbff7044947a2108eef3c GIT binary patch literal 34 qcmZn&aCG)&U|?WkU=WacH}&I&+D8p{D&{07B_(ZVW?;x<@BskAR13EN literal 0 HcmV?d00001 diff --git a/fuzzers/corpora/packfile/45470317334b614ce4d119c05ed2d6250dbc6061 b/fuzzers/corpora/packfile/45470317334b614ce4d119c05ed2d6250dbc6061 new file mode 100644 index 0000000000000000000000000000000000000000..4b9a0a91a4d9268c73634b4fbacaa67e215b0465 GIT binary patch literal 93 zcmZn&aCG)&U|?VZVrHX?Imzijh5!Rc*|Yu^LbF4%1*G0h6*y|xSFd~6b00T$avoycc+CTpPU8Bh83jm%33gG|% literal 0 HcmV?d00001 diff --git a/fuzzers/corpora/packfile/481dedc2855981510024d48828af0fe35a1503dd b/fuzzers/corpora/packfile/481dedc2855981510024d48828af0fe35a1503dd new file mode 100644 index 0000000000000000000000000000000000000000..3d95cc33cd0713146b1049338cb3276f0d87150a GIT binary patch literal 36 fcmZn&aCG)&U|?VZVWWyU$>~6b00V~!f|&~dd6WiY literal 0 HcmV?d00001 diff --git a/fuzzers/corpora/packfile/49a6448a722742b1b392f0471542ee0c572c5a9a b/fuzzers/corpora/packfile/49a6448a722742b1b392f0471542ee0c572c5a9a new file mode 100644 index 0000000000000000000000000000000000000000..c767ee576f6c651251821875642a19f865adb364 GIT binary patch literal 13 UcmZn&&~o->U|?rpTEplI02AQ?i~s-t literal 0 HcmV?d00001 diff --git a/fuzzers/corpora/packfile/4a6e6af93dea13a5720be52b95f2948e0cab4602 b/fuzzers/corpora/packfile/4a6e6af93dea13a5720be52b95f2948e0cab4602 new file mode 100644 index 0000000000000000000000000000000000000000..013d77bc51f31b1746451be0fe74ce2b044f278b GIT binary patch literal 60 zcmZn&aCG)&U|?VZVrHX?Imzijh5!Rc*|Yu^LbF4%1*G0h6*y|tSFdh5!QxkeU2(12Y3dCW8+EhQtT> literal 0 HcmV?d00001 diff --git a/fuzzers/corpora/packfile/4f2e2af611d6567abcf5b6bfc579487ac417a8d4 b/fuzzers/corpora/packfile/4f2e2af611d6567abcf5b6bfc579487ac417a8d4 new file mode 100644 index 0000000000000000000000000000000000000000..d16ad16ac2489863014190d75f0268cdd251a9ff GIT binary patch literal 20 bcmcZ*;OOklz`(%F{GXBa{fE8)M`mUKKVSv_ literal 0 HcmV?d00001 diff --git a/fuzzers/corpora/packfile/4fa04b2c3ac839c36c4a3b51bf882eb99b7cd097 b/fuzzers/corpora/packfile/4fa04b2c3ac839c36c4a3b51bf882eb99b7cd097 new file mode 100644 index 0000000000000000000000000000000000000000..0102fe32d5ba8a989bc82f09d909c446888a3428 GIT binary patch literal 14 VcmcZ*;OOklz`(%F{Qg7Ve*hsN1!4dI literal 0 HcmV?d00001 diff --git a/fuzzers/corpora/packfile/4fbe10aede9fd9ce2030c6e567a9281e1a5338f4 b/fuzzers/corpora/packfile/4fbe10aede9fd9ce2030c6e567a9281e1a5338f4 new file mode 100644 index 0000000000000000000000000000000000000000..83ca0198cbac10fc3e2c3abc7b7bbffa42e12b10 GIT binary patch literal 124 zcmZn&aCG)&U|?VZVrG+yImzijh5!Rc*|Yu^LbF4%1*G0h6*y|tSFdTJ2L}ACW8+ESic5a literal 0 HcmV?d00001 diff --git a/fuzzers/corpora/packfile/511993d3c99719e38a6779073019dacd7178ddb9 b/fuzzers/corpora/packfile/511993d3c99719e38a6779073019dacd7178ddb9 new file mode 100644 index 000000000..675f43ab4 --- /dev/null +++ b/fuzzers/corpora/packfile/511993d3c99719e38a6779073019dacd7178ddb9 @@ -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 index 000000000..b5ec5afb8 --- /dev/null +++ b/fuzzers/corpora/packfile/520aa436eab6343c3729f51f0f8048e6b87f6aeb @@ -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 index 0000000000000000000000000000000000000000..c0ea9e99ffc4159e3ce0a50b85a44393bfb5afda GIT binary patch literal 13 UcmX?I_CjcONInAtLz-VC04LJ~rvLx| literal 0 HcmV?d00001 diff --git a/fuzzers/corpora/packfile/52e37dfd77d56769dc8a96388aa26695a8108dac b/fuzzers/corpora/packfile/52e37dfd77d56769dc8a96388aa26695a8108dac new file mode 100644 index 0000000000000000000000000000000000000000..57d12a9fb56e58fd8d3d6dd4ba36f236dd0ba155 GIT binary patch literal 34 jcmcZ*;OOklz`(%F{GXBa{fEB)|9^kz1M)#20W1Ol*!c{y literal 0 HcmV?d00001 diff --git a/fuzzers/corpora/packfile/5374fb6be0a406cf8d0e95771ecb032254d21305 b/fuzzers/corpora/packfile/5374fb6be0a406cf8d0e95771ecb032254d21305 new file mode 100644 index 0000000000000000000000000000000000000000..42b16b0eac80b8093471cac95cc643549d414feb GIT binary patch literal 137 zcmZn&aCG)&U|?VZVrHX?Imzijh5!Rc*|Yu^LbF4%1*G0h6*y|tSFd*eo}?pyZbaF~(;KuNH9$3Pw_+yG1~aG)SREPiLP+3Q Q|Lp7mb|lRA>6r{Z0F%vfZvX%Q literal 0 HcmV?d00001 diff --git a/fuzzers/corpora/packfile/634b675b80d51b52c3c6fbc73181ed47f61749ba b/fuzzers/corpora/packfile/634b675b80d51b52c3c6fbc73181ed47f61749ba new file mode 100644 index 0000000000000000000000000000000000000000..9afac4f1030e127e30ab8afad71be5e41bd47e67 GIT binary patch literal 98 zcmZn&aCG)&U|?bZ0_OaRImzijh5!Rc*|Yu^LbF4%1*G0hJ#|!8ps!xhNCGIGl;(H( m{Jkdivg1iQ0w7(?Mo5}Ip59RVsNoJsT~g9^W(I~#1|I<1G9ZZn literal 0 HcmV?d00001 diff --git a/fuzzers/corpora/packfile/6431f1b31dc492fad89732b7d3e511fa7361985d b/fuzzers/corpora/packfile/6431f1b31dc492fad89732b7d3e511fa7361985d new file mode 100644 index 0000000000000000000000000000000000000000..b68409e30b7293f2df04df4739727b505eadbdfa GIT binary patch literal 136 zcmZn&aCG)&U|?VZVrG+yImzijh5!S{RwPh?6(m6vmPr3U?VbShcHxq|DP=&#R8N7DPRQBKp?con?vB^2cYsyAY@?i@$vZ&0fi6+aMA(J z!omPqM+k6WQGn?!pdw%p{447hdJ!Tp`&l;7H(2zc2%#8a0uIM|#Z$5pKvq(k-|6%0 J3`}bneF4!5M05ZE literal 0 HcmV?d00001 diff --git a/fuzzers/corpora/packfile/6486c8cf6bcc2fca60502564924f6b266399df3d b/fuzzers/corpora/packfile/6486c8cf6bcc2fca60502564924f6b266399df3d new file mode 100644 index 0000000000000000000000000000000000000000..a80e2090c0019eee047e71e83d9129df919a02c8 GIT binary patch literal 21 bcmZn&aCG)&00NG(kEb^@sh1tMnBxNgM&<{Q literal 0 HcmV?d00001 diff --git a/fuzzers/corpora/packfile/651c573b6fdd393e97536a47f8b9e65226e29c33 b/fuzzers/corpora/packfile/651c573b6fdd393e97536a47f8b9e65226e29c33 new file mode 100644 index 0000000000000000000000000000000000000000..ec11120dd08b4c1e8bb9ff3cfaeb7589db28b0d4 GIT binary patch literal 77 zcmZn&aCG)&U|?VZVrHX?Imzijh5!S{zp`ijFN9`?WD7{Wn<{YBsIOk}l&l0$J}J%b b^m%p$rZtSdrHt1LK_W>>+nE^{G8udTfdLrb literal 0 HcmV?d00001 diff --git a/fuzzers/corpora/packfile/657fc646e93cb999417f43f0ec77fbad694e3e18 b/fuzzers/corpora/packfile/657fc646e93cb999417f43f0ec77fbad694e3e18 new file mode 100644 index 0000000000000000000000000000000000000000..acb56a8b7e0cdc44f27e8f620513efd369dbc481 GIT binary patch literal 124 zcmZn&aCG)&U|?WkVqjo4sF;(S4&(?haFjjke<3tGBwIl0-Bf|2Mt${)r(`97(n)E4 zr_Zx9Fs)(qE%k1SJ?3;eZ|8!9r`|uVP3rjl&XWbj1O{d!Fdt;z$43o!VmE+HNJ`qy KtiX`T-~#|T$t>sq literal 0 HcmV?d00001 diff --git a/fuzzers/corpora/packfile/65cc90263dec0020ceabc727d33aa587e57fc175 b/fuzzers/corpora/packfile/65cc90263dec0020ceabc727d33aa587e57fc175 new file mode 100644 index 000000000..d14a6c30d --- /dev/null +++ b/fuzzers/corpora/packfile/65cc90263dec0020ceabc727d33aa587e57fc175 @@ -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 index 0000000000000000000000000000000000000000..15294a501aa6e73201b85ff460b2fcf0adb11e48 GIT binary patch literal 2 JcmZQ(0000800aO4 literal 0 HcmV?d00001 diff --git a/fuzzers/corpora/packfile/6b0d31c0d563223024da45691584643ac78c96e8 b/fuzzers/corpora/packfile/6b0d31c0d563223024da45691584643ac78c96e8 new file mode 100644 index 000000000..08b9811c9 --- /dev/null +++ b/fuzzers/corpora/packfile/6b0d31c0d563223024da45691584643ac78c96e8 @@ -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 index 0000000000000000000000000000000000000000..d76aa6f32da593e73a1f3e23eaea770981ef60da GIT binary patch literal 43 vcmZn&aCG)&U|?VZVbh8^$>~6b00YOr|Ns9B%?`;Hka{=uJUau^8b)6L?!gST literal 0 HcmV?d00001 diff --git a/fuzzers/corpora/packfile/6b7486fc2a47a40eb5a85a5edf53af60d48be7d5 b/fuzzers/corpora/packfile/6b7486fc2a47a40eb5a85a5edf53af60d48be7d5 new file mode 100644 index 0000000000000000000000000000000000000000..d1e0eedf925140ea5a1c25bdb7abe1b9610724bf GIT binary patch literal 14 VcmcZ*;OOklz`(%Fz@W*%000=~0vrGU literal 0 HcmV?d00001 diff --git a/fuzzers/corpora/packfile/6bace82ea640ac0a78963c79483faf0faa7fd168 b/fuzzers/corpora/packfile/6bace82ea640ac0a78963c79483faf0faa7fd168 new file mode 100644 index 000000000..8c53a7f5f --- /dev/null +++ b/fuzzers/corpora/packfile/6bace82ea640ac0a78963c79483faf0faa7fd168 @@ -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 index 0000000000000000000000000000000000000000..628bda022c6cd6bd634c914f12522f8589597284 GIT binary patch literal 15 WcmZn&aCG)&V3-|{q$9xOa|!?~6b00T$av;G%CvqQ24q~1*xIBwimuXsvU0w|r7=6Cu$ KI|I`iMqdEe))E;2 literal 0 HcmV?d00001 diff --git a/fuzzers/corpora/packfile/701a765befff451207517d56c3fe8609d059867d b/fuzzers/corpora/packfile/701a765befff451207517d56c3fe8609d059867d new file mode 100644 index 0000000000000000000000000000000000000000..ee936e331d8ec1e48f86b5ff63b178b90a42da29 GIT binary patch literal 15 WcmZ1w;OOklz`(%F_U(h>dqw~vf&{<- literal 0 HcmV?d00001 diff --git a/fuzzers/corpora/packfile/7050f56d64b28499c89d5430761f18a8a2a933d4 b/fuzzers/corpora/packfile/7050f56d64b28499c89d5430761f18a8a2a933d4 new file mode 100644 index 0000000000000000000000000000000000000000..a3df39612cb5c9be33a17fb7d1b7a649a4337c68 GIT binary patch literal 60 zcmZn&aCG)&U|?VZVrHX?Imzijh5!Qx60_`C{|ljv*&*2iQY;J~8Qw8(V3^9lkjdZ! E0FEIJrT_o{ literal 0 HcmV?d00001 diff --git a/fuzzers/corpora/packfile/724fa0194f615e1a0f08184a9f1520123f8e2833 b/fuzzers/corpora/packfile/724fa0194f615e1a0f08184a9f1520123f8e2833 new file mode 100644 index 0000000000000000000000000000000000000000..dd6df7850810a2acfeca26035da49f1dc593a72d GIT binary patch literal 93 zcmZn&aCG)&U|?VZVrG+yImzijh5!Rc*|Yu^LbF4%1*G0h6*y|rSFdJ7$d;=*-O4`oMz>vw{0|1)oBP;*_ literal 0 HcmV?d00001 diff --git a/fuzzers/corpora/packfile/72c52d0d98717e21dfee45418a046a19198b5d5d b/fuzzers/corpora/packfile/72c52d0d98717e21dfee45418a046a19198b5d5d new file mode 100644 index 0000000000000000000000000000000000000000..922e3068321efba354a4707a1d5a5f1ecae97ff0 GIT binary patch literal 17 YcmZ1w;OOklz`(%F%=YcWd&d9F04s_GqyPW_ literal 0 HcmV?d00001 diff --git a/fuzzers/corpora/packfile/72cec0949c5743ee1df67b41ece5d6806f9bede6 b/fuzzers/corpora/packfile/72cec0949c5743ee1df67b41ece5d6806f9bede6 new file mode 100644 index 0000000000000000000000000000000000000000..366439dbb7f288b92e33129a3d6124de9d56b940 GIT binary patch literal 173 zcmZn&aCG)&U|?VZVrHX?Imzijh5!S{zp`ijFN9`?WD7_MygO<%wXa_Bl&l0$J}J%b y^m%p$rZtSdrHt1L&C*eo}?pyZbaF~(;KuNH9$3Pw_>Km2Illk1|I-2VLNaD literal 0 HcmV?d00001 diff --git a/fuzzers/corpora/packfile/72e6bfb7b881befc0b461334411d70ae227a426a b/fuzzers/corpora/packfile/72e6bfb7b881befc0b461334411d70ae227a426a new file mode 100644 index 0000000000000000000000000000000000000000..c7986f68713d9a5b315089568c1ff1e4ca45c397 GIT binary patch literal 22 ZcmcZ-;OOklz`(%F`v1e^%^+|Y2mobO3rPR~ literal 0 HcmV?d00001 diff --git a/fuzzers/corpora/packfile/73b74736664ad85828ce1be2e29fb4a68d24402b b/fuzzers/corpora/packfile/73b74736664ad85828ce1be2e29fb4a68d24402b new file mode 100644 index 000000000..009080e8e --- /dev/null +++ b/fuzzers/corpora/packfile/73b74736664ad85828ce1be2e29fb4a68d24402b @@ -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 index 000000000..0022a3ee8 --- /dev/null +++ b/fuzzers/corpora/packfile/745bedb79413d20844a8b0e96fbec51b4989c65d @@ -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 index 0000000000000000000000000000000000000000..7ac1cad4dd91dbf98a04cb0427403836f864cc75 GIT binary patch literal 59 zcmZn&aCG)&U|?VZVUvnE$>~6b00T$av;G%CvqQ24q~7%i95w2zS3D&v0hCTk^E-W> Koq=f$qb~s084?cw literal 0 HcmV?d00001 diff --git a/fuzzers/corpora/packfile/74dfea2e26741a8778fb942d1d60a84d0759d7a0 b/fuzzers/corpora/packfile/74dfea2e26741a8778fb942d1d60a84d0759d7a0 new file mode 100644 index 000000000..fe307f6da --- /dev/null +++ b/fuzzers/corpora/packfile/74dfea2e26741a8778fb942d1d60a84d0759d7a0 @@ -0,0 +1 @@ +˜o \ No newline at end of file diff --git a/fuzzers/corpora/packfile/767b2efbb7502a2f652a448b471693d32c128677 b/fuzzers/corpora/packfile/767b2efbb7502a2f652a448b471693d32c128677 new file mode 100644 index 0000000000000000000000000000000000000000..90a8f3a7d53b2a45412a2b3a6cf661b4304c5aaf GIT binary patch literal 93 zcmZn&aCG)&U|?VZV&?pcImzijh5!Rc*|Yu^LbF4%1*G0h6*y|xSFdIi literal 0 HcmV?d00001 diff --git a/fuzzers/corpora/packfile/78abe558c4277852128d4b91282edcb68f86bdea b/fuzzers/corpora/packfile/78abe558c4277852128d4b91282edcb68f86bdea new file mode 100644 index 0000000000000000000000000000000000000000..30644d14801d5612da19674eedc55846115ff13c GIT binary patch literal 48 zcmZn&aCG)&U|?VZ;j(A_FN9`?WD7{Wn<{YBsIOk}l&nO>oaCf5ztiX08JN~E`T_uF Co)7K- literal 0 HcmV?d00001 diff --git a/fuzzers/corpora/packfile/7960246c2db6d39e68dfe93ded358a3acba8f896 b/fuzzers/corpora/packfile/7960246c2db6d39e68dfe93ded358a3acba8f896 new file mode 100644 index 0000000000000000000000000000000000000000..4d3703ac21ee9f724f9d8d423c32a14c76d00955 GIT binary patch literal 18 YcmbOc;OOklz`(%7%=-VsdqyAz05g;ae*gdg literal 0 HcmV?d00001 diff --git a/fuzzers/corpora/packfile/7a4ff814176b55af008ad9580201d5e659242f05 b/fuzzers/corpora/packfile/7a4ff814176b55af008ad9580201d5e659242f05 new file mode 100644 index 0000000000000000000000000000000000000000..029e4fc32ca3b77e868e0d7f5a2b72299c82ea1b GIT binary patch literal 59 zcmZn&aCG)&U|?VZVS|b}$>~6b00T$av;G%CvqQ24q~1*xIBL{auXsvU0w|r7=6Cu$ KI|I`iMqdEeIT92A literal 0 HcmV?d00001 diff --git a/fuzzers/corpora/packfile/7a752694fce29ded083fbabbc9ff95f5b92a3d9c b/fuzzers/corpora/packfile/7a752694fce29ded083fbabbc9ff95f5b92a3d9c new file mode 100644 index 0000000000000000000000000000000000000000..82b5593f67a7194b00604ed4267df83aa4e7a07e GIT binary patch literal 26 dcmcZ-;OOklz`(%F`v1e`&6_6!F&Ho~0|1nP3^D)! literal 0 HcmV?d00001 diff --git a/fuzzers/corpora/packfile/7a81af3e591ac713f81ea1efe93dcf36157d8376 b/fuzzers/corpora/packfile/7a81af3e591ac713f81ea1efe93dcf36157d8376 new file mode 100644 index 000000000..883ad6e8e --- /dev/null +++ b/fuzzers/corpora/packfile/7a81af3e591ac713f81ea1efe93dcf36157d8376 @@ -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 index 0000000000000000000000000000000000000000..251bc956ca9f00bb0cc56860f0d066ea72034ee5 GIT binary patch literal 34 ccmZn(aCG)&U|?WoX8r%+J>&lmU1;Dx0PF@38~^|S literal 0 HcmV?d00001 diff --git a/fuzzers/corpora/packfile/7cda4ab6a0daf50f675d5225cbc166c86a8ef95f b/fuzzers/corpora/packfile/7cda4ab6a0daf50f675d5225cbc166c86a8ef95f new file mode 100644 index 0000000000000000000000000000000000000000..9e58e190e716f1cb0f269c8a9e4d905c4aaf2ac2 GIT binary patch literal 29 hcmZn(aCG)&U|?VZVrGSkImzijh5!RcKSL&i4**S<1p@#8 literal 0 HcmV?d00001 diff --git a/fuzzers/corpora/packfile/7cf184f4c67ad58283ecb19349720b0cae756829 b/fuzzers/corpora/packfile/7cf184f4c67ad58283ecb19349720b0cae756829 new file mode 100644 index 000000000..8ac2eb508 --- /dev/null +++ b/fuzzers/corpora/packfile/7cf184f4c67ad58283ecb19349720b0cae756829 @@ -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 index 0000000000000000000000000000000000000000..0865a4aad69e9aade59077d21f666f4e8244db8c GIT binary patch literal 15 WcmdN7aCG)&U|?VhaAelF$_xM&J_6+c literal 0 HcmV?d00001 diff --git a/fuzzers/corpora/packfile/820ec3e39089d863641a1be6942445db3ff34270 b/fuzzers/corpora/packfile/820ec3e39089d863641a1be6942445db3ff34270 new file mode 100644 index 0000000000000000000000000000000000000000..a7a949a73e390ad042f2320262351cfb56081d20 GIT binary patch literal 48 zcmZn&aCG)&U|?VZVve$B{V!h44#^gfdN)VVfKB*#dPD7_hC3ilNlDw885lAd Fd;mX~Djom; literal 0 HcmV?d00001 diff --git a/fuzzers/corpora/packfile/847f4e42f8f2730a48d19951d8829621b2e70082 b/fuzzers/corpora/packfile/847f4e42f8f2730a48d19951d8829621b2e70082 new file mode 100644 index 0000000000000000000000000000000000000000..22952d506196d64c6e21c7eb21ef31f0af640621 GIT binary patch literal 124 zcmZn&aCG)&U|?VZVrG+yImzijh5!Rc*|Yu^LbF4%1*G0h6*y|tSFdi_@% literal 0 HcmV?d00001 diff --git a/fuzzers/corpora/packfile/84a516841ba77a5b4648de2cd0dfcb30ea46dbb4 b/fuzzers/corpora/packfile/84a516841ba77a5b4648de2cd0dfcb30ea46dbb4 new file mode 100644 index 000000000..3410062ba --- /dev/null +++ b/fuzzers/corpora/packfile/84a516841ba77a5b4648de2cd0dfcb30ea46dbb4 @@ -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 index 0000000000000000000000000000000000000000..6a29f0f41b05791d96acb3c4077235ce1f18acbc GIT binary patch literal 34 kcmdN7aCG)&U|?WoX8r%+ePiEdAQ0QUnNe)B4-kOZ0Mrc)xBvhE literal 0 HcmV?d00001 diff --git a/fuzzers/corpora/packfile/8565db62ac64209ff009ac40e7c2d2ac4ae944eb b/fuzzers/corpora/packfile/8565db62ac64209ff009ac40e7c2d2ac4ae944eb new file mode 100644 index 0000000000000000000000000000000000000000..066b1daa9f02e53970098f64fdf7e5e90d4b6f12 GIT binary patch literal 32 gcmZn&aCG)&U|?VZ;fguQ=|Eb5furnMKRcKO0AmdWoB#j- literal 0 HcmV?d00001 diff --git a/fuzzers/corpora/packfile/859b3346967c5c3c136459e565b402f9a936aa0d b/fuzzers/corpora/packfile/859b3346967c5c3c136459e565b402f9a936aa0d new file mode 100644 index 0000000000000000000000000000000000000000..9c10c980fcf91c4fa8b25a4f8e44c73283d889d2 GIT binary patch literal 129 scmcZ*;OOklz`(%F{2v5>EI81Du>Swo2o@5u5)u*+5)!5&5CQ`R0DD;wS^xk5 literal 0 HcmV?d00001 diff --git a/fuzzers/corpora/packfile/86a69caf3c5866d78d80da087b1b843cfea5e907 b/fuzzers/corpora/packfile/86a69caf3c5866d78d80da087b1b843cfea5e907 new file mode 100644 index 0000000000000000000000000000000000000000..b122e37880d59424eebe6d864e8bd07125e28b5a GIT binary patch literal 48 zcmZn&aCG)&U|?VZVve$B{V#-Ohhz&#y_+g<)Tpms@szAY#hm1%G{4j5*%_GDF!}-j DXm$_u literal 0 HcmV?d00001 diff --git a/fuzzers/corpora/packfile/86e1fb54a04fc18ee482b794ba3b2b306f6515d4 b/fuzzers/corpora/packfile/86e1fb54a04fc18ee482b794ba3b2b306f6515d4 new file mode 100644 index 0000000000000000000000000000000000000000..7d3105517933dfb1edd3245fbc397d9c35784d64 GIT binary patch literal 31 lcmZn&aCG)&U|?VZVgUw@e`U}5UkJ?(NYW8t%49I~0RVTT2o3-M literal 0 HcmV?d00001 diff --git a/fuzzers/corpora/packfile/86f217ee467d31ad9ad2a8c502b91279cd7f1c40 b/fuzzers/corpora/packfile/86f217ee467d31ad9ad2a8c502b91279cd7f1c40 new file mode 100644 index 0000000000000000000000000000000000000000..9951e266654c05e695679f7fb07c854498c2ddf5 GIT binary patch literal 36 kcmZn&aCG)&U|?VZVrIjNIX&q>h5!SHQ3a3&0WAg}0B`dJ6#xJL literal 0 HcmV?d00001 diff --git a/fuzzers/corpora/packfile/8768a53e1d4c182907306300f9ca90cfd8018383 b/fuzzers/corpora/packfile/8768a53e1d4c182907306300f9ca90cfd8018383 new file mode 100644 index 000000000..3ea63c2cc --- /dev/null +++ b/fuzzers/corpora/packfile/8768a53e1d4c182907306300f9ca90cfd8018383 @@ -0,0 +1 @@ +… \ No newline at end of file diff --git a/fuzzers/corpora/packfile/8834a7aac170c494f45aa4da71b9605a52d82435 b/fuzzers/corpora/packfile/8834a7aac170c494f45aa4da71b9605a52d82435 new file mode 100644 index 0000000000000000000000000000000000000000..40d2f60591ef7ba50737ee4c399ba192e921a7f2 GIT binary patch literal 13 UcmZn&Dw-J

~6b00T!Eqb~qMmjsCb literal 0 HcmV?d00001 diff --git a/fuzzers/corpora/packfile/8e30894298502ba4d43af98f1ec3088f9b8f29d5 b/fuzzers/corpora/packfile/8e30894298502ba4d43af98f1ec3088f9b8f29d5 new file mode 100644 index 0000000000000000000000000000000000000000..c4df8023c13c461026b8e5995e072f011320b057 GIT binary patch literal 59 zcmZn&aCG)&U|?VZVUvnE$>~6b00T$av;G%CvqQ24q~1*xIBwimuXsvU0w|r7=6Cu$ KI|I`iMqdEfG7=jA literal 0 HcmV?d00001 diff --git a/fuzzers/corpora/packfile/8eb4d738f7170d2e0594b779f782eb3171c9d421 b/fuzzers/corpora/packfile/8eb4d738f7170d2e0594b779f782eb3171c9d421 new file mode 100644 index 0000000000000000000000000000000000000000..410a7d63ae54e2b9571bd161ee0ccbd36910d654 GIT binary patch literal 49 zcmZn&aCG)&U|?VZqBV@ZrHt1LEz`c*uI<6z|aYOB+hC3B=l9Q5>wlgy@WHR^w E0Fz-6x&QzG literal 0 HcmV?d00001 diff --git a/fuzzers/corpora/packfile/8f46a043da3aa5d466ade170e62b0b9f362b4c5b b/fuzzers/corpora/packfile/8f46a043da3aa5d466ade170e62b0b9f362b4c5b new file mode 100644 index 0000000000000000000000000000000000000000..172736f8cfe478397dd48425f2d790d4ef186b6d GIT binary patch literal 20 ccmcZ>;OOklz`(%F`v1e^&6_v3ZQgtt08YvYSO5S3 literal 0 HcmV?d00001 diff --git a/fuzzers/corpora/packfile/9295f39686016bf3abb1d6e9924d6725c1263920 b/fuzzers/corpora/packfile/9295f39686016bf3abb1d6e9924d6725c1263920 new file mode 100644 index 0000000000000000000000000000000000000000..04be53351b3644405dd13381f5adb596ae9b969c GIT binary patch literal 23 ecmcZ*;OOklz`(%F%%pCu&dkdEpON+bhduy1!v+2T literal 0 HcmV?d00001 diff --git a/fuzzers/corpora/packfile/92fa2c2237724e7ba49e9c59adad8d61ce400bbf b/fuzzers/corpora/packfile/92fa2c2237724e7ba49e9c59adad8d61ce400bbf new file mode 100644 index 0000000000000000000000000000000000000000..b890df0d3c60ad88e190fc8dd15d7c48050ef497 GIT binary patch literal 124 zcmZn&aCG)&U|?VZVrG+yImzijh5!Rc*|Yu^LbF4%1*G0h6*y|tSFdJ7$d;=*-O4`oMz>vw{0|1(`BP##^ literal 0 HcmV?d00001 diff --git a/fuzzers/corpora/packfile/9929b50ac145c0781a0347be1559764edc668173 b/fuzzers/corpora/packfile/9929b50ac145c0781a0347be1559764edc668173 new file mode 100644 index 000000000..33f1e92c4 --- /dev/null +++ b/fuzzers/corpora/packfile/9929b50ac145c0781a0347be1559764edc668173 @@ -0,0 +1 @@ +žPACK³³ \ No newline at end of file diff --git a/fuzzers/corpora/packfile/9bf6a450d87badf2d495c2df37081ea16156915a b/fuzzers/corpora/packfile/9bf6a450d87badf2d495c2df37081ea16156915a new file mode 100644 index 0000000000000000000000000000000000000000..ff4c483894300da11de8480a1acf1b13ce40dd2d GIT binary patch literal 13 Ucmb;oaCG)&U|>)$J3hw;02rnN=>Px# literal 0 HcmV?d00001 diff --git a/fuzzers/corpora/packfile/9bffb3ff7a4429144305b770162074bbffe39ce9 b/fuzzers/corpora/packfile/9bffb3ff7a4429144305b770162074bbffe39ce9 new file mode 100644 index 0000000000000000000000000000000000000000..aa9c335f5d586b0eab2832e1dc2679bff412fff3 GIT binary patch literal 319 zcmZn&aCG)&U|?VZVrG+yImzijh5!S{RwPhSpv&-foK2$Fz+c~BoSGqVB!rGry& literal 0 HcmV?d00001 diff --git a/fuzzers/corpora/packfile/9c040d3207196e3aeee0df389170d6e59733ba0f b/fuzzers/corpora/packfile/9c040d3207196e3aeee0df389170d6e59733ba0f new file mode 100644 index 0000000000000000000000000000000000000000..4c4e68adbf46f6c64e178c178bbebf238e8d147d GIT binary patch literal 112 zcmZn&aCG)&U|?VZVrHX?Imzijh5!S{zp`ijFN6vhvIV5xO%*s|)K{-~N>&0WpOofz x`aC-W(;7zKQpW4*W@%sVHK~^!Ptp-UH=^w4=?x&MilpQ@NlDw885lAdd;pObBn1Ef literal 0 HcmV?d00001 diff --git a/fuzzers/corpora/packfile/9c740d0f3b8875a3b19f1cf1a88d5192a997a68d b/fuzzers/corpora/packfile/9c740d0f3b8875a3b19f1cf1a88d5192a997a68d new file mode 100644 index 0000000000000000000000000000000000000000..1f1ea65372cee2127d5b4d7c6a57ba710ca5aece GIT binary patch literal 62 zcmZn&aCG)&U|?VZVWWyU$>~6b00RdSv+NmAsQ-ndYp{{2nQpL0lAT`zM3*lBj>Zk& literal 0 HcmV?d00001 diff --git a/fuzzers/corpora/packfile/9cf72097400efb70d06179e6b00abb4cdec74e66 b/fuzzers/corpora/packfile/9cf72097400efb70d06179e6b00abb4cdec74e66 new file mode 100644 index 0000000000000000000000000000000000000000..25cfb391fa6bcd5e5766b27b99fb6e19ef4ea79a GIT binary patch literal 27 fcmZn&aCG)&U|?VZVg~7oImzijT7ZG$|Ns90M&bsr literal 0 HcmV?d00001 diff --git a/fuzzers/corpora/packfile/9d36c270ef1f14214742562238dc747242d4756e b/fuzzers/corpora/packfile/9d36c270ef1f14214742562238dc747242d4756e new file mode 100644 index 0000000000000000000000000000000000000000..c54dc55fae0a418e3415499c972017e5f2a8270e GIT binary patch literal 15 WcmcZ*;OOklz`(%FY_0e-u^9j$4+I+k literal 0 HcmV?d00001 diff --git a/fuzzers/corpora/packfile/9fb415ccadc8e7b0f38646ec5782d5895111e259 b/fuzzers/corpora/packfile/9fb415ccadc8e7b0f38646ec5782d5895111e259 new file mode 100644 index 0000000000000000000000000000000000000000..473ebb7084ff8249995fd95e664785f5271d0e94 GIT binary patch literal 13 ScmcZ*;OOklz`(!^#0&rycmeYO literal 0 HcmV?d00001 diff --git a/fuzzers/corpora/packfile/a13b7fbb454fe3bdebd07a51d466484aa41ee142 b/fuzzers/corpora/packfile/a13b7fbb454fe3bdebd07a51d466484aa41ee142 new file mode 100644 index 0000000000000000000000000000000000000000..48edf15f5103b17e57e3d5574b26ec3123fad175 GIT binary patch literal 59 zcmZn&aCG)&U|?VZVWWyU$>~6b00T$av;G%CvqQ24-bqarIBL{auXsvU0w|r7=6Cu$ KI|I`iMqdEfX%ZFy literal 0 HcmV?d00001 diff --git a/fuzzers/corpora/packfile/a1a7715c7596c77b892dc6d4debb7c108ca4ef97 b/fuzzers/corpora/packfile/a1a7715c7596c77b892dc6d4debb7c108ca4ef97 new file mode 100644 index 000000000..395831125 --- /dev/null +++ b/fuzzers/corpora/packfile/a1a7715c7596c77b892dc6d4debb7c108ca4ef97 @@ -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 index 0000000000000000000000000000000000000000..eeae7697244c153f77c192d586e87aa0b74f92ff GIT binary patch literal 20 acmbOc;OOklz`(%F%=-VsdqyB;=mP*lEC>z& literal 0 HcmV?d00001 diff --git a/fuzzers/corpora/packfile/a343687e2522222c2d49e8cb18d3feda64cf1d66 b/fuzzers/corpora/packfile/a343687e2522222c2d49e8cb18d3feda64cf1d66 new file mode 100644 index 0000000000000000000000000000000000000000..7d24f8cde20592de80410234b2d618e90f97642a GIT binary patch literal 17 ZcmcZ*;OOklz`(%FeCN)cdw1?I001?Z2Ot0d literal 0 HcmV?d00001 diff --git a/fuzzers/corpora/packfile/a6f57425137e9aa54537f0b3f5364ce165aedb0a b/fuzzers/corpora/packfile/a6f57425137e9aa54537f0b3f5364ce165aedb0a new file mode 100644 index 000000000..d50394efd --- /dev/null +++ b/fuzzers/corpora/packfile/a6f57425137e9aa54537f0b3f5364ce165aedb0a @@ -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 index 0000000000000000000000000000000000000000..1a443b91064c6bdda6e2c2a79fe5011dd5bf1a88 GIT binary patch literal 59 zcmZn&aCG)&U|?VZVWWyU$>~6b00T$av;G%Cv%|6lq~1+s1PXzG1W-CD&F}Pib_S+3 GjJ^PyT@L*K literal 0 HcmV?d00001 diff --git a/fuzzers/corpora/packfile/a7ee38bb7be4fc44198cb2685d9601dcf2b9f569 b/fuzzers/corpora/packfile/a7ee38bb7be4fc44198cb2685d9601dcf2b9f569 new file mode 100644 index 000000000..449e49efc --- /dev/null +++ b/fuzzers/corpora/packfile/a7ee38bb7be4fc44198cb2685d9601dcf2b9f569 @@ -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 index 0000000000000000000000000000000000000000..8e4277ba878b23e6f910ab74a7f927d684e96275 GIT binary patch literal 111 zcmZn&aCG)&U|?VZVrJutImzijh5!Rc*|Yu^LbF4%1*G0h6*y|tSFd0M3dKDy} literal 0 HcmV?d00001 diff --git a/fuzzers/corpora/packfile/a9c697f383f59a3b0642cd55b88190bce6201bae b/fuzzers/corpora/packfile/a9c697f383f59a3b0642cd55b88190bce6201bae new file mode 100644 index 0000000000000000000000000000000000000000..990de0a2afeba3bb71359dd189f8638e076fdf84 GIT binary patch literal 95 zcmZn&aCG)&U|?VZVrHX?Imzijh5!S{zp`ijFN9`?WD7{WpDJ*aX$_-qDdY7*v$U`G jn$*jVC+P^F>nQtpdPD7_hC4trl9H0PGczz`GWY-hW-uQR literal 0 HcmV?d00001 diff --git a/fuzzers/corpora/packfile/ab064cd6847c0fa546bbec4241eb9b095e0e73da b/fuzzers/corpora/packfile/ab064cd6847c0fa546bbec4241eb9b095e0e73da new file mode 100644 index 0000000000000000000000000000000000000000..b95307b1c42698f4402490d1e0b9b014f71af296 GIT binary patch literal 39 pcmZn&aCG)&U|?VZVWWyU$>~6b00T$aoT;)BKyFf+-)U_|UjU&O33&hj literal 0 HcmV?d00001 diff --git a/fuzzers/corpora/packfile/ab2c64588d3d9dc5c54c48d414e6d46d6a78cfa6 b/fuzzers/corpora/packfile/ab2c64588d3d9dc5c54c48d414e6d46d6a78cfa6 new file mode 100644 index 0000000000000000000000000000000000000000..02f5e7953da71ae4e422b670a36c42a5b7cce2ad GIT binary patch literal 93 zcmZn&aCG)&U|?VZVrHX?Imzijh5!Rc*|Yu^LbF4%1*G0h6*$Ta6g(v>0hCTk^E-W> qoq=f$qi-qW^+L0>FZY_%%Z?}M2z=a7`>5d#NJ&!CcA$n#1|I+zMIX`t literal 0 HcmV?d00001 diff --git a/fuzzers/corpora/packfile/abe729b06750880778312618dcebb43257ec03e0 b/fuzzers/corpora/packfile/abe729b06750880778312618dcebb43257ec03e0 new file mode 100644 index 0000000000000000000000000000000000000000..fc1860b0f49ff81334d91eb82b4818b4b84d7887 GIT binary patch literal 15 WcmcZ*;OOklz`(%F{Qv!jzW)Fy5(Z%a literal 0 HcmV?d00001 diff --git a/fuzzers/corpora/packfile/ac1bf5a5fe61e5784f72b364ef1bcddfb0d13716 b/fuzzers/corpora/packfile/ac1bf5a5fe61e5784f72b364ef1bcddfb0d13716 new file mode 100644 index 0000000000000000000000000000000000000000..5b9fb92c3f55e8b4bba802364fca1f02fefe68a7 GIT binary patch literal 18 ZcmZn&aCG)&U|?WkU=WacH}&HN9{?v31v~%% literal 0 HcmV?d00001 diff --git a/fuzzers/corpora/packfile/ac47b6d3f0e479df3292131535f8e0d99c288de9 b/fuzzers/corpora/packfile/ac47b6d3f0e479df3292131535f8e0d99c288de9 new file mode 100644 index 0000000000000000000000000000000000000000..def06efe685ef17c933fb5e76f906ea4e1789467 GIT binary patch literal 37 qcmZn&aCG)&U|?VZV&?pcImzh^3=MZaZUC~9l9IMFGcaT__y7RCISTs# literal 0 HcmV?d00001 diff --git a/fuzzers/corpora/packfile/ac9231da4082430afe8f4d40127814c613648d8e b/fuzzers/corpora/packfile/ac9231da4082430afe8f4d40127814c613648d8e new file mode 100644 index 000000000..501a6bbaf --- /dev/null +++ b/fuzzers/corpora/packfile/ac9231da4082430afe8f4d40127814c613648d8e @@ -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 index 0000000000000000000000000000000000000000..783b97f1a3dbb6541d46f2240dd2b37453725bdb GIT binary patch literal 59 zcmZn&aCG)&U|?VZVWWyU$>~6b00T$av;G%CvqQ24q~1*xIBL{auUK(PLUvAaQkviC L^Xv>vYZ!e2*ZC3_ literal 0 HcmV?d00001 diff --git a/fuzzers/corpora/packfile/ad6ba9b0bc076987efbeb11ce3fc92bc1df69d0a b/fuzzers/corpora/packfile/ad6ba9b0bc076987efbeb11ce3fc92bc1df69d0a new file mode 100644 index 0000000000000000000000000000000000000000..d6e99fca80d3d8dbb12dafb7ab9bed5a570d0678 GIT binary patch literal 13 UcmZn&aCG)&U|?WkxZ|S<02R0b^8f$< literal 0 HcmV?d00001 diff --git a/fuzzers/corpora/packfile/ae99dcb9b5e1b09aa5df6bb2fada3a3de61268fe b/fuzzers/corpora/packfile/ae99dcb9b5e1b09aa5df6bb2fada3a3de61268fe new file mode 100644 index 0000000000000000000000000000000000000000..09e47fd9b6e0757034bbde3a0a5218d444294d0e GIT binary patch literal 9 QcmbOi;OOkl!1{kP01u}FbpQYW literal 0 HcmV?d00001 diff --git a/fuzzers/corpora/packfile/aeeacf0499ace69549fe2c76757d4948ba65a10b b/fuzzers/corpora/packfile/aeeacf0499ace69549fe2c76757d4948ba65a10b new file mode 100644 index 0000000000000000000000000000000000000000..4832b6e5f5b9ba0afabf590ef36623cfd22bb16c GIT binary patch literal 59 zcmZn&aCG)&U|?VZVWWyU$>~6b00T$av;G%CvqQ24q~1*xIBwKeuXsvU0w|r7=6Cu$ KI|I`iMqdEe!4en% literal 0 HcmV?d00001 diff --git a/fuzzers/corpora/packfile/af6614c37604ee5d3f7b00cddca761a8776283b5 b/fuzzers/corpora/packfile/af6614c37604ee5d3f7b00cddca761a8776283b5 new file mode 100644 index 0000000000000000000000000000000000000000..f41a79900c7211303753970c6e4132592ef20ff0 GIT binary patch literal 27 icmZn&aCG)&U|?W+$H2hxuk2a>3!&KoNjd^dKBoY5%n2L- literal 0 HcmV?d00001 diff --git a/fuzzers/corpora/packfile/afd44f8c385a922c8caacc1ea5688d324bad5b39 b/fuzzers/corpora/packfile/afd44f8c385a922c8caacc1ea5688d324bad5b39 new file mode 100644 index 0000000000000000000000000000000000000000..eec211030fdb83918944ea74200c053a0770b8d4 GIT binary patch literal 15 TcmcZ*;OOklz`(!^#6SQ58eReO literal 0 HcmV?d00001 diff --git a/fuzzers/corpora/packfile/aff024fe4ab0fece4091de044c58c9ae4233383a b/fuzzers/corpora/packfile/aff024fe4ab0fece4091de044c58c9ae4233383a new file mode 100644 index 000000000..6bf0c97a7 --- /dev/null +++ b/fuzzers/corpora/packfile/aff024fe4ab0fece4091de044c58c9ae4233383a @@ -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 index 0000000000000000000000000000000000000000..a36092c18078e400437eb9b7b0a67abfad41c78d GIT binary patch literal 19 YcmcZ*;OOklz`(%F91H{+!NHpU0We?%H~;_u literal 0 HcmV?d00001 diff --git a/fuzzers/corpora/packfile/b452cd4b70f2827e3cbd6d5dd20f678b6e55f813 b/fuzzers/corpora/packfile/b452cd4b70f2827e3cbd6d5dd20f678b6e55f813 new file mode 100644 index 0000000000000000000000000000000000000000..f763b0d07c12a2ac0f756b11d5b76c00abc167a6 GIT binary patch literal 90 zcmZn&aCG)&U|?VZVrI*VImzijh5!SH5rSFvtp7#!Y@v`00Vx)Sj|}gaH!w_PV8~?f J!PJPX5&))#6}A8X literal 0 HcmV?d00001 diff --git a/fuzzers/corpora/packfile/b491dbad4c3edc87aa5a7f12b2c9a447a712c20d b/fuzzers/corpora/packfile/b491dbad4c3edc87aa5a7f12b2c9a447a712c20d new file mode 100644 index 0000000000000000000000000000000000000000..9e7d3e05006bc1ed65a2d30f4c5a50597ca7482d GIT binary patch literal 20 bcmcZ*;OOklz`(%F{GXBa{f9mVh5%*&J@*B> literal 0 HcmV?d00001 diff --git a/fuzzers/corpora/packfile/b54664965911c6fe91e18cd01b68a75c8183b530 b/fuzzers/corpora/packfile/b54664965911c6fe91e18cd01b68a75c8183b530 new file mode 100644 index 000000000..39e8d6602 --- /dev/null +++ b/fuzzers/corpora/packfile/b54664965911c6fe91e18cd01b68a75c8183b530 @@ -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 index 000000000..050ac90ec --- /dev/null +++ b/fuzzers/corpora/packfile/b68542373c05c0ed25231d09955b2c699d37c45b @@ -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 index 0000000000000000000000000000000000000000..e905006d657e7003e82fe79c02b547456ac53d3d GIT binary patch literal 60 zcmZn&aCG)&U|?VZVrHX?Imzijh5!Qx60_`C{|ljv*&*2iQY=8pcT+!ZU}j**Wbgq1 Di(?L^ literal 0 HcmV?d00001 diff --git a/fuzzers/corpora/packfile/b8d3910a75ad8a7058f9c3f202f8eb27419137d7 b/fuzzers/corpora/packfile/b8d3910a75ad8a7058f9c3f202f8eb27419137d7 new file mode 100644 index 0000000000000000000000000000000000000000..0a0adc4ea4fc245e9a8bb523b125ee9d26a651d4 GIT binary patch literal 24 ccmcZ*;OOklz`(%F3?%;l)d&^>0#ODA07ke3$^ZZW literal 0 HcmV?d00001 diff --git a/fuzzers/corpora/packfile/b93abe6094fb4ebbfa7414fbceb7199ce766075b b/fuzzers/corpora/packfile/b93abe6094fb4ebbfa7414fbceb7199ce766075b new file mode 100644 index 0000000000000000000000000000000000000000..fb7b651069eead9696bd84695c6fd560e1cadbe2 GIT binary patch literal 12 TcmbOc;OOklz`(%F%=#Yy688ea literal 0 HcmV?d00001 diff --git a/fuzzers/corpora/packfile/b9a64cc0694f3ac4a3c530c721bbf69026192187 b/fuzzers/corpora/packfile/b9a64cc0694f3ac4a3c530c721bbf69026192187 new file mode 100644 index 0000000000000000000000000000000000000000..c775b6fdb9b45be2567d9a0453e80188c27a75cc GIT binary patch literal 47 xcmZn&aCG)&U|?WkV)zdNUxj9eWCQsi@Nq-!qlP;bbCQ#ilD0D|Fk~|L005-e5r_Z) literal 0 HcmV?d00001 diff --git a/fuzzers/corpora/packfile/b9e5319eca8fbc26e5c322e0b151ed8ed60628d1 b/fuzzers/corpora/packfile/b9e5319eca8fbc26e5c322e0b151ed8ed60628d1 new file mode 100644 index 0000000000000000000000000000000000000000..54e04316a48dfdaf87a5186a2780fa3163551060 GIT binary patch literal 25 dcmZn&aCG)&U|?VZVs*`mImzijh5!SHF91Ap1T_Ev literal 0 HcmV?d00001 diff --git a/fuzzers/corpora/packfile/ba390745a04c5394601f7aa73fe795097b814d1a b/fuzzers/corpora/packfile/ba390745a04c5394601f7aa73fe795097b814d1a new file mode 100644 index 0000000000000000000000000000000000000000..1738d2d27e603cb07f905097defb6481e6ffe560 GIT binary patch literal 34 pcmZn&aCG)&U|?Wk5IAnsS8w3z>{2l&IVsKW^m%p$b*43pz5t|<3IzZF literal 0 HcmV?d00001 diff --git a/fuzzers/corpora/packfile/bb7d065b776833337d3e1a3071de4d5d2759d78b b/fuzzers/corpora/packfile/bb7d065b776833337d3e1a3071de4d5d2759d78b new file mode 100644 index 000000000..2882b1818 --- /dev/null +++ b/fuzzers/corpora/packfile/bb7d065b776833337d3e1a3071de4d5d2759d78b @@ -0,0 +1 @@ +“ \ No newline at end of file diff --git a/fuzzers/corpora/packfile/bb99cf0bb3e5d75d59300e6ca9cb1f67ce315e3a b/fuzzers/corpora/packfile/bb99cf0bb3e5d75d59300e6ca9cb1f67ce315e3a new file mode 100644 index 0000000000000000000000000000000000000000..7450e2654743eb85d13b8454eea0875ed4908bd8 GIT binary patch literal 33 lcmZn&aCG)&U|?VZVrIjNImzijh5!Rc*|Yu^rHt1L%>Z+%2$KK+ literal 0 HcmV?d00001 diff --git a/fuzzers/corpora/packfile/bd9722d91e0615cbdae3cee3476ec6181fbad98d b/fuzzers/corpora/packfile/bd9722d91e0615cbdae3cee3476ec6181fbad98d new file mode 100644 index 0000000000000000000000000000000000000000..a8f95b69a5a6251b2c5069dd739a456e3ffcbba0 GIT binary patch literal 14 VcmcZ*;OOklz`(%FYJErJ4gei61QP%N literal 0 HcmV?d00001 diff --git a/fuzzers/corpora/packfile/bf8b4530d8d246dd74ac53a13471bba17941dff7 b/fuzzers/corpora/packfile/bf8b4530d8d246dd74ac53a13471bba17941dff7 new file mode 100644 index 000000000..6b2aaa764 --- /dev/null +++ b/fuzzers/corpora/packfile/bf8b4530d8d246dd74ac53a13471bba17941dff7 @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/fuzzers/corpora/packfile/bffc4698ad4aaddd977fe857da20858aa6654263 b/fuzzers/corpora/packfile/bffc4698ad4aaddd977fe857da20858aa6654263 new file mode 100644 index 0000000000000000000000000000000000000000..b7cde14f5d8ef5b2c0aa262bafe39339fbdb9aab GIT binary patch literal 34 qcmcZ*;OOklz`(%F{GXBa{fEB)|9?+pU{beMXJl2sb0@%&nHd1q&kOkg literal 0 HcmV?d00001 diff --git a/fuzzers/corpora/packfile/c0ea828d8f9c4a2c0fc6253908cd283f6c7994a1 b/fuzzers/corpora/packfile/c0ea828d8f9c4a2c0fc6253908cd283f6c7994a1 new file mode 100644 index 0000000000000000000000000000000000000000..ab567632ed6b0b020250792273eff77eed32ba21 GIT binary patch literal 55 ncmcZ*;OOklz`(%F{2vH_40Q1Szecc-kd=^-fDjCbGB5xDSe^;A literal 0 HcmV?d00001 diff --git a/fuzzers/corpora/packfile/c151b760696d665265187501c51f38cd84503634 b/fuzzers/corpora/packfile/c151b760696d665265187501c51f38cd84503634 new file mode 100644 index 000000000..4be246088 --- /dev/null +++ b/fuzzers/corpora/packfile/c151b760696d665265187501c51f38cd84503634 @@ -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 index 0000000000000000000000000000000000000000..d736f273cf7004fe4328627a953d455b00597672 GIT binary patch literal 81 zcmZn&aCG)&U|?VZVrHX?Imzijh5!S{zp`ijFN9`?WD7_MygO<%wXa_Bl&l0$J}J%b Z^m%p$rZtSdrB+B9ipoA}ZP0q;0|3(Q8TSAH literal 0 HcmV?d00001 diff --git a/fuzzers/corpora/packfile/c20fc8fb8f1d44050c281089191b8eac2dc9444c b/fuzzers/corpora/packfile/c20fc8fb8f1d44050c281089191b8eac2dc9444c new file mode 100644 index 0000000000000000000000000000000000000000..221c4826ed2e4b02f6ec29f9813e7fa1556be64a GIT binary patch literal 18 acmbOi;OOklz`(%F%=-VsdyRFwHUj`N3kK={ literal 0 HcmV?d00001 diff --git a/fuzzers/corpora/packfile/c2143b1a0db17957bec1b41bb2e5f75aa135981e b/fuzzers/corpora/packfile/c2143b1a0db17957bec1b41bb2e5f75aa135981e new file mode 100644 index 000000000..52e60b449 --- /dev/null +++ b/fuzzers/corpora/packfile/c2143b1a0db17957bec1b41bb2e5f75aa135981e @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/fuzzers/corpora/packfile/c22c3fba53bb2c5579b47852fa9ec54a88c03472 b/fuzzers/corpora/packfile/c22c3fba53bb2c5579b47852fa9ec54a88c03472 new file mode 100644 index 0000000000000000000000000000000000000000..45df7781a453c1917b87dd39aa5a4805a36ea268 GIT binary patch literal 72 zcmZn&aCG)&U|?VZVrIjNImzijh5!Rc*|Yu^LbF4%1*G0h6*!u9`aC-W(;7zK(xzjv a-cG0Ub}mSG>iy$dQc}`(W(I~#1|I+moEW?S literal 0 HcmV?d00001 diff --git a/fuzzers/corpora/packfile/c297564cff1bb4f7933221050cfcffa36c59f691 b/fuzzers/corpora/packfile/c297564cff1bb4f7933221050cfcffa36c59f691 new file mode 100644 index 0000000000000000000000000000000000000000..751e6bb634eacf3dfb77f360a251ec5dbe571fa1 GIT binary patch literal 33 lcmdN7aCG)&U|?VdVg?Qnp}cuxfaB)PpM4k^o@{0?1OQ=&2jBnz literal 0 HcmV?d00001 diff --git a/fuzzers/corpora/packfile/c2c4da76233acd3efe08eaebb7ae8dc9b3036527 b/fuzzers/corpora/packfile/c2c4da76233acd3efe08eaebb7ae8dc9b3036527 new file mode 100644 index 0000000000000000000000000000000000000000..5533ee3785301d216eeb17b11104267a45224246 GIT binary patch literal 18 ZcmZn(aCG)&U|?WoX8r%+J>&lm{{b>a2Ydhk literal 0 HcmV?d00001 diff --git a/fuzzers/corpora/packfile/c3d47118536d19a8d1a601978510cc24344aa8df b/fuzzers/corpora/packfile/c3d47118536d19a8d1a601978510cc24344aa8df new file mode 100644 index 0000000000000000000000000000000000000000..dac425171d643e85748ea8ce928d331182dc9ebf GIT binary patch literal 111 zcmZn&aCG)&U|?VZVrJWlImzijh5!Rc*|Yu^LbF4%1*G0h6*y|tSFd*eo}?pyZbaF~(;KuNH9$3Pw_+yG1~aG)SREPiLP+3Q U|Lkn4I?{yXV1W5PJ(Ix)0F+5`aR2}S literal 0 HcmV?d00001 diff --git a/fuzzers/corpora/packfile/c7090127a03c0e7230c11a649e4f98fcb4ca2b75 b/fuzzers/corpora/packfile/c7090127a03c0e7230c11a649e4f98fcb4ca2b75 new file mode 100644 index 0000000000000000000000000000000000000000..7009494e726a37d07b0f32154b6546a7f9e9f62e GIT binary patch literal 108 zcmZn&aCG)&U|?VZVrHX?Imzijh5!S{zp`ijFN9`?WD7{Wn<{YBsIOk}l&l0$J}J%b v^m%p$rZtSdrHt1L&C*eo}?pyX2gctM-6vC8j_N>Gczz`GWY-hIN>8= literal 0 HcmV?d00001 diff --git a/fuzzers/corpora/packfile/c8b839665bd381ff7d006b1b08c35f94f1818556 b/fuzzers/corpora/packfile/c8b839665bd381ff7d006b1b08c35f94f1818556 new file mode 100644 index 0000000000000000000000000000000000000000..234b26a69ea34dbc504886304d4d763c3ef182be GIT binary patch literal 19 acmcZ*;OOklz`(%FY<=$kd&U3F>goVJ{RZ9u literal 0 HcmV?d00001 diff --git a/fuzzers/corpora/packfile/ca8c7c16d1d6b60e951dcfb558cc97e14231c750 b/fuzzers/corpora/packfile/ca8c7c16d1d6b60e951dcfb558cc97e14231c750 new file mode 100644 index 0000000000000000000000000000000000000000..e0b7aecf42f8fc2686a722e2d91b2c060f15a67a GIT binary patch literal 326 zcmZn&aCG)&U|?VZVrHX?Imzijh5!S{zp`ijFN9`?WD7_MygO<%wXa_Bl&l0$J}J%b z^m%p$rZtSdrHt1Ljnlr~Yf>*eo}?pyZbaF~)0?y&H9$3Pw_+w}!!2w!m_cp8>d256 cLIThFXJ*XO94^< literal 0 HcmV?d00001 diff --git a/fuzzers/corpora/packfile/cbfb8cae82ddd82c04996f474fdb4f1b80dcb6db b/fuzzers/corpora/packfile/cbfb8cae82ddd82c04996f474fdb4f1b80dcb6db new file mode 100644 index 0000000000000000000000000000000000000000..7bd0640dc55cf124ce6d90ffcde6823fe04ad493 GIT binary patch literal 124 zcmZn&aCG)&U|?WkVqjo4t(cRX4&(?haFjjke<3tGBwIl0-Bf|2Mt${)r(`97(n)E4 zr_Zx9Fs)(qE%k1SJ?3;eZ|8!9r`|uVP3rjl&XWbj1O{e9Fdt;z#|^cQ8t#BhNJ`qy KtiX`T-~#|W^(_nl literal 0 HcmV?d00001 diff --git a/fuzzers/corpora/packfile/cf74f755c004ca634818f8ba44c99fffbaa950a1 b/fuzzers/corpora/packfile/cf74f755c004ca634818f8ba44c99fffbaa950a1 new file mode 100644 index 0000000000000000000000000000000000000000..6c8a3e28fa380f08e023e1ed273064dd2e41bd3a GIT binary patch literal 37 ncmZn&aCG)&U|?VZVWWyU$>~6b00T$aoT;)Br?nYScGeagb03hN73IG5A literal 0 HcmV?d00001 diff --git a/fuzzers/corpora/packfile/d1854cae891ec7b29161ccaf79a24b00c274bdaa b/fuzzers/corpora/packfile/d1854cae891ec7b29161ccaf79a24b00c274bdaa new file mode 100644 index 000000000..ef073cc45 --- /dev/null +++ b/fuzzers/corpora/packfile/d1854cae891ec7b29161ccaf79a24b00c274bdaa @@ -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 index 0000000000000000000000000000000000000000..766a326783a8fabb46e3907162ea75bcc9c24ab7 GIT binary patch literal 59 zcmZn&aCG)&U|?VZVZ(|!$>~6b00T$av;G%CvqQ24q~1*xIBL{auXsvU0w|r7=6Cu$ KI|I`iMqdEeXA%_v literal 0 HcmV?d00001 diff --git a/fuzzers/corpora/packfile/d446a50788c32053358495358696f9d595358bcf b/fuzzers/corpora/packfile/d446a50788c32053358495358696f9d595358bcf new file mode 100644 index 0000000000000000000000000000000000000000..1015f8ede84e689600c2d3aecc3c4c46ab6092c0 GIT binary patch literal 124 zcmZn&aCG)&U|?VZVrHX?Imzijh5!Rc*|Yu^LbF4%1*G0h6*y|tSFd14$ literal 0 HcmV?d00001 diff --git a/fuzzers/corpora/packfile/d81092a4f3607ddbba85862facf2285459696078 b/fuzzers/corpora/packfile/d81092a4f3607ddbba85862facf2285459696078 new file mode 100644 index 0000000000000000000000000000000000000000..0074e177e33ac2f558de52a73f16cf31b08c5fd5 GIT binary patch literal 62 zcmZn&aCG)&U|?VZVWWyU$>~6b00RdSv+NmAsQ-ndYp{{2nQpL0lAYh_^Xv>vYZ!e2 DlFkm0 literal 0 HcmV?d00001 diff --git a/fuzzers/corpora/packfile/d898eb860ceac044950605db88429e029ea278ef b/fuzzers/corpora/packfile/d898eb860ceac044950605db88429e029ea278ef new file mode 100644 index 0000000000000000000000000000000000000000..a74a67e5627090b8e333b84cdc4c2bd96e57ccfb GIT binary patch literal 53 zcmZn&aCG)&U|?VZVrJutImzijh5!Rc*|Yu^LbF4%1*G0h6*y`LB8>X#6)R3j$j%M{ E0CnyV-T(jq literal 0 HcmV?d00001 diff --git a/fuzzers/corpora/packfile/d8fc60ccdd8f555c1858b9f0820f263e3d2b58ec b/fuzzers/corpora/packfile/d8fc60ccdd8f555c1858b9f0820f263e3d2b58ec new file mode 100644 index 000000000..9d3cd6889 --- /dev/null +++ b/fuzzers/corpora/packfile/d8fc60ccdd8f555c1858b9f0820f263e3d2b58ec @@ -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 index 0000000000000000000000000000000000000000..1f4966d57cb93b9a2509e1882b0f1ee462a04fdf GIT binary patch literal 48 zcmZn&aCG)&U|?VZVvaJErr2Xnr}K6$NOE> literal 0 HcmV?d00001 diff --git a/fuzzers/corpora/packfile/e0bcb16cd6b42128201e1b6454323175a7e412f0 b/fuzzers/corpora/packfile/e0bcb16cd6b42128201e1b6454323175a7e412f0 new file mode 100644 index 0000000000000000000000000000000000000000..7386ac1f854a58b8eca570f49d675efbac53eda7 GIT binary patch literal 111 zcmZn&aCG)&U|?VZVrJWlImzijh5!Rc*|Yu^LbF4%1*G0h6*y|tSFdP! literal 0 HcmV?d00001 diff --git a/fuzzers/corpora/packfile/e1ac9563c33f4f31b3e147b9d2fef80fca550948 b/fuzzers/corpora/packfile/e1ac9563c33f4f31b3e147b9d2fef80fca550948 new file mode 100644 index 0000000000000000000000000000000000000000..c87f08b9bc98413461bac794c78a99a4248f7907 GIT binary patch literal 16 XcmZ1w;OOklz`(%F%=YcWd&d6&CFTX8 literal 0 HcmV?d00001 diff --git a/fuzzers/corpora/packfile/e230c91352f1b07f6f34da803d07e75c06897b30 b/fuzzers/corpora/packfile/e230c91352f1b07f6f34da803d07e75c06897b30 new file mode 100644 index 0000000000000000000000000000000000000000..ff1376fe80f3b7046010eb99c3ce0a0ccd677914 GIT binary patch literal 2 JcmZQr0{{T70IdK3 literal 0 HcmV?d00001 diff --git a/fuzzers/corpora/packfile/e26b3bacbfd6603d021d4ddadbac94b7b7aa0034 b/fuzzers/corpora/packfile/e26b3bacbfd6603d021d4ddadbac94b7b7aa0034 new file mode 100644 index 000000000..e6bdb3a79 --- /dev/null +++ b/fuzzers/corpora/packfile/e26b3bacbfd6603d021d4ddadbac94b7b7aa0034 @@ -0,0 +1 @@ +! \ No newline at end of file diff --git a/fuzzers/corpora/packfile/e2a6f8dc3dc5d6c859f19d6e0fa64745201df0a6 b/fuzzers/corpora/packfile/e2a6f8dc3dc5d6c859f19d6e0fa64745201df0a6 new file mode 100644 index 0000000000000000000000000000000000000000..3afd5ca8967405144adeb16e3bc1110e6ddde356 GIT binary patch literal 9 QcmcZ*;OOklz`(!^01m7H^8f$< literal 0 HcmV?d00001 diff --git a/fuzzers/corpora/packfile/e2ba004118345660b379df5147bfa7a39d884dbc b/fuzzers/corpora/packfile/e2ba004118345660b379df5147bfa7a39d884dbc new file mode 100644 index 0000000000000000000000000000000000000000..cb1ff9443c09431c11fb0ce55468a2cbbbb7dda8 GIT binary patch literal 27 icmZn&aCG)&U|?Wk@O>kG)asciLsHUqW(I~#1|I-q_y->V literal 0 HcmV?d00001 diff --git a/fuzzers/corpora/packfile/e45aaf139d726366a18dce9e4854ee6c82901677 b/fuzzers/corpora/packfile/e45aaf139d726366a18dce9e4854ee6c82901677 new file mode 100644 index 0000000000000000000000000000000000000000..0ba1db8d6a1b6712114b47badad352070c8b46a6 GIT binary patch literal 15 WcmbOi;OOklz`(%F%=-Vsdqw~tMg*t; literal 0 HcmV?d00001 diff --git a/fuzzers/corpora/packfile/e4b3ab7e8c18de815fc8bd6ebfd5d52cf1924a8e b/fuzzers/corpora/packfile/e4b3ab7e8c18de815fc8bd6ebfd5d52cf1924a8e new file mode 100644 index 0000000000000000000000000000000000000000..786d94bbbd8fa4efdc7b4baabf60045291bec41a GIT binary patch literal 80 zcmZn&aCG)&U|?VZVrGeoImtd&c(wBsB$4 literal 0 HcmV?d00001 diff --git a/fuzzers/corpora/packfile/eb05b6ad73fb1f69ef750d0b9cb6c606ab9d949f b/fuzzers/corpora/packfile/eb05b6ad73fb1f69ef750d0b9cb6c606ab9d949f new file mode 100644 index 0000000000000000000000000000000000000000..aaba356e48e4c4b90faadde1a227191f33c157e1 GIT binary patch literal 13 UcmWd*aCG)&U|?Wo{;#eM01#aQh5!Hn literal 0 HcmV?d00001 diff --git a/fuzzers/corpora/packfile/eb0814ae767e5f28b87c998b0f44dcf80814db1b b/fuzzers/corpora/packfile/eb0814ae767e5f28b87c998b0f44dcf80814db1b new file mode 100644 index 0000000000000000000000000000000000000000..f834b0bf0cb7e83c77d6a5b827e883406b267ef2 GIT binary patch literal 111 zcmZn&aCG)&U|?VZV&?pcImzijh5!Rc*|Yu^LbF4%1*G0hJ#|!8ps!xhNCGIGl;(H( zJUau^8b;qz#_NS0M3lj0=W literal 0 HcmV?d00001 diff --git a/fuzzers/corpora/packfile/ebbd9763912dd557d08abd1373c867a4b56e6a41 b/fuzzers/corpora/packfile/ebbd9763912dd557d08abd1373c867a4b56e6a41 new file mode 100644 index 0000000000000000000000000000000000000000..9a5a0eda7fc976f0d09f0f97aaf3b302b8db3cda GIT binary patch literal 38 ccmdN7aCG)&U|?VdVh$jN00axj-~7fH05rh^Gynhq literal 0 HcmV?d00001 diff --git a/fuzzers/corpora/packfile/ebcdcb7effcc3f06e0d503638ac621de877fc554 b/fuzzers/corpora/packfile/ebcdcb7effcc3f06e0d503638ac621de877fc554 new file mode 100644 index 000000000..ef6080906 --- /dev/null +++ b/fuzzers/corpora/packfile/ebcdcb7effcc3f06e0d503638ac621de877fc554 @@ -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 index 0000000000000000000000000000000000000000..9b1c9fbb3329c0a55429ad13cbd29a024fa387da GIT binary patch literal 111 zcmZn&aCG)&U|?VZVrJorImzijh5!Rc*|Yu^LbF4%1*G0h6*y|tSFdEI81Du>Swo2o@5u5)u*+f&vBrY<~*2 literal 0 HcmV?d00001 diff --git a/fuzzers/corpora/packfile/f28600befd899a94bed8e62853e90655d614f439 b/fuzzers/corpora/packfile/f28600befd899a94bed8e62853e90655d614f439 new file mode 100644 index 0000000000000000000000000000000000000000..5087f32e81811021e5647a16917f50ce10031607 GIT binary patch literal 13 Scmcb>#K6E1;OOiPq!OV literal 0 HcmV?d00001 diff --git a/fuzzers/corpora/packfile/f436ed7933482610e08e18b40e9eec102b63b7d4 b/fuzzers/corpora/packfile/f436ed7933482610e08e18b40e9eec102b63b7d4 new file mode 100644 index 0000000000000000000000000000000000000000..4a7dcffb4599c2776ecd8a123049e4b63f4d8b22 GIT binary patch literal 17 YcmcZ*;OOklz`(%F{GXBa{reAn04{3=R{#J2 literal 0 HcmV?d00001 diff --git a/fuzzers/corpora/packfile/f55ea5b7c1cf5400aae56d7faf65a42320d0323a b/fuzzers/corpora/packfile/f55ea5b7c1cf5400aae56d7faf65a42320d0323a new file mode 100644 index 0000000000000000000000000000000000000000..c5e3137300030fc400d6a2a33772fdeb932faf72 GIT binary patch literal 14 VcmZn&aCG)&U|?Xnb7z`c4*(vU1i}CS literal 0 HcmV?d00001 diff --git a/fuzzers/corpora/packfile/f5eeab2d009aa4984378df6bfdd89366b7ecbb32 b/fuzzers/corpora/packfile/f5eeab2d009aa4984378df6bfdd89366b7ecbb32 new file mode 100644 index 0000000000000000000000000000000000000000..15828cfa6d1956bac0349731993ddbc1d733a316 GIT binary patch literal 93 zcmZn&aCG)&U|?VZVrG+yImzijh5!Rc*|Yu^LbF}61*G0h6*y|tSFdJ7$d;=*-O4`oMz>vw{0|1tbBN_kz literal 0 HcmV?d00001 diff --git a/fuzzers/corpora/packfile/f6250c8b3cc0510e0f8f621100be83f018e2d234 b/fuzzers/corpora/packfile/f6250c8b3cc0510e0f8f621100be83f018e2d234 new file mode 100644 index 0000000000000000000000000000000000000000..ab03a5e31e3d5aa3b876b0f4a9045a7b3faa70c1 GIT binary patch literal 38 rcmZn&aCG)&U|?VZVrJutImzijh5!Rc*|UD5zIw%qQxdYX=Y#+No|6h2 literal 0 HcmV?d00001 diff --git a/fuzzers/corpora/packfile/f7168410c7158ff7331698930937f9cdc54f4d8a b/fuzzers/corpora/packfile/f7168410c7158ff7331698930937f9cdc54f4d8a new file mode 100644 index 0000000000000000000000000000000000000000..e42053d0c90f739fb47008e0bd5a57e6b7b8cfc1 GIT binary patch literal 93 zcmZn&aCG)&U|?VZVrJutImzijh5!Rc*|Yu^LbF4%1*G0h6*y|#SFdJ7$d;=*-O4`oMz>vw{0|1(0BPsv@ literal 0 HcmV?d00001 diff --git a/fuzzers/corpora/packfile/f91847640af285c1b8a6df27f5c50686ed0deb70 b/fuzzers/corpora/packfile/f91847640af285c1b8a6df27f5c50686ed0deb70 new file mode 100644 index 0000000000000000000000000000000000000000..615255fd64ba443e65d6cb531f1a4cb2ba0d5d22 GIT binary patch literal 20 YcmcZ*;OOklz`(%F91H{+!J0M3lmaB% literal 0 HcmV?d00001 diff --git a/fuzzers/corpora/packfile/fe3667be5fd2ffdd553ae04a534a2e9ce5445188 b/fuzzers/corpora/packfile/fe3667be5fd2ffdd553ae04a534a2e9ce5445188 new file mode 100644 index 0000000000000000000000000000000000000000..d92e5748ed2c8ca9c96636891946b71890a3a9b5 GIT binary patch literal 34 ocmdN7aCG)&U|?WoX8r%+ePiEdAQ0QUnNe)BPqOu9pUs<@0o6GTs{jB1 literal 0 HcmV?d00001 diff --git a/fuzzers/corpora/packfile/ff21cad92ddd105224408fa696e91080a8cf98fb b/fuzzers/corpora/packfile/ff21cad92ddd105224408fa696e91080a8cf98fb new file mode 100644 index 0000000000000000000000000000000000000000..c1cfc00c2c976fd9cdc16c6333b2e320113f35e1 GIT binary patch literal 38 hcmdN7aCG)&U|?WoX8r$RGXi|xyqST41Hxxu1^_dA5s&}? literal 0 HcmV?d00001 diff --git a/fuzzers/corpora/packfile/ff9804ac04790bd58cdd124526c00b920469b812 b/fuzzers/corpora/packfile/ff9804ac04790bd58cdd124526c00b920469b812 new file mode 100644 index 0000000000000000000000000000000000000000..4280c829cac081883e7b46b53f41654491309fb5 GIT binary patch literal 15 WcmcZ*;OOklz`(%FYJErJ-W>oUBLwjP literal 0 HcmV?d00001 diff --git a/fuzzers/corpora/packfile/ffc54ca808e7666f250133ad0ae2185ad688a826 b/fuzzers/corpora/packfile/ffc54ca808e7666f250133ad0ae2185ad688a826 new file mode 100644 index 000000000..4489a6500 --- /dev/null +++ b/fuzzers/corpora/packfile/ffc54ca808e7666f250133ad0ae2185ad688a826 @@ -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 index 000000000..93f1b49b3 --- /dev/null +++ b/fuzzers/download_refs_fuzzer.c @@ -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 +#include +#include +#include +#include + +#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 : ""); + 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 index 000000000..1feff778d --- /dev/null +++ b/fuzzers/objects_fuzzer.c @@ -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 index 000000000..a448233cb --- /dev/null +++ b/fuzzers/packfile_fuzzer.c @@ -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 +#include +#include +#include +#include + +#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 index 000000000..000bfbfa4 --- /dev/null +++ b/fuzzers/standalone_driver.c @@ -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 +#include +#include +#include +#include + +#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 \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; +} diff --git a/git.git-authors b/git.git-authors index 3bc009fcc..905bdd24f 100644 --- a/git.git-authors +++ b/git.git-authors @@ -46,6 +46,7 @@ ok Brian Downing ok Brian Gernhardt ok Christian Couder ok Daniel Barkalow +ok Elijah Newren ok Florian Forster ok Gustaf Hendeby ok Holger Weiss diff --git a/include/git2.h b/include/git2.h index 5f6104ef7..c07c26038 100644 --- a/include/git2.h +++ b/include/git2.h @@ -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" diff --git a/include/git2/annotated_commit.h b/include/git2/annotated_commit.h index 7fb896a5f..fa795bfc4 100644 --- a/include/git2/annotated_commit.h +++ b/include/git2/annotated_commit.h @@ -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 index 000000000..91f93d75d --- /dev/null +++ b/include/git2/apply.h @@ -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 diff --git a/include/git2/attr.h b/include/git2/attr.h index 0238f3dd7..3752b9913 100644 --- a/include/git2/attr.h +++ b/include/git2/attr.h @@ -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 */ diff --git a/include/git2/blame.h b/include/git2/blame.h index 84bb7f94c..eef863f9c 100644 --- a/include/git2/blame.h +++ b/include/git2/blame.h @@ -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( diff --git a/include/git2/blob.h b/include/git2/blob.h index 70204c440..ff1a4818f 100644 --- a/include/git2/blob.h +++ b/include/git2/blob.h @@ -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 diff --git a/include/git2/branch.h b/include/git2/branch.h index 88fe723a0..8a4ce29a9 100644 --- a/include/git2/branch.h +++ b/include/git2/branch.h @@ -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 diff --git a/include/git2/buffer.h b/include/git2/buffer.h index 9fc6a5805..0027678b8 100644 --- a/include/git2/buffer.h +++ b/include/git2/buffer.h @@ -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. diff --git a/include/git2/checkout.h b/include/git2/checkout.h index 4a9dbb021..3fb3fc127 100644 --- a/include/git2/checkout.h +++ b/include/git2/checkout.h @@ -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, diff --git a/include/git2/cherrypick.h b/include/git2/cherrypick.h index edec96a94..ca6f72075 100644 --- a/include/git2/cherrypick.h +++ b/include/git2/cherrypick.h @@ -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( diff --git a/include/git2/clone.h b/include/git2/clone.h index 9e23aaccb..790a82832 100644 --- a/include/git2/clone.h +++ b/include/git2/clone.h @@ -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, diff --git a/include/git2/commit.h b/include/git2/commit.h index 692b3bdd9..7e0409cc7 100644 --- a/include/git2/commit.h +++ b/include/git2/commit.h @@ -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 diff --git a/include/git2/common.h b/include/git2/common.h index f65cfdd01..70c02a48c 100644 --- a/include/git2/common.h +++ b/include/git2/common.h @@ -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 diff --git a/include/git2/config.h b/include/git2/config.h index d9da65b84..0bea323b2 100644 --- a/include/git2/config.h +++ b/include/git2/config.h @@ -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 index 000000000..9d3a091a3 --- /dev/null +++ b/include/git2/deprecated.h @@ -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 diff --git a/include/git2/describe.h b/include/git2/describe.h index 63de7e18c..56f119b2d 100644 --- a/include/git2/describe.h +++ b/include/git2/describe.h @@ -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, diff --git a/include/git2/diff.h b/include/git2/diff.h index 86009f583..b920385ee 100644 --- a/include/git2/diff.h +++ b/include/git2/diff.h @@ -16,50 +16,6 @@ /** * @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 diff --git a/include/git2/errors.h b/include/git2/errors.h index 6f5580253..4e19f8925 100644 --- a/include/git2/errors.h +++ b/include/git2/errors.h @@ -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 diff --git a/include/git2/ignore.h b/include/git2/ignore.h index d0c1877a8..f5143f3ad 100644 --- a/include/git2/ignore.h +++ b/include/git2/ignore.h @@ -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 diff --git a/include/git2/index.h b/include/git2/index.h index 35af2e5bf..419184cc3 100644 --- a/include/git2/index.h +++ b/include/git2/index.h @@ -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 diff --git a/include/git2/indexer.h b/include/git2/indexer.h index d2d315e47..94d8785c0 100644 --- a/include/git2/indexer.h +++ b/include/git2/indexer.h @@ -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 index 000000000..7c3f60fcc --- /dev/null +++ b/include/git2/mailmap.h @@ -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 diff --git a/include/git2/merge.h b/include/git2/merge.h index 80ef864d1..862721370 100644 --- a/include/git2/merge.h +++ b/include/git2/merge.h @@ -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 * diff --git a/include/git2/net.h b/include/git2/net.h index 04dff34bc..391cdee1c 100644 --- a/include/git2/net.h +++ b/include/git2/net.h @@ -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 diff --git a/include/git2/notes.h b/include/git2/notes.h index 853e5de59..c36149e5b 100644 --- a/include/git2/notes.h +++ b/include/git2/notes.h @@ -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); /** diff --git a/include/git2/object.h b/include/git2/object.h index a798c9dc3..01dc37ace 100644 --- a/include/git2/object.h +++ b/include/git2/object.h @@ -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 diff --git a/include/git2/odb.h b/include/git2/odb.h index 006a75b7a..0008eee20 100644 --- a/include/git2/odb.h +++ b/include/git2/odb.h @@ -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 diff --git a/include/git2/odb_backend.h b/include/git2/odb_backend.h index 9199538ce..614d0d431 100644 --- a/include/git2/odb_backend.h +++ b/include/git2/odb_backend.h @@ -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 diff --git a/include/git2/oid.h b/include/git2/oid.h index aaa678cc0..7e071bac7 100644 --- a/include/git2/oid.h +++ b/include/git2/oid.h @@ -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 diff --git a/include/git2/pack.h b/include/git2/pack.h index 2dfd825e9..beb9f4b9e 100644 --- a/include/git2/pack.h +++ b/include/git2/pack.h @@ -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, diff --git a/include/git2/proxy.h b/include/git2/proxy.h index 194cbb651..5f9d27f30 100644 --- a/include/git2/proxy.h +++ b/include/git2/proxy.h @@ -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); diff --git a/include/git2/rebase.h b/include/git2/rebase.h index 9b9065ee4..f6b2e20ad 100644 --- a/include/git2/rebase.h +++ b/include/git2/rebase.h @@ -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( diff --git a/include/git2/refs.h b/include/git2/refs.h index 0dd453e55..8eeab7e92 100644 --- a/include/git2/refs.h +++ b/include/git2/refs.h @@ -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//bar but not foo/bar). */ - 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 diff --git a/include/git2/refspec.h b/include/git2/refspec.h index 9acdc72d5..eaf774746 100644 --- a/include/git2/refspec.h +++ b/include/git2/refspec.h @@ -21,6 +21,23 @@ */ 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 * diff --git a/include/git2/remote.h b/include/git2/remote.h index 22e2291d0..0b6e92a9e 100644 --- a/include/git2/remote.h +++ b/include/git2/remote.h @@ -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( diff --git a/include/git2/repository.h b/include/git2/repository.h index 6e0c1f71e..04c7300ce 100644 --- a/include/git2/repository.h +++ b/include/git2/repository.h @@ -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); /** diff --git a/include/git2/revert.h b/include/git2/revert.h index 82dbadcfc..260ad044b 100644 --- a/include/git2/revert.h +++ b/include/git2/revert.h @@ -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( diff --git a/include/git2/revwalk.h b/include/git2/revwalk.h index d9376ceea..9cb0d0a67 100644 --- a/include/git2/revwalk.h +++ b/include/git2/revwalk.h @@ -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 diff --git a/include/git2/signature.h b/include/git2/signature.h index 7a2a0238a..b14f3ea89 100644 --- a/include/git2/signature.h +++ b/include/git2/signature.h @@ -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); diff --git a/include/git2/stash.h b/include/git2/stash.h index 3af9cde38..c4dcf6845 100644 --- a/include/git2/stash.h +++ b/include/git2/stash.h @@ -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, diff --git a/include/git2/status.h b/include/git2/status.h index 4b86818b7..06229ed2e 100644 --- a/include/git2/status.h +++ b/include/git2/status.h @@ -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( diff --git a/include/git2/submodule.h b/include/git2/submodule.h index b2b3039fe..efb3b75d6 100644 --- a/include/git2/submodule.h +++ b/include/git2/submodule.h @@ -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 index 000000000..642740dab --- /dev/null +++ b/include/git2/sys/alloc.h @@ -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 diff --git a/include/git2/sys/commit.h b/include/git2/sys/commit.h index 627d3ae2e..ba671061f 100644 --- a/include/git2/sys/commit.h +++ b/include/git2/sys/commit.h @@ -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. diff --git a/include/git2/sys/config.h b/include/git2/sys/config.h index ed203226f..0a9005e35 100644 --- a/include/git2/sys/config.h +++ b/include/git2/sys/config.h @@ -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} diff --git a/include/git2/sys/filter.h b/include/git2/sys/filter.h index 6d575d4fd..e43fde55c 100644 --- a/include/git2/sys/filter.h +++ b/include/git2/sys/filter.h @@ -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); diff --git a/include/git2/sys/index.h b/include/git2/sys/index.h index 2e2b87e68..f1900df42 100644 --- a/include/git2/sys/index.h +++ b/include/git2/sys/index.h @@ -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 diff --git a/include/git2/sys/mempack.h b/include/git2/sys/mempack.h index 490636b44..63fb38dc8 100644 --- a/include/git2/sys/mempack.h +++ b/include/git2/sys/mempack.h @@ -23,61 +23,61 @@ 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); diff --git a/include/git2/sys/merge.h b/include/git2/sys/merge.h index eed106c07..bd0a8a4b7 100644 --- a/include/git2/sys/merge.h +++ b/include/git2/sys/merge.h @@ -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, diff --git a/include/git2/sys/odb_backend.h b/include/git2/sys/odb_backend.h index 792f103fe..1a747570d 100644 --- a/include/git2/sys/odb_backend.h +++ b/include/git2/sys/odb_backend.h @@ -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 index 000000000..2a0c7e00d --- /dev/null +++ b/include/git2/sys/path.h @@ -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 */ diff --git a/include/git2/sys/refdb_backend.h b/include/git2/sys/refdb_backend.h index 5129ad84a..2ed6efd5a 100644 --- a/include/git2/sys/refdb_backend.h +++ b/include/git2/sys/refdb_backend.h @@ -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); }; diff --git a/include/git2/sys/stream.h b/include/git2/sys/stream.h index eeeb68dae..6f93cc48c 100644 --- a/include/git2/sys/stream.h +++ b/include/git2/sys/stream.h @@ -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 diff --git a/include/git2/sys/transport.h b/include/git2/sys/transport.h index a395de5ed..2a2f3c19a 100644 --- a/include/git2/sys/transport.h +++ b/include/git2/sys/transport.h @@ -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_transport* owner, - void* param); + 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_transport* owner, + 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_transport* owner, + 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_transport* owner, + git_transport *owner, void *param); /** @} */ diff --git a/include/git2/tag.h b/include/git2/tag.h index cb95fb5ef..1ca334843 100644 --- a/include/git2/tag.h +++ b/include/git2/tag.h @@ -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 diff --git a/include/git2/trace.h b/include/git2/trace.h index f9b4d6ff6..f8bbfb28c 100644 --- a/include/git2/trace.h +++ b/include/git2/trace.h @@ -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 diff --git a/include/git2/transaction.h b/include/git2/transaction.h index 00ca13993..4938570b5 100644 --- a/include/git2/transaction.h +++ b/include/git2/transaction.h @@ -8,6 +8,7 @@ #define INCLUDE_git_transaction_h__ #include "common.h" +#include "types.h" /** * @file git2/transaction.h diff --git a/include/git2/transport.h b/include/git2/transport.h index 0c371bf4b..2ba2d7ee6 100644 --- a/include/git2/transport.h +++ b/include/git2/transport.h @@ -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, diff --git a/include/git2/tree.h b/include/git2/tree.h index 1a363c149..aca5d75ed 100644 --- a/include/git2/tree.h +++ b/include/git2/tree.h @@ -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 */ diff --git a/include/git2/types.h b/include/git2/types.h index 8d9a94710..0eaa0041d 100644 --- a/include/git2/types.h +++ b/include/git2/types.h @@ -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 diff --git a/include/git2/version.h b/include/git2/version.h index 964e4a58b..7b7122000 100644 --- a/include/git2/version.h +++ b/include/git2/version.h @@ -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 diff --git a/include/git2/worktree.h b/include/git2/worktree.h index a2a5d4473..925d85a69 100644 --- a/include/git2/worktree.h +++ b/include/git2/worktree.h @@ -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( diff --git a/libgit2_clar.supp b/libgit2_clar.supp index 0cc89b57f..b74791974 100644 --- a/libgit2_clar.supp +++ b/libgit2_clar.supp @@ -5,10 +5,10 @@ } { - ignore-giterr-set-leak + ignore-giterror-set-leak Memcheck:Leak ... - fun:giterr_set + fun:giterror_set } { @@ -56,13 +56,53 @@ } { - 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 index 000000000..d33f31c30 --- /dev/null +++ b/package.json @@ -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 index 000000000..3c2f899d6 --- /dev/null +++ b/script/backport.sh @@ -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 diff --git a/script/user_model.c b/script/user_model.c index a933d735c..49425272e 100644 --- a/script/user_model.c +++ b/script/user_model.c @@ -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__(); +} diff --git a/script/user_nodefs.h b/script/user_nodefs.h index 3c06a706d..b6e2df312 100644 --- a/script/user_nodefs.h +++ b/script/user_nodefs.h @@ -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] == ':') diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 2080933f0..5ad8b1447 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -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 $) 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 "$") 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 $) 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 $) 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 index 000000000..8d4a19476 --- /dev/null +++ b/src/alloc.c @@ -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 index 000000000..04fb7e101 --- /dev/null +++ b/src/alloc.h @@ -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 diff --git a/src/annotated_commit.c b/src/annotated_commit.c index 72ba80a22..5d4f37082 100644 --- a/src/annotated_commit.c +++ b/src/annotated_commit.c @@ -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) diff --git a/src/apply.c b/src/apply.c index 7801a0a54..d72aa8374 100644 --- a/src/apply.c +++ b/src/apply.c @@ -9,16 +9,23 @@ #include +#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; +} diff --git a/src/apply.h b/src/apply.h index b29460c0b..11ec75637 100644 --- a/src/apply.h +++ b/src/apply.h @@ -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 diff --git a/src/array.h b/src/array.h index 1d8a01c96..03537e796 100644 --- a/src/array.h +++ b/src/array.h @@ -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; diff --git a/src/attr.c b/src/attr.c index 93d9551d9..1f2643345 100644 --- a/src/attr.c +++ b/src/attr.c @@ -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; } diff --git a/src/attr_file.c b/src/attr_file.c index f46cce3de..40c72ea04 100644 --- a/src/attr_file.c +++ b/src/attr_file.c @@ -12,6 +12,7 @@ #include "attrcache.h" #include "git2/blob.h" #include "git2/tree.h" +#include "blob.h" #include "index.h" #include @@ -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)); } diff --git a/src/attrcache.c b/src/attrcache.c index 65e7b4655..cb8a4a4e9 100644 --- a/src/attrcache.c +++ b/src/attrcache.c @@ -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); diff --git a/src/blame.c b/src/blame.c index a923bf003..be10c15d6 100644 --- a/src/blame.c +++ b/src/blame.c @@ -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); } diff --git a/src/blame.h b/src/blame.h index 8fd3ee5b1..b31d2dc20 100644 --- a/src/blame.h +++ b/src/blame.h @@ -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; diff --git a/src/blame_git.c b/src/blame_git.c index 3c221b318..06e7d648e 100644 --- a/src/blame_git.c +++ b/src/blame_git.c @@ -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; iguilty) 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) diff --git a/src/blob.c b/src/blob.c index 3396fe74f..566d24b8e 100644 --- a/src/blob.c +++ b/src/blob.c @@ -19,34 +19,54 @@ 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); } diff --git a/src/blob.h b/src/blob.h index 3f1f97719..b9aa33004 100644 --- a/src/blob.h +++ b/src/blob.h @@ -16,11 +16,28 @@ 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( diff --git a/src/branch.c b/src/branch.c index 42addc2ce..61ed03e2e 100644 --- a/src/branch.c +++ b/src/branch.c @@ -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; diff --git a/src/buf_text.c b/src/buf_text.c index 306980b5c..88fcb87dd 100644 --- a/src/buf_text.c +++ b/src/buf_text.c @@ -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)); } diff --git a/src/buffer.c b/src/buffer.c index 8a58d1afa..51fb48a45 100644 --- a/src/buffer.c +++ b/src/buffer.c @@ -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("ed, buf); done: - git_buf_free("ed); + git_buf_dispose("ed); 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; } diff --git a/src/buffer.h b/src/buffer.h index cc77fc030..7910b6338 100644 --- a/src/buffer.h +++ b/src/buffer.h @@ -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); diff --git a/src/cache.c b/src/cache.c index cdd12979f..66107eaa9 100644 --- a/src/cache.c +++ b/src/cache.c @@ -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); diff --git a/src/cache.h b/src/cache.h index 9c09954ae..d2386eea6 100644 --- a/src/cache.h +++ b/src/cache.h @@ -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); diff --git a/src/cc-compat.h b/src/cc-compat.h index 0f05cd2d9..8aaa8bb5a 100644 --- a/src/cc-compat.h +++ b/src/cc-compat.h @@ -47,12 +47,24 @@ /* 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 diff --git a/src/checkout.c b/src/checkout.c index debdbe95b..fe020894a 100644 --- a/src/checkout.c +++ b/src/checkout.c @@ -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; } diff --git a/src/cherrypick.c b/src/cherrypick.c index e42b74815..26935c6df 100644 --- a/src/cherrypick.c +++ b/src/cherrypick.c @@ -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; } diff --git a/src/clone.c b/src/clone.c index 8764bb728..8688da9e4 100644 --- a/src/clone.c +++ b/src/clone.c @@ -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; } diff --git a/src/commit.c b/src/commit.c index 8972c077d..513fdccaf 100644 --- a/src/commit.c +++ b/src/commit.c @@ -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); +} diff --git a/src/commit.h b/src/commit.h index 781809d70..9137a8fad 100644 --- a/src/commit.h +++ b/src/commit.h @@ -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 diff --git a/src/commit_list.c b/src/commit_list.c index b4313eed2..5496dca44 100644 --- a/src/commit_list.c +++ b/src/commit_list.c @@ -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( diff --git a/src/common.h b/src/common.h index 44063be12..18ba72dd1 100644 --- a/src/common.h +++ b/src/common.h @@ -17,8 +17,10 @@ /** 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 */ @@ -77,6 +79,12 @@ #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 #define DEFAULT_BUFSIZE 65536 @@ -87,30 +95,30 @@ /** * 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" diff --git a/src/config.c b/src/config.c index 5d95c2458..fce1aad3b 100644 --- a/src/config.c +++ b/src/config.c @@ -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 @@ -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(®ex, regexp, REG_EXTENDED)) != 0) { - giterr_set_regex(®ex, error); + git_error_set_regex(®ex, error); regfree(®ex); 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; } diff --git a/src/config.h b/src/config.h index a5fcf2e84..f5855113f 100644 --- a/src/config.h +++ b/src/config.h @@ -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 index 000000000..6d678ae43 --- /dev/null +++ b/src/config_backend.h @@ -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 diff --git a/src/config_cache.c b/src/config_cache.c index 0efb1a789..2530217c9 100644 --- a/src/config_cache.c +++ b/src/config_cache.c @@ -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 index 000000000..f6277bcc7 --- /dev/null +++ b/src/config_entries.c @@ -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 index 000000000..6fdbc41ba --- /dev/null +++ b/src/config_entries.h @@ -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); diff --git a/src/config_file.c b/src/config_file.c index 0c05fb515..26c9e5ed2 100644 --- a/src/config_file.c +++ b/src/config_file.c @@ -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" @@ -18,74 +17,20 @@ #include "strmap.h" #include "array.h" #include "config_parse.h" +#include "config_entries.h" #include #include #include -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 index 72818e58c..000000000 --- a/src/config_file.h +++ /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 index 000000000..c2ecfda12 --- /dev/null +++ b/src/config_mem.c @@ -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; +} diff --git a/src/config_parse.c b/src/config_parse.c index d4c1c2bbd..ab2fb9867 100644 --- a/src/config_parse.c +++ b/src/config_parse.c @@ -11,10 +11,14 @@ #include +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, ¤t_section)) == 0 && on_section) { + result = parse_section_header(parser, ¤t_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; } diff --git a/src/config_parse.h b/src/config_parse.h index d14a8e60c..81a13fceb 100644 --- a/src/config_parse.h +++ b/src/config_parse.h @@ -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); diff --git a/src/crlf.c b/src/crlf.c index 9af60076d..80441e7e3 100644 --- a/src/crlf.c +++ b/src/crlf.c @@ -18,65 +18,58 @@ #include "buf_text.h" #include "repository.h" +typedef enum { + GIT_CRLF_UNDEFINED, + GIT_CRLF_BINARY, + GIT_CRLF_TEXT, + GIT_CRLF_TEXT_INPUT, + GIT_CRLF_TEXT_CRLF, + GIT_CRLF_AUTO, + GIT_CRLF_AUTO_INPUT, + GIT_CRLF_AUTO_CRLF, +} git_crlf_t; + struct crlf_attrs { - int crlf_action; - int eol; + int attr_action; /* the .gitattributes setting */ + int crlf_action; /* the core.autocrlf setting */ + int auto_crlf; int safe_crlf; + 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; } diff --git a/src/delta.c b/src/delta.c index b9352b8ee..1ff7752c7 100644 --- a/src/delta.c +++ b/src/delta.c @@ -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; } diff --git a/src/describe.c b/src/describe.c index edf8edfd1..893ca646e 100644 --- a/src/describe.c +++ b/src/describe.c @@ -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(¤t_id, repo, GIT_HEAD_FILE)) < 0) return error; - if ((error = git_object_lookup(&commit, repo, ¤t_id, GIT_OBJ_COMMIT)) < 0) + if ((error = git_object_lookup(&commit, repo, ¤t_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; diff --git a/src/diff.c b/src/diff.c index c7a652896..d2e129d1b 100644 --- a/src/diff.c +++ b/src/diff.c @@ -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)); diff --git a/src/diff_driver.c b/src/diff_driver.c index 7114b06b6..05246dfa3 100644 --- a/src/diff_driver.c +++ b/src/diff_driver.c @@ -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..xfuncname, so just continue */ + git_error_clear(); /* no diff..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..funcname, so just continue */ + git_error_clear(); /* no diff..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; } } diff --git a/src/diff_file.c b/src/diff_file.c index 5bb9c372a..ae1016d9a 100644 --- a/src/diff_file.c +++ b/src/diff_file.c @@ -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; } diff --git a/src/diff_generate.c b/src/diff_generate.c index e11cbe4e4..5579dc214 100644 --- a/src/diff_generate.c +++ b/src/diff_generate.c @@ -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; } diff --git a/src/diff_generate.h b/src/diff_generate.h index 3f182b0ba..6e669a3d5 100644 --- a/src/diff_generate.h +++ b/src/diff_generate.h @@ -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; diff --git a/src/diff_parse.c b/src/diff_parse.c index 59fd8612a..b4c76a3eb 100644 --- a/src/diff_parse.c +++ b/src/diff_parse.c @@ -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; } diff --git a/src/diff_print.c b/src/diff_print.c index 5e535482c..8705615a0 100644 --- a/src/diff_print.c +++ b/src/diff_print.c @@ -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; } diff --git a/src/diff_stats.c b/src/diff_stats.c index 583c68459..a0681712f 100644 --- a/src/diff_stats.c +++ b/src/diff_stats.c @@ -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); diff --git a/src/diff_tform.c b/src/diff_tform.c index a9706e002..00ce1cbf6 100644 --- a/src/diff_tform.c +++ b/src/diff_tform.c @@ -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); } /* diff --git a/src/diff_xdiff.c b/src/diff_xdiff.c index 701eb1b5f..c4668fa2f 100644 --- a/src/diff_xdiff.c +++ b/src/diff_xdiff.c @@ -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; } diff --git a/src/errors.c b/src/errors.c index a874163b0..afa340936 100644 --- a/src/errors.c +++ b/src/errors.c @@ -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(); +} diff --git a/src/features.h.in b/src/features.h.in index e03b7a251..694a61c02 100644 --- a/src/features.h.in +++ b/src/features.h.in @@ -22,15 +22,16 @@ #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 diff --git a/src/fetch.c b/src/fetch.c index 0b22b3673..d29341b94 100644 --- a/src/fetch.c +++ b/src/fetch.c @@ -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; } diff --git a/src/fetchhead.c b/src/fetchhead.c index e55e7c85b..bdded029a 100644 --- a/src/fetchhead.c +++ b/src/fetchhead.c @@ -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; } diff --git a/src/filebuf.c b/src/filebuf.c index 8b7e489da..8a70bcd66 100644 --- a/src/filebuf.c +++ b/src/filebuf.c @@ -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; } diff --git a/src/fileops.c b/src/fileops.c index 58988c2d2..988ea0f08 100644 --- a/src/fileops.c +++ b/src/fileops.c @@ -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; diff --git a/src/fileops.h b/src/fileops.h index 2844ece21..85131f834 100644 --- a/src/fileops.h +++ b/src/fileops.h @@ -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 diff --git a/src/filter.c b/src/filter.c index 6ab09790b..33ddfe2a5 100644 --- a/src/filter.c +++ b/src/filter.c @@ -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; } diff --git a/src/filter.h b/src/filter.h index b1c403ba9..34081fb4a 100644 --- a/src/filter.h +++ b/src/filter.h @@ -15,16 +15,6 @@ /* Amount of file to examine for NUL byte when checking binary-ness */ #define GIT_FILTER_BYTES_TO_CHECK_NUL 8000 -/* Possible CRLF values */ -typedef enum { - GIT_CRLF_GUESS = -1, - GIT_CRLF_BINARY = 0, - GIT_CRLF_TEXT, - GIT_CRLF_INPUT, - GIT_CRLF_CRLF, - GIT_CRLF_AUTO, -} git_crlf_t; - typedef struct { git_attr_session *attr_session; git_buf *temp_buf; diff --git a/src/global.c b/src/global.c index 2f9b45bcd..418c036c1 100644 --- a/src/global.c +++ b/src/global.c @@ -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" @@ -24,9 +26,23 @@ 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) diff --git a/src/hash.h b/src/hash.h index 31eaf8889..0502e352e 100644 --- a/src/hash.h +++ b/src/hash.h @@ -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; diff --git a/src/hash/hash_collisiondetect.h b/src/hash/hash_collisiondetect.h index 4c5e3c302..743209802 100644 --- a/src/hash/hash_collisiondetect.h +++ b/src/hash/hash_collisiondetect.h @@ -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; } diff --git a/src/hash/hash_common_crypto.h b/src/hash/hash_common_crypto.h index 5c3887dba..ce352a633 100644 --- a/src/hash/hash_common_crypto.h +++ b/src/hash/hash_common_crypto.h @@ -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); diff --git a/src/hash/hash_generic.h b/src/hash/hash_generic.h index 21a042807..fb0009ccf 100644 --- a/src/hash/hash_generic.h +++ b/src/hash/hash_generic.h @@ -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 index 000000000..a19d76308 --- /dev/null +++ b/src/hash/hash_mbedtls.c @@ -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 index 000000000..7f3decd7d --- /dev/null +++ b/src/hash/hash_mbedtls.h @@ -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 + +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__ */ diff --git a/src/hash/hash_openssl.h b/src/hash/hash_openssl.h index eb2dcb02f..8dbfd5ad5 100644 --- a/src/hash/hash_openssl.h +++ b/src/hash/hash_openssl.h @@ -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; } diff --git a/src/hash/hash_win32.c b/src/hash/hash_win32.c index 779802c4b..4b6830358 100644 --- a/src/hash/hash_win32.c +++ b/src/hash/hash_win32.c @@ -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; } diff --git a/src/hashsig.c b/src/hashsig.c index 30d059463..abebd7a54 100644 --- a/src/hashsig.c +++ b/src/hashsig.c @@ -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; } diff --git a/src/idxmap.c b/src/idxmap.c index 45f0c2204..3a5fc105a 100644 --- a/src/idxmap.c +++ b/src/idxmap.c @@ -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); diff --git a/src/idxmap.h b/src/idxmap.h index f7e903a61..215a24521 100644 --- a/src/idxmap.h +++ b/src/idxmap.h @@ -9,23 +9,10 @@ #include "common.h" -#include #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 diff --git a/src/ignore.c b/src/ignore.c index 76b997245..c6e4da705 100644 --- a/src/ignore.c +++ b/src/ignore.c @@ -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 '/' 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; } diff --git a/src/index.c b/src/index.c index 2b47e4dc3..7f865c2c7 100644 --- a/src/index.c +++ b/src/index.c @@ -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) @@ -38,14 +38,14 @@ #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); diff --git a/src/index.h b/src/index.h index 0f1c0956c..982afed3a 100644 --- a/src/index.h +++ b/src/index.h @@ -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; diff --git a/src/indexer.c b/src/indexer.c index c0976f270..27b763790 100644 --- a/src/indexer.c +++ b/src/indexer.c @@ -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); } diff --git a/src/integer.h b/src/integer.h index 30528db59..10b109737 100644 --- a/src/integer.h +++ b/src/integer.h @@ -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 + # 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) { diff --git a/src/iterator.c b/src/iterator.c index ff075ce8c..0db929211 100644 --- a/src/iterator.c +++ b/src/iterator.c @@ -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++) { diff --git a/src/iterator.h b/src/iterator.h index a6497d87b..bbe357fbd 100644 --- a/src/iterator.h +++ b/src/iterator.h @@ -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); diff --git a/src/khash.h b/src/khash.h index 71eb583d5..40e2d1848 100644 --- a/src/khash.h +++ b/src/khash.h @@ -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 index 000000000..409cdbd3c --- /dev/null +++ b/src/mailmap.c @@ -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 index 000000000..2c9736a4a --- /dev/null +++ b/src/mailmap.h @@ -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 diff --git a/src/merge.c b/src/merge.c index 6c98d13fb..14b76fa2e 100644 --- a/src/merge.c +++ b/src/merge.c @@ -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; } diff --git a/src/merge_driver.c b/src/merge_driver.c index ea4bd2787..8b7e3559a 100644 --- a/src/merge_driver.c +++ b/src/merge_driver.c @@ -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; } diff --git a/src/merge_file.c b/src/merge_file.c index a36c1986c..0647a5df6 100644 --- a/src/merge_file.c +++ b/src/merge_file.c @@ -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; } diff --git a/src/mwindow.c b/src/mwindow.c index 38d0352b4..ffbee7d14 100644 --- a/src/mwindow.c +++ b/src/mwindow.c @@ -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; } diff --git a/src/netops.c b/src/netops.c index fa20cbaf2..ecbc2aebe 100644 --- a/src/netops.c +++ b/src/netops.c @@ -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; } diff --git a/src/netops.h b/src/netops.h index 75fd9a512..f376bd911 100644 --- a/src/netops.h +++ b/src/netops.h @@ -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 diff --git a/src/notes.c b/src/notes.c index f63ef3667..8e622c64a 100644 --- a/src/notes.c +++ b/src/notes.c @@ -12,10 +12,11 @@ #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(¬e->id, note_oid); @@ -329,8 +331,11 @@ static int note_new( git_signature_dup(¬e->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(¬e_id, &annotated_id, iter))) { if ((error = note_cb(¬e_id, &annotated_id, payload)) != 0) { - giterr_set_after_callback(error); + git_error_set_after_callback(error); break; } } diff --git a/src/object.c b/src/object.c index 48f561384..15f2722c7 100644 --- a/src/object.c +++ b/src/object.c @@ -12,6 +12,7 @@ #include "repository.h" #include "commit.h" +#include "hash.h" #include "tree.h" #include "blob.h" #include "oid.h" @@ -19,43 +20,93 @@ 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; } diff --git a/src/object.h b/src/object.h index e46c9cafa..227a6fdd5 100644 --- a/src/object.h +++ b/src/object.h @@ -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; } } diff --git a/src/object_api.c b/src/object_api.c index 75efa4d10..d45abd5ce 100644 --- a/src/object_api.c +++ b/src/object_api.c @@ -20,12 +20,12 @@ */ 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) diff --git a/src/odb.c b/src/odb.c index ede2aa57b..498652c79 100644 --- 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; } diff --git a/src/odb.h b/src/odb.h index b354108e7..8c73515f0 100644 --- 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 */ diff --git a/src/odb_loose.c b/src/odb_loose.c index 470421e15..5bdf884d3 100644 --- a/src/odb_loose.c +++ b/src/odb_loose.c @@ -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; diff --git a/src/odb_mempack.c b/src/odb_mempack.c index e351d4df9..fb29dddd1 100644 --- a/src/odb_mempack.c +++ b/src/odb_mempack.c @@ -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(); diff --git a/src/odb_pack.c b/src/odb_pack.c index 7c977d5cd..beab37b7f 100644 --- a/src/odb_pack.c +++ b/src/odb_pack.c @@ -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; } diff --git a/src/offmap.c b/src/offmap.c index ab6649697..d0fa9f031 100644 --- a/src/offmap.c +++ b/src/offmap.c @@ -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; +} diff --git a/src/offmap.h b/src/offmap.h index 0b0896b8f..c68809389 100644 --- a/src/offmap.h +++ b/src/offmap.h @@ -11,15 +11,7 @@ #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 diff --git a/src/oid.c b/src/oid.c index 0c63abb2e..8d45e4d7d 100644 --- 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; diff --git a/src/oidmap.c b/src/oidmap.c index 5f156a18e..c42e5c25a 100644 --- a/src/oidmap.c +++ b/src/oidmap.c @@ -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; +} diff --git a/src/oidmap.h b/src/oidmap.h index 49f129e93..a417907bd 100644 --- a/src/oidmap.h +++ b/src/oidmap.h @@ -11,15 +11,7 @@ #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 diff --git a/src/pack-objects.c b/src/pack-objects.c index 355b9e1e0..e1528646a 100644 --- a/src/pack-objects.c +++ b/src/pack-objects.c @@ -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); diff --git a/src/pack-objects.h b/src/pack-objects.h index c9cd5777a..53684a1ba 100644 --- a/src/pack-objects.h +++ b/src/pack-objects.h @@ -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 */ diff --git a/src/pack.c b/src/pack.c index 9ed3ec1af..ef360a90b 100644 --- a/src/pack.c +++ b/src/pack.c @@ -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; } diff --git a/src/pack.h b/src/pack.h index c0ca74f14..f21ad9fa3 100644 --- a/src/pack.h +++ b/src/pack.h @@ -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); diff --git a/src/parse.h b/src/parse.h index 46897e306..21dcf9bd1 100644 --- a/src/parse.h +++ b/src/parse.h @@ -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) diff --git a/src/patch.c b/src/patch.c index 5e329518d..d19e6833e 100644 --- a/src/patch.c +++ b/src/patch.c @@ -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; } diff --git a/src/patch_generate.c b/src/patch_generate.c index 29cda8b1c..80033ee53 100644 --- a/src/patch_generate.c +++ b/src/patch_generate.c @@ -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)); diff --git a/src/patch_parse.c b/src/patch_parse.c index e02c87cf3..647929fd5 100644 --- a/src/patch_parse.c +++ b/src/patch_parse.c @@ -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); diff --git a/src/path.c b/src/path.c index 58a5aaf4a..197efb75a 100644 --- a/src/path.c +++ b/src/path.c @@ -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; + } } diff --git a/src/path.h b/src/path.h index fd515c8a2..e29a7f6b3 100644 --- a/src/path.h +++ b/src/path.h @@ -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 diff --git a/src/pathspec.c b/src/pathspec.c index 998b6fb36..07795f256 100644 --- a/src/pathspec.c +++ b/src/pathspec.c @@ -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; } diff --git a/src/posix.c b/src/posix.c index 6e7985ece..bffe02e05 100644 --- a/src/posix.c +++ b/src/posix.c @@ -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; } diff --git a/src/proxy.c b/src/proxy.c index 9bc2c7fb1..d02558623 100644 --- a/src/proxy.c +++ b/src/proxy.c @@ -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; diff --git a/src/push.c b/src/push.c index 85b683e62..9d09e18bb 100644 --- a/src/push.c +++ b/src/push.c @@ -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; diff --git a/src/push.h b/src/push.h index 31ac43609..867563940 100644 --- a/src/push.h +++ b/src/push.h @@ -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 index 000000000..1a4844698 --- /dev/null +++ b/src/reader.c @@ -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 index 000000000..18a6a1103 --- /dev/null +++ b/src/reader.h @@ -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 diff --git a/src/rebase.c b/src/rebase.c index 52211ad11..45460367e 100644 --- a/src/rebase.c +++ b/src/rebase.c @@ -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(¬e, 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(¬es_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(¬es_ref); + git_buf_dispose(&rewritten); + git_buf_dispose(&path); + git_buf_dispose(¬es_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); diff --git a/src/refdb.c b/src/refdb.c index c162a153f..b466153a7 100644 --- a/src/refdb.c +++ b/src/refdb.c @@ -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; } diff --git a/src/refdb_fs.c b/src/refdb_fs.c index 83174e8cd..d582cb8a2 100644 --- a/src/refdb_fs.c +++ b/src/refdb_fs.c @@ -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); diff --git a/src/reflog.c b/src/reflog.c index 938999218..1834a2736 100644 --- a/src/reflog.c +++ b/src/reflog.c @@ -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; } diff --git a/src/refs.c b/src/refs.c index c42968359..644bc2e68 100644 --- a/src/refs.c +++ b/src/refs.c @@ -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, ¤t, &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; +} diff --git a/src/refs.h b/src/refs.h index 84daf8b53..46df95eba 100644 --- a/src/refs.h +++ b/src/refs.h @@ -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 diff --git a/src/refspec.c b/src/refspec.c index 943a9c76a..eaf0c2c83 100644 --- a/src/refspec.c +++ b/src/refspec.c @@ -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); diff --git a/src/refspec.h b/src/refspec.h index fd2d8b312..2b4111f04 100644 --- a/src/refspec.h +++ b/src/refspec.h @@ -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); diff --git a/src/remote.c b/src/remote.c index 2078dd3e7..2f0b8c5ee 100644 --- a/src/remote.c +++ b/src/remote.c @@ -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; } diff --git a/src/remote.h b/src/remote.h index a94481f25..62bd1d2ae 100644 --- a/src/remote.h +++ b/src/remote.h @@ -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); diff --git a/src/repository.c b/src/repository.c index 3c8987990..26936a82f 100644 --- a/src/repository.c +++ b/src/repository.c @@ -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(¤t, 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); diff --git a/src/repository.h b/src/repository.h index fd6400cc1..1edcc842b 100644 --- a/src/repository.h +++ b/src/repository.h @@ -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); diff --git a/src/reset.c b/src/reset.c index 21596812f..ca6a5bd73 100644 --- a/src/reset.c +++ b/src/reset.c @@ -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; } diff --git a/src/revert.c b/src/revert.c index 54f6d48e4..eb71a68db 100644 --- a/src/revert.c +++ b/src/revert.c @@ -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; } diff --git a/src/revparse.c b/src/revparse.c index f96f9bada..50ee31ca0 100644 --- a/src/revparse.c +++ b/src/revparse.c @@ -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; } diff --git a/src/revwalk.c b/src/revwalk.c index f11dc0630..1e3a5f2ff 100644 --- a/src/revwalk.c +++ b/src/revwalk.c @@ -15,11 +15,13 @@ #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 "..." */ - 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; } diff --git a/src/revwalk.h b/src/revwalk.h index 578328b72..923a2bc80 100644 --- a/src/revwalk.h +++ b/src/revwalk.h @@ -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 */ diff --git a/src/settings.c b/src/settings.c index 2a52ffbf6..95cbd89e4 100644 --- a/src/settings.c +++ b/src/settings.c @@ -11,15 +11,22 @@ # include #endif +#ifdef GIT_MBEDTLS +# include +#endif + #include +#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; } - diff --git a/src/signature.c b/src/signature.c index 91864bb88..f4c8a104a 100644 --- a/src/signature.c +++ b/src/signature.c @@ -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'); diff --git a/src/sortedcache.c b/src/sortedcache.c index 76672d9f7..02a685e10 100644 --- a/src/sortedcache.c +++ b/src/sortedcache.c @@ -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; } diff --git a/src/stash.c b/src/stash.c index 8a8c57a83..c332d93bb 100644 --- a/src/stash.c +++ b/src/stash.c @@ -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; } diff --git a/src/status.c b/src/status.c index f547bd466..ef32a0a8e 100644 --- a/src/status.c +++ b/src/status.c @@ -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 index 000000000..c6d4ec80c --- /dev/null +++ b/src/stdalloc.c @@ -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/streams/curl.h b/src/stdalloc.h similarity index 52% rename from src/streams/curl.h rename to src/stdalloc.h index 511cd894a..a8927a507 100644 --- a/src/streams/curl.h +++ b/src/stdalloc.h @@ -4,14 +4,14 @@ * 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" +#ifndef INCLUDE_stdalloc_h__ +#define INCLUDE_stdalloc_h__ + +#include "alloc.h" -#include "git2/sys/stream.h" +#include "common.h" -extern int git_curl_stream_global_init(void); -extern int git_curl_stream_new(git_stream **out, const char *host, const char *port); +int git_stdalloc_init_allocator(git_allocator *allocator); #endif diff --git a/src/stream.h b/src/stream.h index d35477591..f16b026fb 100644 --- a/src/stream.h +++ b/src/stream.h @@ -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 index 3c0af3b04..000000000 --- a/src/streams/curl.c +++ /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 - -#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/mbedtls.c b/src/streams/mbedtls.c new file mode 100644 index 000000000..cbe2f681a --- /dev/null +++ b/src/streams/mbedtls.c @@ -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 + +#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 +#include +#include +#include +#include + +#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 index 000000000..7de94b9fb --- /dev/null +++ b/src/streams/mbedtls.h @@ -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 diff --git a/src/streams/openssl.c b/src/streams/openssl.c index adcb7f14e..fe5f79cce 100644 --- a/src/streams/openssl.c +++ b/src/streams/openssl.c @@ -19,10 +19,6 @@ #include "git2/transport.h" #include "git2/sys/openssl.h" -#ifdef GIT_CURL -# include "streams/curl.h" -#endif - #ifndef GIT_WIN32 # include # include @@ -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; } diff --git a/src/streams/openssl.h b/src/streams/openssl.h index 44329ec90..826d1efbc 100644 --- a/src/streams/openssl.h +++ b/src/streams/openssl.h @@ -13,115 +13,11 @@ 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 -# include -# include -# include - - - -# 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 index 000000000..330032005 --- /dev/null +++ b/src/streams/registry.c @@ -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, ®istration); + } 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 index 000000000..adc2b8bdf --- /dev/null +++ b/src/streams/registry.h @@ -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 diff --git a/src/streams/socket.c b/src/streams/socket.c index 0c6073b66..066580f64 100644 --- a/src/streams/socket.c +++ b/src/streams/socket.c @@ -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); +} diff --git a/src/streams/stransport.c b/src/streams/stransport.c index cca17bb94..a79d3cbf0 100644 --- a/src/streams/stransport.c +++ b/src/streams/stransport.c @@ -16,26 +16,25 @@ #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 diff --git a/src/streams/stransport.h b/src/streams/stransport.h index 4c02d07e8..1026e204b 100644 --- a/src/streams/stransport.h +++ b/src/streams/stransport.h @@ -11,6 +11,11 @@ #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 diff --git a/src/streams/tls.c b/src/streams/tls.c index d6ca7d40d..6a251717b 100644 --- a/src/streams/tls.c +++ b/src/streams/tls.c @@ -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); } diff --git a/src/streams/tls.h b/src/streams/tls.h index 6d110e8ad..465a6ea89 100644 --- a/src/streams/tls.h +++ b/src/streams/tls.h @@ -13,11 +13,19 @@ /** * 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 diff --git a/src/strmap.c b/src/strmap.c index de6826d03..20b14acf3 100644 --- a/src/strmap.c +++ b/src/strmap.c @@ -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) diff --git a/src/strmap.h b/src/strmap.h index 802b92494..2649acbfb 100644 --- a/src/strmap.h +++ b/src/strmap.h @@ -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 diff --git a/src/submodule.c b/src/submodule.c index 06b7de585..e3ec88554 100644 --- a/src/submodule.c +++ b/src/submodule.c @@ -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); diff --git a/src/sysdir.c b/src/sysdir.c index 509b23b82..e07ba7199 100644 --- a/src/sysdir.c +++ b/src/sysdir.c @@ -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; } diff --git a/src/tag.c b/src/tag.c index 1ec823731..b4a5015df 100644 --- 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); } diff --git a/src/tag.h b/src/tag.h index 8aae37840..76ae1508e 100644 --- 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 diff --git a/src/trace.c b/src/trace.c index 080d1e891..f2f353891 100644 --- a/src/trace.c +++ b/src/trace.c @@ -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 diff --git a/src/trace.h b/src/trace.h index 498944035..1eaf6c92a 100644 --- a/src/trace.h +++ b/src/trace.h @@ -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) diff --git a/src/trailer.c b/src/trailer.c index 24c8847f6..dc8d1abcb 100644 --- a/src/trailer.c +++ b/src/trailer.c @@ -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); } diff --git a/src/transaction.c b/src/transaction.c index 675023afd..d8e38d803 100644 --- a/src/transaction.c +++ b/src/transaction.c @@ -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; } diff --git a/src/transport.c b/src/transport.c index f1e18b323..227ee7dee 100644 --- a/src/transport.c +++ b/src/transport.c @@ -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, ¶m)) == 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; } diff --git a/src/transports/auth.c b/src/transports/auth.c index 9597cc249..6c69282b4 100644 --- a/src/transports/auth.c +++ b/src/transports/auth.c @@ -11,7 +11,10 @@ #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; } diff --git a/src/transports/auth.h b/src/transports/auth.h index 3b8b29eb9..e5cf7eff0 100644 --- a/src/transports/auth.h +++ b/src/transports/auth.h @@ -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); diff --git a/src/transports/auth_negotiate.c b/src/transports/auth_negotiate.c index c9bc3043d..25c865c15 100644 --- a/src/transports/auth_negotiate.c +++ b/src/transports/auth_negotiate.c @@ -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); diff --git a/src/transports/cred.c b/src/transports/cred.c index 8055e2d65..dfacc96d3 100644 --- a/src/transports/cred.c +++ b/src/transports/cred.c @@ -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; diff --git a/src/transports/git.c b/src/transports/git.c index 94178f2c5..9fd3b47fc 100644 --- a/src/transports/git.c +++ b/src/transports/git.c @@ -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; diff --git a/src/transports/http.c b/src/transports/http.c index 22b8bb864..80ba5ba73 100644 --- a/src/transports/http.c +++ b/src/transports/http.c @@ -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; diff --git a/src/transports/http.h b/src/transports/http.h index 6c4ecc9a4..b09475755 100644 --- a/src/transports/http.h +++ b/src/transports/http.h @@ -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(); diff --git a/src/transports/local.c b/src/transports/local.c index 541c552f6..b544491ef 100644 --- a/src/transports/local.c +++ b/src/transports/local.c @@ -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; diff --git a/src/transports/smart.c b/src/transports/smart.c index 5fedd394e..fd7113c7e 100644 --- a/src/transports/smart.c +++ b/src/transports/smart.c @@ -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; diff --git a/src/transports/smart.h b/src/transports/smart.h index e6020817e..abf80286b 100644 --- a/src/transports/smart.h +++ b/src/transports/smart.h @@ -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, diff --git a/src/transports/smart_pkt.c b/src/transports/smart_pkt.c index 0e05ff861..9bc273e0c 100644 --- a/src/transports/smart_pkt.c +++ b/src/transports/smart_pkt.c @@ -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; } diff --git a/src/transports/smart_protocol.c b/src/transports/smart_protocol.c index 893ac6e47..2d8a1d83f 100644 --- a/src/transports/smart_protocol.c +++ b/src/transports/smart_protocol.c @@ -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; } diff --git a/src/transports/ssh.c b/src/transports/ssh.c index 23c643346..5a6058fb7 100644 --- a/src/transports/ssh.c +++ b/src/transports/ssh.c @@ -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; } diff --git a/src/transports/winhttp.c b/src/transports/winhttp.c index c3c18a80a..f922cb480 100644 --- a/src/transports/winhttp.c +++ b/src/transports/winhttp.c @@ -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; diff --git a/src/tree-cache.c b/src/tree-cache.c index c33e6af9e..d3ba864eb 100644 --- a/src/tree-cache.c +++ b/src/tree-cache.c @@ -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 */ diff --git a/src/tree.c b/src/tree.c index a014ce807..466180451 100644 --- a/src/tree.c +++ b/src/tree.c @@ -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; diff --git a/src/tree.h b/src/tree.h index 00f4b06eb..973ba15d0 100644 --- a/src/tree.h +++ b/src/tree.h @@ -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 diff --git a/src/unix/map.c b/src/unix/map.c index 8a07fcff9..1ebbced5c 100644 --- a/src/unix/map.c +++ b/src/unix/map.c @@ -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; } diff --git a/src/util.c b/src/util.c index 911921857..984a3d780 100644 --- a/src/util.c +++ b/src/util.c @@ -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); diff --git a/src/util.h b/src/util.h index f2ea22ebf..4314295f1 100644 --- a/src/util.h +++ b/src/util.h @@ -41,141 +41,6 @@ */ #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 diff --git a/src/vector.c b/src/vector.c index 98aa7bb2f..b51e7644b 100644 --- a/src/vector.c +++ b/src/vector.c @@ -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; diff --git a/src/win32/dir.c b/src/win32/dir.c index 1d37874e4..44052caf0 100644 --- a/src/win32/dir.c +++ b/src/win32/dir.c @@ -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; } diff --git a/src/win32/findfile.c b/src/win32/findfile.c index d56aa1fd2..7f077e154 100644 --- a/src/win32/findfile.c +++ b/src/win32/findfile.c @@ -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); } diff --git a/src/win32/map.c b/src/win32/map.c index 6a17aeb64..5769cb869 100644 --- a/src/win32/map.c +++ b/src/win32/map.c @@ -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; diff --git a/src/win32/msvc-compat.h b/src/win32/msvc-compat.h index ea77820a2..4cf471f1d 100644 --- a/src/win32/msvc-compat.h +++ b/src/win32/msvc-compat.h @@ -12,6 +12,12 @@ 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) diff --git a/src/win32/path_w32.c b/src/win32/path_w32.c index 5e24260f7..b955b024c 100644 --- a/src/win32/path_w32.c +++ b/src/win32/path_w32.c @@ -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\". 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); +} diff --git a/src/win32/path_w32.h b/src/win32/path_w32.h index 83ffd1f6f..facbced81 100644 --- a/src/win32/path_w32.h +++ b/src/win32/path_w32.h @@ -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 diff --git a/src/win32/posix_w32.c b/src/win32/posix_w32.c index f51e1e546..d8bbebb5d 100644 --- a/src/win32/posix_w32.c +++ b/src/win32/posix_w32.c @@ -29,15 +29,16 @@ #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); } diff --git a/src/win32/w32_buffer.c b/src/win32/w32_buffer.c index 45c024d31..22ea9a10c 100644 --- a/src/win32/w32_buffer.c +++ b/src/win32/w32_buffer.c @@ -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; diff --git a/src/win32/w32_crtdbg_stacktrace.c b/src/win32/w32_crtdbg_stacktrace.c index 7b3c3fb4c..49b54f134 100644 --- a/src/win32/w32_crtdbg_stacktrace.c +++ b/src/win32/w32_crtdbg_stacktrace.c @@ -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 diff --git a/src/win32/w32_crtdbg_stacktrace.h b/src/win32/w32_crtdbg_stacktrace.h index 3f580357e..7a3deeff4 100644 --- a/src/win32/w32_crtdbg_stacktrace.h +++ b/src/win32/w32_crtdbg_stacktrace.h @@ -17,6 +17,34 @@ #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 diff --git a/src/win32/w32_stack.c b/src/win32/w32_stack.c index b40f9d2b4..c9d6b1a28 100644 --- a/src/win32/w32_stack.c +++ b/src/win32/w32_stack.c @@ -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; } diff --git a/src/win32/w32_util.c b/src/win32/w32_util.c index b7b1ffa10..10e17fcd0 100644 --- a/src/win32/w32_util.c +++ b/src/win32/w32_util.c @@ -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); -} diff --git a/src/win32/w32_util.h b/src/win32/w32_util.h index 6531f47a7..3a7942563 100644 --- a/src/win32/w32_util.h +++ b/src/win32/w32_util.h @@ -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; } } diff --git a/src/worktree.c b/src/worktree.c index 4acf61b8b..174a10736 100644 --- a/src/worktree.c +++ b/src/worktree.c @@ -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; } diff --git a/src/worktree.h b/src/worktree.h index 52d13cced..1d40c3a5d 100644 --- a/src/worktree.h +++ b/src/worktree.h @@ -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 diff --git a/src/xdiff/xdiffi.c b/src/xdiff/xdiffi.c index 3a71ef678..9a7f53808 100644 --- a/src/xdiff/xdiffi.c +++ b/src/xdiff/xdiffi.c @@ -33,8 +33,10 @@ /** 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); diff --git a/src/xdiff/xhistogram.c b/src/xdiff/xhistogram.c index ca8605e31..00bbfcec4 100644 --- a/src/xdiff/xhistogram.c +++ b/src/xdiff/xhistogram.c @@ -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; diff --git a/src/xdiff/xmerge.c b/src/xdiff/xmerge.c index 6fec95aa3..e6eaf24b5 100644 --- a/src/xdiff/xmerge.c +++ b/src/xdiff/xmerge.c @@ -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; diff --git a/src/zstream.c b/src/zstream.c index affa55653..fc8bfb868 100644 --- a/src/zstream.c +++ b/src/zstream.c @@ -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; } diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index 02042df6d..aaa8ed109 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -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 index 000000000..91cc51a71 --- /dev/null +++ b/tests/apply/apply_helpers.c @@ -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 index 000000000..364daf49d --- /dev/null +++ b/tests/apply/apply_helpers.h @@ -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 index 000000000..400df5e38 --- /dev/null +++ b/tests/apply/both.c @@ -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 index 000000000..1b759dc9b --- /dev/null +++ b/tests/apply/callbacks.c @@ -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); +} diff --git a/tests/apply/fromdiff.c b/tests/apply/fromdiff.c index 349773964..8a6d8fa0a 100644 --- a/tests/apply/fromdiff.c +++ b/tests/apply/fromdiff.c @@ -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( diff --git a/tests/apply/fromfile.c b/tests/apply/fromfile.c index 31fffa1a2..477e283ad 100644 --- a/tests/apply/fromfile.c +++ b/tests/apply/fromfile.c @@ -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 index 000000000..9c9094cce --- /dev/null +++ b/tests/apply/index.c @@ -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 index 000000000..466a92717 --- /dev/null +++ b/tests/apply/partial.c @@ -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 index 000000000..f35b13ce0 --- /dev/null +++ b/tests/apply/tree.c @@ -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 index 000000000..d0d9c1aba --- /dev/null +++ b/tests/apply/workdir.c @@ -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); +} diff --git a/tests/attr/repo.c b/tests/attr/repo.c index 8baf50622..eb4300b4e 100644 --- a/tests/attr/repo.c +++ b/tests/attr/repo.c @@ -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) diff --git a/tests/buf/basic.c b/tests/buf/basic.c index 14ea3e7ce..f90c4c6ed 100644 --- a/tests/buf/basic.c +++ b/tests/buf/basic.c @@ -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); } diff --git a/tests/buf/oom.c b/tests/buf/oom.c index 16a03cc1a..726234ef8 100644 --- a/tests/buf/oom.c +++ b/tests/buf/oom.c @@ -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)); } diff --git a/tests/buf/percent.c b/tests/buf/percent.c index 60534a053..8c47b833d 100644 --- a/tests/buf/percent.c +++ b/tests/buf/percent.c @@ -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) diff --git a/tests/buf/quote.c b/tests/buf/quote.c index 6f77ab9c1..8867ae7d6 100644 --- a/tests/buf/quote.c +++ b/tests/buf/quote.c @@ -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) diff --git a/tests/buf/splice.c b/tests/buf/splice.c index e80c93105..18c7c3f2b 100644 --- a/tests/buf/splice.c +++ b/tests/buf/splice.c @@ -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) diff --git a/tests/checkout/binaryunicode.c b/tests/checkout/binaryunicode.c index 27e70d3f1..5ba79213a 100644 --- a/tests/checkout/binaryunicode.c +++ b/tests/checkout/binaryunicode.c @@ -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); } diff --git a/tests/checkout/checkout_helpers.c b/tests/checkout/checkout_helpers.c index d7d24f33f..8256644db 100644 --- a/tests/checkout/checkout_helpers.c +++ b/tests/checkout/checkout_helpers.c @@ -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)); diff --git a/tests/checkout/conflict.c b/tests/checkout/conflict.c index dd2dd3131..914b3c2de 100644 --- a/tests/checkout/conflict.c +++ b/tests/checkout/conflict.c @@ -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)); diff --git a/tests/checkout/crlf.c b/tests/checkout/crlf.c index d467eaadd..ff3a2dc64 100644 --- a/tests/checkout/crlf.c +++ b/tests/checkout/crlf.c @@ -13,14 +13,40 @@ static git_repository *g_repo; static const char *systype; static git_buf expected_fixture = GIT_BUF_INIT; +static int unlink_file(void *payload, git_buf *path) +{ + char *fn; + + cl_assert(fn = git_path_basename(path->ptr)); + + GIT_UNUSED(payload); + + if (strcmp(fn, ".git")) + cl_must_pass(p_unlink(path->ptr)); + + git__free(fn); + return 0; +} + void test_checkout_crlf__initialize(void) { + git_buf reponame = GIT_BUF_INIT; + g_repo = cl_git_sandbox_init("crlf"); + /* + * remove the contents of the working directory so that we can + * check out over it. + */ + cl_git_pass(git_buf_puts(&reponame, "crlf")); + cl_git_pass(git_path_direach(&reponame, 0, unlink_file, NULL)); + if (GIT_EOL_NATIVE == GIT_EOL_CRLF) systype = "windows"; else systype = "posix"; + + git_buf_dispose(&reponame); } void test_checkout_crlf__cleanup(void) @@ -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", ""); diff --git a/tests/checkout/icase.c b/tests/checkout/icase.c index 55ab3ab24..e6c640ef5 100644 --- a/tests/checkout/icase.c +++ b/tests/checkout/icase.c @@ -3,6 +3,7 @@ #include "git2/checkout.h" #include "refs.h" #include "path.h" +#include "repository.h" #ifdef GIT_WIN32 # include @@ -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)); diff --git a/tests/checkout/index.c b/tests/checkout/index.c index ca63dc3f8..8272c68b3 100644 --- a/tests/checkout/index.c +++ b/tests/checkout/index.c @@ -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 diff --git a/tests/checkout/nasty.c b/tests/checkout/nasty.c index d4d3c8fa4..042fbba37 100644 --- a/tests/checkout/nasty.c +++ b/tests/checkout/nasty.c @@ -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 diff --git a/tests/checkout/tree.c b/tests/checkout/tree.c index a7e29b3db..47ded0f7c 100644 --- a/tests/checkout/tree.c +++ b/tests/checkout/tree.c @@ -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); +} diff --git a/tests/checkout/typechange.c b/tests/checkout/typechange.c index 647b534b1..708af5956 100644 --- a/tests/checkout/typechange.c +++ b/tests/checkout/typechange.c @@ -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; diff --git a/tests/cherrypick/workdir.c b/tests/cherrypick/workdir.c index 2b45f5a33..8f6644996 100644 --- a/tests/cherrypick/workdir.c +++ b/tests/cherrypick/workdir.c @@ -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)); diff --git a/tests/clar.h b/tests/clar.h index bdaab09d7..2f9f96b3f 100644 --- a/tests/clar.h +++ b/tests/clar.h @@ -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 /** diff --git a/tests/clar/fixtures.h b/tests/clar/fixtures.h index f7b8d96af..77033d365 100644 --- a/tests/clar/fixtures.h +++ b/tests/clar/fixtures.h @@ -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 diff --git a/tests/clar/sandbox.h b/tests/clar/sandbox.h index 4b83bf31d..2114819e4 100644 --- a/tests/clar/sandbox.h +++ b/tests/clar/sandbox.h @@ -1,3 +1,7 @@ +#ifdef __APPLE__ +#include +#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; } diff --git a/tests/clar_libgit2.c b/tests/clar_libgit2.c index bd10c009d..4723a0632 100644 --- a/tests/clar_libgit2.c +++ b/tests/clar_libgit2.c @@ -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; } diff --git a/tests/clar_libgit2.h b/tests/clar_libgit2.h index c72d37db3..da6ff2974 100644 --- a/tests/clar_libgit2.h +++ b/tests/clar_libgit2.h @@ -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); diff --git a/tests/clone/empty.c b/tests/clone/empty.c index 2a6217580..8e59d2b8c 100644 --- a/tests/clone/empty.c +++ b/tests/clone/empty.c @@ -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, diff --git a/tests/clone/local.c b/tests/clone/local.c index 7f54d05de..941691814 100644 --- a/tests/clone/local.c +++ b/tests/clone/local.c @@ -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 diff --git a/tests/clone/nonetwork.c b/tests/clone/nonetwork.c index 7ebf19f46..8a8337c04 100644 --- a/tests/clone/nonetwork.c +++ b/tests/clone/nonetwork.c @@ -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) diff --git a/tests/commit/parse.c b/tests/commit/parse.c index 297fccc6b..f0a31de9a 100644 --- a/tests/commit/parse.c +++ b/tests/commit/parse.c @@ -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 123456 +0000 \n", "committer ", "Vicent Marti", "tanoku@gmail.com", 123456, 0}, {"committer Vicent Marti 123456 +0100 \n", "committer ", "Vicent Marti", "tanoku@gmail.com", 123456, 60}, {"committer Vicent Marti 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 123456 -0100 \n", "committer ", "", "tanoku@gmail.com", 123456, -60}, - // Parse a signature without an author field + /* Parse a signature without an author field */ {"committer 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 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 123456 -1500 \n", "committer ", "Vicent Marti", "tanoku@gmail.com", 123456, 0}, {"committer Vicent Marti 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 1273848544 +0200\r\n\ committer Vicent Marti 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 1273848544 +0200\ committer Vicent Marti 1273848544 +0200\ \ another test commit with broken endlines", -// starting endlines +/* starting endlines */ "\ntree f6c0dad3c7b3481caa9d73db21f91964894a945b\n\ parent 05452d6349abcd67aa396dfb28660d765d8b2a36\n\ author Vicent Marti 1273848544 +0200\n\ committer Vicent Marti 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 1273848544 +0200\n\ committer Vicent Marti 1273848544 +0200\n\ \n", -// simple commit, no parent +/* simple commit, no parent */ "tree 1810dff58d8a660512d4832e740f692884338ccd\n\ author Vicent Marti 1273848544 +0200\n\ committer Vicent Marti 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 1273848544 +0200\n\ committer Vicent Marti 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 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 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); } diff --git a/tests/commit/signature.c b/tests/commit/signature.c index 286079fa2..a91551415 100644 --- a/tests/commit/signature.c +++ b/tests/commit/signature.c @@ -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 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("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); } diff --git a/tests/config/conditionals.c b/tests/config/conditionals.c index 3a87de21f..cb1f916ad 100644 --- a/tests/config/conditionals.c +++ b/tests/config/conditionals.c @@ -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) diff --git a/tests/config/config_helpers.c b/tests/config/config_helpers.c index 025838ad7..d92ff1a4e 100644 --- a/tests/config/config_helpers.c +++ b/tests/config/config_helpers.c @@ -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( diff --git a/tests/config/configlevel.c b/tests/config/configlevel.c index b73656cb9..15c469fcb 100644 --- a/tests/config/configlevel.c +++ b/tests/config/configlevel.c @@ -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); } diff --git a/tests/config/global.c b/tests/config/global.c index a149dc0be..9446d8de9 100644 --- a/tests/config/global.c +++ b/tests/config/global.c @@ -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"); } diff --git a/tests/config/include.c b/tests/config/include.c index 87ef406e7..44546933b 100644 --- a/tests/config/include.c +++ b/tests/config/include.c @@ -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 index 000000000..ae661899d --- /dev/null +++ b/tests/config/memory.c @@ -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); +} diff --git a/tests/config/new.c b/tests/config/new.c index b39baa0a5..bb3a2d9a8 100644 --- a/tests/config/new.c +++ b/tests/config/new.c @@ -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); diff --git a/tests/config/read.c b/tests/config/read.c index 646567134..ccc479bc1 100644 --- a/tests/config/read.c +++ b/tests/config/read.c @@ -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); } diff --git a/tests/config/readonly.c b/tests/config/readonly.c index a424922c1..5d544b8cb 100644 --- a/tests/config/readonly.c +++ b/tests/config/readonly.c @@ -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")); diff --git a/tests/config/rename.c b/tests/config/rename.c index a4614158a..be620c307 100644 --- a/tests/config/rename.c +++ b/tests/config/rename.c @@ -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); } */ } diff --git a/tests/config/stress.c b/tests/config/stress.c index a6b665590..d86a11d4a 100644 --- a/tests/config/stress.c +++ b/tests/config/stress.c @@ -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); } diff --git a/tests/config/write.c b/tests/config/write.c index 6687ba1f7..bd0f5b277 100644 --- a/tests/config/write.c +++ b/tests/config/write.c @@ -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); } diff --git a/tests/core/buffer.c b/tests/core/buffer.c index c4308cbbf..b8a76b39c 100644 --- a/tests/core/buffer.c +++ b/tests/core/buffer.c @@ -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) diff --git a/tests/core/dirent.c b/tests/core/dirent.c index 2bd60269d..a2448b498 100644 --- a/tests/core/dirent.c +++ b/tests/core/dirent.c @@ -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) diff --git a/tests/core/env.c b/tests/core/env.c index 1af0e6e5d..7e7b3274d 100644 --- a/tests/core/env.c +++ b/tests/core/env.c @@ -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); } diff --git a/tests/core/errors.c b/tests/core/errors.c index ab18951a6..386ecdc5f 100644 --- a/tests/core/errors.c +++ b/tests/core/errors.c @@ -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); } diff --git a/tests/core/filebuf.c b/tests/core/filebuf.c index ef7ac6bd9..8d1952f57 100644 --- a/tests/core/filebuf.c +++ b/tests/core/filebuf.c @@ -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)); } diff --git a/tests/core/futils.c b/tests/core/futils.c index e7f7154ed..fce4848f5 100644 --- a/tests/core/futils.c +++ b/tests/core/futils.c @@ -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 } diff --git a/tests/core/link.c b/tests/core/link.c index ec85ec4e0..8cd6b01a9 100644 --- a/tests/core/link.c +++ b/tests/core/link.c @@ -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); } diff --git a/tests/core/mkdir.c b/tests/core/mkdir.c index 96c972396..8e52efb1e 100644 --- a/tests/core/mkdir.c +++ b/tests/core/mkdir.c @@ -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 } diff --git a/tests/core/oidmap.c b/tests/core/oidmap.c index 617da5483..b5f6f99e1 100644 --- a/tests/core/oidmap.c +++ b/tests/core/oidmap.c @@ -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)); diff --git a/tests/core/path.c b/tests/core/path.c index fefe2aeac..058a710d0 100644 --- a/tests/core/path.c +++ b/tests/core/path.c @@ -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)); +} diff --git a/tests/core/rmdir.c b/tests/core/rmdir.c index f0b0bfa42..e00ec5c72 100644 --- a/tests/core/rmdir.c +++ b/tests/core/rmdir.c @@ -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)); } diff --git a/tests/core/sha1.c b/tests/core/sha1.c index c5b20f6e0..f81d40854 100644 --- a/tests/core/sha1.c +++ b/tests/core/sha1.c @@ -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"); diff --git a/tests/core/sortedcache.c b/tests/core/sortedcache.c index c1869bee0..35e92ece9 100644 --- a/tests/core/sortedcache.c +++ b/tests/core/sortedcache.c @@ -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) diff --git a/tests/core/stat.c b/tests/core/stat.c index ef2e45a15..59a134649 100644 --- a/tests/core/stat.c +++ b/tests/core/stat.c @@ -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/strmap.c b/tests/core/strmap.c index 2fa594d43..64f516452 100644 --- a/tests/core/strmap.c +++ b/tests/core/strmap.c @@ -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; diff --git a/tests/core/strtol.c b/tests/core/strtol.c index ba79fba51..25dbe467c 100644 --- a/tests/core/strtol.c +++ b/tests/core/strtol.c @@ -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); } diff --git a/tests/core/useragent.c b/tests/core/useragent.c index 5c09223bb..c6c5220b2 100644 --- a/tests/core/useragent.c +++ b/tests/core/useragent.c @@ -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); } diff --git a/tests/core/vector.c b/tests/core/vector.c index 91452404c..a7e1a0325 100644 --- a/tests/core/vector.c +++ b/tests/core/vector.c @@ -1,3 +1,5 @@ +#include + #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) { diff --git a/tests/core/zstream.c b/tests/core/zstream.c index 961904ec3..bcbb45fde 100644 --- a/tests/core/zstream.c +++ b/tests/core/zstream.c @@ -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); } diff --git a/tests/date/rfc2822.c b/tests/date/rfc2822.c index eda475ac9..d98c1f05e 100644 --- a/tests/date/rfc2822.c +++ b/tests/date/rfc2822.c @@ -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]; diff --git a/tests/describe/describe.c b/tests/describe/describe.c index a8c57d874..26ca4efd8 100644 --- a/tests/describe/describe.c +++ b/tests/describe/describe.c @@ -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(); } diff --git a/tests/describe/describe_helpers.c b/tests/describe/describe_helpers.c index ad9c945c7..2e6ad539e 100644 --- a/tests/describe/describe_helpers.c +++ b/tests/describe/describe_helpers.c @@ -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); } diff --git a/tests/describe/t6120.c b/tests/describe/t6120.c index 6df397ec6..5ec176b87 100644 --- a/tests/describe/t6120.c +++ b/tests/describe/t6120.c @@ -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); diff --git a/tests/diff/binary.c b/tests/diff/binary.c index c17ba5ef4..7edf37b51 100644 --- a/tests/diff/binary.c +++ b/tests/diff/binary.c @@ -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); } diff --git a/tests/diff/blob.c b/tests/diff/blob.c index 05cc28218..37898adcf 100644 --- a/tests/diff/blob.c +++ b/tests/diff/blob.c @@ -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); } diff --git a/tests/diff/diff_helpers.c b/tests/diff/diff_helpers.c index 50752b203..e9900339f 100644 --- a/tests/diff/diff_helpers.c +++ b/tests/diff/diff_helpers.c @@ -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; } diff --git a/tests/diff/diffiter.c b/tests/diff/diffiter.c index c976e30e2..991c73bf4 100644 --- a/tests/diff/diffiter.c +++ b/tests/diff/diffiter.c @@ -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); } diff --git a/tests/diff/drivers.c b/tests/diff/drivers.c index 42af38a9a..cace40967 100644 --- a/tests/diff/drivers.c +++ b/tests/diff/drivers.c @@ -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); } diff --git a/tests/diff/format_email.c b/tests/diff/format_email.c index c3c04107b..28f840ab0 100644 --- a/tests/diff/format_email.c +++ b/tests/diff/format_email.c @@ -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) diff --git a/tests/diff/index.c b/tests/diff/index.c index 0293b7821..b616a372b 100644 --- a/tests/diff/index.c +++ b/tests/diff/index.c @@ -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); diff --git a/tests/diff/parse.c b/tests/diff/parse.c index 74816f570..9cdaa92fb 100644 --- a/tests/diff/parse.c +++ b/tests/diff/parse.c @@ -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)) diff --git a/tests/diff/patch.c b/tests/diff/patch.c index 1184d1968..bc7976fe0 100644 --- a/tests/diff/patch.c +++ b/tests/diff/patch.c @@ -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); } diff --git a/tests/diff/rename.c b/tests/diff/rename.c index ddc1d5d78..df32eebf2 100644 --- a/tests/diff/rename.c +++ b/tests/diff/rename.c @@ -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); diff --git a/tests/diff/stats.c b/tests/diff/stats.c index 347d0d757..150355686 100644 --- a/tests/diff/stats.c +++ b/tests/diff/stats.c @@ -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); } diff --git a/tests/diff/submodules.c b/tests/diff/submodules.c index eebfef3a2..8899d3f9c 100644 --- a/tests/diff/submodules.c +++ b/tests/diff/submodules.c @@ -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], ""), file, line); diff --git a/tests/diff/tree.c b/tests/diff/tree.c index e4b2a8bbe..a3b00ec08 100644 --- a/tests/diff/tree.c +++ b/tests/diff/tree.c @@ -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( diff --git a/tests/diff/workdir.c b/tests/diff/workdir.c index e1bbce8fb..7a045b4fe 100644 --- a/tests/diff/workdir.c +++ b/tests/diff/workdir.c @@ -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); diff --git a/tests/fetchhead/nonetwork.c b/tests/fetchhead/nonetwork.c index a6394600a..658943273 100644 --- a/tests/fetchhead/nonetwork.c +++ b/tests/fetchhead/nonetwork.c @@ -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); } diff --git a/tests/filter/blob.c b/tests/filter/blob.c index bb2528d39..6e30e20a3 100644 --- a/tests/filter/blob.c +++ b/tests/filter/blob.c @@ -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); } diff --git a/tests/filter/crlf.c b/tests/filter/crlf.c index a8ebd949f..a266005d4 100644 --- a/tests/filter/crlf.c +++ b/tests/filter/crlf.c @@ -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); } diff --git a/tests/filter/custom.c b/tests/filter/custom.c index 799beef62..b9e4f7345 100644 --- a/tests/filter/custom.c +++ b/tests/filter/custom.c @@ -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); } diff --git a/tests/filter/file.c b/tests/filter/file.c index 599f4e54b..521c01c02 100644 --- a/tests/filter/file.c +++ b/tests/filter/file.c @@ -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) diff --git a/tests/filter/ident.c b/tests/filter/ident.c index c54b6214c..cee0cc26b 100644 --- a/tests/filter/ident.c +++ b/tests/filter/ident.c @@ -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) diff --git a/tests/filter/stream.c b/tests/filter/stream.c index 30f5e5027..226092c3f 100644 --- a/tests/filter/stream.c +++ b/tests/filter/stream.c @@ -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) diff --git a/tests/filter/wildcard.c b/tests/filter/wildcard.c index 999b33653..3c25ea266 100644 --- a/tests/filter/wildcard.c +++ b/tests/filter/wildcard.c @@ -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 index d3fd1bb9a..000000000 --- a/tests/generate_crlf.sh +++ /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 - diff --git a/tests/index/addall.c b/tests/index/addall.c index 7b7a178d1..992cd8737 100644 --- a/tests/index/addall.c +++ b/tests/index/addall.c @@ -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); diff --git a/tests/index/bypath.c b/tests/index/bypath.c index 34a7412a8..f911ffb51 100644 --- a/tests/index/bypath.c +++ b/tests/index/bypath.c @@ -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)); } diff --git a/tests/index/collision.c b/tests/index/collision.c index 41eb7bfdc..18d2664f0 100644 --- a/tests/index/collision.c +++ b/tests/index/collision.c @@ -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)); } diff --git a/tests/index/conflicts.c b/tests/index/conflicts.c index cabef888c..41d0e219c 100644 --- a/tests/index/conflicts.c +++ b/tests/index/conflicts.c @@ -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; diff --git a/tests/index/crlf.c b/tests/index/crlf.c index 23f47932f..7aa6be429 100644 --- a/tests/index/crlf.c +++ b/tests/index/crlf.c @@ -14,9 +14,11 @@ static git_repository *g_repo; static git_index *g_index; +static git_buf expected_fixture = GIT_BUF_INIT; + void test_index_crlf__initialize(void) { - g_repo = cl_git_sandbox_init("crlf"); + g_repo = cl_git_sandbox_init_new("crlf"); cl_git_pass(git_repository_index(&g_index, g_repo)); } @@ -24,6 +26,208 @@ void test_index_crlf__cleanup(void) { git_index_free(g_index); cl_git_sandbox_cleanup(); + + if (expected_fixture.size) { + cl_fixture_cleanup(expected_fixture.ptr); + git_buf_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")); diff --git a/tests/index/filemodes.c b/tests/index/filemodes.c index 2693b1312..f2ca4564b 100644 --- a/tests/index/filemodes.c +++ b/tests/index/filemodes.c @@ -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)); diff --git a/tests/index/names.c b/tests/index/names.c index d462088b2..369318b03 100644 --- a/tests/index/names.c +++ b/tests/index/names.c @@ -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); } diff --git a/tests/index/nsec.c b/tests/index/nsec.c index ea8a26743..dee1509e1 100644 --- a/tests/index/nsec.c +++ b/tests/index/nsec.c @@ -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; } diff --git a/tests/index/racy.c b/tests/index/racy.c index 1768f5efd..88b37e10d 100644 --- a/tests/index/racy.c +++ b/tests/index/racy.c @@ -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); diff --git a/tests/index/read_index.c b/tests/index/read_index.c index 2df7cc8eb..836c12b0e 100644 --- a/tests/index/read_index.c +++ b/tests/index/read_index.c @@ -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, diff --git a/tests/index/reuc.c b/tests/index/reuc.c index e57facc0c..1f95c4136 100644 --- a/tests/index/reuc.c +++ b/tests/index/reuc.c @@ -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 index 000000000..d32ed1022 --- /dev/null +++ b/tests/index/splitindex.c @@ -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'"); +} diff --git a/tests/index/stage.c b/tests/index/stage.c index 58dc1fb5e..cdfe3a811 100644 --- a/tests/index/stage.c +++ b/tests/index/stage.c @@ -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"); diff --git a/tests/index/tests.c b/tests/index/tests.c index ea8335b48..7c29ef389 100644 --- a/tests/index/tests.c +++ b/tests/index/tests.c @@ -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); +} diff --git a/tests/iterator/index.c b/tests/iterator/index.c index b609d5990..8c7efb253 100644 --- a/tests/iterator/index.c +++ b/tests/iterator/index.c @@ -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)); } diff --git a/tests/iterator/tree.c b/tests/iterator/tree.c index 07da58371..08df909a3 100644 --- a/tests/iterator/tree.c +++ b/tests/iterator/tree.c @@ -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) diff --git a/tests/iterator/workdir.c b/tests/iterator/workdir.c index 81016752c..87ac1e5d4 100644 --- a/tests/iterator/workdir.c +++ b/tests/iterator/workdir.c @@ -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 @@ -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 index 000000000..1f8ca56c2 --- /dev/null +++ b/tests/mailmap/basic.c @@ -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 \n" + "Blatantly invalid line\n" + "Foo bar \n" + " \n" + " Other Name \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 index 000000000..e6bc1a41f --- /dev/null +++ b/tests/mailmap/blame.c @@ -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 index 000000000..a06606b4b --- /dev/null +++ b/tests/mailmap/mailmap_testdata.h @@ -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 index 000000000..e2ab05c99 --- /dev/null +++ b/tests/mailmap/parsing.c @@ -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" + " \n" + "Some Dude nick1 \n" + "Other Author nick2 \n" + "Other Author \n" + "Phil Hill # Comment at end of line\n" + " Joseph \n" + "Santa Claus \n" + "Untracked "; + +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)); +} diff --git a/tests/main.c b/tests/main.c index b4fccecc4..00b2bae02 100644 --- a/tests/main.c +++ b/tests/main.c @@ -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 index 000000000..cfdf849e5 --- /dev/null +++ b/tests/merge/annotated_commit.c @@ -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); +} diff --git a/tests/merge/driver.c b/tests/merge/driver.c index c75a00742..a3fececb4 100644 --- a/tests/merge/driver.c +++ b/tests/merge/driver.c @@ -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) diff --git a/tests/merge/files.c b/tests/merge/files.c index 6f5a1fd9c..27c96363f 100644 --- a/tests/merge/files.c +++ b/tests/merge/files.c @@ -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; diff --git a/tests/merge/merge_helpers.c b/tests/merge/merge_helpers.c index 4b1b7d262..1b68bdccb 100644 --- a/tests/merge/merge_helpers.c +++ b/tests/merge/merge_helpers.c @@ -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; } diff --git a/tests/merge/trees/automerge.c b/tests/merge/trees/automerge.c index 67f2cf786..e4efba51c 100644 --- a/tests/merge/trees/automerge.c +++ b/tests/merge/trees/automerge.c @@ -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); diff --git a/tests/merge/trees/commits.c b/tests/merge/trees/commits.c index 786a77a8b..79fba8ac5 100644 --- a/tests/merge/trees/commits.c +++ b/tests/merge/trees/commits.c @@ -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)); } diff --git a/tests/merge/trees/modeconflict.c b/tests/merge/trees/modeconflict.c index d858b8f66..e85e340b9 100644 --- a/tests/merge/trees/modeconflict.c +++ b/tests/merge/trees/modeconflict.c @@ -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); diff --git a/tests/merge/trees/renames.c b/tests/merge/trees/renames.c index 853bf2fa0..fbcfd2d3b 100644 --- a/tests/merge/trees/renames.c +++ b/tests/merge/trees/renames.c @@ -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); diff --git a/tests/merge/trees/trivial.c b/tests/merge/trees/trivial.c index 2262edda6..4a8255624 100644 --- a/tests/merge/trees/trivial.c +++ b/tests/merge/trees/trivial.c @@ -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); diff --git a/tests/merge/trees/whitespace.c b/tests/merge/trees/whitespace.c index b99583cb3..fdb11253b 100644 --- a/tests/merge/trees/whitespace.c +++ b/tests/merge/trees/whitespace.c @@ -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); diff --git a/tests/merge/workdir/analysis.c b/tests/merge/workdir/analysis.c index 351cfbdd5..27d7dba84 100644 --- a/tests/merge/workdir/analysis.c +++ b/tests/merge/workdir/analysis.c @@ -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); +} diff --git a/tests/merge/workdir/dirty.c b/tests/merge/workdir/dirty.c index a69919f53..6044bca43 100644 --- a/tests/merge/workdir/dirty.c +++ b/tests/merge/workdir/dirty.c @@ -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()); } } diff --git a/tests/merge/workdir/recursive.c b/tests/merge/workdir/recursive.c index d47a0c50b..e7dc267e4 100644 --- a/tests/merge/workdir/recursive.c +++ b/tests/merge/workdir/recursive.c @@ -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); } diff --git a/tests/merge/workdir/renames.c b/tests/merge/workdir/renames.c index fabcda2a8..a8ee59a44 100644 --- a/tests/merge/workdir/renames.c +++ b/tests/merge/workdir/renames.c @@ -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; diff --git a/tests/merge/workdir/setup.c b/tests/merge/workdir/setup.c index 4aebf8701..3a8f9d987 100644 --- a/tests/merge/workdir/setup.c +++ b/tests/merge/workdir/setup.c @@ -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; } diff --git a/tests/merge/workdir/simple.c b/tests/merge/workdir/simple.c index 964532e46..a8d5d0be0 100644 --- a/tests/merge/workdir/simple.c +++ b/tests/merge/workdir/simple.c @@ -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)); diff --git a/tests/merge/workdir/submodules.c b/tests/merge/workdir/submodules.c index c4cc188a8..35280e61e 100644 --- a/tests/merge/workdir/submodules.c +++ b/tests/merge/workdir/submodules.c @@ -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); diff --git a/tests/merge/workdir/trivial.c b/tests/merge/workdir/trivial.c index 4ddaf233d..39d1ddc9b 100644 --- a/tests/merge/workdir/trivial.c +++ b/tests/merge/workdir/trivial.c @@ -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]); diff --git a/tests/network/fetchlocal.c b/tests/network/fetchlocal.c index 91e2a0595..bedbcf9e8 100644 --- a/tests/network/fetchlocal.c +++ b/tests/network/fetchlocal.c @@ -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); diff --git a/tests/network/refspecs.c b/tests/network/refspecs.c index c47f197ff..1a65fd246 100644 --- a/tests/network/refspecs.c +++ b/tests/network/refspecs.c @@ -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 index f811f3c4c..000000000 --- a/tests/network/remote/createthenload.c +++ /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); -} diff --git a/tests/network/remote/defaultbranch.c b/tests/network/remote/defaultbranch.c index 9ab0d4095..b0417f764 100644 --- a/tests/network/remote/defaultbranch.c +++ b/tests/network/remote/defaultbranch.c @@ -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) diff --git a/tests/network/remote/local.c b/tests/network/remote/local.c index 76872e51f..99b91c5d0 100644 --- a/tests/network/remote/local.c +++ b/tests/network/remote/local.c @@ -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; diff --git a/tests/network/remote/remotes.c b/tests/network/remote/remotes.c index 9c7e6b299..10517957d 100644 --- a/tests/network/remote/remotes.c +++ b/tests/network/remote/remotes.c @@ -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/*", diff --git a/tests/notes/notes.c b/tests/notes/notes.c index 9626f53b3..f2457665c 100644 --- a/tests/notes/notes.c +++ b/tests/notes/notes.c @@ -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", ¬e_oid); assert_note_equal(default_namespace_note, "hello world\n", ¬e_oid); - git_buf_free(&default_ref); + git_buf_dispose(&default_ref); git_note_free(note); git_note_free(default_namespace_note); } diff --git a/tests/notes/notesref.c b/tests/notes/notesref.c index 4159ddc0d..3bcb05f20 100644 --- a/tests/notes/notesref.c +++ b/tests/notes/notesref.c @@ -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); } diff --git a/tests/object/blob/filter.c b/tests/object/blob/filter.c index 0aaaee6f3..002177cee 100644 --- a/tests/object/blob/filter.c +++ b/tests/object/blob/filter.c @@ -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); } diff --git a/tests/object/blob/fromstream.c b/tests/object/blob/fromstream.c index d23149bd1..60090b6e4 100644 --- a/tests/object/blob/fromstream.c +++ b/tests/object/blob/fromstream.c @@ -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) diff --git a/tests/object/blob/write.c b/tests/object/blob/write.c index 203bc67c1..4cf5a6607 100644 --- a/tests/object/blob/write.c +++ b/tests/object/blob/write.c @@ -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)); } diff --git a/tests/object/cache.c b/tests/object/cache.c index 680f23630..d3ec53ac2 100644 --- a/tests/object/cache.c +++ b/tests/object/cache.c @@ -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); diff --git a/tests/object/commit/commitstagedfile.c b/tests/object/commit/commitstagedfile.c index 5b48519b8..63ecfeebe 100644 --- a/tests/object/commit/commitstagedfile.c +++ b/tests/object/commit/commitstagedfile.c @@ -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 index 000000000..4ff1ad62a --- /dev/null +++ b/tests/object/commit/parse.c @@ -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 \n" + "committer Committer \n" + "encoding Encoding\n" + "\n" + "Message"; + assert_commit_parses(commit, 0, + "3e7ac388cadacccdf1c6c5f3445895b71d9cb0f8", + "Author ", + "Committer ", + "Encoding", + "Message", 0); +} + +void test_object_commit_parse__parsing_commit_without_encoding_succeeds(void) +{ + const char *commit = + "tree 3e7ac388cadacccdf1c6c5f3445895b71d9cb0f8\n" + "author Author \n" + "committer Committer \n" + "\n" + "Message"; + assert_commit_parses(commit, 0, + "3e7ac388cadacccdf1c6c5f3445895b71d9cb0f8", + "Author ", + "Committer ", + NULL, + "Message", 0); +} + +void test_object_commit_parse__parsing_commit_with_multiple_authors_succeeds(void) +{ + const char *commit = + "tree 3e7ac388cadacccdf1c6c5f3445895b71d9cb0f8\n" + "author Author1 \n" + "author Author2 \n" + "author Author3 \n" + "author Author4 \n" + "committer Committer \n" + "\n" + "Message"; + assert_commit_parses(commit, 0, + "3e7ac388cadacccdf1c6c5f3445895b71d9cb0f8", + "Author1 ", + "Committer ", + NULL, + "Message", 0); +} + +void test_object_commit_parse__parsing_commit_with_multiple_committers_succeeds(void) +{ + const char *commit = + "tree 3e7ac388cadacccdf1c6c5f3445895b71d9cb0f8\n" + "author Author \n" + "committer Committer1 \n" + "committer Committer2 \n" + "committer Committer3 \n" + "committer Committer4 \n" + "\n" + "Message"; + assert_commit_parses(commit, 0, + "3e7ac388cadacccdf1c6c5f3445895b71d9cb0f8", + "Author ", + "Committer1 ", + NULL, + "Message", 0); +} + +void test_object_commit_parse__parsing_commit_without_message_succeeds(void) +{ + const char *commit = + "tree 3e7ac388cadacccdf1c6c5f3445895b71d9cb0f8\n" + "author Author \n" + "committer Committer \n"; + assert_commit_parses(commit, 0, + "3e7ac388cadacccdf1c6c5f3445895b71d9cb0f8", + "Author ", + "Committer ", + NULL, + "", 0); +} + +void test_object_commit_parse__parsing_commit_with_unknown_fields_succeeds(void) +{ + const char *commit = + "tree 3e7ac388cadacccdf1c6c5f3445895b71d9cb0f8\n" + "author Author \n" + "committer Committer \n" + "foo bar\n" + "more garbage\n" + "\n" + "Message"; + assert_commit_parses(commit, 0, + "3e7ac388cadacccdf1c6c5f3445895b71d9cb0f8", + "Author ", + "Committer ", + NULL, + "Message", 0); +} + +void test_object_commit_parse__parsing_commit_with_invalid_tree_fails(void) +{ + const char *commit = + "tree 3e7ac388cadacccdf1xxx5f3445895b71d9cb0f8\n" + "author Author \n" + "committer Committer \n" + "\n" + "Message"; + assert_commit_fails(commit, 0); +} + +void test_object_commit_parse__parsing_commit_without_tree_fails(void) +{ + const char *commit = + "author Author \n" + "committer Committer \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 \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 \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); +} diff --git a/tests/object/lookup.c b/tests/object/lookup.c index 544f32bc4..2458537fc 100644 --- a/tests/object/lookup.c +++ b/tests/object/lookup.c @@ -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); } diff --git a/tests/object/lookupbypath.c b/tests/object/lookupbypath.c index 13cd6a128..f2257f556 100644 --- a/tests/object/lookupbypath.c +++ b/tests/object/lookupbypath.c @@ -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)); diff --git a/tests/object/message.c b/tests/object/message.c index 40d8e7297..bc005340b 100644 --- a/tests/object/message.c +++ b/tests/object/message.c @@ -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); } diff --git a/tests/object/peel.c b/tests/object/peel.c index 344885f1d..8be6e42d4 100644 --- a/tests/object/peel.c +++ b/tests/object/peel.c @@ -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); } diff --git a/tests/object/raw/data.h b/tests/object/raw/data.h index cf23819f1..57431e70e 100644 --- a/tests/object/raw/data.h +++ b/tests/object/raw/data.h @@ -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 }; diff --git a/tests/object/raw/hash.c b/tests/object/raw/hash.c index ede31e145..830f1caa1 100644 --- a/tests/object/raw/hash.c +++ b/tests/object/raw/hash.c @@ -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); diff --git a/tests/object/raw/type2string.c b/tests/object/raw/type2string.c index a3585487f..ebd81f552 100644 --- a/tests/object/raw/type2string.c +++ b/tests/object/raw/type2string.c @@ -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); diff --git a/tests/object/raw/write.c b/tests/object/raw/write.c index 273f08f2c..a360f04c5 100644 --- a/tests/object/raw/write.c +++ b/tests/object/raw/write.c @@ -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); diff --git a/tests/object/shortid.c b/tests/object/shortid.c index d854cb78e..9b673efeb 100644 --- a/tests/object/shortid.c +++ b/tests/object/shortid.c @@ -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); } diff --git a/tests/object/tag/list.c b/tests/object/tag/list.c index 6d5a24347..b8d507fe7 100644 --- a/tests/object/tag/list.c +++ b/tests/object/tag/list.c @@ -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 index 000000000..2c0635ae4 --- /dev/null +++ b/tests/object/tag/parse.c @@ -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 \n" + "\n" + "Message"; + assert_tag_parses(tag, 0, + "a8d447f68076d1520f69649bb52629941be7031f", + "tagname", + "Taggy Mr. Taggart ", + "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 \n"; + assert_tag_parses(tag, 0, + "a8d447f68076d1520f69649bb52629941be7031f", + "tagname", + "Taggy Mr. Taggart ", + 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 \n" + "foo bar\n" + "frubble frabble\n" + "\n" + "Message"; + assert_tag_parses(tag, 0, + "a8d447f68076d1520f69649bb52629941be7031f", + "tagname", + "Taggy Mr. Taggart ", + "Message"); +} + +void test_object_tag_parse__missing_object_fails(void) +{ + const char *tag = + "type tag\n" + "tag tagname\n" + "tagger Taggy Mr. Taggart \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 \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 \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 \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 \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")); +} diff --git a/tests/object/tag/peel.c b/tests/object/tag/peel.c index e2cd8d6a8..7456a8e17 100644 --- a/tests/object/tag/peel.c +++ b/tests/object/tag/peel.c @@ -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")); } diff --git a/tests/object/tag/read.c b/tests/object/tag/read.c index 8f28afd54..90ba58029 100644 --- a/tests/object/tag/read.c +++ b/tests/object/tag/read.c @@ -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)); diff --git a/tests/object/tag/write.c b/tests/object/tag/write.c index 68e4b6c61..48c8bfd36 100644 --- a/tests/object/tag/write.c +++ b/tests/object/tag/write.c @@ -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); diff --git a/tests/object/tree/duplicateentries.c b/tests/object/tree/duplicateentries.c index 35dd383ec..c11ae0d3d 100644 --- a/tests/object/tree/duplicateentries.c +++ b/tests/object/tree/duplicateentries.c @@ -18,9 +18,9 @@ void test_object_tree_duplicateentries__cleanup(void) { * parent cf80f8de9f1185bf3a05f993f6121880dd0cfbc9 * author Ben Straub 1343755506 -0700 * committer Ben Straub 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 index 000000000..9d76a74f0 --- /dev/null +++ b/tests/object/tree/parse.c @@ -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); +} diff --git a/tests/object/tree/read.c b/tests/object/tree/read.c index 59a809bf1..a0eae11d1 100644 --- a/tests/object/tree/read.c +++ b/tests/object/tree/read.c @@ -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"); diff --git a/tests/object/tree/walk.c b/tests/object/tree/walk.c index f8005e579..d1fdaa3a0 100644 --- a/tests/object/tree/walk.c +++ b/tests/object/tree/walk.c @@ -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++; diff --git a/tests/object/tree/write.c b/tests/object/tree/write.c index a1ee03d6d..9efeeb9b7 100644 --- a/tests/object/tree/write.c +++ b/tests/object/tree/write.c @@ -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); } diff --git a/tests/odb/alternates.c b/tests/odb/alternates.c index b5c0e79c0..f65a44bb5 100644 --- a/tests/odb/alternates.c +++ b/tests/odb/alternates.c @@ -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]); diff --git a/tests/odb/backend/backend_helpers.c b/tests/odb/backend/backend_helpers.c index 37a8fd200..139d2fc72 100644 --- a/tests/odb/backend/backend_helpers.c +++ b/tests/odb/backend/backend_helpers.c @@ -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; diff --git a/tests/odb/backend/mempack.c b/tests/odb/backend/mempack.c index 624f0e604..55cd69f80 100644 --- a/tests/odb/backend/mempack.c +++ b/tests/odb/backend/mempack.c @@ -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); } diff --git a/tests/odb/backend/nobackend.c b/tests/odb/backend/nobackend.c index 3c4f344b1..7484d423b 100644 --- a/tests/odb/backend/nobackend.c +++ b/tests/odb/backend/nobackend.c @@ -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); diff --git a/tests/odb/backend/nonrefreshing.c b/tests/odb/backend/nonrefreshing.c index 6abc0c6d2..ede48ade6 100644 --- a/tests/odb/backend/nonrefreshing.c +++ b/tests/odb/backend/nonrefreshing.c @@ -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)); diff --git a/tests/odb/backend/simple.c b/tests/odb/backend/simple.c index f4d29cc76..484dcba5a 100644 --- a/tests/odb/backend/simple.c +++ b/tests/odb/backend/simple.c @@ -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")); } diff --git a/tests/odb/emptyobjects.c b/tests/odb/emptyobjects.c index 61bb2b82c..89b22ad4a 100644 --- a/tests/odb/emptyobjects.c +++ b/tests/odb/emptyobjects.c @@ -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); diff --git a/tests/odb/foreach.c b/tests/odb/foreach.c index 42d706467..7a45a57ae 100644 --- a/tests/odb/foreach.c +++ b/tests/odb/foreach.c @@ -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)); diff --git a/tests/odb/freshen.c b/tests/odb/freshen.c index 9d3cf51dc..1fe64309d 100644 --- a/tests/odb/freshen.c +++ b/tests/odb/freshen.c @@ -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)); diff --git a/tests/odb/largefiles.c b/tests/odb/largefiles.c index a5b982e14..8be2cfd02 100644 --- a/tests/odb/largefiles.c +++ b/tests/odb/largefiles.c @@ -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); } diff --git a/tests/odb/loose.c b/tests/odb/loose.c index 83d080729..5cf567cc2 100644 --- a/tests/odb/loose.c +++ b/tests/odb/loose.c @@ -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); } diff --git a/tests/odb/mixed.c b/tests/odb/mixed.c index 515eadfde..ba2b2acb7 100644 --- a/tests/odb/mixed.c +++ b/tests/odb/mixed.c @@ -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); diff --git a/tests/odb/packed.c b/tests/odb/packed.c index b4f549b58..3d502ed6d 100644 --- a/tests/odb/packed.c +++ b/tests/odb/packed.c @@ -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])); diff --git a/tests/odb/packed_one.c b/tests/odb/packed_one.c index 0c6ed387b..17cd4f760 100644 --- a/tests/odb/packed_one.c +++ b/tests/odb/packed_one.c @@ -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])); diff --git a/tests/odb/streamwrite.c b/tests/odb/streamwrite.c index 591a20040..c174f6974 100644 --- a/tests/odb/streamwrite.c +++ b/tests/odb/streamwrite.c @@ -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); } diff --git a/tests/online/clone.c b/tests/online/clone.c index 3fc6ddd03..6fdbbbd01 100644 --- a/tests/online/clone.c +++ b/tests/online/clone.c @@ -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)); } diff --git a/tests/online/fetchhead.c b/tests/online/fetchhead.c index c1ac06dbe..ae72dde57 100644 --- a/tests/online/fetchhead.c +++ b/tests/online/fetchhead.c @@ -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); } diff --git a/tests/online/push.c b/tests/online/push.c index 3b98278e0..592372ba7 100644 --- a/tests/online/push.c +++ b/tests/online/push.c @@ -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) diff --git a/tests/online/push_util.c b/tests/online/push_util.c index eafec2f05..fe9af2c43 100644 --- a/tests/online/push_util.c +++ b/tests/online/push_util.c @@ -137,5 +137,5 @@ failed: cl_fail(git_buf_cstr(&msg)); - git_buf_free(&msg); + git_buf_dispose(&msg); } diff --git a/tests/pack/indexer.c b/tests/pack/indexer.c index f3c2204bd..3c4e1c1ee 100644 --- a/tests/pack/indexer.c +++ b/tests/pack/indexer.c @@ -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); } diff --git a/tests/pack/packbuilder.c b/tests/pack/packbuilder.c index 13ee07353..6859001fe 100644 --- a/tests/pack/packbuilder.c +++ b/tests/pack/packbuilder.c @@ -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); diff --git a/tests/pack/sharing.c b/tests/pack/sharing.c index a67d65588..f6f78ca03 100644 --- a/tests/pack/sharing.c +++ b/tests/pack/sharing.c @@ -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) { diff --git a/tests/patch/patch_common.h b/tests/patch/patch_common.h index e838e6089..3f2668ddc 100644 --- a/tests/patch/patch_common.h +++ b/tests/patch/patch_common.h @@ -220,6 +220,112 @@ "@@ -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 \ diff --git a/tests/patch/print.c b/tests/patch/print.c index 62e50b93e..4703c1d51 100644 --- a/tests/patch/print.c +++ b/tests/patch/print.c @@ -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) diff --git a/tests/path/core.c b/tests/path/core.c index 0ab41ea50..bbcded083 100644 --- a/tests/path/core.c +++ b/tests/path/core.c @@ -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); } diff --git a/tests/path/dotgit.c b/tests/path/dotgit.c index 20e585edb..309966945 100644 --- a/tests/path/dotgit.c +++ b/tests/path/dotgit.c @@ -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) diff --git a/tests/path/win32.c b/tests/path/win32.c index 4ff039738..3ed7d7a6a 100644 --- a/tests/path/win32.c +++ b/tests/path/win32.c @@ -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 diff --git a/tests/rebase/abort.c b/tests/rebase/abort.c index d8891fb1d..a83c529ce 100644 --- a/tests/rebase/abort.c +++ b/tests/rebase/abort.c @@ -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"); diff --git a/tests/rebase/inmemory.c b/tests/rebase/inmemory.c index 367d6b3ac..040a81b1b 100644 --- a/tests/rebase/inmemory.c +++ b/tests/rebase/inmemory.c @@ -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"); diff --git a/tests/rebase/iterator.c b/tests/rebase/iterator.c index db57b0a83..49a601243 100644 --- a/tests/rebase/iterator.c +++ b/tests/rebase/iterator.c @@ -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"); diff --git a/tests/rebase/merge.c b/tests/rebase/merge.c index 7b2d6876c..cccaac7b8 100644 --- a/tests/rebase/merge.c +++ b/tests/rebase/merge.c @@ -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(¬e_id, repo, "refs/notes/test", diff --git a/tests/rebase/setup.c b/tests/rebase/setup.c index b07a83af6..34d5edbf6 100644 --- a/tests/rebase/setup.c +++ b/tests/rebase/setup.c @@ -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); diff --git a/tests/rebase/submodule.c b/tests/rebase/submodule.c index 8ae78ce5b..a28b3f4b2 100644 --- a/tests/rebase/submodule.c +++ b/tests/rebase/submodule.c @@ -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)); diff --git a/tests/refs/branches/create.c b/tests/refs/branches/create.c index a4db57446..70ffad88d 100644 --- a/tests/refs/branches/create.c +++ b/tests/refs/branches/create.c @@ -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) diff --git a/tests/refs/branches/delete.c b/tests/refs/branches/delete.c index 8807db231..553d80033 100644 --- a/tests/refs/branches/delete.c +++ b/tests/refs/branches/delete.c @@ -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); +} + diff --git a/tests/refs/branches/move.c b/tests/refs/branches/move.c index acd8661b8..2cba9dfd3 100644 --- a/tests/refs/branches/move.c +++ b/tests/refs/branches/move.c @@ -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")); diff --git a/tests/refs/branches/remote.c b/tests/refs/branches/remote.c index 47526717f..27a3b0c44 100644 --- a/tests/refs/branches/remote.c +++ b/tests/refs/branches/remote.c @@ -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); } diff --git a/tests/refs/branches/upstream.c b/tests/refs/branches/upstream.c index 82f5665d8..928a9ff7b 100644 --- a/tests/refs/branches/upstream.c +++ b/tests/refs/branches/upstream.c @@ -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)); diff --git a/tests/refs/branches/upstreamname.c b/tests/refs/branches/upstreamname.c index d30002e08..2eb639738 100644 --- a/tests/refs/branches/upstreamname.c +++ b/tests/refs/branches/upstreamname.c @@ -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; diff --git a/tests/refs/create.c b/tests/refs/create.c index 469cddd1e..20ac579b3 100644 --- a/tests/refs/create.c +++ b/tests/refs/create.c @@ -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); diff --git a/tests/refs/delete.c b/tests/refs/delete.c index a1b9e251e..4cc78aa9c 100644 --- a/tests/refs/delete.c +++ b/tests/refs/delete.c @@ -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; diff --git a/tests/refs/foreachglob.c b/tests/refs/foreachglob.c index a09191e79..a13529376 100644 --- a/tests/refs/foreachglob.c +++ b/tests/refs/foreachglob.c @@ -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) { /* diff --git a/tests/refs/list.c b/tests/refs/list.c index 97461fd69..3e8c82c94 100644 --- a/tests/refs/list.c +++ b/tests/refs/list.c @@ -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)); diff --git a/tests/refs/lookup.c b/tests/refs/lookup.c index 456d0d2a8..01e956de2 100644 --- a/tests/refs/lookup.c +++ b/tests/refs/lookup.c @@ -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); } diff --git a/tests/refs/normalize.c b/tests/refs/normalize.c index 7f313ef38..6da005da0 100644 --- a/tests/refs/normalize.c +++ b/tests/refs/normalize.c @@ -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"); } diff --git a/tests/refs/overwrite.c b/tests/refs/overwrite.c index 5aea2a764..1826b1257 100644 --- a/tests/refs/overwrite.c +++ b/tests/refs/overwrite.c @@ -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); diff --git a/tests/refs/pack.c b/tests/refs/pack.c index bda86f69a..92312e26d 100644 --- a/tests/refs/pack.c +++ b/tests/refs/pack.c @@ -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) diff --git a/tests/refs/peel.c b/tests/refs/peel.c index 09809e19e..38f3465a0 100644 --- a/tests/refs/peel.c +++ b/tests/refs/peel.c @@ -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); } diff --git a/tests/refs/read.c b/tests/refs/read.c index cb42a568b..1bbc38766 100644 --- a/tests/refs/read.c +++ b/tests/refs/read.c @@ -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); diff --git a/tests/refs/ref_helpers.c b/tests/refs/ref_helpers.c index 7676e65a7..42b49216c 100644 --- a/tests/refs/ref_helpers.c +++ b/tests/refs/ref_helpers.c @@ -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; } diff --git a/tests/refs/reflog/messages.c b/tests/refs/reflog/messages.c index a7a77666b..5ca9ab31b 100644 --- a/tests/refs/reflog/messages.c +++ b/tests/refs/reflog/messages.c @@ -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); diff --git a/tests/refs/reflog/reflog.c b/tests/refs/reflog/reflog.c index bbcdbf91b..cf8c5c2d3 100644 --- a/tests/refs/reflog/reflog.c +++ b/tests/refs/reflog/reflog.c @@ -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; diff --git a/tests/refs/reflog/reflog_helpers.c b/tests/refs/reflog/reflog_helpers.c index 5e3673651..6eba8ecf9 100644 --- a/tests/refs/reflog/reflog_helpers.c +++ b/tests/refs/reflog/reflog_helpers.c @@ -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); } diff --git a/tests/refs/rename.c b/tests/refs/rename.c index 3e0be313c..9933bee1d 100644 --- a/tests/refs/rename.c +++ b/tests/refs/rename.c @@ -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)); diff --git a/tests/refs/revparse.c b/tests/refs/revparse.c index 459188cf7..3c4ed9af5 100644 --- a/tests/refs/revparse.c +++ b/tests/refs/revparse.c @@ -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); } diff --git a/tests/refs/setter.c b/tests/refs/setter.c index 2b42ff253..b34c71eb5 100644 --- a/tests/refs/setter.c +++ b/tests/refs/setter.c @@ -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); diff --git a/tests/refs/update.c b/tests/refs/update.c index 403ea75b8..1c5127d9e 100644 --- a/tests/refs/update.c +++ b/tests/refs/update.c @@ -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 index 000000000..510962314 --- /dev/null +++ b/tests/remote/create.c @@ -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); +} diff --git a/tests/repo/config.c b/tests/repo/config.c index 93dedd576..b92d84202 100644 --- a/tests/repo/config.c +++ b/tests/repo/config.c @@ -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)); diff --git a/tests/repo/discover.c b/tests/repo/discover.c index eadd055e9..cc61c7125 100644 --- a/tests/repo/discover.c +++ b/tests/repo/discover.c @@ -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)); } diff --git a/tests/repo/env.c b/tests/repo/env.c index 6404f88e9..9dafda198 100644 --- a/tests/repo/env.c +++ b/tests/repo/env.c @@ -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(); } diff --git a/tests/repo/hashfile.c b/tests/repo/hashfile.c index ae8e122f6..0fb4e6772 100644 --- a/tests/repo/hashfile.c +++ b/tests/repo/hashfile.c @@ -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)); } diff --git a/tests/repo/head.c b/tests/repo/head.c index ed3b3dcc3..822990555 100644 --- a/tests/repo/head.c +++ b/tests/repo/head.c @@ -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))); diff --git a/tests/repo/init.c b/tests/repo/init.c index 0f969eb18..91b25a5f1 100644 --- a/tests/repo/init.c +++ b/tests/repo/init.c @@ -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); } diff --git a/tests/repo/message.c b/tests/repo/message.c index 87574590b..14577c8f0 100644 --- a/tests/repo/message.c +++ b/tests/repo/message.c @@ -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); } diff --git a/tests/repo/open.c b/tests/repo/open.c index ab36dd587..06ec71bfd 100644 --- a/tests/repo/open.c +++ b/tests/repo/open.c @@ -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)); diff --git a/tests/repo/repo_helpers.c b/tests/repo/repo_helpers.c index 61f696865..4256314f1 100644 --- a/tests/repo/repo_helpers.c +++ b/tests/repo/repo_helpers.c @@ -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); } diff --git a/tests/repo/repo_helpers.h b/tests/repo/repo_helpers.h index 6783d5701..2c9aeabee 100644 --- a/tests/repo/repo_helpers.h +++ b/tests/repo/repo_helpers.h @@ -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); diff --git a/tests/repo/reservedname.c b/tests/repo/reservedname.c index 2a5b38239..8e024bcbb 100644 --- a/tests/repo/reservedname.c +++ b/tests/repo/reservedname.c @@ -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); } diff --git a/tests/repo/setters.c b/tests/repo/setters.c index 5a83fdbee..ea6ef12b1 100644 --- a/tests/repo/setters.c +++ b/tests/repo/setters.c @@ -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); } diff --git a/tests/repo/shallow.c b/tests/repo/shallow.c index 5aeaf2def..b9a7b810b 100644 --- a/tests/repo/shallow.c +++ b/tests/repo/shallow.c @@ -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()); } diff --git a/tests/repo/state.c b/tests/repo/state.c index 7f20eebe8..fb8949775 100644 --- a/tests/repo/state.c +++ b/tests/repo/state.c @@ -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) diff --git a/tests/reset/hard.c b/tests/reset/hard.c index 69ef41e50..b6e91395b 100644 --- a/tests/reset/hard.c +++ b/tests/reset/hard.c @@ -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); } diff --git a/tests/reset/mixed.c b/tests/reset/mixed.c index 97eac74e8..9928c6871 100644 --- a/tests/reset/mixed.c +++ b/tests/reset/mixed.c @@ -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}"; diff --git a/tests/reset/soft.c b/tests/reset/soft.c index 506decaed..d9cfb0553 100644 --- a/tests/reset/soft.c +++ b/tests/reset/soft.c @@ -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)); diff --git a/tests/resources/.gitattributes b/tests/resources/.gitattributes index 556f8c827..047f77f55 100644 --- a/tests/resources/.gitattributes +++ b/tests/resources/.gitattributes @@ -1 +1,2 @@ * binary +*.sh text diff merge eol=lf diff --git a/tests/resources/crlf/.gitattributes b/tests/resources/crlf/.gitattributes new file mode 100644 index 000000000..fa1385d99 --- /dev/null +++ b/tests/resources/crlf/.gitattributes @@ -0,0 +1 @@ +* -text diff --git a/tests/resources/crlf_data/posix/autocrlf_false,-crlf/all-crlf b/tests/resources/crlf/all-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,-crlf/all-crlf rename to tests/resources/crlf/all-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_false,-crlf/all-crlf-utf8bom b/tests/resources/crlf/all-crlf-utf8bom similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,-crlf/all-crlf-utf8bom rename to tests/resources/crlf/all-crlf-utf8bom diff --git a/tests/resources/crlf_data/posix/autocrlf_false,-crlf/all-lf b/tests/resources/crlf/all-lf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,-crlf/all-lf rename to tests/resources/crlf/all-lf diff --git a/tests/resources/crlf_data/posix/autocrlf_false,-crlf/all-lf-utf8bom b/tests/resources/crlf/all-lf-utf8bom similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,-crlf/all-lf-utf8bom rename to tests/resources/crlf/all-lf-utf8bom diff --git a/tests/resources/crlf_data/posix/autocrlf_false,-crlf/binary-all-crlf b/tests/resources/crlf/binary-all-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,-crlf/binary-all-crlf rename to tests/resources/crlf/binary-all-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_false,-crlf/binary-all-lf b/tests/resources/crlf/binary-all-lf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,-crlf/binary-all-lf rename to tests/resources/crlf/binary-all-lf diff --git a/tests/resources/crlf_data/posix/autocrlf_false,-crlf/binary-mixed-lf-cr b/tests/resources/crlf/binary-mixed-lf-cr similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,-crlf/binary-mixed-lf-cr rename to tests/resources/crlf/binary-mixed-lf-cr diff --git a/tests/resources/crlf_data/posix/autocrlf_false,-crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf/binary-mixed-lf-cr-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,-crlf/binary-mixed-lf-cr-crlf rename to tests/resources/crlf/binary-mixed-lf-cr-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_false,-crlf/few-utf8-chars-crlf b/tests/resources/crlf/few-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,-crlf/few-utf8-chars-crlf rename to tests/resources/crlf/few-utf8-chars-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_false,-crlf/few-utf8-chars-lf b/tests/resources/crlf/few-utf8-chars-lf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,-crlf/few-utf8-chars-lf rename to tests/resources/crlf/few-utf8-chars-lf diff --git a/tests/resources/crlf_data/posix/autocrlf_false,-crlf/many-utf8-chars-crlf b/tests/resources/crlf/many-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,-crlf/many-utf8-chars-crlf rename to tests/resources/crlf/many-utf8-chars-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_false,-crlf/many-utf8-chars-lf b/tests/resources/crlf/many-utf8-chars-lf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,-crlf/many-utf8-chars-lf rename to tests/resources/crlf/many-utf8-chars-lf diff --git a/tests/resources/crlf_data/posix/autocrlf_false,-crlf/mixed-lf-cr b/tests/resources/crlf/mixed-lf-cr similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,-crlf/mixed-lf-cr rename to tests/resources/crlf/mixed-lf-cr diff --git a/tests/resources/crlf_data/posix/autocrlf_false,-crlf/mixed-lf-cr-crlf b/tests/resources/crlf/mixed-lf-cr-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,-crlf/mixed-lf-cr-crlf rename to tests/resources/crlf/mixed-lf-cr-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_false,-crlf/more-crlf b/tests/resources/crlf/more-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,-crlf/more-crlf rename to tests/resources/crlf/more-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_false,-crlf/more-crlf-utf8bom b/tests/resources/crlf/more-crlf-utf8bom similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,-crlf/more-crlf-utf8bom rename to tests/resources/crlf/more-crlf-utf8bom diff --git a/tests/resources/crlf_data/posix/autocrlf_false,-crlf/more-lf b/tests/resources/crlf/more-lf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,-crlf/more-lf rename to tests/resources/crlf/more-lf diff --git a/tests/resources/crlf_data/posix/autocrlf_false,-crlf/more-lf-utf8bom b/tests/resources/crlf/more-lf-utf8bom similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,-crlf/more-lf-utf8bom rename to tests/resources/crlf/more-lf-utf8bom diff --git a/tests/resources/crlf_data/posix/autocrlf_false,-crlf/zero-byte b/tests/resources/crlf/zero-byte similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,-crlf/zero-byte rename to tests/resources/crlf/zero-byte diff --git a/tests/resources/crlf_data/README b/tests/resources/crlf_data/README new file mode 100644 index 000000000..0c8badf9f --- /dev/null +++ b/tests/resources/crlf_data/README @@ -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,-text/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/all-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,-text/all-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/all-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_false,-text/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/all-crlf-utf8bom similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,-text/all-crlf-utf8bom rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/all-crlf-utf8bom diff --git a/tests/resources/crlf_data/posix/autocrlf_false,-text/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/all-lf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,-text/all-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/all-lf diff --git a/tests/resources/crlf_data/posix/autocrlf_false,-text/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/all-lf-utf8bom similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,-text/all-lf-utf8bom rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/all-lf-utf8bom diff --git a/tests/resources/crlf_data/posix/autocrlf_false,-text/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/binary-all-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,-text/binary-all-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/binary-all-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_false,-text/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/binary-all-lf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,-text/binary-all-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/binary-all-lf diff --git a/tests/resources/crlf_data/posix/autocrlf_false,-text/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/binary-mixed-lf-cr similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,-text/binary-mixed-lf-cr rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/binary-mixed-lf-cr diff --git a/tests/resources/crlf_data/posix/autocrlf_false,-text/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/binary-mixed-lf-cr-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,-text/binary-mixed-lf-cr-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/binary-mixed-lf-cr-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_false,-text/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/few-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,-text/few-utf8-chars-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/few-utf8-chars-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_false,-text/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/few-utf8-chars-lf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,-text/few-utf8-chars-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/few-utf8-chars-lf diff --git a/tests/resources/crlf_data/posix/autocrlf_false,-text/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/many-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,-text/many-utf8-chars-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/many-utf8-chars-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_false,-text/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/many-utf8-chars-lf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,-text/many-utf8-chars-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/many-utf8-chars-lf diff --git a/tests/resources/crlf_data/posix/autocrlf_false,-text/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/mixed-lf-cr similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,-text/mixed-lf-cr rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/mixed-lf-cr diff --git a/tests/resources/crlf_data/posix/autocrlf_false,-text/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/mixed-lf-cr-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,-text/mixed-lf-cr-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/mixed-lf-cr-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_false,-text/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/more-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,-text/more-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/more-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_false,-text/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/more-crlf-utf8bom similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,-text/more-crlf-utf8bom rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/more-crlf-utf8bom diff --git a/tests/resources/crlf_data/posix/autocrlf_false,-text/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/more-lf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,-text/more-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/more-lf diff --git a/tests/resources/crlf_data/posix/autocrlf_false,-text/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/more-lf-utf8bom similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,-text/more-lf-utf8bom rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/more-lf-utf8bom diff --git a/tests/resources/crlf_data/posix/autocrlf_false,-text/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/zero-byte similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,-text/zero-byte rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-crlf/zero-byte diff --git a/tests/resources/crlf_data/posix/autocrlf_false,crlf/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/all-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,crlf/all-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/all-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_false,crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/all-crlf-utf8bom similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,crlf/all-crlf-utf8bom rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/all-crlf-utf8bom diff --git a/tests/resources/crlf_data/posix/autocrlf_false,crlf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/all-lf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,crlf/all-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/all-lf diff --git a/tests/resources/crlf_data/posix/autocrlf_false,crlf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/all-lf-utf8bom similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,crlf/all-lf-utf8bom rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/all-lf-utf8bom diff --git a/tests/resources/crlf_data/posix/autocrlf_false,crlf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/binary-all-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,crlf/binary-all-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/binary-all-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_false,crlf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/binary-all-lf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,crlf/binary-all-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/binary-all-lf diff --git a/tests/resources/crlf_data/posix/autocrlf_false,crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/binary-mixed-lf-cr similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,crlf/binary-mixed-lf-cr rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/binary-mixed-lf-cr diff --git a/tests/resources/crlf_data/posix/autocrlf_false,crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/binary-mixed-lf-cr-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,crlf/binary-mixed-lf-cr-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/binary-mixed-lf-cr-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_false,crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/few-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,crlf/few-utf8-chars-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/few-utf8-chars-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_false,crlf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/few-utf8-chars-lf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,crlf/few-utf8-chars-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/few-utf8-chars-lf diff --git a/tests/resources/crlf_data/posix/autocrlf_false,crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/many-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,crlf/many-utf8-chars-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/many-utf8-chars-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_false,crlf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/many-utf8-chars-lf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,crlf/many-utf8-chars-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/many-utf8-chars-lf diff --git a/tests/resources/crlf_data/posix/autocrlf_false,crlf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/mixed-lf-cr similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,crlf/mixed-lf-cr rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/mixed-lf-cr diff --git a/tests/resources/crlf_data/posix/autocrlf_false,crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/mixed-lf-cr-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,crlf/mixed-lf-cr-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/mixed-lf-cr-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_false,crlf/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/more-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,crlf/more-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/more-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_false,crlf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/more-crlf-utf8bom similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,crlf/more-crlf-utf8bom rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/more-crlf-utf8bom diff --git a/tests/resources/crlf_data/posix/autocrlf_false,crlf/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/more-lf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,crlf/more-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/more-lf diff --git a/tests/resources/crlf_data/posix/autocrlf_false,crlf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/more-lf-utf8bom similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,crlf/more-lf-utf8bom rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/more-lf-utf8bom diff --git a/tests/resources/crlf_data/posix/autocrlf_false,crlf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/zero-byte similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,crlf/zero-byte rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,-text/zero-byte diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/all-crlf new file mode 100644 index 000000000..26e1a742b --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/all-crlf-utf8bom new file mode 100644 index 000000000..32c6f22e3 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_false,eol_lf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/all-lf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,eol_lf/all-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/all-lf diff --git a/tests/resources/crlf_data/posix/autocrlf_false,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/all-lf-utf8bom similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,eol_lf/all-lf-utf8bom rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/all-lf-utf8bom diff --git a/tests/resources/crlf_data/posix/autocrlf_false,eol_lf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/binary-all-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,eol_lf/binary-all-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/binary-all-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/binary-all-lf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/binary-all-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/binary-all-lf diff --git a/tests/resources/crlf_data/posix/autocrlf_false,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/binary-mixed-lf-cr similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,eol_lf/binary-mixed-lf-cr rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/binary-mixed-lf-cr diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/binary-mixed-lf-cr-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/binary-mixed-lf-cr rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/binary-mixed-lf-cr-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_false,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/few-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,eol_lf/few-utf8-chars-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/few-utf8-chars-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/few-utf8-chars-lf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/few-utf8-chars-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/few-utf8-chars-lf diff --git a/tests/resources/crlf_data/posix/autocrlf_false,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/many-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,eol_lf/many-utf8-chars-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/many-utf8-chars-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/many-utf8-chars-lf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/many-utf8-chars-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/many-utf8-chars-lf diff --git a/tests/resources/crlf_data/posix/autocrlf_false,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/mixed-lf-cr similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,eol_lf/mixed-lf-cr rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/mixed-lf-cr diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/mixed-lf-cr-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/mixed-lf-cr rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/mixed-lf-cr-crlf diff --git a/tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/more-crlf similarity index 82% rename from tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/more-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/more-crlf index e682c3077..37bb7fa3d 100644 --- a/tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/more-crlf +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/more-crlf @@ -1,5 +1,5 @@ -crlf -crlf -lf -crlf -crlf +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/more-crlf-utf8bom similarity index 83% rename from tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/more-crlf-utf8bom rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/more-crlf-utf8bom index 2e1220cbb..16001a14a 100644 --- a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/more-crlf-utf8bom +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/more-crlf-utf8bom @@ -1,5 +1,5 @@ -crlf -crlf -lf -crlf -crlf +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/more-lf similarity index 77% rename from tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/more-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/more-lf index 6da5b0c7e..2cda6f203 100644 --- a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/more-lf +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/more-lf @@ -1,5 +1,5 @@ -lf -lf -crlf -lf -lf +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/more-lf-utf8bom similarity index 80% rename from tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/more-lf-utf8bom rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/more-lf-utf8bom index 3fa59c809..dc7d82aa0 100644 --- a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/more-lf-utf8bom +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/more-lf-utf8bom @@ -1,5 +1,5 @@ -lf -lf -crlf -lf -lf +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/zero-byte similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/zero-byte rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,crlf/zero-byte diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/all-crlf new file mode 100644 index 000000000..26e1a742b --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/all-crlf-utf8bom new file mode 100644 index 000000000..32c6f22e3 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/all-lf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/all-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/all-lf diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/all-lf-utf8bom similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/all-lf-utf8bom rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/all-lf-utf8bom diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/binary-all-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,text/binary-all-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/binary-all-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/binary-all-lf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/binary-all-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/binary-all-lf diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/binary-mixed-lf-cr similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,text/binary-mixed-lf-cr rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/binary-mixed-lf-cr diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/binary-mixed-lf-cr-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/binary-mixed-lf-cr rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/binary-mixed-lf-cr-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/few-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,text/few-utf8-chars-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/few-utf8-chars-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/few-utf8-chars-lf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/few-utf8-chars-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/few-utf8-chars-lf diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/many-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,text/many-utf8-chars-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/many-utf8-chars-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/many-utf8-chars-lf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/many-utf8-chars-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/many-utf8-chars-lf diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/mixed-lf-cr similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,text/mixed-lf-cr rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/mixed-lf-cr diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/mixed-lf-cr-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/mixed-lf-cr rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/mixed-lf-cr-crlf diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/more-crlf similarity index 82% rename from tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/more-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/more-crlf index e682c3077..37bb7fa3d 100644 --- a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/more-crlf +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/more-crlf @@ -1,5 +1,5 @@ -crlf -crlf -lf -crlf -crlf +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/more-crlf-utf8bom similarity index 83% rename from tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/more-crlf-utf8bom rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/more-crlf-utf8bom index 2e1220cbb..16001a14a 100644 --- a/tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/more-crlf-utf8bom +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/more-crlf-utf8bom @@ -1,5 +1,5 @@ -crlf -crlf -lf -crlf -crlf +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/more-lf similarity index 77% rename from tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/more-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/more-lf index 6da5b0c7e..2cda6f203 100644 --- a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/more-lf +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/more-lf @@ -1,5 +1,5 @@ -lf -lf -crlf -lf -lf +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/more-lf-utf8bom similarity index 80% rename from tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/more-lf-utf8bom rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/more-lf-utf8bom index 3fa59c809..dc7d82aa0 100644 --- a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/more-lf-utf8bom +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/more-lf-utf8bom @@ -1,5 +1,5 @@ -lf -lf -crlf -lf -lf +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/posix/autocrlf_false,eol_lf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/zero-byte similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,eol_lf/zero-byte rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_crlf/zero-byte diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/all-crlf new file mode 100644 index 000000000..26e1a742b --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/all-crlf-utf8bom new file mode 100644 index 000000000..32c6f22e3 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/all-lf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,text/all-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/all-lf diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/all-lf-utf8bom similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,text/all-lf-utf8bom rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/all-lf-utf8bom diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/binary-all-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,text_auto/binary-all-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/binary-all-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_false/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/binary-all-lf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false/binary-all-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/binary-all-lf diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/binary-mixed-lf-cr similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,text_auto/binary-mixed-lf-cr rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/binary-mixed-lf-cr diff --git a/tests/resources/crlf_data/posix/autocrlf_false/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/binary-mixed-lf-cr-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false/binary-mixed-lf-cr rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/binary-mixed-lf-cr-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/few-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,text_auto/few-utf8-chars-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/few-utf8-chars-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_false/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/few-utf8-chars-lf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false/few-utf8-chars-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/few-utf8-chars-lf diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/many-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,text_auto/many-utf8-chars-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/many-utf8-chars-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_false/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/many-utf8-chars-lf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false/many-utf8-chars-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/many-utf8-chars-lf diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/mixed-lf-cr similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,text_auto/mixed-lf-cr rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/mixed-lf-cr diff --git a/tests/resources/crlf_data/posix/autocrlf_false/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/mixed-lf-cr-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false/mixed-lf-cr rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/mixed-lf-cr-crlf diff --git a/tests/resources/crlf_data/windows/autocrlf_true,crlf/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/more-crlf similarity index 82% rename from tests/resources/crlf_data/windows/autocrlf_true,crlf/more-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/more-crlf index e682c3077..37bb7fa3d 100644 --- a/tests/resources/crlf_data/windows/autocrlf_true,crlf/more-crlf +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/more-crlf @@ -1,5 +1,5 @@ -crlf -crlf -lf -crlf -crlf +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows/autocrlf_true,crlf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/more-crlf-utf8bom similarity index 83% rename from tests/resources/crlf_data/windows/autocrlf_true,crlf/more-crlf-utf8bom rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/more-crlf-utf8bom index 2e1220cbb..16001a14a 100644 --- a/tests/resources/crlf_data/windows/autocrlf_true,crlf/more-crlf-utf8bom +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/more-crlf-utf8bom @@ -1,5 +1,5 @@ -crlf -crlf -lf -crlf -crlf +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/more-lf similarity index 77% rename from tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/more-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/more-lf index 6da5b0c7e..2cda6f203 100644 --- a/tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/more-lf +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/more-lf @@ -1,5 +1,5 @@ -lf -lf -crlf -lf -lf +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows/autocrlf_true,crlf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/more-lf-utf8bom similarity index 80% rename from tests/resources/crlf_data/windows/autocrlf_true,crlf/more-lf-utf8bom rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/more-lf-utf8bom index 3fa59c809..dc7d82aa0 100644 --- a/tests/resources/crlf_data/windows/autocrlf_true,crlf/more-lf-utf8bom +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/more-lf-utf8bom @@ -1,5 +1,5 @@ -lf -lf -crlf -lf -lf +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/zero-byte similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/zero-byte rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,eol_lf/zero-byte diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/all-crlf new file mode 100644 index 000000000..26e1a742b --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/all-crlf-utf8bom new file mode 100644 index 000000000..32c6f22e3 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/all-lf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/all-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/all-lf diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/all-lf-utf8bom similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/all-lf-utf8bom rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/all-lf-utf8bom diff --git a/tests/resources/crlf_data/posix/autocrlf_input,-crlf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/binary-all-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,-crlf/binary-all-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/binary-all-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_input,-text/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/binary-all-lf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,-text/binary-all-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/binary-all-lf diff --git a/tests/resources/crlf_data/posix/autocrlf_input,-crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/binary-mixed-lf-cr similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,-crlf/binary-mixed-lf-cr rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/binary-mixed-lf-cr diff --git a/tests/resources/crlf_data/posix/autocrlf_input,-text/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/binary-mixed-lf-cr-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,-text/binary-mixed-lf-cr rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/binary-mixed-lf-cr-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_input,-crlf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/few-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,-crlf/few-utf8-chars-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/few-utf8-chars-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_input,-text/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/few-utf8-chars-lf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,-text/few-utf8-chars-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/few-utf8-chars-lf diff --git a/tests/resources/crlf_data/posix/autocrlf_input,-crlf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/many-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,-crlf/many-utf8-chars-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/many-utf8-chars-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_input,-text/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/many-utf8-chars-lf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,-text/many-utf8-chars-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/many-utf8-chars-lf diff --git a/tests/resources/crlf_data/posix/autocrlf_input,-crlf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/mixed-lf-cr similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,-crlf/mixed-lf-cr rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/mixed-lf-cr diff --git a/tests/resources/crlf_data/posix/autocrlf_input,-text/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/mixed-lf-cr-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,-text/mixed-lf-cr rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/mixed-lf-cr-crlf diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/more-crlf similarity index 82% rename from tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/more-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/more-crlf index e682c3077..37bb7fa3d 100644 --- a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/more-crlf +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/more-crlf @@ -1,5 +1,5 @@ -crlf -crlf -lf -crlf -crlf +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/more-crlf-utf8bom similarity index 83% rename from tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/more-crlf-utf8bom rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/more-crlf-utf8bom index 2e1220cbb..16001a14a 100644 --- a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/more-crlf-utf8bom +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/more-crlf-utf8bom @@ -1,5 +1,5 @@ -crlf -crlf -lf -crlf -crlf +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows/autocrlf_true,crlf/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/more-lf similarity index 77% rename from tests/resources/crlf_data/windows/autocrlf_true,crlf/more-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/more-lf index 6da5b0c7e..2cda6f203 100644 --- a/tests/resources/crlf_data/windows/autocrlf_true,crlf/more-lf +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/more-lf @@ -1,5 +1,5 @@ -lf -lf -crlf -lf -lf +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/more-lf-utf8bom similarity index 80% rename from tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/more-lf-utf8bom rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/more-lf-utf8bom index 3fa59c809..dc7d82aa0 100644 --- a/tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/more-lf-utf8bom +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/more-lf-utf8bom @@ -1,5 +1,5 @@ -lf -lf -crlf -lf -lf +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/zero-byte similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/zero-byte rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/zero-byte diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/all-crlf new file mode 100644 index 000000000..26e1a742b --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/all-crlf-utf8bom new file mode 100644 index 000000000..32c6f22e3 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/all-lf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,text_auto/all-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/all-lf diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/all-lf-utf8bom similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,text_auto/all-lf-utf8bom rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/all-lf-utf8bom diff --git a/tests/resources/crlf_data/posix/autocrlf_input,crlf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/binary-all-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,crlf/binary-all-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/binary-all-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_input,eol_lf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/binary-all-lf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,eol_lf/binary-all-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/binary-all-lf diff --git a/tests/resources/crlf_data/posix/autocrlf_input,crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/binary-mixed-lf-cr similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,crlf/binary-mixed-lf-cr rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/binary-mixed-lf-cr diff --git a/tests/resources/crlf_data/posix/autocrlf_input,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-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,eol_lf/binary-mixed-lf-cr rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/binary-mixed-lf-cr-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_input,crlf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/few-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,crlf/few-utf8-chars-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/few-utf8-chars-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_input,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/few-utf8-chars-lf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,eol_lf/few-utf8-chars-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/few-utf8-chars-lf diff --git a/tests/resources/crlf_data/posix/autocrlf_input,crlf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/many-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,crlf/many-utf8-chars-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/many-utf8-chars-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_input,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/many-utf8-chars-lf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,eol_lf/many-utf8-chars-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/many-utf8-chars-lf diff --git a/tests/resources/crlf_data/posix/autocrlf_input,crlf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/mixed-lf-cr similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,crlf/mixed-lf-cr rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/mixed-lf-cr diff --git a/tests/resources/crlf_data/posix/autocrlf_input,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/mixed-lf-cr-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,eol_lf/mixed-lf-cr rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/mixed-lf-cr-crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/more-crlf new file mode 100644 index 000000000..37bb7fa3d --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/more-crlf @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/more-crlf-utf8bom new file mode 100644 index 000000000..16001a14a --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/more-crlf-utf8bom @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/more-lf new file mode 100644 index 000000000..2cda6f203 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/more-lf @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/more-lf-utf8bom new file mode 100644 index 000000000..dc7d82aa0 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/more-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/zero-byte similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,text/zero-byte rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/zero-byte diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/all-crlf new file mode 100644 index 000000000..26e1a742b --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/all-crlf-utf8bom new file mode 100644 index 000000000..32c6f22e3 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_false/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/all-lf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false/all-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/all-lf diff --git a/tests/resources/crlf_data/posix/autocrlf_false/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/all-lf-utf8bom similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false/all-lf-utf8bom rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/all-lf-utf8bom diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/binary-all-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/binary-all-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/binary-all-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/binary-all-lf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,text/binary-all-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/binary-all-lf diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/binary-mixed-lf-cr similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/binary-mixed-lf-cr rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/binary-mixed-lf-cr diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/binary-mixed-lf-cr-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,text/binary-mixed-lf-cr rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/binary-mixed-lf-cr-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/few-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/few-utf8-chars-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/few-utf8-chars-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/few-utf8-chars-lf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,text/few-utf8-chars-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/few-utf8-chars-lf diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/many-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/many-utf8-chars-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/many-utf8-chars-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/many-utf8-chars-lf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,text/many-utf8-chars-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/many-utf8-chars-lf diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/mixed-lf-cr similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/mixed-lf-cr rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/mixed-lf-cr diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/mixed-lf-cr-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,text/mixed-lf-cr rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/mixed-lf-cr-crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/more-crlf new file mode 100644 index 000000000..37bb7fa3d --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/more-crlf @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/more-crlf-utf8bom new file mode 100644 index 000000000..16001a14a --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/more-crlf-utf8bom @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/more-lf new file mode 100644 index 000000000..2cda6f203 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/more-lf @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/more-lf-utf8bom new file mode 100644 index 000000000..dc7d82aa0 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/more-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/zero-byte similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/zero-byte rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text/zero-byte diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/all-crlf new file mode 100644 index 000000000..26e1a742b --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/all-crlf-utf8bom new file mode 100644 index 000000000..32c6f22e3 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_input,-crlf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/all-lf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,-crlf/all-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/all-lf diff --git a/tests/resources/crlf_data/posix/autocrlf_input,-crlf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/all-lf-utf8bom similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,-crlf/all-lf-utf8bom rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/all-lf-utf8bom diff --git a/tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/binary-all-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/binary-all-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/binary-all-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/binary-all-lf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/binary-all-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/binary-all-lf diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/binary-mixed-lf-cr rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr diff --git a/tests/resources/crlf_data/posix/autocrlf_false,eol_lf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,eol_lf/binary-mixed-lf-cr-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/few-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/few-utf8-chars-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/few-utf8-chars-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/few-utf8-chars-lf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,text_auto/few-utf8-chars-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/few-utf8-chars-lf diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/many-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/many-utf8-chars-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/many-utf8-chars-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/many-utf8-chars-lf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,text_auto/many-utf8-chars-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/many-utf8-chars-lf diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/mixed-lf-cr similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/mixed-lf-cr rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/mixed-lf-cr diff --git a/tests/resources/crlf_data/posix/autocrlf_false,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/mixed-lf-cr-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,eol_lf/mixed-lf-cr-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/mixed-lf-cr-crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/more-crlf new file mode 100644 index 000000000..37bb7fa3d --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/more-crlf @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/more-crlf-utf8bom new file mode 100644 index 000000000..16001a14a --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/more-crlf-utf8bom @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/more-lf new file mode 100644 index 000000000..2cda6f203 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/more-lf @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/more-lf-utf8bom new file mode 100644 index 000000000..dc7d82aa0 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/more-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/zero-byte similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/zero-byte rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/zero-byte diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/all-crlf new file mode 100644 index 000000000..26e1a742b --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/all-crlf-utf8bom new file mode 100644 index 000000000..32c6f22e3 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_input,-text/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/all-lf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,-text/all-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/all-lf diff --git a/tests/resources/crlf_data/posix/autocrlf_input,-text/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/all-lf-utf8bom similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,-text/all-lf-utf8bom rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/all-lf-utf8bom diff --git a/tests/resources/crlf_data/posix/autocrlf_false,eol_lf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/binary-all-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,eol_lf/binary-all-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/binary-all-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/binary-all-lf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,text_auto/binary-all-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/binary-all-lf diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/binary-mixed-lf-cr similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,text_auto/binary-mixed-lf-cr rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/binary-mixed-lf-cr diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/binary-mixed-lf-cr-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/binary-mixed-lf-cr-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/binary-mixed-lf-cr-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_input/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/few-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input/few-utf8-chars-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/few-utf8-chars-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_true,-crlf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/few-utf8-chars-lf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,-crlf/few-utf8-chars-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/few-utf8-chars-lf diff --git a/tests/resources/crlf_data/posix/autocrlf_input/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/many-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input/many-utf8-chars-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/many-utf8-chars-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_true,-crlf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/many-utf8-chars-lf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,-crlf/many-utf8-chars-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/many-utf8-chars-lf diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/mixed-lf-cr similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,text_auto/mixed-lf-cr rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/mixed-lf-cr diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/mixed-lf-cr-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/mixed-lf-cr-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/mixed-lf-cr-crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/more-crlf new file mode 100644 index 000000000..37bb7fa3d --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/more-crlf @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/more-crlf-utf8bom new file mode 100644 index 000000000..16001a14a --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/more-crlf-utf8bom @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/more-lf new file mode 100644 index 000000000..2cda6f203 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/more-lf @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/more-lf-utf8bom new file mode 100644 index 000000000..dc7d82aa0 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/more-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/zero-byte similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,text_auto/zero-byte rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/zero-byte diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/all-crlf new file mode 100644 index 000000000..26e1a742b --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/all-crlf-utf8bom new file mode 100644 index 000000000..32c6f22e3 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_input,crlf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/all-lf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,crlf/all-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/all-lf diff --git a/tests/resources/crlf_data/posix/autocrlf_input,crlf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/all-lf-utf8bom similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,crlf/all-lf-utf8bom rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/all-lf-utf8bom diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/binary-all-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/binary-all-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/binary-all-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_input/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/binary-all-lf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input/binary-all-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/binary-all-lf diff --git a/tests/resources/crlf_data/posix/autocrlf_input/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/binary-mixed-lf-cr similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input/binary-mixed-lf-cr rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/binary-mixed-lf-cr diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/binary-mixed-lf-cr-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,text/binary-mixed-lf-cr-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/binary-mixed-lf-cr-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_true,-text/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/few-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,-text/few-utf8-chars-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/few-utf8-chars-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_true,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/few-utf8-chars-lf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,eol_lf/few-utf8-chars-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/few-utf8-chars-lf diff --git a/tests/resources/crlf_data/posix/autocrlf_true,-text/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/many-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,-text/many-utf8-chars-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/many-utf8-chars-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_true,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/many-utf8-chars-lf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,eol_lf/many-utf8-chars-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/many-utf8-chars-lf diff --git a/tests/resources/crlf_data/posix/autocrlf_input/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/mixed-lf-cr similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input/mixed-lf-cr rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/mixed-lf-cr diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/mixed-lf-cr-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,text/mixed-lf-cr-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/mixed-lf-cr-crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/more-crlf new file mode 100644 index 000000000..37bb7fa3d --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/more-crlf @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/more-crlf-utf8bom new file mode 100644 index 000000000..16001a14a --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/more-crlf-utf8bom @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/more-lf new file mode 100644 index 000000000..2cda6f203 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/more-lf @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/more-lf-utf8bom new file mode 100644 index 000000000..dc7d82aa0 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/more-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/posix/autocrlf_false/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/zero-byte similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false/zero-byte rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false,text_auto/zero-byte diff --git a/tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/all-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/all-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/all-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/all-crlf-utf8bom similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/all-crlf-utf8bom rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/all-crlf-utf8bom diff --git a/tests/resources/crlf_data/posix/autocrlf_input,eol_lf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/all-lf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,eol_lf/all-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/all-lf diff --git a/tests/resources/crlf_data/posix/autocrlf_input,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/all-lf-utf8bom similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,eol_lf/all-lf-utf8bom rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/all-lf-utf8bom diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/binary-all-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/binary-all-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/binary-all-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_true,-crlf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/binary-all-lf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,-crlf/binary-all-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/binary-all-lf diff --git a/tests/resources/crlf_data/posix/autocrlf_true,-crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/binary-mixed-lf-cr similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,-crlf/binary-mixed-lf-cr rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/binary-mixed-lf-cr diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/binary-mixed-lf-cr-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/binary-mixed-lf-cr-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/binary-mixed-lf-cr-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/few-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/few-utf8-chars-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/few-utf8-chars-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/few-utf8-chars-lf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/few-utf8-chars-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/few-utf8-chars-lf diff --git a/tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/many-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/many-utf8-chars-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/many-utf8-chars-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/many-utf8-chars-lf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/many-utf8-chars-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/many-utf8-chars-lf diff --git a/tests/resources/crlf_data/posix/autocrlf_true,-crlf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/mixed-lf-cr similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,-crlf/mixed-lf-cr rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/mixed-lf-cr diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/mixed-lf-cr-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/mixed-lf-cr-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/mixed-lf-cr-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_false,eol_lf/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/more-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,eol_lf/more-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/more-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_false,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/more-crlf-utf8bom similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,eol_lf/more-crlf-utf8bom rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/more-crlf-utf8bom diff --git a/tests/resources/crlf_data/posix/autocrlf_false,eol_lf/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/more-lf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,eol_lf/more-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/more-lf diff --git a/tests/resources/crlf_data/posix/autocrlf_false,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/more-lf-utf8bom similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,eol_lf/more-lf-utf8bom rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/more-lf-utf8bom diff --git a/tests/resources/crlf_data/posix/autocrlf_input,-crlf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/zero-byte similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,-crlf/zero-byte rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_false/zero-byte diff --git a/tests/resources/crlf_data/posix/autocrlf_false,eol_lf/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/all-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,eol_lf/all-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/all-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_false,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/all-crlf-utf8bom similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,eol_lf/all-crlf-utf8bom rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/all-crlf-utf8bom diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/all-lf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/all-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/all-lf diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/all-lf-utf8bom similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/all-lf-utf8bom rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/all-lf-utf8bom diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/binary-all-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,text/binary-all-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/binary-all-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_true,-text/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/binary-all-lf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,-text/binary-all-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/binary-all-lf diff --git a/tests/resources/crlf_data/posix/autocrlf_true,-text/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/binary-mixed-lf-cr similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,-text/binary-mixed-lf-cr rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/binary-mixed-lf-cr diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/binary-mixed-lf-cr-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,text_auto/binary-mixed-lf-cr-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/binary-mixed-lf-cr-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_false,eol_lf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/few-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,eol_lf/few-utf8-chars-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/few-utf8-chars-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/few-utf8-chars-lf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/few-utf8-chars-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/few-utf8-chars-lf diff --git a/tests/resources/crlf_data/posix/autocrlf_false,eol_lf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/many-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,eol_lf/many-utf8-chars-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/many-utf8-chars-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/many-utf8-chars-lf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/many-utf8-chars-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/many-utf8-chars-lf diff --git a/tests/resources/crlf_data/posix/autocrlf_true,-text/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/mixed-lf-cr similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,-text/mixed-lf-cr rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/mixed-lf-cr diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/mixed-lf-cr-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,text_auto/mixed-lf-cr-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/mixed-lf-cr-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/more-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/more-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/more-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/more-crlf-utf8bom similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/more-crlf-utf8bom rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/more-crlf-utf8bom diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/more-lf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/more-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/more-lf diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/more-lf-utf8bom similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/more-lf-utf8bom rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/more-lf-utf8bom diff --git a/tests/resources/crlf_data/posix/autocrlf_input,-text/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/zero-byte similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,-text/zero-byte rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-crlf/zero-byte diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/all-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/all-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/all-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/all-crlf-utf8bom similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/all-crlf-utf8bom rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/all-crlf-utf8bom diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/all-lf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,text/all-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/all-lf diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/all-lf-utf8bom similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,text/all-lf-utf8bom rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/all-lf-utf8bom diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/binary-all-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/binary-all-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/binary-all-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_true,eol_lf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/binary-all-lf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,eol_lf/binary-all-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/binary-all-lf diff --git a/tests/resources/crlf_data/posix/autocrlf_true,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/binary-mixed-lf-cr similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,eol_lf/binary-mixed-lf-cr rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/binary-mixed-lf-cr diff --git a/tests/resources/crlf_data/posix/autocrlf_false/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/binary-mixed-lf-cr-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false/binary-mixed-lf-cr-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/binary-mixed-lf-cr-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/few-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/few-utf8-chars-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/few-utf8-chars-crlf diff --git a/tests/resources/crlf_data/windows/autocrlf_false,-crlf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/few-utf8-chars-lf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,-crlf/few-utf8-chars-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/few-utf8-chars-lf diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/many-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/many-utf8-chars-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/many-utf8-chars-crlf diff --git a/tests/resources/crlf_data/windows/autocrlf_false,-crlf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/many-utf8-chars-lf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,-crlf/many-utf8-chars-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/many-utf8-chars-lf diff --git a/tests/resources/crlf_data/posix/autocrlf_true,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/mixed-lf-cr similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,eol_lf/mixed-lf-cr rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/mixed-lf-cr diff --git a/tests/resources/crlf_data/posix/autocrlf_false/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/mixed-lf-cr-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false/mixed-lf-cr-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/mixed-lf-cr-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/more-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,text/more-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/more-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/more-crlf-utf8bom similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,text/more-crlf-utf8bom rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/more-crlf-utf8bom diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/more-lf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,text/more-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/more-lf diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/more-lf-utf8bom similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,text/more-lf-utf8bom rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/more-lf-utf8bom diff --git a/tests/resources/crlf_data/posix/autocrlf_input,crlf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/zero-byte similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,crlf/zero-byte rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,-text/zero-byte diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/all-crlf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/all-crlf-utf8bom.fail new file mode 100644 index 000000000..213f972a6 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/all-crlf-utf8bom.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'all-crlf-utf8bom' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/all-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/all-crlf.fail new file mode 100644 index 000000000..851ef6c77 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/all-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'all-crlf' diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/all-lf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/all-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/all-lf diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/all-lf-utf8bom similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/all-lf-utf8bom rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/all-lf-utf8bom diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/binary-all-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/binary-all-crlf.fail new file mode 100644 index 000000000..26690f37e --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/binary-all-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'binary-all-crlf' diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/binary-all-lf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/binary-all-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/binary-all-lf diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/binary-mixed-lf-cr similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/binary-mixed-lf-cr rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/binary-mixed-lf-cr diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/binary-mixed-lf-cr-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/binary-mixed-lf-cr-crlf.fail new file mode 100644 index 000000000..c6b706d60 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/binary-mixed-lf-cr-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'binary-mixed-lf-cr-crlf' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/few-utf8-chars-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/few-utf8-chars-crlf.fail new file mode 100644 index 000000000..c23959d76 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/few-utf8-chars-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'few-utf8-chars-crlf' diff --git a/tests/resources/crlf_data/windows/autocrlf_false,-text/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/few-utf8-chars-lf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,-text/few-utf8-chars-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/few-utf8-chars-lf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/many-utf8-chars-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/many-utf8-chars-crlf.fail new file mode 100644 index 000000000..2e093c93e --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/many-utf8-chars-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'many-utf8-chars-crlf' diff --git a/tests/resources/crlf_data/windows/autocrlf_false,-text/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/many-utf8-chars-lf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,-text/many-utf8-chars-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/many-utf8-chars-lf diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/mixed-lf-cr similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/mixed-lf-cr rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/mixed-lf-cr diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/mixed-lf-cr-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/mixed-lf-cr-crlf.fail new file mode 100644 index 000000000..3c6cbace0 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/mixed-lf-cr-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'mixed-lf-cr-crlf' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/more-crlf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/more-crlf-utf8bom.fail new file mode 100644 index 000000000..43b93dbe3 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/more-crlf-utf8bom.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'more-crlf-utf8bom' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/more-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/more-crlf.fail new file mode 100644 index 000000000..b1a5dc9e5 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/more-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'more-crlf' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/more-lf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/more-lf-utf8bom.fail new file mode 100644 index 000000000..13c4e3c58 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/more-lf-utf8bom.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'more-lf-utf8bom' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/more-lf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/more-lf.fail new file mode 100644 index 000000000..c964c725a --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/more-lf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'more-lf' diff --git a/tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/zero-byte similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/zero-byte rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,crlf/zero-byte diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/all-crlf new file mode 100644 index 000000000..26e1a742b --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/all-crlf-utf8bom new file mode 100644 index 000000000..32c6f22e3 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/all-lf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/all-lf-utf8bom.fail new file mode 100644 index 000000000..547008e0f --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/all-lf-utf8bom.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'all-lf-utf8bom' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/all-lf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/all-lf.fail new file mode 100644 index 000000000..d992d4720 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/all-lf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'all-lf' diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/binary-all-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/binary-all-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/binary-all-crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/binary-all-lf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/binary-all-lf.fail new file mode 100644 index 000000000..180663eca --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/binary-all-lf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'binary-all-lf' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/binary-mixed-lf-cr-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/binary-mixed-lf-cr-crlf.fail new file mode 100644 index 000000000..f87ce3f16 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/binary-mixed-lf-cr-crlf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'binary-mixed-lf-cr-crlf' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/binary-mixed-lf-cr.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/binary-mixed-lf-cr.fail new file mode 100644 index 000000000..63eac58a4 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/binary-mixed-lf-cr.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'binary-mixed-lf-cr' diff --git a/tests/resources/crlf_data/windows/autocrlf_false,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/few-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,eol_lf/few-utf8-chars-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/few-utf8-chars-crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/few-utf8-chars-lf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/few-utf8-chars-lf.fail new file mode 100644 index 000000000..fabf46617 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/few-utf8-chars-lf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'few-utf8-chars-lf' diff --git a/tests/resources/crlf_data/windows/autocrlf_false,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/many-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,eol_lf/many-utf8-chars-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/many-utf8-chars-crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/many-utf8-chars-lf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/many-utf8-chars-lf.fail new file mode 100644 index 000000000..b874f4bb9 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/many-utf8-chars-lf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'many-utf8-chars-lf' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/mixed-lf-cr-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/mixed-lf-cr-crlf.fail new file mode 100644 index 000000000..a353e0e82 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/mixed-lf-cr-crlf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'mixed-lf-cr-crlf' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/mixed-lf-cr.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/mixed-lf-cr.fail new file mode 100644 index 000000000..0287e3250 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/mixed-lf-cr.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'mixed-lf-cr' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/more-crlf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/more-crlf-utf8bom.fail new file mode 100644 index 000000000..e77b2b976 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/more-crlf-utf8bom.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'more-crlf-utf8bom' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/more-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/more-crlf.fail new file mode 100644 index 000000000..07f50c353 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/more-crlf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'more-crlf' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/more-lf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/more-lf-utf8bom.fail new file mode 100644 index 000000000..6994a8d01 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/more-lf-utf8bom.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'more-lf-utf8bom' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/more-lf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/more-lf.fail new file mode 100644 index 000000000..067a2e896 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/more-lf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'more-lf' diff --git a/tests/resources/crlf_data/posix/autocrlf_input,eol_lf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/zero-byte similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,eol_lf/zero-byte rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_crlf/zero-byte diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/all-crlf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/all-crlf-utf8bom.fail new file mode 100644 index 000000000..213f972a6 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/all-crlf-utf8bom.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'all-crlf-utf8bom' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/all-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/all-crlf.fail new file mode 100644 index 000000000..851ef6c77 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/all-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'all-crlf' diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/all-lf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,text_auto/all-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/all-lf diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/all-lf-utf8bom similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,text_auto/all-lf-utf8bom rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/all-lf-utf8bom diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/binary-all-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/binary-all-crlf.fail new file mode 100644 index 000000000..26690f37e --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/binary-all-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'binary-all-crlf' diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/binary-all-lf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,text_auto/binary-all-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/binary-all-lf diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/binary-mixed-lf-cr similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/binary-mixed-lf-cr rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/binary-mixed-lf-cr diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/binary-mixed-lf-cr-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/binary-mixed-lf-cr-crlf.fail new file mode 100644 index 000000000..c6b706d60 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/binary-mixed-lf-cr-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'binary-mixed-lf-cr-crlf' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/few-utf8-chars-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/few-utf8-chars-crlf.fail new file mode 100644 index 000000000..c23959d76 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/few-utf8-chars-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'few-utf8-chars-crlf' diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/few-utf8-chars-lf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/few-utf8-chars-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/few-utf8-chars-lf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/many-utf8-chars-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/many-utf8-chars-crlf.fail new file mode 100644 index 000000000..2e093c93e --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/many-utf8-chars-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'many-utf8-chars-crlf' diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/many-utf8-chars-lf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/many-utf8-chars-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/many-utf8-chars-lf diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/mixed-lf-cr similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/mixed-lf-cr rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/mixed-lf-cr diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/mixed-lf-cr-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/mixed-lf-cr-crlf.fail new file mode 100644 index 000000000..3c6cbace0 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/mixed-lf-cr-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'mixed-lf-cr-crlf' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/more-crlf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/more-crlf-utf8bom.fail new file mode 100644 index 000000000..43b93dbe3 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/more-crlf-utf8bom.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'more-crlf-utf8bom' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/more-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/more-crlf.fail new file mode 100644 index 000000000..b1a5dc9e5 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/more-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'more-crlf' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/more-lf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/more-lf-utf8bom.fail new file mode 100644 index 000000000..13c4e3c58 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/more-lf-utf8bom.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'more-lf-utf8bom' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/more-lf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/more-lf.fail new file mode 100644 index 000000000..c964c725a --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/more-lf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'more-lf' diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/zero-byte similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/zero-byte rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,eol_lf/zero-byte diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/all-crlf new file mode 100644 index 000000000..26e1a742b --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/all-crlf-utf8bom new file mode 100644 index 000000000..32c6f22e3 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/all-lf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/all-lf-utf8bom.fail new file mode 100644 index 000000000..547008e0f --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/all-lf-utf8bom.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'all-lf-utf8bom' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/all-lf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/all-lf.fail new file mode 100644 index 000000000..d992d4720 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/all-lf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'all-lf' diff --git a/tests/resources/crlf_data/posix/autocrlf_true/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/binary-all-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true/binary-all-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/binary-all-crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/binary-all-lf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/binary-all-lf.fail new file mode 100644 index 000000000..180663eca --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/binary-all-lf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'binary-all-lf' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/binary-mixed-lf-cr-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/binary-mixed-lf-cr-crlf.fail new file mode 100644 index 000000000..f87ce3f16 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/binary-mixed-lf-cr-crlf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'binary-mixed-lf-cr-crlf' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/binary-mixed-lf-cr.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/binary-mixed-lf-cr.fail new file mode 100644 index 000000000..63eac58a4 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/binary-mixed-lf-cr.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'binary-mixed-lf-cr' diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/few-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/few-utf8-chars-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/few-utf8-chars-crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/few-utf8-chars-lf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/few-utf8-chars-lf.fail new file mode 100644 index 000000000..fabf46617 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/few-utf8-chars-lf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'few-utf8-chars-lf' diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/many-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/many-utf8-chars-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/many-utf8-chars-crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/many-utf8-chars-lf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/many-utf8-chars-lf.fail new file mode 100644 index 000000000..b874f4bb9 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/many-utf8-chars-lf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'many-utf8-chars-lf' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/mixed-lf-cr-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/mixed-lf-cr-crlf.fail new file mode 100644 index 000000000..a353e0e82 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/mixed-lf-cr-crlf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'mixed-lf-cr-crlf' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/mixed-lf-cr.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/mixed-lf-cr.fail new file mode 100644 index 000000000..0287e3250 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/mixed-lf-cr.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'mixed-lf-cr' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/more-crlf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/more-crlf-utf8bom.fail new file mode 100644 index 000000000..e77b2b976 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/more-crlf-utf8bom.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'more-crlf-utf8bom' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/more-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/more-crlf.fail new file mode 100644 index 000000000..07f50c353 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/more-crlf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'more-crlf' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/more-lf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/more-lf-utf8bom.fail new file mode 100644 index 000000000..6994a8d01 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/more-lf-utf8bom.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'more-lf-utf8bom' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/more-lf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/more-lf.fail new file mode 100644 index 000000000..067a2e896 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/more-lf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'more-lf' diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/zero-byte similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/zero-byte rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/zero-byte diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/all-crlf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/all-crlf-utf8bom.fail new file mode 100644 index 000000000..213f972a6 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/all-crlf-utf8bom.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'all-crlf-utf8bom' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/all-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/all-crlf.fail new file mode 100644 index 000000000..851ef6c77 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/all-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'all-crlf' diff --git a/tests/resources/crlf_data/posix/autocrlf_input/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/all-lf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input/all-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/all-lf diff --git a/tests/resources/crlf_data/posix/autocrlf_input/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/all-lf-utf8bom similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input/all-lf-utf8bom rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/all-lf-utf8bom diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/binary-all-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/binary-all-crlf.fail new file mode 100644 index 000000000..26690f37e --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/binary-all-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'binary-all-crlf' diff --git a/tests/resources/crlf_data/windows/autocrlf_false,-crlf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/binary-all-lf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,-crlf/binary-all-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/binary-all-lf diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/binary-mixed-lf-cr similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,text_auto/binary-mixed-lf-cr rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/binary-mixed-lf-cr diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/binary-mixed-lf-cr-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/binary-mixed-lf-cr-crlf.fail new file mode 100644 index 000000000..c6b706d60 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/binary-mixed-lf-cr-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'binary-mixed-lf-cr-crlf' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/few-utf8-chars-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/few-utf8-chars-crlf.fail new file mode 100644 index 000000000..c23959d76 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/few-utf8-chars-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'few-utf8-chars-crlf' diff --git a/tests/resources/crlf_data/windows/autocrlf_false/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/few-utf8-chars-lf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false/few-utf8-chars-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/few-utf8-chars-lf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/many-utf8-chars-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/many-utf8-chars-crlf.fail new file mode 100644 index 000000000..2e093c93e --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/many-utf8-chars-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'many-utf8-chars-crlf' diff --git a/tests/resources/crlf_data/windows/autocrlf_false/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/many-utf8-chars-lf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false/many-utf8-chars-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/many-utf8-chars-lf diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/mixed-lf-cr similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,text_auto/mixed-lf-cr rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/mixed-lf-cr diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/mixed-lf-cr-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/mixed-lf-cr-crlf.fail new file mode 100644 index 000000000..3c6cbace0 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/mixed-lf-cr-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'mixed-lf-cr-crlf' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/more-crlf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/more-crlf-utf8bom.fail new file mode 100644 index 000000000..43b93dbe3 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/more-crlf-utf8bom.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'more-crlf-utf8bom' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/more-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/more-crlf.fail new file mode 100644 index 000000000..b1a5dc9e5 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/more-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'more-crlf' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/more-lf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/more-lf-utf8bom.fail new file mode 100644 index 000000000..13c4e3c58 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/more-lf-utf8bom.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'more-lf-utf8bom' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/more-lf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/more-lf.fail new file mode 100644 index 000000000..c964c725a --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/more-lf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'more-lf' diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/zero-byte similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,text/zero-byte rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/zero-byte diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/all-crlf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/all-crlf-utf8bom.fail new file mode 100644 index 000000000..213f972a6 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/all-crlf-utf8bom.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'all-crlf-utf8bom' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/all-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/all-crlf.fail new file mode 100644 index 000000000..851ef6c77 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/all-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'all-crlf' diff --git a/tests/resources/crlf_data/posix/autocrlf_true,-crlf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/all-lf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,-crlf/all-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/all-lf diff --git a/tests/resources/crlf_data/posix/autocrlf_true,-crlf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/all-lf-utf8bom similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,-crlf/all-lf-utf8bom rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/all-lf-utf8bom diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/binary-all-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/binary-all-crlf.fail new file mode 100644 index 000000000..26690f37e --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/binary-all-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'binary-all-crlf' diff --git a/tests/resources/crlf_data/windows/autocrlf_false,-text/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/binary-all-lf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,-text/binary-all-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/binary-all-lf diff --git a/tests/resources/crlf_data/posix/autocrlf_true/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/binary-mixed-lf-cr similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true/binary-mixed-lf-cr rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/binary-mixed-lf-cr diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/binary-mixed-lf-cr-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/binary-mixed-lf-cr-crlf.fail new file mode 100644 index 000000000..c6b706d60 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/binary-mixed-lf-cr-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'binary-mixed-lf-cr-crlf' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/few-utf8-chars-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/few-utf8-chars-crlf.fail new file mode 100644 index 000000000..c23959d76 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/few-utf8-chars-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'few-utf8-chars-crlf' diff --git a/tests/resources/crlf_data/windows/autocrlf_input,-crlf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/few-utf8-chars-lf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,-crlf/few-utf8-chars-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/few-utf8-chars-lf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/many-utf8-chars-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/many-utf8-chars-crlf.fail new file mode 100644 index 000000000..2e093c93e --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/many-utf8-chars-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'many-utf8-chars-crlf' diff --git a/tests/resources/crlf_data/windows/autocrlf_input,-crlf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/many-utf8-chars-lf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,-crlf/many-utf8-chars-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/many-utf8-chars-lf diff --git a/tests/resources/crlf_data/posix/autocrlf_true/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/mixed-lf-cr similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true/mixed-lf-cr rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/mixed-lf-cr diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/mixed-lf-cr-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/mixed-lf-cr-crlf.fail new file mode 100644 index 000000000..3c6cbace0 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/mixed-lf-cr-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'mixed-lf-cr-crlf' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/more-crlf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/more-crlf-utf8bom.fail new file mode 100644 index 000000000..43b93dbe3 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/more-crlf-utf8bom.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'more-crlf-utf8bom' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/more-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/more-crlf.fail new file mode 100644 index 000000000..b1a5dc9e5 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/more-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'more-crlf' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/more-lf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/more-lf-utf8bom.fail new file mode 100644 index 000000000..13c4e3c58 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/more-lf-utf8bom.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'more-lf-utf8bom' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/more-lf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/more-lf.fail new file mode 100644 index 000000000..c964c725a --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/more-lf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'more-lf' diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/zero-byte similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/zero-byte rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text/zero-byte diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/all-crlf new file mode 100644 index 000000000..26e1a742b --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/all-crlf-utf8bom new file mode 100644 index 000000000..32c6f22e3 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/all-lf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/all-lf-utf8bom.fail new file mode 100644 index 000000000..547008e0f --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/all-lf-utf8bom.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'all-lf-utf8bom' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/all-lf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/all-lf.fail new file mode 100644 index 000000000..d992d4720 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/all-lf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'all-lf' diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/binary-all-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/binary-all-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/binary-all-crlf diff --git a/tests/resources/crlf_data/windows/autocrlf_false,eol_lf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/binary-all-lf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,eol_lf/binary-all-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/binary-all-lf diff --git a/tests/resources/crlf_data/windows/autocrlf_false,-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 similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,-crlf/binary-mixed-lf-cr rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr diff --git a/tests/resources/crlf_data/posix/autocrlf_input,-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 similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,-crlf/binary-mixed-lf-cr-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr-crlf diff --git a/tests/resources/crlf_data/windows/autocrlf_input,-text/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/few-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,-text/few-utf8-chars-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/few-utf8-chars-crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/few-utf8-chars-lf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/few-utf8-chars-lf.fail new file mode 100644 index 000000000..fabf46617 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/few-utf8-chars-lf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'few-utf8-chars-lf' diff --git a/tests/resources/crlf_data/windows/autocrlf_input,-text/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/many-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,-text/many-utf8-chars-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/many-utf8-chars-crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/many-utf8-chars-lf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/many-utf8-chars-lf.fail new file mode 100644 index 000000000..b874f4bb9 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/many-utf8-chars-lf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'many-utf8-chars-lf' diff --git a/tests/resources/crlf_data/windows/autocrlf_false,-crlf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/mixed-lf-cr similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,-crlf/mixed-lf-cr rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/mixed-lf-cr diff --git a/tests/resources/crlf_data/posix/autocrlf_input,-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 similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,-crlf/mixed-lf-cr-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/mixed-lf-cr-crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/more-crlf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/more-crlf-utf8bom.fail new file mode 100644 index 000000000..e77b2b976 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/more-crlf-utf8bom.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'more-crlf-utf8bom' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/more-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/more-crlf.fail new file mode 100644 index 000000000..07f50c353 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/more-crlf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'more-crlf' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/more-lf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/more-lf-utf8bom.fail new file mode 100644 index 000000000..6994a8d01 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/more-lf-utf8bom.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'more-lf-utf8bom' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/more-lf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/more-lf.fail new file mode 100644 index 000000000..067a2e896 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/more-lf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'more-lf' diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/zero-byte similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/zero-byte rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/zero-byte diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/all-crlf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/all-crlf-utf8bom.fail new file mode 100644 index 000000000..213f972a6 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/all-crlf-utf8bom.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'all-crlf-utf8bom' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/all-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/all-crlf.fail new file mode 100644 index 000000000..851ef6c77 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/all-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'all-crlf' diff --git a/tests/resources/crlf_data/posix/autocrlf_true,-text/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/all-lf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,-text/all-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/all-lf diff --git a/tests/resources/crlf_data/posix/autocrlf_true,-text/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/all-lf-utf8bom similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,-text/all-lf-utf8bom rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/all-lf-utf8bom diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/binary-all-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,text_auto/binary-all-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/binary-all-crlf diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/binary-all-lf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/binary-all-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/binary-all-lf diff --git a/tests/resources/crlf_data/windows/autocrlf_false,-text/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/binary-mixed-lf-cr similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,-text/binary-mixed-lf-cr rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/binary-mixed-lf-cr diff --git a/tests/resources/crlf_data/posix/autocrlf_input,-text/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 similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,-text/binary-mixed-lf-cr-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/binary-mixed-lf-cr-crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/few-utf8-chars-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/few-utf8-chars-crlf.fail new file mode 100644 index 000000000..c23959d76 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/few-utf8-chars-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'few-utf8-chars-crlf' diff --git a/tests/resources/crlf_data/windows/autocrlf_input,crlf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/few-utf8-chars-lf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,crlf/few-utf8-chars-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/few-utf8-chars-lf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/many-utf8-chars-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/many-utf8-chars-crlf.fail new file mode 100644 index 000000000..2e093c93e --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/many-utf8-chars-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'many-utf8-chars-crlf' diff --git a/tests/resources/crlf_data/windows/autocrlf_input,crlf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/many-utf8-chars-lf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,crlf/many-utf8-chars-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/many-utf8-chars-lf diff --git a/tests/resources/crlf_data/windows/autocrlf_false,-text/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/mixed-lf-cr similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,-text/mixed-lf-cr rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/mixed-lf-cr diff --git a/tests/resources/crlf_data/posix/autocrlf_input,-text/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/mixed-lf-cr-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,-text/mixed-lf-cr-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/mixed-lf-cr-crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/more-crlf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/more-crlf-utf8bom.fail new file mode 100644 index 000000000..43b93dbe3 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/more-crlf-utf8bom.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'more-crlf-utf8bom' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/more-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/more-crlf.fail new file mode 100644 index 000000000..b1a5dc9e5 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/more-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'more-crlf' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/more-lf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/more-lf-utf8bom.fail new file mode 100644 index 000000000..13c4e3c58 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/more-lf-utf8bom.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'more-lf-utf8bom' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/more-lf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/more-lf.fail new file mode 100644 index 000000000..c964c725a --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/more-lf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'more-lf' diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/zero-byte similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,text_auto/zero-byte rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/zero-byte diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/all-crlf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/all-crlf-utf8bom.fail new file mode 100644 index 000000000..213f972a6 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/all-crlf-utf8bom.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'all-crlf-utf8bom' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/all-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/all-crlf.fail new file mode 100644 index 000000000..851ef6c77 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/all-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'all-crlf' diff --git a/tests/resources/crlf_data/posix/autocrlf_true,eol_lf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/all-lf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,eol_lf/all-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/all-lf diff --git a/tests/resources/crlf_data/posix/autocrlf_true,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/all-lf-utf8bom similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,eol_lf/all-lf-utf8bom rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/all-lf-utf8bom diff --git a/tests/resources/crlf_data/posix/autocrlf_false/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/binary-all-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false/binary-all-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/binary-all-crlf diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/binary-all-lf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/binary-all-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/binary-all-lf diff --git a/tests/resources/crlf_data/windows/autocrlf_false,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/binary-mixed-lf-cr similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,eol_lf/binary-mixed-lf-cr rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/binary-mixed-lf-cr diff --git a/tests/resources/crlf_data/posix/autocrlf_input,crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/binary-mixed-lf-cr-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,crlf/binary-mixed-lf-cr-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/binary-mixed-lf-cr-crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/few-utf8-chars-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/few-utf8-chars-crlf.fail new file mode 100644 index 000000000..c23959d76 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/few-utf8-chars-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'few-utf8-chars-crlf' diff --git a/tests/resources/crlf_data/windows/autocrlf_input,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/few-utf8-chars-lf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,eol_lf/few-utf8-chars-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/few-utf8-chars-lf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/many-utf8-chars-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/many-utf8-chars-crlf.fail new file mode 100644 index 000000000..2e093c93e --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/many-utf8-chars-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'many-utf8-chars-crlf' diff --git a/tests/resources/crlf_data/windows/autocrlf_input,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/many-utf8-chars-lf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,eol_lf/many-utf8-chars-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/many-utf8-chars-lf diff --git a/tests/resources/crlf_data/windows/autocrlf_false,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/mixed-lf-cr similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,eol_lf/mixed-lf-cr rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/mixed-lf-cr diff --git a/tests/resources/crlf_data/posix/autocrlf_input,crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/mixed-lf-cr-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,crlf/mixed-lf-cr-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/mixed-lf-cr-crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/more-crlf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/more-crlf-utf8bom.fail new file mode 100644 index 000000000..43b93dbe3 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/more-crlf-utf8bom.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'more-crlf-utf8bom' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/more-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/more-crlf.fail new file mode 100644 index 000000000..b1a5dc9e5 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/more-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'more-crlf' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/more-lf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/more-lf-utf8bom.fail new file mode 100644 index 000000000..13c4e3c58 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/more-lf-utf8bom.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'more-lf-utf8bom' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/more-lf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/more-lf.fail new file mode 100644 index 000000000..c964c725a --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/more-lf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'more-lf' diff --git a/tests/resources/crlf_data/posix/autocrlf_input/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/zero-byte similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input/zero-byte rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true,text_auto/zero-byte diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/all-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/all-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/all-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/all-crlf-utf8bom similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/all-crlf-utf8bom rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/all-crlf-utf8bom diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/all-lf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/all-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/all-lf diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/all-lf-utf8bom similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/all-lf-utf8bom rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/all-lf-utf8bom diff --git a/tests/resources/crlf_data/posix/autocrlf_input,-crlf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/binary-all-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,-crlf/binary-all-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/binary-all-crlf diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/binary-all-lf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,text_auto/binary-all-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/binary-all-lf diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/binary-mixed-lf-cr similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/binary-mixed-lf-cr rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/binary-mixed-lf-cr diff --git a/tests/resources/crlf_data/posix/autocrlf_input,eol_lf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/binary-mixed-lf-cr-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,eol_lf/binary-mixed-lf-cr-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/binary-mixed-lf-cr-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/few-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/few-utf8-chars-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/few-utf8-chars-crlf diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/few-utf8-chars-lf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/few-utf8-chars-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/few-utf8-chars-lf diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/many-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,text,eol_lf/many-utf8-chars-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/many-utf8-chars-crlf diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/many-utf8-chars-lf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/many-utf8-chars-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/many-utf8-chars-lf diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/mixed-lf-cr similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/mixed-lf-cr rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/mixed-lf-cr diff --git a/tests/resources/crlf_data/posix/autocrlf_input,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/mixed-lf-cr-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,eol_lf/mixed-lf-cr-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/mixed-lf-cr-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/more-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/more-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/more-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/more-crlf-utf8bom similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/more-crlf-utf8bom rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/more-crlf-utf8bom diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/more-lf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/more-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/more-lf diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/more-lf-utf8bom similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/more-lf-utf8bom rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/more-lf-utf8bom diff --git a/tests/resources/crlf_data/posix/autocrlf_true,-crlf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/zero-byte similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,-crlf/zero-byte rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_true/zero-byte diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/all-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,text/all-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/all-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/all-crlf-utf8bom similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,text/all-crlf-utf8bom rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/all-crlf-utf8bom diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/all-lf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/all-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/all-lf diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/all-lf-utf8bom similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/all-lf-utf8bom rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/all-lf-utf8bom diff --git a/tests/resources/crlf_data/posix/autocrlf_input,-text/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/binary-all-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,-text/binary-all-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/binary-all-crlf diff --git a/tests/resources/crlf_data/windows/autocrlf_false/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/binary-all-lf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false/binary-all-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/binary-all-lf diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/binary-mixed-lf-cr similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/binary-mixed-lf-cr rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/binary-mixed-lf-cr diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/binary-mixed-lf-cr-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/binary-mixed-lf-cr-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/binary-mixed-lf-cr-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/few-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,text/few-utf8-chars-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/few-utf8-chars-crlf diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/few-utf8-chars-lf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,text/few-utf8-chars-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/few-utf8-chars-lf diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/many-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,text/many-utf8-chars-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/many-utf8-chars-crlf diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/many-utf8-chars-lf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,text/many-utf8-chars-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/many-utf8-chars-lf diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/mixed-lf-cr similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/mixed-lf-cr rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/mixed-lf-cr diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/mixed-lf-cr-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/mixed-lf-cr-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/mixed-lf-cr-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/more-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,text_auto/more-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/more-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/more-crlf-utf8bom similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,text_auto/more-crlf-utf8bom rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/more-crlf-utf8bom diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/more-lf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,text_auto/more-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/more-lf diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/more-lf-utf8bom similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,text_auto/more-lf-utf8bom rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/more-lf-utf8bom diff --git a/tests/resources/crlf_data/posix/autocrlf_true,-text/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/zero-byte similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,-text/zero-byte rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-crlf/zero-byte diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/all-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/all-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/all-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/all-crlf-utf8bom similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/all-crlf-utf8bom rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/all-crlf-utf8bom diff --git a/tests/resources/crlf_data/windows/autocrlf_false,-crlf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/all-lf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,-crlf/all-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/all-lf diff --git a/tests/resources/crlf_data/windows/autocrlf_false,-crlf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/all-lf-utf8bom similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,-crlf/all-lf-utf8bom rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/all-lf-utf8bom diff --git a/tests/resources/crlf_data/posix/autocrlf_input,crlf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/binary-all-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,crlf/binary-all-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/binary-all-crlf diff --git a/tests/resources/crlf_data/windows/autocrlf_input,-crlf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/binary-all-lf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,-crlf/binary-all-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/binary-all-lf diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/binary-mixed-lf-cr similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,text_auto/binary-mixed-lf-cr rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/binary-mixed-lf-cr diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/binary-mixed-lf-cr-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,text/binary-mixed-lf-cr-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/binary-mixed-lf-cr-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/few-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/few-utf8-chars-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/few-utf8-chars-crlf diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/few-utf8-chars-lf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/few-utf8-chars-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/few-utf8-chars-lf diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/many-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/many-utf8-chars-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/many-utf8-chars-crlf diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/many-utf8-chars-lf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/many-utf8-chars-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/many-utf8-chars-lf diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/mixed-lf-cr similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,text_auto/mixed-lf-cr rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/mixed-lf-cr diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/mixed-lf-cr-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,text/mixed-lf-cr-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/mixed-lf-cr-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_false/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/more-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false/more-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/more-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_false/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/more-crlf-utf8bom similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false/more-crlf-utf8bom rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/more-crlf-utf8bom diff --git a/tests/resources/crlf_data/posix/autocrlf_false/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/more-lf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false/more-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/more-lf diff --git a/tests/resources/crlf_data/posix/autocrlf_false/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/more-lf-utf8bom similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false/more-lf-utf8bom rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/more-lf-utf8bom diff --git a/tests/resources/crlf_data/posix/autocrlf_true,crlf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/zero-byte similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,crlf/zero-byte rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,-text/zero-byte diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/all-crlf new file mode 100644 index 000000000..26e1a742b --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/all-crlf-utf8bom new file mode 100644 index 000000000..32c6f22e3 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows/autocrlf_false,-text/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/all-lf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,-text/all-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/all-lf diff --git a/tests/resources/crlf_data/windows/autocrlf_false,-text/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/all-lf-utf8bom similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,-text/all-lf-utf8bom rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/all-lf-utf8bom diff --git a/tests/resources/crlf_data/windows/autocrlf_input,-text/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/binary-all-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,-text/binary-all-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/binary-all-crlf diff --git a/tests/resources/crlf_data/windows/autocrlf_input,crlf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/binary-all-lf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,crlf/binary-all-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/binary-all-lf diff --git a/tests/resources/crlf_data/windows/autocrlf_false/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/binary-mixed-lf-cr similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false/binary-mixed-lf-cr rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/binary-mixed-lf-cr diff --git a/tests/resources/crlf_data/windows/autocrlf_input,-crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/binary-mixed-lf-cr-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,-crlf/binary-mixed-lf-cr rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/binary-mixed-lf-cr-crlf diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/few-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,text_auto/few-utf8-chars-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/few-utf8-chars-crlf diff --git a/tests/resources/crlf_data/windows/autocrlf_input/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/few-utf8-chars-lf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input/few-utf8-chars-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/few-utf8-chars-lf diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/many-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,text_auto/many-utf8-chars-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/many-utf8-chars-crlf diff --git a/tests/resources/crlf_data/windows/autocrlf_input/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/many-utf8-chars-lf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input/many-utf8-chars-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/many-utf8-chars-lf diff --git a/tests/resources/crlf_data/windows/autocrlf_false/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/mixed-lf-cr similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false/mixed-lf-cr rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/mixed-lf-cr diff --git a/tests/resources/crlf_data/windows/autocrlf_input,-crlf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/mixed-lf-cr-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,-crlf/mixed-lf-cr rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/mixed-lf-cr-crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/more-crlf new file mode 100644 index 000000000..37bb7fa3d --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/more-crlf @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/more-crlf-utf8bom new file mode 100644 index 000000000..16001a14a --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/more-crlf-utf8bom @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/more-lf new file mode 100644 index 000000000..2cda6f203 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/more-lf @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/more-lf-utf8bom new file mode 100644 index 000000000..dc7d82aa0 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/more-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/zero-byte similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/zero-byte rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,crlf/zero-byte diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/all-crlf new file mode 100644 index 000000000..26e1a742b --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/all-crlf-utf8bom new file mode 100644 index 000000000..32c6f22e3 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows/autocrlf_false,eol_lf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/all-lf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,eol_lf/all-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/all-lf diff --git a/tests/resources/crlf_data/windows/autocrlf_false,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/all-lf-utf8bom similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,eol_lf/all-lf-utf8bom rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/all-lf-utf8bom diff --git a/tests/resources/crlf_data/windows/autocrlf_input,eol_lf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/binary-all-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,eol_lf/binary-all-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/binary-all-crlf diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/binary-all-lf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/binary-all-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/binary-all-lf diff --git a/tests/resources/crlf_data/windows/autocrlf_input,-text/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/binary-mixed-lf-cr similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,-text/binary-mixed-lf-cr rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/binary-mixed-lf-cr diff --git a/tests/resources/crlf_data/windows/autocrlf_input,crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/binary-mixed-lf-cr-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,crlf/binary-mixed-lf-cr rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/binary-mixed-lf-cr-crlf diff --git a/tests/resources/crlf_data/windows/autocrlf_true,-crlf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/few-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true,-crlf/few-utf8-chars-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/few-utf8-chars-crlf diff --git a/tests/resources/crlf_data/windows/autocrlf_true,-text/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/few-utf8-chars-lf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true,-text/few-utf8-chars-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/few-utf8-chars-lf diff --git a/tests/resources/crlf_data/windows/autocrlf_true,-crlf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/many-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true,-crlf/many-utf8-chars-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/many-utf8-chars-crlf diff --git a/tests/resources/crlf_data/windows/autocrlf_true,-text/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/many-utf8-chars-lf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true,-text/many-utf8-chars-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/many-utf8-chars-lf diff --git a/tests/resources/crlf_data/windows/autocrlf_input,-text/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/mixed-lf-cr similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,-text/mixed-lf-cr rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/mixed-lf-cr diff --git a/tests/resources/crlf_data/windows/autocrlf_input,crlf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/mixed-lf-cr-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,crlf/mixed-lf-cr rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/mixed-lf-cr-crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/more-crlf new file mode 100644 index 000000000..37bb7fa3d --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/more-crlf @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/more-crlf-utf8bom new file mode 100644 index 000000000..16001a14a --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/more-crlf-utf8bom @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/more-lf new file mode 100644 index 000000000..2cda6f203 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/more-lf @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/more-lf-utf8bom new file mode 100644 index 000000000..dc7d82aa0 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/more-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/posix/autocrlf_true,eol_lf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/zero-byte similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,eol_lf/zero-byte rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/zero-byte diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/all-crlf new file mode 100644 index 000000000..26e1a742b --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/all-crlf-utf8bom new file mode 100644 index 000000000..32c6f22e3 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/all-lf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/all-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/all-lf diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/all-lf-utf8bom similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/all-lf-utf8bom rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/all-lf-utf8bom diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/binary-all-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,text/binary-all-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/binary-all-crlf diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/binary-all-lf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/binary-all-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/binary-all-lf diff --git a/tests/resources/crlf_data/windows/autocrlf_input,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/binary-mixed-lf-cr similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,eol_lf/binary-mixed-lf-cr rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/binary-mixed-lf-cr diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/binary-mixed-lf-cr-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/binary-mixed-lf-cr rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/binary-mixed-lf-cr-crlf diff --git a/tests/resources/crlf_data/windows/autocrlf_true,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/few-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true,eol_lf/few-utf8-chars-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/few-utf8-chars-crlf diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/few-utf8-chars-lf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/few-utf8-chars-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/few-utf8-chars-lf diff --git a/tests/resources/crlf_data/windows/autocrlf_true,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/many-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true,eol_lf/many-utf8-chars-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/many-utf8-chars-crlf diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/many-utf8-chars-lf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/many-utf8-chars-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/many-utf8-chars-lf diff --git a/tests/resources/crlf_data/windows/autocrlf_input,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/mixed-lf-cr similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,eol_lf/mixed-lf-cr rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/mixed-lf-cr diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/mixed-lf-cr-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/mixed-lf-cr rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/mixed-lf-cr-crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/more-crlf new file mode 100644 index 000000000..37bb7fa3d --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/more-crlf @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/more-crlf-utf8bom new file mode 100644 index 000000000..16001a14a --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/more-crlf-utf8bom @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/more-lf new file mode 100644 index 000000000..2cda6f203 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/more-lf @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/more-lf-utf8bom new file mode 100644 index 000000000..dc7d82aa0 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/more-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/zero-byte similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/zero-byte rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,eol_lf/zero-byte diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/all-crlf new file mode 100644 index 000000000..26e1a742b --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/all-crlf-utf8bom new file mode 100644 index 000000000..32c6f22e3 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/all-lf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/all-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/all-lf diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/all-lf-utf8bom similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/all-lf-utf8bom rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/all-lf-utf8bom diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/binary-all-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,text_auto/binary-all-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/binary-all-crlf diff --git a/tests/resources/crlf_data/windows/autocrlf_input/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/binary-all-lf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input/binary-all-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/binary-all-lf diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/binary-mixed-lf-cr similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,text/binary-mixed-lf-cr rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/binary-mixed-lf-cr diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/binary-mixed-lf-cr-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/binary-mixed-lf-cr rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/binary-mixed-lf-cr-crlf diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/few-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/few-utf8-chars-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/few-utf8-chars-crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/many-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/many-utf8-chars-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/many-utf8-chars-crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/mixed-lf-cr similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,text/mixed-lf-cr rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/mixed-lf-cr diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/mixed-lf-cr-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/mixed-lf-cr rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/mixed-lf-cr-crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/more-crlf new file mode 100644 index 000000000..37bb7fa3d --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/more-crlf @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/more-crlf-utf8bom new file mode 100644 index 000000000..16001a14a --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/more-crlf-utf8bom @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/more-lf new file mode 100644 index 000000000..2cda6f203 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/more-lf @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/more-lf-utf8bom new file mode 100644 index 000000000..dc7d82aa0 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/more-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/zero-byte similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/zero-byte rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/zero-byte diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/all-crlf new file mode 100644 index 000000000..26e1a742b --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/all-crlf-utf8bom new file mode 100644 index 000000000..32c6f22e3 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows/autocrlf_false/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/all-lf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false/all-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/all-lf diff --git a/tests/resources/crlf_data/windows/autocrlf_false/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/all-lf-utf8bom similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false/all-lf-utf8bom rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/all-lf-utf8bom diff --git a/tests/resources/crlf_data/windows/autocrlf_true,-crlf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/binary-all-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true,-crlf/binary-all-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/binary-all-crlf diff --git a/tests/resources/crlf_data/windows/autocrlf_true,-text/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/binary-all-lf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true,-text/binary-all-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/binary-all-lf diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/binary-mixed-lf-cr similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,text_auto/binary-mixed-lf-cr rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/binary-mixed-lf-cr diff --git a/tests/resources/crlf_data/windows/autocrlf_input/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/binary-mixed-lf-cr-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input/binary-mixed-lf-cr rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/binary-mixed-lf-cr-crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/few-utf8-chars-crlf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/few-utf8-chars-crlf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/many-utf8-chars-crlf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/many-utf8-chars-crlf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/mixed-lf-cr similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,text_auto/mixed-lf-cr rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/mixed-lf-cr diff --git a/tests/resources/crlf_data/windows/autocrlf_input/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/mixed-lf-cr-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input/mixed-lf-cr rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/mixed-lf-cr-crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/more-crlf new file mode 100644 index 000000000..37bb7fa3d --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/more-crlf @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/more-crlf-utf8bom new file mode 100644 index 000000000..16001a14a --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/more-crlf-utf8bom @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/more-lf new file mode 100644 index 000000000..2cda6f203 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/more-lf @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/more-lf-utf8bom new file mode 100644 index 000000000..dc7d82aa0 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/more-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/zero-byte similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,text/zero-byte rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/zero-byte diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/all-crlf new file mode 100644 index 000000000..26e1a742b --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/all-crlf-utf8bom new file mode 100644 index 000000000..32c6f22e3 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows/autocrlf_input,-crlf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/all-lf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,-crlf/all-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/all-lf diff --git a/tests/resources/crlf_data/windows/autocrlf_input,-crlf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/all-lf-utf8bom similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,-crlf/all-lf-utf8bom rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/all-lf-utf8bom diff --git a/tests/resources/crlf_data/windows/autocrlf_true,eol_lf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/binary-all-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true,eol_lf/binary-all-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/binary-all-crlf diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/binary-all-lf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/binary-all-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/binary-all-lf diff --git a/tests/resources/crlf_data/windows/autocrlf_true,-crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/binary-mixed-lf-cr similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true,-crlf/binary-mixed-lf-cr rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/binary-mixed-lf-cr diff --git a/tests/resources/crlf_data/windows/autocrlf_true,-text/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/binary-mixed-lf-cr-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true,-text/binary-mixed-lf-cr rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/binary-mixed-lf-cr-crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/few-utf8-chars-crlf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/few-utf8-chars-crlf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/many-utf8-chars-crlf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/many-utf8-chars-crlf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows/autocrlf_true,-crlf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/mixed-lf-cr similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true,-crlf/mixed-lf-cr rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/mixed-lf-cr diff --git a/tests/resources/crlf_data/windows/autocrlf_true,-text/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/mixed-lf-cr-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true,-text/mixed-lf-cr rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/mixed-lf-cr-crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/more-crlf new file mode 100644 index 000000000..37bb7fa3d --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/more-crlf @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/more-crlf-utf8bom new file mode 100644 index 000000000..16001a14a --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/more-crlf-utf8bom @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/more-lf new file mode 100644 index 000000000..2cda6f203 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/more-lf @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/more-lf-utf8bom new file mode 100644 index 000000000..dc7d82aa0 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/more-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/zero-byte similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/zero-byte rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text/zero-byte diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/all-crlf new file mode 100644 index 000000000..26e1a742b --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/all-crlf-utf8bom new file mode 100644 index 000000000..32c6f22e3 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows/autocrlf_input,-text/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/all-lf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,-text/all-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/all-lf diff --git a/tests/resources/crlf_data/windows/autocrlf_input,-text/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/all-lf-utf8bom similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,-text/all-lf-utf8bom rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/all-lf-utf8bom diff --git a/tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/binary-all-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/binary-all-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/binary-all-crlf diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/binary-all-lf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/binary-all-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/binary-all-lf diff --git a/tests/resources/crlf_data/windows/autocrlf_true,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/binary-mixed-lf-cr similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true,eol_lf/binary-mixed-lf-cr rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/binary-mixed-lf-cr diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/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 similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/binary-mixed-lf-cr-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/binary-mixed-lf-cr-crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/few-utf8-chars-crlf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/few-utf8-chars-crlf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/many-utf8-chars-crlf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/many-utf8-chars-crlf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows/autocrlf_true,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/mixed-lf-cr similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true,eol_lf/mixed-lf-cr rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/mixed-lf-cr diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/mixed-lf-cr-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/mixed-lf-cr-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/mixed-lf-cr-crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/more-crlf new file mode 100644 index 000000000..37bb7fa3d --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/more-crlf @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/more-crlf-utf8bom new file mode 100644 index 000000000..16001a14a --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/more-crlf-utf8bom @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/more-lf new file mode 100644 index 000000000..2cda6f203 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/more-lf @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/more-lf-utf8bom new file mode 100644 index 000000000..dc7d82aa0 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/more-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/zero-byte similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/zero-byte rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/zero-byte diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/all-crlf new file mode 100644 index 000000000..26e1a742b --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/all-crlf-utf8bom new file mode 100644 index 000000000..32c6f22e3 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows/autocrlf_input,crlf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/all-lf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,crlf/all-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/all-lf diff --git a/tests/resources/crlf_data/windows/autocrlf_input,crlf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/all-lf-utf8bom similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,crlf/all-lf-utf8bom rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/all-lf-utf8bom diff --git a/tests/resources/crlf_data/posix/autocrlf_input,eol_lf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/binary-all-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,eol_lf/binary-all-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/binary-all-crlf diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/binary-all-lf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true,text_auto/binary-all-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/binary-all-lf diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text,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 similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/binary-mixed-lf-cr rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/binary-mixed-lf-cr diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto/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 similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,text_auto/binary-mixed-lf-cr-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/binary-mixed-lf-cr-crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/few-utf8-chars-crlf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/few-utf8-chars-crlf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/many-utf8-chars-crlf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/many-utf8-chars-crlf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/mixed-lf-cr similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/mixed-lf-cr rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/mixed-lf-cr diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/mixed-lf-cr-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,text_auto/mixed-lf-cr-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/mixed-lf-cr-crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/more-crlf new file mode 100644 index 000000000..37bb7fa3d --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/more-crlf @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/more-crlf-utf8bom new file mode 100644 index 000000000..16001a14a --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/more-crlf-utf8bom @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/more-lf new file mode 100644 index 000000000..2cda6f203 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/more-lf @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/more-lf-utf8bom new file mode 100644 index 000000000..dc7d82aa0 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/more-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/zero-byte similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,text_auto/zero-byte rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/zero-byte diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/all-crlf new file mode 100644 index 000000000..26e1a742b --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/all-crlf-utf8bom new file mode 100644 index 000000000..32c6f22e3 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows/autocrlf_input,eol_lf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/all-lf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,eol_lf/all-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/all-lf diff --git a/tests/resources/crlf_data/windows/autocrlf_input,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/all-lf-utf8bom similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,eol_lf/all-lf-utf8bom rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/all-lf-utf8bom diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/binary-all-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/binary-all-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/binary-all-crlf diff --git a/tests/resources/crlf_data/windows/autocrlf_true/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/binary-all-lf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true/binary-all-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/binary-all-lf diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/binary-mixed-lf-cr similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/binary-mixed-lf-cr rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/binary-mixed-lf-cr diff --git a/tests/resources/crlf_data/posix/autocrlf_input/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/binary-mixed-lf-cr-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input/binary-mixed-lf-cr-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/binary-mixed-lf-cr-crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/few-utf8-chars-crlf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/few-utf8-chars-crlf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/many-utf8-chars-crlf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/many-utf8-chars-crlf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/mixed-lf-cr similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/mixed-lf-cr rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/mixed-lf-cr diff --git a/tests/resources/crlf_data/posix/autocrlf_input/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/mixed-lf-cr-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input/mixed-lf-cr-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/mixed-lf-cr-crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/more-crlf new file mode 100644 index 000000000..37bb7fa3d --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/more-crlf @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/more-crlf-utf8bom new file mode 100644 index 000000000..16001a14a --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/more-crlf-utf8bom @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/more-lf new file mode 100644 index 000000000..2cda6f203 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/more-lf @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/more-lf-utf8bom new file mode 100644 index 000000000..dc7d82aa0 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/more-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/posix/autocrlf_true/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/zero-byte similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true/zero-byte rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn,text_auto/zero-byte diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/all-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/all-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/all-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/all-crlf-utf8bom similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/all-crlf-utf8bom rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/all-crlf-utf8bom diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/all-lf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/all-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/all-lf diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/all-lf-utf8bom similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/all-lf-utf8bom rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/all-lf-utf8bom diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/binary-all-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/binary-all-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/binary-all-crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/binary-mixed-lf-cr similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true,text_auto/binary-mixed-lf-cr rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/binary-mixed-lf-cr diff --git a/tests/resources/crlf_data/posix/autocrlf_true,-crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/binary-mixed-lf-cr-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,-crlf/binary-mixed-lf-cr-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/binary-mixed-lf-cr-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/few-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/few-utf8-chars-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/few-utf8-chars-crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/many-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_lf/many-utf8-chars-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/many-utf8-chars-crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/mixed-lf-cr similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true,text_auto/mixed-lf-cr rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/mixed-lf-cr diff --git a/tests/resources/crlf_data/posix/autocrlf_true,-crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/mixed-lf-cr-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,-crlf/mixed-lf-cr-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/mixed-lf-cr-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_input,-crlf/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/more-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,-crlf/more-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/more-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_input,-crlf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/more-crlf-utf8bom similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,-crlf/more-crlf-utf8bom rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/more-crlf-utf8bom diff --git a/tests/resources/crlf_data/posix/autocrlf_input,-crlf/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/more-lf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,-crlf/more-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/more-lf diff --git a/tests/resources/crlf_data/posix/autocrlf_input,-crlf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/more-lf-utf8bom similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,-crlf/more-lf-utf8bom rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/more-lf-utf8bom diff --git a/tests/resources/crlf_data/windows/autocrlf_false,-crlf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/zero-byte similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,-crlf/zero-byte rename to tests/resources/crlf_data/posix_to_odb/autocrlf_false,safecrlf_warn/zero-byte diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/all-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,text_auto/all-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/all-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/all-crlf-utf8bom similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,text_auto/all-crlf-utf8bom rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/all-crlf-utf8bom diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/all-lf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,text/all-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/all-lf diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/all-lf-utf8bom similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,text/all-lf-utf8bom rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/all-lf-utf8bom diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/binary-all-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,text/binary-all-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/binary-all-crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows/autocrlf_true/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/binary-mixed-lf-cr similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true/binary-mixed-lf-cr rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/binary-mixed-lf-cr diff --git a/tests/resources/crlf_data/posix/autocrlf_true,-text/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/binary-mixed-lf-cr-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,-text/binary-mixed-lf-cr-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/binary-mixed-lf-cr-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/few-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,text_auto/few-utf8-chars-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/few-utf8-chars-crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/many-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,text_auto/many-utf8-chars-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/many-utf8-chars-crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows/autocrlf_true/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/mixed-lf-cr similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true/mixed-lf-cr rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/mixed-lf-cr diff --git a/tests/resources/crlf_data/posix/autocrlf_true,-text/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/mixed-lf-cr-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,-text/mixed-lf-cr-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/mixed-lf-cr-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_input,-text/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/more-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,-text/more-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/more-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_input,-text/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/more-crlf-utf8bom similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,-text/more-crlf-utf8bom rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/more-crlf-utf8bom diff --git a/tests/resources/crlf_data/posix/autocrlf_input,-text/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/more-lf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,-text/more-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/more-lf diff --git a/tests/resources/crlf_data/posix/autocrlf_input,-text/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/more-lf-utf8bom similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,-text/more-lf-utf8bom rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/more-lf-utf8bom diff --git a/tests/resources/crlf_data/windows/autocrlf_false,-text/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/zero-byte similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,-text/zero-byte rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-crlf/zero-byte diff --git a/tests/resources/crlf_data/posix/autocrlf_false/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/all-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false/all-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/all-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_false/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/all-crlf-utf8bom similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false/all-crlf-utf8bom rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/all-crlf-utf8bom diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/all-lf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/all-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/all-lf diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/all-lf-utf8bom similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/all-lf-utf8bom rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/all-lf-utf8bom diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/binary-all-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/binary-all-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/binary-all-crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/binary-mixed-lf-cr similarity index 68% rename from tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/binary-mixed-lf-cr rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/binary-mixed-lf-cr index fd2abfa9d..203555c56 100644 --- a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/binary-mixed-lf-cr +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/binary-mixed-lf-cr @@ -1,3 +1,3 @@ -one -two three +one +two three four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix/autocrlf_true,eol_lf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/binary-mixed-lf-cr-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,eol_lf/binary-mixed-lf-cr-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/binary-mixed-lf-cr-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_false/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/few-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false/few-utf8-chars-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/few-utf8-chars-crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/posix/autocrlf_false/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/many-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false/many-utf8-chars-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/many-utf8-chars-crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows/autocrlf_true,crlf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/mixed-lf-cr similarity index 66% rename from tests/resources/crlf_data/windows/autocrlf_true,crlf/mixed-lf-cr rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/mixed-lf-cr index df8c0f680..d11e7ef63 100644 --- a/tests/resources/crlf_data/windows/autocrlf_true,crlf/mixed-lf-cr +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/mixed-lf-cr @@ -1,3 +1,3 @@ -one -two three +one +two three four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix/autocrlf_true,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/mixed-lf-cr-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,eol_lf/mixed-lf-cr-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/mixed-lf-cr-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_input,crlf/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/more-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,crlf/more-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/more-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_input,crlf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/more-crlf-utf8bom similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,crlf/more-crlf-utf8bom rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/more-crlf-utf8bom diff --git a/tests/resources/crlf_data/posix/autocrlf_input,crlf/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/more-lf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,crlf/more-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/more-lf diff --git a/tests/resources/crlf_data/posix/autocrlf_input,crlf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/more-lf-utf8bom similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,crlf/more-lf-utf8bom rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/more-lf-utf8bom diff --git a/tests/resources/crlf_data/windows/autocrlf_false,crlf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/zero-byte similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,crlf/zero-byte rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,-text/zero-byte diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/all-crlf new file mode 100644 index 000000000..26e1a742b --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/all-crlf-utf8bom new file mode 100644 index 000000000..32c6f22e3 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/all-lf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,text_auto/all-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/all-lf diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/all-lf-utf8bom similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,text_auto/all-lf-utf8bom rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/all-lf-utf8bom diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/binary-all-crlf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/binary-mixed-lf-cr similarity index 68% rename from tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/binary-mixed-lf-cr rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/binary-mixed-lf-cr index fd2abfa9d..203555c56 100644 --- a/tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/binary-mixed-lf-cr +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/binary-mixed-lf-cr @@ -1,3 +1,3 @@ -one -two three +one +two three four \ 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/posix_to_odb/autocrlf_input,safecrlf_false,crlf/binary-mixed-lf-cr-crlf similarity index 68% rename from tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/binary-mixed-lf-cr-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/binary-mixed-lf-cr-crlf index fd2abfa9d..203555c56 100644 --- a/tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/binary-mixed-lf-cr-crlf +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/binary-mixed-lf-cr-crlf @@ -1,3 +1,3 @@ -one -two three +one +two three four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/few-utf8-chars-crlf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/few-utf8-chars-crlf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/many-utf8-chars-crlf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/many-utf8-chars-crlf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/mixed-lf-cr similarity index 66% rename from tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/mixed-lf-cr rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/mixed-lf-cr index df8c0f680..d11e7ef63 100644 --- a/tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/mixed-lf-cr +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/mixed-lf-cr @@ -1,3 +1,3 @@ -one -two three +one +two three four \ 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/posix_to_odb/autocrlf_input,safecrlf_false,crlf/mixed-lf-cr-crlf similarity index 66% rename from tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/mixed-lf-cr-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/mixed-lf-cr-crlf index df8c0f680..d11e7ef63 100644 --- a/tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/mixed-lf-cr-crlf +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/mixed-lf-cr-crlf @@ -1,3 +1,3 @@ -one -two three +one +two three four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/more-crlf new file mode 100644 index 000000000..37bb7fa3d --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/more-crlf @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/more-crlf-utf8bom new file mode 100644 index 000000000..16001a14a --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/more-crlf-utf8bom @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/more-lf new file mode 100644 index 000000000..2cda6f203 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/more-lf @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/more-lf-utf8bom new file mode 100644 index 000000000..dc7d82aa0 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/more-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/zero-byte similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/zero-byte rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,crlf/zero-byte diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/all-crlf new file mode 100644 index 000000000..26e1a742b --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/all-crlf-utf8bom new file mode 100644 index 000000000..32c6f22e3 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows/autocrlf_input/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/all-lf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input/all-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/all-lf diff --git a/tests/resources/crlf_data/windows/autocrlf_input/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/all-lf-utf8bom similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input/all-lf-utf8bom rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/all-lf-utf8bom diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/binary-all-crlf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows/autocrlf_true,crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/binary-mixed-lf-cr similarity index 68% rename from tests/resources/crlf_data/windows/autocrlf_true,crlf/binary-mixed-lf-cr rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/binary-mixed-lf-cr index fd2abfa9d..203555c56 100644 --- a/tests/resources/crlf_data/windows/autocrlf_true,crlf/binary-mixed-lf-cr +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/binary-mixed-lf-cr @@ -1,3 +1,3 @@ -one -two three +one +two three four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/binary-mixed-lf-cr-crlf similarity index 68% rename from tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/binary-mixed-lf-cr-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/binary-mixed-lf-cr-crlf index fd2abfa9d..203555c56 100644 --- a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/binary-mixed-lf-cr-crlf +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/binary-mixed-lf-cr-crlf @@ -1,3 +1,3 @@ -one -two three +one +two three four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/few-utf8-chars-crlf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/few-utf8-chars-crlf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/many-utf8-chars-crlf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/many-utf8-chars-crlf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/mixed-lf-cr similarity index 66% rename from tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/mixed-lf-cr rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/mixed-lf-cr index df8c0f680..d11e7ef63 100644 --- a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/mixed-lf-cr +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/mixed-lf-cr @@ -1,3 +1,3 @@ -one -two three +one +two three four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows/autocrlf_true,crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/mixed-lf-cr-crlf similarity index 66% rename from tests/resources/crlf_data/windows/autocrlf_true,crlf/mixed-lf-cr-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/mixed-lf-cr-crlf index df8c0f680..d11e7ef63 100644 --- a/tests/resources/crlf_data/windows/autocrlf_true,crlf/mixed-lf-cr-crlf +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/mixed-lf-cr-crlf @@ -1,3 +1,3 @@ -one -two three +one +two three four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/more-crlf new file mode 100644 index 000000000..37bb7fa3d --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/more-crlf @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/more-crlf-utf8bom new file mode 100644 index 000000000..16001a14a --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/more-crlf-utf8bom @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/more-lf new file mode 100644 index 000000000..2cda6f203 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/more-lf @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/more-lf-utf8bom new file mode 100644 index 000000000..dc7d82aa0 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/more-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows/autocrlf_false,eol_lf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/zero-byte similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,eol_lf/zero-byte rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_crlf/zero-byte diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/all-crlf new file mode 100644 index 000000000..26e1a742b --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/all-crlf-utf8bom new file mode 100644 index 000000000..32c6f22e3 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows/autocrlf_true,-crlf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/all-lf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true,-crlf/all-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/all-lf diff --git a/tests/resources/crlf_data/windows/autocrlf_true,-crlf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/all-lf-utf8bom similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true,-crlf/all-lf-utf8bom rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/all-lf-utf8bom diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/binary-all-crlf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/binary-mixed-lf-cr similarity index 68% rename from tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/binary-mixed-lf-cr rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/binary-mixed-lf-cr index fd2abfa9d..203555c56 100644 --- a/tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/binary-mixed-lf-cr +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/binary-mixed-lf-cr @@ -1,3 +1,3 @@ -one -two three +one +two three four \ 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/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/binary-mixed-lf-cr-crlf similarity index 68% rename from tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/binary-mixed-lf-cr-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/binary-mixed-lf-cr-crlf index fd2abfa9d..203555c56 100644 --- a/tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/binary-mixed-lf-cr-crlf +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/binary-mixed-lf-cr-crlf @@ -1,3 +1,3 @@ -one -two three +one +two three four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/few-utf8-chars-crlf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/few-utf8-chars-crlf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/many-utf8-chars-crlf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/many-utf8-chars-crlf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/mixed-lf-cr similarity index 66% rename from tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/mixed-lf-cr rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/mixed-lf-cr index df8c0f680..d11e7ef63 100644 --- a/tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/mixed-lf-cr +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/mixed-lf-cr @@ -1,3 +1,3 @@ -one -two three +one +two three four \ 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/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/mixed-lf-cr-crlf similarity index 66% rename from tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/mixed-lf-cr-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/mixed-lf-cr-crlf index df8c0f680..d11e7ef63 100644 --- a/tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/mixed-lf-cr-crlf +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/mixed-lf-cr-crlf @@ -1,3 +1,3 @@ -one -two three +one +two three four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/more-crlf new file mode 100644 index 000000000..37bb7fa3d --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/more-crlf @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/more-crlf-utf8bom new file mode 100644 index 000000000..16001a14a --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/more-crlf-utf8bom @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/more-lf new file mode 100644 index 000000000..2cda6f203 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/more-lf @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/more-lf-utf8bom new file mode 100644 index 000000000..dc7d82aa0 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/more-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/zero-byte similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/zero-byte rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,eol_lf/zero-byte diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/all-crlf new file mode 100644 index 000000000..26e1a742b --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/all-crlf-utf8bom new file mode 100644 index 000000000..32c6f22e3 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows/autocrlf_true,-text/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/all-lf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true,-text/all-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/all-lf diff --git a/tests/resources/crlf_data/windows/autocrlf_true,-text/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/all-lf-utf8bom similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true,-text/all-lf-utf8bom rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/all-lf-utf8bom diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/binary-all-crlf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows/autocrlf_true,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 similarity index 68% rename from tests/resources/crlf_data/windows/autocrlf_true,crlf/binary-mixed-lf-cr-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/binary-mixed-lf-cr-crlf index fd2abfa9d..203555c56 100644 --- a/tests/resources/crlf_data/windows/autocrlf_true,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 @@ -1,3 +1,3 @@ -one -two three +one +two three four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/few-utf8-chars-crlf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/few-utf8-chars-crlf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/many-utf8-chars-crlf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/many-utf8-chars-crlf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,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 similarity index 66% rename from tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/mixed-lf-cr-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/mixed-lf-cr-crlf index df8c0f680..d11e7ef63 100644 --- a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/mixed-lf-cr-crlf +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/mixed-lf-cr-crlf @@ -1,3 +1,3 @@ -one -two three +one +two three four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/more-crlf new file mode 100644 index 000000000..37bb7fa3d --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/more-crlf @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/more-crlf-utf8bom new file mode 100644 index 000000000..16001a14a --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/more-crlf-utf8bom @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/more-lf new file mode 100644 index 000000000..2cda6f203 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/more-lf @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/more-lf-utf8bom new file mode 100644 index 000000000..dc7d82aa0 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/more-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/zero-byte similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/zero-byte rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/zero-byte diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/all-crlf new file mode 100644 index 000000000..26e1a742b --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/all-crlf-utf8bom new file mode 100644 index 000000000..32c6f22e3 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows/autocrlf_true,eol_lf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/all-lf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true,eol_lf/all-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/all-lf diff --git a/tests/resources/crlf_data/windows/autocrlf_true,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/all-lf-utf8bom similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true,eol_lf/all-lf-utf8bom rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/all-lf-utf8bom diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/binary-all-crlf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/few-utf8-chars-crlf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/few-utf8-chars-crlf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/many-utf8-chars-crlf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/many-utf8-chars-crlf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/mixed-lf-cr-crlf new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/more-crlf new file mode 100644 index 000000000..37bb7fa3d --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/more-crlf @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/more-crlf-utf8bom new file mode 100644 index 000000000..16001a14a --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/more-crlf-utf8bom @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/more-lf new file mode 100644 index 000000000..2cda6f203 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/more-lf @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/more-lf-utf8bom new file mode 100644 index 000000000..dc7d82aa0 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/more-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/zero-byte similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,text/zero-byte rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/zero-byte diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/all-crlf new file mode 100644 index 000000000..26e1a742b --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/all-crlf-utf8bom new file mode 100644 index 000000000..32c6f22e3 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/all-lf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/all-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/all-lf diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/all-lf-utf8bom similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/all-lf-utf8bom rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/all-lf-utf8bom diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/binary-all-crlf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/few-utf8-chars-crlf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/few-utf8-chars-crlf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/many-utf8-chars-crlf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/many-utf8-chars-crlf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/mixed-lf-cr-crlf new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/more-crlf new file mode 100644 index 000000000..37bb7fa3d --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/more-crlf @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/more-crlf-utf8bom new file mode 100644 index 000000000..16001a14a --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/more-crlf-utf8bom @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/more-lf new file mode 100644 index 000000000..2cda6f203 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/more-lf @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/more-lf-utf8bom new file mode 100644 index 000000000..dc7d82aa0 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/more-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/zero-byte similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/zero-byte rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text/zero-byte diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/all-crlf new file mode 100644 index 000000000..26e1a742b --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/all-crlf-utf8bom new file mode 100644 index 000000000..32c6f22e3 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/all-lf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/all-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/all-lf diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/all-lf-utf8bom similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/all-lf-utf8bom rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/all-lf-utf8bom diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/binary-all-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/binary-all-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/binary-all-crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/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 similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/binary-mixed-lf-cr-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr-crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/few-utf8-chars-crlf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/few-utf8-chars-crlf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/many-utf8-chars-crlf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/many-utf8-chars-crlf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/mixed-lf-cr-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/mixed-lf-cr-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/mixed-lf-cr-crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/more-crlf new file mode 100644 index 000000000..37bb7fa3d --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/more-crlf @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/more-crlf-utf8bom new file mode 100644 index 000000000..16001a14a --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/more-crlf-utf8bom @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/more-lf new file mode 100644 index 000000000..2cda6f203 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/more-lf @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/more-lf-utf8bom new file mode 100644 index 000000000..dc7d82aa0 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/more-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/zero-byte similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/zero-byte rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/zero-byte diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/all-crlf new file mode 100644 index 000000000..26e1a742b --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/all-crlf-utf8bom new file mode 100644 index 000000000..32c6f22e3 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/binary-all-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,text_auto/binary-all-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/binary-all-crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix/autocrlf_true,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 similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/binary-mixed-lf-cr-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/binary-mixed-lf-cr-crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/few-utf8-chars-crlf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/few-utf8-chars-crlf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/many-utf8-chars-crlf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/many-utf8-chars-crlf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix/autocrlf_true,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 similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/mixed-lf-cr-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/mixed-lf-cr-crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/more-crlf new file mode 100644 index 000000000..37bb7fa3d --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/more-crlf @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/more-crlf-utf8bom new file mode 100644 index 000000000..16001a14a --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/more-crlf-utf8bom @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/more-lf new file mode 100644 index 000000000..2cda6f203 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/more-lf @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/more-lf-utf8bom new file mode 100644 index 000000000..dc7d82aa0 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/more-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/zero-byte similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,text_auto/zero-byte rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/zero-byte diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/all-crlf new file mode 100644 index 000000000..26e1a742b --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/all-crlf-utf8bom new file mode 100644 index 000000000..32c6f22e3 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/posix/autocrlf_input/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/binary-all-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input/binary-all-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/binary-all-crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_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 similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,text_auto/binary-mixed-lf-cr-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/binary-mixed-lf-cr-crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/few-utf8-chars-crlf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/few-utf8-chars-crlf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/many-utf8-chars-crlf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/many-utf8-chars-crlf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/mixed-lf-cr-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,text_auto/mixed-lf-cr-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/mixed-lf-cr-crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/more-crlf new file mode 100644 index 000000000..37bb7fa3d --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/more-crlf @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/more-crlf-utf8bom new file mode 100644 index 000000000..16001a14a --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/more-crlf-utf8bom @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/more-lf new file mode 100644 index 000000000..2cda6f203 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/more-lf @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/more-lf-utf8bom new file mode 100644 index 000000000..dc7d82aa0 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/more-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows/autocrlf_false/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/zero-byte similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false/zero-byte rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false,text_auto/zero-byte diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/all-crlf new file mode 100644 index 000000000..26e1a742b --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/all-crlf-utf8bom new file mode 100644 index 000000000..32c6f22e3 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/posix/autocrlf_true,-crlf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/binary-all-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,-crlf/binary-all-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/binary-all-crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix/autocrlf_true/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/binary-mixed-lf-cr-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true/binary-mixed-lf-cr-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/binary-mixed-lf-cr-crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/few-utf8-chars-crlf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/few-utf8-chars-crlf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/many-utf8-chars-crlf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/many-utf8-chars-crlf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix/autocrlf_true/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/mixed-lf-cr-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true/mixed-lf-cr-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/mixed-lf-cr-crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/more-crlf new file mode 100644 index 000000000..37bb7fa3d --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/more-crlf @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/more-crlf-utf8bom new file mode 100644 index 000000000..16001a14a --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/more-crlf-utf8bom @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/more-lf new file mode 100644 index 000000000..2cda6f203 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/more-lf @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/more-lf-utf8bom new file mode 100644 index 000000000..dc7d82aa0 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/more-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows/autocrlf_input,-crlf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/zero-byte similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,-crlf/zero-byte rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_false/zero-byte diff --git a/tests/resources/crlf_data/posix/autocrlf_input,-crlf/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/all-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,-crlf/all-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/all-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_input,-crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/all-crlf-utf8bom similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,-crlf/all-crlf-utf8bom rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/all-crlf-utf8bom diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/posix/autocrlf_true,-text/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/binary-all-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,-text/binary-all-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/binary-all-crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows/autocrlf_false,-crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/binary-mixed-lf-cr-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,-crlf/binary-mixed-lf-cr-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/binary-mixed-lf-cr-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_input,-crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/few-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,-crlf/few-utf8-chars-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/few-utf8-chars-crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/posix/autocrlf_input,-crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/many-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,-crlf/many-utf8-chars-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/many-utf8-chars-crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows/autocrlf_false,-crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/mixed-lf-cr-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,-crlf/mixed-lf-cr-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/mixed-lf-cr-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_input,eol_lf/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/more-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,eol_lf/more-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/more-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_input,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/more-crlf-utf8bom similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,eol_lf/more-crlf-utf8bom rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/more-crlf-utf8bom diff --git a/tests/resources/crlf_data/posix/autocrlf_input,eol_lf/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/more-lf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,eol_lf/more-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/more-lf diff --git a/tests/resources/crlf_data/posix/autocrlf_input,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/more-lf-utf8bom similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,eol_lf/more-lf-utf8bom rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/more-lf-utf8bom diff --git a/tests/resources/crlf_data/windows/autocrlf_input,-text/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/zero-byte similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,-text/zero-byte rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-crlf/zero-byte diff --git a/tests/resources/crlf_data/posix/autocrlf_input,-text/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/all-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,-text/all-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/all-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_input,-text/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/all-crlf-utf8bom similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,-text/all-crlf-utf8bom rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/all-crlf-utf8bom diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/posix/autocrlf_true,crlf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/binary-all-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,crlf/binary-all-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/binary-all-crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows/autocrlf_false,-text/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/binary-mixed-lf-cr-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,-text/binary-mixed-lf-cr-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/binary-mixed-lf-cr-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_input,-text/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/few-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,-text/few-utf8-chars-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/few-utf8-chars-crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/posix/autocrlf_input,-text/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/many-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,-text/many-utf8-chars-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/many-utf8-chars-crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows/autocrlf_false,-text/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/mixed-lf-cr-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,-text/mixed-lf-cr-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/mixed-lf-cr-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/more-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/more-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/more-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/more-crlf-utf8bom similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/more-crlf-utf8bom rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/more-crlf-utf8bom diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/more-lf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/more-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/more-lf diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/more-lf-utf8bom similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/more-lf-utf8bom rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/more-lf-utf8bom diff --git a/tests/resources/crlf_data/windows/autocrlf_input,crlf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/zero-byte similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,crlf/zero-byte rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,-text/zero-byte diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/all-crlf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/all-crlf-utf8bom.fail new file mode 100644 index 000000000..213f972a6 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/all-crlf-utf8bom.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'all-crlf-utf8bom' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/all-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/all-crlf.fail new file mode 100644 index 000000000..851ef6c77 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/all-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'all-crlf' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/binary-all-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/binary-all-crlf.fail new file mode 100644 index 000000000..26690f37e --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/binary-all-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'binary-all-crlf' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/binary-mixed-lf-cr-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/binary-mixed-lf-cr-crlf.fail new file mode 100644 index 000000000..c6b706d60 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/binary-mixed-lf-cr-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'binary-mixed-lf-cr-crlf' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/few-utf8-chars-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/few-utf8-chars-crlf.fail new file mode 100644 index 000000000..c23959d76 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/few-utf8-chars-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'few-utf8-chars-crlf' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/many-utf8-chars-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/many-utf8-chars-crlf.fail new file mode 100644 index 000000000..2e093c93e --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/many-utf8-chars-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'many-utf8-chars-crlf' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/mixed-lf-cr-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/mixed-lf-cr-crlf.fail new file mode 100644 index 000000000..3c6cbace0 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/mixed-lf-cr-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'mixed-lf-cr-crlf' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/more-crlf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/more-crlf-utf8bom.fail new file mode 100644 index 000000000..43b93dbe3 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/more-crlf-utf8bom.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'more-crlf-utf8bom' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/more-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/more-crlf.fail new file mode 100644 index 000000000..b1a5dc9e5 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/more-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'more-crlf' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/more-lf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/more-lf-utf8bom.fail new file mode 100644 index 000000000..13c4e3c58 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/more-lf-utf8bom.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'more-lf-utf8bom' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/more-lf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/more-lf.fail new file mode 100644 index 000000000..c964c725a --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/more-lf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'more-lf' diff --git a/tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/zero-byte similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/zero-byte rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,crlf/zero-byte diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/all-crlf new file mode 100644 index 000000000..26e1a742b --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/all-crlf-utf8bom new file mode 100644 index 000000000..32c6f22e3 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/all-lf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/all-lf-utf8bom.fail new file mode 100644 index 000000000..547008e0f --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/all-lf-utf8bom.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'all-lf-utf8bom' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/all-lf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/all-lf.fail new file mode 100644 index 000000000..d992d4720 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/all-lf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'all-lf' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/binary-all-crlf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/binary-all-lf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/binary-all-lf.fail new file mode 100644 index 000000000..180663eca --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/binary-all-lf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'binary-all-lf' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/binary-mixed-lf-cr-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/binary-mixed-lf-cr-crlf.fail new file mode 100644 index 000000000..f87ce3f16 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/binary-mixed-lf-cr-crlf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'binary-mixed-lf-cr-crlf' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/binary-mixed-lf-cr.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/binary-mixed-lf-cr.fail new file mode 100644 index 000000000..63eac58a4 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/binary-mixed-lf-cr.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'binary-mixed-lf-cr' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/few-utf8-chars-crlf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/few-utf8-chars-crlf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/few-utf8-chars-lf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/few-utf8-chars-lf.fail new file mode 100644 index 000000000..fabf46617 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/few-utf8-chars-lf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'few-utf8-chars-lf' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/many-utf8-chars-crlf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/many-utf8-chars-crlf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/many-utf8-chars-lf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/many-utf8-chars-lf.fail new file mode 100644 index 000000000..b874f4bb9 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/many-utf8-chars-lf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'many-utf8-chars-lf' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/mixed-lf-cr-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/mixed-lf-cr-crlf.fail new file mode 100644 index 000000000..a353e0e82 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/mixed-lf-cr-crlf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'mixed-lf-cr-crlf' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/mixed-lf-cr.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/mixed-lf-cr.fail new file mode 100644 index 000000000..0287e3250 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/mixed-lf-cr.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'mixed-lf-cr' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/more-crlf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/more-crlf-utf8bom.fail new file mode 100644 index 000000000..e77b2b976 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/more-crlf-utf8bom.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'more-crlf-utf8bom' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/more-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/more-crlf.fail new file mode 100644 index 000000000..07f50c353 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/more-crlf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'more-crlf' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/more-lf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/more-lf-utf8bom.fail new file mode 100644 index 000000000..6994a8d01 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/more-lf-utf8bom.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'more-lf-utf8bom' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/more-lf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/more-lf.fail new file mode 100644 index 000000000..067a2e896 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/more-lf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'more-lf' diff --git a/tests/resources/crlf_data/windows/autocrlf_input,eol_lf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/zero-byte similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,eol_lf/zero-byte rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_crlf/zero-byte diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/all-crlf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/all-crlf-utf8bom.fail new file mode 100644 index 000000000..213f972a6 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/all-crlf-utf8bom.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'all-crlf-utf8bom' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/all-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/all-crlf.fail new file mode 100644 index 000000000..851ef6c77 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/all-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'all-crlf' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/binary-all-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/binary-all-crlf.fail new file mode 100644 index 000000000..26690f37e --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/binary-all-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'binary-all-crlf' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/binary-mixed-lf-cr-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/binary-mixed-lf-cr-crlf.fail new file mode 100644 index 000000000..c6b706d60 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/binary-mixed-lf-cr-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'binary-mixed-lf-cr-crlf' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/few-utf8-chars-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/few-utf8-chars-crlf.fail new file mode 100644 index 000000000..c23959d76 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/few-utf8-chars-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'few-utf8-chars-crlf' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/many-utf8-chars-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/many-utf8-chars-crlf.fail new file mode 100644 index 000000000..2e093c93e --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/many-utf8-chars-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'many-utf8-chars-crlf' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/mixed-lf-cr-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/mixed-lf-cr-crlf.fail new file mode 100644 index 000000000..3c6cbace0 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/mixed-lf-cr-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'mixed-lf-cr-crlf' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/more-crlf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/more-crlf-utf8bom.fail new file mode 100644 index 000000000..43b93dbe3 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/more-crlf-utf8bom.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'more-crlf-utf8bom' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/more-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/more-crlf.fail new file mode 100644 index 000000000..b1a5dc9e5 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/more-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'more-crlf' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/more-lf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/more-lf-utf8bom.fail new file mode 100644 index 000000000..13c4e3c58 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/more-lf-utf8bom.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'more-lf-utf8bom' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/more-lf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/more-lf.fail new file mode 100644 index 000000000..c964c725a --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/more-lf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'more-lf' diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/zero-byte similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/zero-byte rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,eol_lf/zero-byte diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/all-crlf new file mode 100644 index 000000000..26e1a742b --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/all-crlf-utf8bom new file mode 100644 index 000000000..32c6f22e3 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/all-lf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/all-lf-utf8bom.fail new file mode 100644 index 000000000..547008e0f --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/all-lf-utf8bom.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'all-lf-utf8bom' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/all-lf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/all-lf.fail new file mode 100644 index 000000000..d992d4720 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/all-lf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'all-lf' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/binary-all-crlf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/binary-all-lf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/binary-all-lf.fail new file mode 100644 index 000000000..180663eca --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/binary-all-lf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'binary-all-lf' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/binary-mixed-lf-cr-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/binary-mixed-lf-cr-crlf.fail new file mode 100644 index 000000000..f87ce3f16 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/binary-mixed-lf-cr-crlf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'binary-mixed-lf-cr-crlf' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/binary-mixed-lf-cr.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/binary-mixed-lf-cr.fail new file mode 100644 index 000000000..63eac58a4 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/binary-mixed-lf-cr.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'binary-mixed-lf-cr' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/few-utf8-chars-crlf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/few-utf8-chars-crlf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/few-utf8-chars-lf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/few-utf8-chars-lf.fail new file mode 100644 index 000000000..fabf46617 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/few-utf8-chars-lf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'few-utf8-chars-lf' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/many-utf8-chars-crlf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/many-utf8-chars-crlf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/many-utf8-chars-lf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/many-utf8-chars-lf.fail new file mode 100644 index 000000000..b874f4bb9 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/many-utf8-chars-lf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'many-utf8-chars-lf' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/mixed-lf-cr-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/mixed-lf-cr-crlf.fail new file mode 100644 index 000000000..a353e0e82 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/mixed-lf-cr-crlf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'mixed-lf-cr-crlf' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/mixed-lf-cr.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/mixed-lf-cr.fail new file mode 100644 index 000000000..0287e3250 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/mixed-lf-cr.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'mixed-lf-cr' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/more-crlf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/more-crlf-utf8bom.fail new file mode 100644 index 000000000..e77b2b976 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/more-crlf-utf8bom.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'more-crlf-utf8bom' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/more-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/more-crlf.fail new file mode 100644 index 000000000..07f50c353 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/more-crlf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'more-crlf' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/more-lf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/more-lf-utf8bom.fail new file mode 100644 index 000000000..6994a8d01 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/more-lf-utf8bom.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'more-lf-utf8bom' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/more-lf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/more-lf.fail new file mode 100644 index 000000000..067a2e896 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/more-lf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'more-lf' diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/zero-byte similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/zero-byte rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/zero-byte diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/all-crlf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/all-crlf-utf8bom.fail new file mode 100644 index 000000000..213f972a6 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/all-crlf-utf8bom.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'all-crlf-utf8bom' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/all-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/all-crlf.fail new file mode 100644 index 000000000..851ef6c77 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/all-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'all-crlf' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/binary-all-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/binary-all-crlf.fail new file mode 100644 index 000000000..26690f37e --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/binary-all-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'binary-all-crlf' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/binary-mixed-lf-cr-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/binary-mixed-lf-cr-crlf.fail new file mode 100644 index 000000000..c6b706d60 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/binary-mixed-lf-cr-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'binary-mixed-lf-cr-crlf' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/few-utf8-chars-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/few-utf8-chars-crlf.fail new file mode 100644 index 000000000..c23959d76 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/few-utf8-chars-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'few-utf8-chars-crlf' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/many-utf8-chars-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/many-utf8-chars-crlf.fail new file mode 100644 index 000000000..2e093c93e --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/many-utf8-chars-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'many-utf8-chars-crlf' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/mixed-lf-cr-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/mixed-lf-cr-crlf.fail new file mode 100644 index 000000000..3c6cbace0 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/mixed-lf-cr-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'mixed-lf-cr-crlf' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/more-crlf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/more-crlf-utf8bom.fail new file mode 100644 index 000000000..43b93dbe3 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/more-crlf-utf8bom.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'more-crlf-utf8bom' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/more-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/more-crlf.fail new file mode 100644 index 000000000..b1a5dc9e5 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/more-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'more-crlf' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/more-lf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/more-lf-utf8bom.fail new file mode 100644 index 000000000..13c4e3c58 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/more-lf-utf8bom.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'more-lf-utf8bom' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/more-lf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/more-lf.fail new file mode 100644 index 000000000..c964c725a --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/more-lf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'more-lf' diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/zero-byte similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,text/zero-byte rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/zero-byte diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/all-crlf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/all-crlf-utf8bom.fail new file mode 100644 index 000000000..213f972a6 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/all-crlf-utf8bom.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'all-crlf-utf8bom' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/all-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/all-crlf.fail new file mode 100644 index 000000000..851ef6c77 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/all-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'all-crlf' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/binary-all-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/binary-all-crlf.fail new file mode 100644 index 000000000..26690f37e --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/binary-all-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'binary-all-crlf' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/binary-mixed-lf-cr-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/binary-mixed-lf-cr-crlf.fail new file mode 100644 index 000000000..c6b706d60 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/binary-mixed-lf-cr-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'binary-mixed-lf-cr-crlf' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/few-utf8-chars-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/few-utf8-chars-crlf.fail new file mode 100644 index 000000000..c23959d76 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/few-utf8-chars-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'few-utf8-chars-crlf' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/many-utf8-chars-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/many-utf8-chars-crlf.fail new file mode 100644 index 000000000..2e093c93e --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/many-utf8-chars-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'many-utf8-chars-crlf' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/mixed-lf-cr-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/mixed-lf-cr-crlf.fail new file mode 100644 index 000000000..3c6cbace0 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/mixed-lf-cr-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'mixed-lf-cr-crlf' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/more-crlf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/more-crlf-utf8bom.fail new file mode 100644 index 000000000..43b93dbe3 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/more-crlf-utf8bom.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'more-crlf-utf8bom' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/more-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/more-crlf.fail new file mode 100644 index 000000000..b1a5dc9e5 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/more-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'more-crlf' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/more-lf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/more-lf-utf8bom.fail new file mode 100644 index 000000000..13c4e3c58 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/more-lf-utf8bom.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'more-lf-utf8bom' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/more-lf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/more-lf.fail new file mode 100644 index 000000000..c964c725a --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/more-lf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'more-lf' diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/zero-byte similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/zero-byte rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text/zero-byte diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/all-crlf new file mode 100644 index 000000000..26e1a742b --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/all-crlf-utf8bom new file mode 100644 index 000000000..32c6f22e3 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/all-lf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/all-lf-utf8bom.fail new file mode 100644 index 000000000..547008e0f --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/all-lf-utf8bom.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'all-lf-utf8bom' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/all-lf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/all-lf.fail new file mode 100644 index 000000000..d992d4720 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/all-lf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'all-lf' diff --git a/tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/binary-all-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/binary-all-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/binary-all-crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows/autocrlf_false,eol_lf/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 similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,eol_lf/binary-mixed-lf-cr-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr-crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/few-utf8-chars-crlf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/few-utf8-chars-crlf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/few-utf8-chars-lf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/few-utf8-chars-lf.fail new file mode 100644 index 000000000..fabf46617 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/few-utf8-chars-lf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'few-utf8-chars-lf' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/many-utf8-chars-crlf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/many-utf8-chars-crlf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/many-utf8-chars-lf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/many-utf8-chars-lf.fail new file mode 100644 index 000000000..b874f4bb9 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/many-utf8-chars-lf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'many-utf8-chars-lf' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows/autocrlf_false,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/mixed-lf-cr-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,eol_lf/mixed-lf-cr-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/mixed-lf-cr-crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/more-crlf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/more-crlf-utf8bom.fail new file mode 100644 index 000000000..e77b2b976 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/more-crlf-utf8bom.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'more-crlf-utf8bom' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/more-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/more-crlf.fail new file mode 100644 index 000000000..07f50c353 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/more-crlf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'more-crlf' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/more-lf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/more-lf-utf8bom.fail new file mode 100644 index 000000000..6994a8d01 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/more-lf-utf8bom.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'more-lf-utf8bom' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/more-lf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/more-lf.fail new file mode 100644 index 000000000..067a2e896 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/more-lf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'more-lf' diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/zero-byte similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/zero-byte rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/zero-byte diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/all-crlf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/all-crlf-utf8bom.fail new file mode 100644 index 000000000..213f972a6 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/all-crlf-utf8bom.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'all-crlf-utf8bom' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/all-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/all-crlf.fail new file mode 100644 index 000000000..851ef6c77 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/all-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'all-crlf' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/posix/autocrlf_true,eol_lf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/binary-all-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,eol_lf/binary-all-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/binary-all-crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text,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 similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/binary-mixed-lf-cr-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/binary-mixed-lf-cr-crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/few-utf8-chars-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/few-utf8-chars-crlf.fail new file mode 100644 index 000000000..c23959d76 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/few-utf8-chars-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'few-utf8-chars-crlf' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/many-utf8-chars-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/many-utf8-chars-crlf.fail new file mode 100644 index 000000000..2e093c93e --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/many-utf8-chars-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'many-utf8-chars-crlf' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text,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 similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/mixed-lf-cr-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/mixed-lf-cr-crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/more-crlf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/more-crlf-utf8bom.fail new file mode 100644 index 000000000..43b93dbe3 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/more-crlf-utf8bom.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'more-crlf-utf8bom' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/more-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/more-crlf.fail new file mode 100644 index 000000000..b1a5dc9e5 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/more-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'more-crlf' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/more-lf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/more-lf-utf8bom.fail new file mode 100644 index 000000000..13c4e3c58 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/more-lf-utf8bom.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'more-lf-utf8bom' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/more-lf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/more-lf.fail new file mode 100644 index 000000000..c964c725a --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/more-lf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'more-lf' diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/zero-byte similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,text_auto/zero-byte rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/zero-byte diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/all-crlf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/all-crlf-utf8bom.fail new file mode 100644 index 000000000..213f972a6 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/all-crlf-utf8bom.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'all-crlf-utf8bom' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/all-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/all-crlf.fail new file mode 100644 index 000000000..851ef6c77 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/all-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'all-crlf' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/binary-all-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/binary-all-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/binary-all-crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/binary-mixed-lf-cr-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/binary-mixed-lf-cr-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/binary-mixed-lf-cr-crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/few-utf8-chars-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/few-utf8-chars-crlf.fail new file mode 100644 index 000000000..c23959d76 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/few-utf8-chars-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'few-utf8-chars-crlf' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/many-utf8-chars-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/many-utf8-chars-crlf.fail new file mode 100644 index 000000000..2e093c93e --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/many-utf8-chars-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'many-utf8-chars-crlf' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/mixed-lf-cr-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/mixed-lf-cr-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/mixed-lf-cr-crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/more-crlf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/more-crlf-utf8bom.fail new file mode 100644 index 000000000..43b93dbe3 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/more-crlf-utf8bom.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'more-crlf-utf8bom' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/more-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/more-crlf.fail new file mode 100644 index 000000000..b1a5dc9e5 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/more-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'more-crlf' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/more-lf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/more-lf-utf8bom.fail new file mode 100644 index 000000000..13c4e3c58 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/more-lf-utf8bom.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'more-lf-utf8bom' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/more-lf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/more-lf.fail new file mode 100644 index 000000000..c964c725a --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/more-lf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'more-lf' diff --git a/tests/resources/crlf_data/windows/autocrlf_input/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/zero-byte similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input/zero-byte rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true,text_auto/zero-byte diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/all-crlf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/all-crlf-utf8bom.fail new file mode 100644 index 000000000..213f972a6 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/all-crlf-utf8bom.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'all-crlf-utf8bom' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/all-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/all-crlf.fail new file mode 100644 index 000000000..851ef6c77 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/all-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'all-crlf' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/binary-all-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/binary-all-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/binary-all-crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/binary-mixed-lf-cr-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,text_auto/binary-mixed-lf-cr-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/binary-mixed-lf-cr-crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/few-utf8-chars-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/few-utf8-chars-crlf.fail new file mode 100644 index 000000000..c23959d76 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/few-utf8-chars-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'few-utf8-chars-crlf' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/many-utf8-chars-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/many-utf8-chars-crlf.fail new file mode 100644 index 000000000..2e093c93e --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/many-utf8-chars-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'many-utf8-chars-crlf' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/mixed-lf-cr-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,text_auto/mixed-lf-cr-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/mixed-lf-cr-crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/more-crlf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/more-crlf-utf8bom.fail new file mode 100644 index 000000000..43b93dbe3 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/more-crlf-utf8bom.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'more-crlf-utf8bom' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/more-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/more-crlf.fail new file mode 100644 index 000000000..b1a5dc9e5 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/more-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'more-crlf' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/more-lf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/more-lf-utf8bom.fail new file mode 100644 index 000000000..13c4e3c58 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/more-lf-utf8bom.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'more-lf-utf8bom' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/more-lf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/more-lf.fail new file mode 100644 index 000000000..c964c725a --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/more-lf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'more-lf' diff --git a/tests/resources/crlf_data/windows/autocrlf_true,-crlf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/zero-byte similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true,-crlf/zero-byte rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_true/zero-byte diff --git a/tests/resources/crlf_data/posix/autocrlf_input,crlf/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/all-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,crlf/all-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/all-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_input,crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/all-crlf-utf8bom similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,crlf/all-crlf-utf8bom rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/all-crlf-utf8bom diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/binary-all-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,text/binary-all-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/binary-all-crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows/autocrlf_false/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/binary-mixed-lf-cr-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false/binary-mixed-lf-cr-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/binary-mixed-lf-cr-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_input,crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/few-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,crlf/few-utf8-chars-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/few-utf8-chars-crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/posix/autocrlf_input,crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/many-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,crlf/many-utf8-chars-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/many-utf8-chars-crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows/autocrlf_false/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/mixed-lf-cr-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false/mixed-lf-cr-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/mixed-lf-cr-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/more-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,text/more-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/more-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/more-crlf-utf8bom similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,text/more-crlf-utf8bom rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/more-crlf-utf8bom diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/more-lf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,text/more-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/more-lf diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/more-lf-utf8bom similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,text/more-lf-utf8bom rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/more-lf-utf8bom diff --git a/tests/resources/crlf_data/windows/autocrlf_true,-text/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/zero-byte similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true,-text/zero-byte rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-crlf/zero-byte diff --git a/tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/all-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/all-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/all-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/all-crlf-utf8bom similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/all-crlf-utf8bom rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/all-crlf-utf8bom diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/binary-all-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/binary-all-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/binary-all-crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows/autocrlf_input,-crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/binary-mixed-lf-cr-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,-crlf/binary-mixed-lf-cr-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/binary-mixed-lf-cr-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/few-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/few-utf8-chars-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/few-utf8-chars-crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/many-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/many-utf8-chars-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/many-utf8-chars-crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows/autocrlf_input,-crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/mixed-lf-cr-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,-crlf/mixed-lf-cr-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/mixed-lf-cr-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/more-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/more-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/more-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/more-crlf-utf8bom similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/more-crlf-utf8bom rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/more-crlf-utf8bom diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/more-lf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/more-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/more-lf diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/more-lf-utf8bom similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/more-lf-utf8bom rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/more-lf-utf8bom diff --git a/tests/resources/crlf_data/windows/autocrlf_true,crlf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/zero-byte similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true,crlf/zero-byte rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,-text/zero-byte diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/all-crlf new file mode 100644 index 000000000..26e1a742b --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/all-crlf-utf8bom new file mode 100644 index 000000000..32c6f22e3 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/binary-all-crlf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/few-utf8-chars-crlf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/few-utf8-chars-crlf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/many-utf8-chars-crlf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/many-utf8-chars-crlf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/mixed-lf-cr-crlf new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/more-crlf new file mode 100644 index 000000000..37bb7fa3d --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/more-crlf @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/more-crlf-utf8bom new file mode 100644 index 000000000..16001a14a --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/more-crlf-utf8bom @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/more-lf new file mode 100644 index 000000000..2cda6f203 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/more-lf @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/more-lf-utf8bom new file mode 100644 index 000000000..dc7d82aa0 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/more-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/zero-byte similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/zero-byte rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,crlf/zero-byte diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/all-crlf new file mode 100644 index 000000000..26e1a742b --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/all-crlf-utf8bom new file mode 100644 index 000000000..32c6f22e3 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/binary-all-crlf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/few-utf8-chars-crlf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/few-utf8-chars-crlf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/many-utf8-chars-crlf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/many-utf8-chars-crlf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/mixed-lf-cr-crlf new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/more-crlf new file mode 100644 index 000000000..37bb7fa3d --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/more-crlf @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/more-crlf-utf8bom new file mode 100644 index 000000000..16001a14a --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/more-crlf-utf8bom @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/more-lf new file mode 100644 index 000000000..2cda6f203 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/more-lf @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/more-lf-utf8bom new file mode 100644 index 000000000..dc7d82aa0 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/more-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows/autocrlf_true,eol_lf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/zero-byte similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true,eol_lf/zero-byte rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/zero-byte diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/all-crlf new file mode 100644 index 000000000..26e1a742b --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/all-crlf-utf8bom new file mode 100644 index 000000000..32c6f22e3 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/binary-all-crlf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/few-utf8-chars-crlf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/few-utf8-chars-crlf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/many-utf8-chars-crlf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/many-utf8-chars-crlf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/mixed-lf-cr-crlf new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/more-crlf new file mode 100644 index 000000000..37bb7fa3d --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/more-crlf @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/more-crlf-utf8bom new file mode 100644 index 000000000..16001a14a --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/more-crlf-utf8bom @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/more-lf new file mode 100644 index 000000000..2cda6f203 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/more-lf @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/more-lf-utf8bom new file mode 100644 index 000000000..dc7d82aa0 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/more-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/zero-byte similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/zero-byte rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,eol_lf/zero-byte diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/all-crlf new file mode 100644 index 000000000..26e1a742b --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/all-crlf-utf8bom new file mode 100644 index 000000000..32c6f22e3 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/binary-all-crlf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/few-utf8-chars-crlf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/few-utf8-chars-crlf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/many-utf8-chars-crlf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/many-utf8-chars-crlf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/mixed-lf-cr-crlf new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/more-crlf new file mode 100644 index 000000000..37bb7fa3d --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/more-crlf @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/more-crlf-utf8bom new file mode 100644 index 000000000..16001a14a --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/more-crlf-utf8bom @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/more-lf new file mode 100644 index 000000000..2cda6f203 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/more-lf @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/more-lf-utf8bom new file mode 100644 index 000000000..dc7d82aa0 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/more-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/zero-byte similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/zero-byte rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/zero-byte diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/all-crlf new file mode 100644 index 000000000..26e1a742b --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/all-crlf-utf8bom new file mode 100644 index 000000000..32c6f22e3 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/binary-all-crlf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/few-utf8-chars-crlf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/few-utf8-chars-crlf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/many-utf8-chars-crlf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/many-utf8-chars-crlf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/mixed-lf-cr-crlf new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/more-crlf new file mode 100644 index 000000000..37bb7fa3d --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/more-crlf @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/more-crlf-utf8bom new file mode 100644 index 000000000..16001a14a --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/more-crlf-utf8bom @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/more-lf new file mode 100644 index 000000000..2cda6f203 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/more-lf @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/more-lf-utf8bom new file mode 100644 index 000000000..dc7d82aa0 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/more-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/zero-byte similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true,text/zero-byte rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/zero-byte diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/all-crlf new file mode 100644 index 000000000..26e1a742b --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/all-crlf-utf8bom new file mode 100644 index 000000000..32c6f22e3 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/binary-all-crlf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/few-utf8-chars-crlf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/few-utf8-chars-crlf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/many-utf8-chars-crlf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/many-utf8-chars-crlf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/mixed-lf-cr-crlf new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/more-crlf new file mode 100644 index 000000000..37bb7fa3d --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/more-crlf @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/more-crlf-utf8bom new file mode 100644 index 000000000..16001a14a --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/more-crlf-utf8bom @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/more-lf new file mode 100644 index 000000000..2cda6f203 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/more-lf @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/more-lf-utf8bom new file mode 100644 index 000000000..dc7d82aa0 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/more-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/zero-byte similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/zero-byte rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text/zero-byte diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/all-crlf new file mode 100644 index 000000000..26e1a742b --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/all-crlf-utf8bom new file mode 100644 index 000000000..32c6f22e3 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/binary-all-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/binary-all-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/binary-all-crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows/autocrlf_input,-text/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 similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,-text/binary-mixed-lf-cr-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/binary-mixed-lf-cr-crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/few-utf8-chars-crlf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/few-utf8-chars-crlf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/many-utf8-chars-crlf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/many-utf8-chars-crlf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows/autocrlf_input,-text/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/mixed-lf-cr-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,-text/mixed-lf-cr-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/mixed-lf-cr-crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/more-crlf new file mode 100644 index 000000000..37bb7fa3d --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/more-crlf @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/more-crlf-utf8bom new file mode 100644 index 000000000..16001a14a --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/more-crlf-utf8bom @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/more-lf new file mode 100644 index 000000000..2cda6f203 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/more-lf @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/more-lf-utf8bom new file mode 100644 index 000000000..dc7d82aa0 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/more-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/zero-byte similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/zero-byte rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/zero-byte diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/all-crlf new file mode 100644 index 000000000..26e1a742b --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/all-crlf-utf8bom new file mode 100644 index 000000000..32c6f22e3 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/binary-all-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,text_auto/binary-all-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/binary-all-crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows/autocrlf_input,crlf/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 similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,crlf/binary-mixed-lf-cr-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/binary-mixed-lf-cr-crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/few-utf8-chars-crlf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/few-utf8-chars-crlf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/many-utf8-chars-crlf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/many-utf8-chars-crlf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows/autocrlf_input,crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/mixed-lf-cr-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,crlf/mixed-lf-cr-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/mixed-lf-cr-crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/more-crlf new file mode 100644 index 000000000..37bb7fa3d --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/more-crlf @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/more-crlf-utf8bom new file mode 100644 index 000000000..16001a14a --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/more-crlf-utf8bom @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/more-lf new file mode 100644 index 000000000..2cda6f203 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/more-lf @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/more-lf-utf8bom new file mode 100644 index 000000000..dc7d82aa0 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/more-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/zero-byte similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true,text_auto/zero-byte rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/zero-byte diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/all-crlf new file mode 100644 index 000000000..26e1a742b --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/all-crlf-utf8bom new file mode 100644 index 000000000..32c6f22e3 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/posix/autocrlf_true/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/binary-all-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true/binary-all-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/binary-all-crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows/autocrlf_input,eol_lf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/binary-mixed-lf-cr-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,eol_lf/binary-mixed-lf-cr-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/binary-mixed-lf-cr-crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/few-utf8-chars-crlf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/few-utf8-chars-crlf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/many-utf8-chars-crlf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/many-utf8-chars-crlf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows/autocrlf_input,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/mixed-lf-cr-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,eol_lf/mixed-lf-cr-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/mixed-lf-cr-crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/more-crlf new file mode 100644 index 000000000..37bb7fa3d --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/more-crlf @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/more-crlf-utf8bom new file mode 100644 index 000000000..16001a14a --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/more-crlf-utf8bom @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/more-lf new file mode 100644 index 000000000..2cda6f203 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/more-lf @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/more-lf-utf8bom new file mode 100644 index 000000000..dc7d82aa0 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/more-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows/autocrlf_true/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/zero-byte similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true/zero-byte rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn,text_auto/zero-byte diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/all-crlf new file mode 100644 index 000000000..26e1a742b --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/all-crlf-utf8bom new file mode 100644 index 000000000..32c6f22e3 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows/autocrlf_false,-crlf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/binary-all-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,-crlf/binary-all-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/binary-all-crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/binary-mixed-lf-cr-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/binary-mixed-lf-cr-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/binary-mixed-lf-cr-crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/few-utf8-chars-crlf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/few-utf8-chars-crlf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/many-utf8-chars-crlf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/many-utf8-chars-crlf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/mixed-lf-cr-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/mixed-lf-cr-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/mixed-lf-cr-crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/more-crlf new file mode 100644 index 000000000..37bb7fa3d --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/more-crlf @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/more-crlf-utf8bom new file mode 100644 index 000000000..16001a14a --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/more-crlf-utf8bom @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/more-lf new file mode 100644 index 000000000..2cda6f203 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/more-lf @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/more-lf-utf8bom new file mode 100644 index 000000000..dc7d82aa0 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/more-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_input,safecrlf_warn/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/posix/autocrlf_input,eol_lf/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/all-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,eol_lf/all-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/all-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_input,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/all-crlf-utf8bom similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,eol_lf/all-crlf-utf8bom rename to tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/all-crlf-utf8bom diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows/autocrlf_false,-text/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/binary-all-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,-text/binary-all-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/binary-all-crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/binary-mixed-lf-cr-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,text/binary-mixed-lf-cr-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/binary-mixed-lf-cr-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_input,eol_lf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/few-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,eol_lf/few-utf8-chars-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/few-utf8-chars-crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/posix/autocrlf_input,eol_lf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/many-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,eol_lf/many-utf8-chars-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/many-utf8-chars-crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/mixed-lf-cr-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,text/mixed-lf-cr-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/mixed-lf-cr-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/more-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,text_auto/more-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/more-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/more-crlf-utf8bom similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,text_auto/more-crlf-utf8bom rename to tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/more-crlf-utf8bom diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/more-lf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,text_auto/more-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/more-lf diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/more-lf-utf8bom similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,text_auto/more-lf-utf8bom rename to tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/more-lf-utf8bom diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-crlf/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/all-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/all-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/all-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/all-crlf-utf8bom similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/all-crlf-utf8bom rename to tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/all-crlf-utf8bom diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows/autocrlf_false,crlf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/binary-all-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,crlf/binary-all-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/binary-all-crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/binary-mixed-lf-cr-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/binary-mixed-lf-cr-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/binary-mixed-lf-cr-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/few-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/few-utf8-chars-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/few-utf8-chars-crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/many-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/many-utf8-chars-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/many-utf8-chars-crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/mixed-lf-cr-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/mixed-lf-cr-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/mixed-lf-cr-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_input/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/more-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input/more-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/more-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_input/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/more-crlf-utf8bom similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input/more-crlf-utf8bom rename to tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/more-crlf-utf8bom diff --git a/tests/resources/crlf_data/posix/autocrlf_input/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/more-lf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input/more-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/more-lf diff --git a/tests/resources/crlf_data/posix/autocrlf_input/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/more-lf-utf8bom similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input/more-lf-utf8bom rename to tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/more-lf-utf8bom diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,-text/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/all-crlf new file mode 100644 index 000000000..26e1a742b --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/all-crlf-utf8bom new file mode 100644 index 000000000..32c6f22e3 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/binary-all-crlf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/few-utf8-chars-crlf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/few-utf8-chars-crlf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/many-utf8-chars-crlf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/many-utf8-chars-crlf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/mixed-lf-cr-crlf new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/more-crlf new file mode 100644 index 000000000..37bb7fa3d --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/more-crlf @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/more-crlf-utf8bom new file mode 100644 index 000000000..16001a14a --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/more-crlf-utf8bom @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/more-lf new file mode 100644 index 000000000..2cda6f203 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/more-lf @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/more-lf-utf8bom new file mode 100644 index 000000000..dc7d82aa0 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/more-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,crlf/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/all-crlf new file mode 100644 index 000000000..26e1a742b --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/all-crlf-utf8bom new file mode 100644 index 000000000..32c6f22e3 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/binary-all-crlf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/few-utf8-chars-crlf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/few-utf8-chars-crlf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/many-utf8-chars-crlf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/many-utf8-chars-crlf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/mixed-lf-cr-crlf new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/more-crlf new file mode 100644 index 000000000..37bb7fa3d --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/more-crlf @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/more-crlf-utf8bom new file mode 100644 index 000000000..16001a14a --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/more-crlf-utf8bom @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/more-lf new file mode 100644 index 000000000..2cda6f203 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/more-lf @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/more-lf-utf8bom new file mode 100644 index 000000000..dc7d82aa0 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/more-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_crlf/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/all-crlf new file mode 100644 index 000000000..26e1a742b --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/all-crlf-utf8bom new file mode 100644 index 000000000..32c6f22e3 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/binary-all-crlf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/few-utf8-chars-crlf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/few-utf8-chars-crlf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/many-utf8-chars-crlf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/many-utf8-chars-crlf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/mixed-lf-cr-crlf new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/more-crlf new file mode 100644 index 000000000..37bb7fa3d --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/more-crlf @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/more-crlf-utf8bom new file mode 100644 index 000000000..16001a14a --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/more-crlf-utf8bom @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/more-lf new file mode 100644 index 000000000..2cda6f203 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/more-lf @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/more-lf-utf8bom new file mode 100644 index 000000000..dc7d82aa0 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/more-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,eol_lf/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/all-crlf new file mode 100644 index 000000000..26e1a742b --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/all-crlf-utf8bom new file mode 100644 index 000000000..32c6f22e3 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/binary-all-crlf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/few-utf8-chars-crlf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/few-utf8-chars-crlf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/many-utf8-chars-crlf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/many-utf8-chars-crlf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/mixed-lf-cr-crlf new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/more-crlf new file mode 100644 index 000000000..37bb7fa3d --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/more-crlf @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/more-crlf-utf8bom new file mode 100644 index 000000000..16001a14a --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/more-crlf-utf8bom @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/more-lf new file mode 100644 index 000000000..2cda6f203 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/more-lf @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/more-lf-utf8bom new file mode 100644 index 000000000..dc7d82aa0 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/more-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/all-crlf new file mode 100644 index 000000000..26e1a742b --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/all-crlf-utf8bom new file mode 100644 index 000000000..32c6f22e3 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/binary-all-crlf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/few-utf8-chars-crlf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/few-utf8-chars-crlf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/many-utf8-chars-crlf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/many-utf8-chars-crlf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/mixed-lf-cr-crlf new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/more-crlf new file mode 100644 index 000000000..37bb7fa3d --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/more-crlf @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/more-crlf-utf8bom new file mode 100644 index 000000000..16001a14a --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/more-crlf-utf8bom @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/more-lf new file mode 100644 index 000000000..2cda6f203 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/more-lf @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/more-lf-utf8bom new file mode 100644 index 000000000..dc7d82aa0 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/more-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/all-crlf new file mode 100644 index 000000000..26e1a742b --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/all-crlf-utf8bom new file mode 100644 index 000000000..32c6f22e3 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/binary-all-crlf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/few-utf8-chars-crlf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/few-utf8-chars-crlf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/many-utf8-chars-crlf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/many-utf8-chars-crlf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/mixed-lf-cr-crlf new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/more-crlf new file mode 100644 index 000000000..37bb7fa3d --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/more-crlf @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/more-crlf-utf8bom new file mode 100644 index 000000000..16001a14a --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/more-crlf-utf8bom @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/more-lf new file mode 100644 index 000000000..2cda6f203 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/more-lf @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/more-lf-utf8bom new file mode 100644 index 000000000..dc7d82aa0 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/more-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/all-crlf new file mode 100644 index 000000000..26e1a742b --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/all-crlf-utf8bom new file mode 100644 index 000000000..32c6f22e3 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/binary-all-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/binary-all-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/binary-all-crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto/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 similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,text_auto/binary-mixed-lf-cr-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr-crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/few-utf8-chars-crlf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/few-utf8-chars-crlf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/many-utf8-chars-crlf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/many-utf8-chars-crlf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/mixed-lf-cr-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,text_auto/mixed-lf-cr-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/mixed-lf-cr-crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/more-crlf new file mode 100644 index 000000000..37bb7fa3d --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/more-crlf @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/more-crlf-utf8bom new file mode 100644 index 000000000..16001a14a --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/more-crlf-utf8bom @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/more-lf new file mode 100644 index 000000000..2cda6f203 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/more-lf @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/more-lf-utf8bom new file mode 100644 index 000000000..dc7d82aa0 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/more-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/all-crlf new file mode 100644 index 000000000..26e1a742b --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/all-crlf-utf8bom new file mode 100644 index 000000000..32c6f22e3 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows/autocrlf_false,eol_lf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/binary-all-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,eol_lf/binary-all-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/binary-all-crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows/autocrlf_input/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 similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input/binary-mixed-lf-cr-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/binary-mixed-lf-cr-crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/few-utf8-chars-crlf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/few-utf8-chars-crlf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/many-utf8-chars-crlf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/many-utf8-chars-crlf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows/autocrlf_input/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/mixed-lf-cr-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input/mixed-lf-cr-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/mixed-lf-cr-crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/more-crlf new file mode 100644 index 000000000..37bb7fa3d --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/more-crlf @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/more-crlf-utf8bom new file mode 100644 index 000000000..16001a14a --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/more-crlf-utf8bom @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/more-lf new file mode 100644 index 000000000..2cda6f203 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/more-lf @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/more-lf-utf8bom new file mode 100644 index 000000000..dc7d82aa0 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/more-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/all-crlf new file mode 100644 index 000000000..26e1a742b --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/all-crlf-utf8bom new file mode 100644 index 000000000..32c6f22e3 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/binary-all-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/binary-all-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/binary-all-crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows/autocrlf_true,-crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/binary-mixed-lf-cr-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true,-crlf/binary-mixed-lf-cr-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/binary-mixed-lf-cr-crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/few-utf8-chars-crlf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/few-utf8-chars-crlf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/many-utf8-chars-crlf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/many-utf8-chars-crlf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows/autocrlf_true,-crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/mixed-lf-cr-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true,-crlf/mixed-lf-cr-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/mixed-lf-cr-crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/more-crlf new file mode 100644 index 000000000..37bb7fa3d --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/more-crlf @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/more-crlf-utf8bom new file mode 100644 index 000000000..16001a14a --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/more-crlf-utf8bom @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/more-lf new file mode 100644 index 000000000..2cda6f203 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/more-lf @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/more-lf-utf8bom new file mode 100644 index 000000000..dc7d82aa0 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/more-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false,text_auto/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/all-crlf new file mode 100644 index 000000000..26e1a742b --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/all-crlf-utf8bom new file mode 100644 index 000000000..32c6f22e3 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/binary-all-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/binary-all-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/binary-all-crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows/autocrlf_true,-text/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/binary-mixed-lf-cr-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true,-text/binary-mixed-lf-cr-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/binary-mixed-lf-cr-crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/few-utf8-chars-crlf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/few-utf8-chars-crlf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/many-utf8-chars-crlf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/many-utf8-chars-crlf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows/autocrlf_true,-text/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/mixed-lf-cr-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true,-text/mixed-lf-cr-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/mixed-lf-cr-crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/more-crlf new file mode 100644 index 000000000..37bb7fa3d --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/more-crlf @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/more-crlf-utf8bom new file mode 100644 index 000000000..16001a14a --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/more-crlf-utf8bom @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/more-lf new file mode 100644 index 000000000..2cda6f203 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/more-lf @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/more-lf-utf8bom new file mode 100644 index 000000000..dc7d82aa0 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/more-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_false/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/all-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/all-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/all-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/all-crlf-utf8bom similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/all-crlf-utf8bom rename to tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/all-crlf-utf8bom diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/binary-all-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,text/binary-all-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/binary-all-crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows/autocrlf_true,eol_lf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/binary-mixed-lf-cr-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true,eol_lf/binary-mixed-lf-cr-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/binary-mixed-lf-cr-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/few-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/few-utf8-chars-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/few-utf8-chars-crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/many-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,text,eol_lf/many-utf8-chars-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/many-utf8-chars-crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows/autocrlf_true,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/mixed-lf-cr-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true,eol_lf/mixed-lf-cr-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/mixed-lf-cr-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_true,-crlf/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/more-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,-crlf/more-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/more-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_true,-crlf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/more-crlf-utf8bom similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,-crlf/more-crlf-utf8bom rename to tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/more-crlf-utf8bom diff --git a/tests/resources/crlf_data/posix/autocrlf_true,-crlf/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/more-lf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,-crlf/more-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/more-lf diff --git a/tests/resources/crlf_data/posix/autocrlf_true,-crlf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/more-lf-utf8bom similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,-crlf/more-lf-utf8bom rename to tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/more-lf-utf8bom diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-crlf/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/all-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,text/all-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/all-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/all-crlf-utf8bom similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,text/all-crlf-utf8bom rename to tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/all-crlf-utf8bom diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/binary-all-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/binary-all-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/binary-all-crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/binary-mixed-lf-cr-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/binary-mixed-lf-cr-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/binary-mixed-lf-cr-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/few-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,text/few-utf8-chars-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/few-utf8-chars-crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/many-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,text/many-utf8-chars-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/many-utf8-chars-crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/mixed-lf-cr-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/mixed-lf-cr-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/mixed-lf-cr-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_true,-text/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/more-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,-text/more-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/more-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_true,-text/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/more-crlf-utf8bom similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,-text/more-crlf-utf8bom rename to tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/more-crlf-utf8bom diff --git a/tests/resources/crlf_data/posix/autocrlf_true,-text/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/more-lf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,-text/more-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/more-lf diff --git a/tests/resources/crlf_data/posix/autocrlf_true,-text/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/more-lf-utf8bom similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,-text/more-lf-utf8bom rename to tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/more-lf-utf8bom diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,-text/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/all-crlf new file mode 100644 index 000000000..26e1a742b --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/all-crlf-utf8bom new file mode 100644 index 000000000..32c6f22e3 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/all-lf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/all-lf-utf8bom.fail new file mode 100644 index 000000000..547008e0f --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/all-lf-utf8bom.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'all-lf-utf8bom' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/all-lf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/all-lf.fail new file mode 100644 index 000000000..d992d4720 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/all-lf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'all-lf' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/binary-all-crlf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/binary-all-lf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/binary-all-lf.fail new file mode 100644 index 000000000..180663eca --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/binary-all-lf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'binary-all-lf' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/binary-mixed-lf-cr-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/binary-mixed-lf-cr-crlf.fail new file mode 100644 index 000000000..f87ce3f16 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/binary-mixed-lf-cr-crlf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'binary-mixed-lf-cr-crlf' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/binary-mixed-lf-cr.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/binary-mixed-lf-cr.fail new file mode 100644 index 000000000..63eac58a4 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/binary-mixed-lf-cr.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'binary-mixed-lf-cr' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/few-utf8-chars-crlf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/few-utf8-chars-crlf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/few-utf8-chars-lf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/few-utf8-chars-lf.fail new file mode 100644 index 000000000..fabf46617 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/few-utf8-chars-lf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'few-utf8-chars-lf' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/many-utf8-chars-crlf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/many-utf8-chars-crlf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/many-utf8-chars-lf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/many-utf8-chars-lf.fail new file mode 100644 index 000000000..b874f4bb9 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/many-utf8-chars-lf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'many-utf8-chars-lf' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/mixed-lf-cr-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/mixed-lf-cr-crlf.fail new file mode 100644 index 000000000..a353e0e82 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/mixed-lf-cr-crlf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'mixed-lf-cr-crlf' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/mixed-lf-cr.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/mixed-lf-cr.fail new file mode 100644 index 000000000..0287e3250 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/mixed-lf-cr.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'mixed-lf-cr' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/more-crlf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/more-crlf-utf8bom.fail new file mode 100644 index 000000000..e77b2b976 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/more-crlf-utf8bom.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'more-crlf-utf8bom' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/more-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/more-crlf.fail new file mode 100644 index 000000000..07f50c353 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/more-crlf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'more-crlf' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/more-lf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/more-lf-utf8bom.fail new file mode 100644 index 000000000..6994a8d01 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/more-lf-utf8bom.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'more-lf-utf8bom' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/more-lf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/more-lf.fail new file mode 100644 index 000000000..067a2e896 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/more-lf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'more-lf' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,crlf/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/all-crlf new file mode 100644 index 000000000..26e1a742b --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/all-crlf-utf8bom new file mode 100644 index 000000000..32c6f22e3 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/all-lf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/all-lf-utf8bom.fail new file mode 100644 index 000000000..547008e0f --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/all-lf-utf8bom.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'all-lf-utf8bom' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/all-lf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/all-lf.fail new file mode 100644 index 000000000..d992d4720 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/all-lf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'all-lf' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/binary-all-crlf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/binary-all-lf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/binary-all-lf.fail new file mode 100644 index 000000000..180663eca --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/binary-all-lf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'binary-all-lf' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/binary-mixed-lf-cr-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/binary-mixed-lf-cr-crlf.fail new file mode 100644 index 000000000..f87ce3f16 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/binary-mixed-lf-cr-crlf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'binary-mixed-lf-cr-crlf' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/binary-mixed-lf-cr.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/binary-mixed-lf-cr.fail new file mode 100644 index 000000000..63eac58a4 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/binary-mixed-lf-cr.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'binary-mixed-lf-cr' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/few-utf8-chars-crlf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/few-utf8-chars-crlf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/few-utf8-chars-lf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/few-utf8-chars-lf.fail new file mode 100644 index 000000000..fabf46617 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/few-utf8-chars-lf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'few-utf8-chars-lf' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/many-utf8-chars-crlf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/many-utf8-chars-crlf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/many-utf8-chars-lf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/many-utf8-chars-lf.fail new file mode 100644 index 000000000..b874f4bb9 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/many-utf8-chars-lf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'many-utf8-chars-lf' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/mixed-lf-cr-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/mixed-lf-cr-crlf.fail new file mode 100644 index 000000000..a353e0e82 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/mixed-lf-cr-crlf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'mixed-lf-cr-crlf' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/mixed-lf-cr.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/mixed-lf-cr.fail new file mode 100644 index 000000000..0287e3250 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/mixed-lf-cr.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'mixed-lf-cr' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/more-crlf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/more-crlf-utf8bom.fail new file mode 100644 index 000000000..e77b2b976 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/more-crlf-utf8bom.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'more-crlf-utf8bom' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/more-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/more-crlf.fail new file mode 100644 index 000000000..07f50c353 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/more-crlf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'more-crlf' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/more-lf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/more-lf-utf8bom.fail new file mode 100644 index 000000000..6994a8d01 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/more-lf-utf8bom.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'more-lf-utf8bom' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/more-lf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/more-lf.fail new file mode 100644 index 000000000..067a2e896 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/more-lf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'more-lf' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_crlf/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/all-crlf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/all-crlf-utf8bom.fail new file mode 100644 index 000000000..213f972a6 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/all-crlf-utf8bom.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'all-crlf-utf8bom' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/all-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/all-crlf.fail new file mode 100644 index 000000000..851ef6c77 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/all-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'all-crlf' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/binary-all-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/binary-all-crlf.fail new file mode 100644 index 000000000..26690f37e --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/binary-all-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'binary-all-crlf' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/binary-mixed-lf-cr-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/binary-mixed-lf-cr-crlf.fail new file mode 100644 index 000000000..c6b706d60 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/binary-mixed-lf-cr-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'binary-mixed-lf-cr-crlf' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/few-utf8-chars-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/few-utf8-chars-crlf.fail new file mode 100644 index 000000000..c23959d76 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/few-utf8-chars-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'few-utf8-chars-crlf' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/many-utf8-chars-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/many-utf8-chars-crlf.fail new file mode 100644 index 000000000..2e093c93e --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/many-utf8-chars-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'many-utf8-chars-crlf' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/mixed-lf-cr-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/mixed-lf-cr-crlf.fail new file mode 100644 index 000000000..3c6cbace0 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/mixed-lf-cr-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'mixed-lf-cr-crlf' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/more-crlf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/more-crlf-utf8bom.fail new file mode 100644 index 000000000..43b93dbe3 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/more-crlf-utf8bom.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'more-crlf-utf8bom' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/more-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/more-crlf.fail new file mode 100644 index 000000000..b1a5dc9e5 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/more-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'more-crlf' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/more-lf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/more-lf-utf8bom.fail new file mode 100644 index 000000000..13c4e3c58 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/more-lf-utf8bom.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'more-lf-utf8bom' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/more-lf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/more-lf.fail new file mode 100644 index 000000000..c964c725a --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/more-lf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'more-lf' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,eol_lf/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/all-crlf new file mode 100644 index 000000000..26e1a742b --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/all-crlf-utf8bom new file mode 100644 index 000000000..32c6f22e3 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/all-lf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/all-lf-utf8bom.fail new file mode 100644 index 000000000..547008e0f --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/all-lf-utf8bom.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'all-lf-utf8bom' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/all-lf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/all-lf.fail new file mode 100644 index 000000000..d992d4720 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/all-lf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'all-lf' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/binary-all-crlf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/binary-all-lf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/binary-all-lf.fail new file mode 100644 index 000000000..180663eca --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/binary-all-lf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'binary-all-lf' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/binary-mixed-lf-cr-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/binary-mixed-lf-cr-crlf.fail new file mode 100644 index 000000000..f87ce3f16 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/binary-mixed-lf-cr-crlf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'binary-mixed-lf-cr-crlf' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/binary-mixed-lf-cr.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/binary-mixed-lf-cr.fail new file mode 100644 index 000000000..63eac58a4 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/binary-mixed-lf-cr.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'binary-mixed-lf-cr' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/few-utf8-chars-crlf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/few-utf8-chars-crlf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/few-utf8-chars-lf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/few-utf8-chars-lf.fail new file mode 100644 index 000000000..fabf46617 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/few-utf8-chars-lf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'few-utf8-chars-lf' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/many-utf8-chars-crlf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/many-utf8-chars-crlf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/many-utf8-chars-lf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/many-utf8-chars-lf.fail new file mode 100644 index 000000000..b874f4bb9 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/many-utf8-chars-lf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'many-utf8-chars-lf' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/mixed-lf-cr-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/mixed-lf-cr-crlf.fail new file mode 100644 index 000000000..a353e0e82 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/mixed-lf-cr-crlf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'mixed-lf-cr-crlf' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/mixed-lf-cr.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/mixed-lf-cr.fail new file mode 100644 index 000000000..0287e3250 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/mixed-lf-cr.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'mixed-lf-cr' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/more-crlf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/more-crlf-utf8bom.fail new file mode 100644 index 000000000..e77b2b976 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/more-crlf-utf8bom.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'more-crlf-utf8bom' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/more-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/more-crlf.fail new file mode 100644 index 000000000..07f50c353 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/more-crlf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'more-crlf' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/more-lf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/more-lf-utf8bom.fail new file mode 100644 index 000000000..6994a8d01 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/more-lf-utf8bom.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'more-lf-utf8bom' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/more-lf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/more-lf.fail new file mode 100644 index 000000000..067a2e896 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/more-lf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'more-lf' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/all-crlf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/all-crlf-utf8bom.fail new file mode 100644 index 000000000..213f972a6 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/all-crlf-utf8bom.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'all-crlf-utf8bom' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/all-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/all-crlf.fail new file mode 100644 index 000000000..851ef6c77 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/all-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'all-crlf' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/binary-all-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/binary-all-crlf.fail new file mode 100644 index 000000000..26690f37e --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/binary-all-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'binary-all-crlf' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/binary-mixed-lf-cr-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/binary-mixed-lf-cr-crlf.fail new file mode 100644 index 000000000..c6b706d60 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/binary-mixed-lf-cr-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'binary-mixed-lf-cr-crlf' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/few-utf8-chars-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/few-utf8-chars-crlf.fail new file mode 100644 index 000000000..c23959d76 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/few-utf8-chars-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'few-utf8-chars-crlf' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/many-utf8-chars-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/many-utf8-chars-crlf.fail new file mode 100644 index 000000000..2e093c93e --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/many-utf8-chars-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'many-utf8-chars-crlf' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/mixed-lf-cr-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/mixed-lf-cr-crlf.fail new file mode 100644 index 000000000..3c6cbace0 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/mixed-lf-cr-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'mixed-lf-cr-crlf' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/more-crlf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/more-crlf-utf8bom.fail new file mode 100644 index 000000000..43b93dbe3 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/more-crlf-utf8bom.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'more-crlf-utf8bom' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/more-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/more-crlf.fail new file mode 100644 index 000000000..b1a5dc9e5 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/more-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'more-crlf' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/more-lf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/more-lf-utf8bom.fail new file mode 100644 index 000000000..13c4e3c58 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/more-lf-utf8bom.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'more-lf-utf8bom' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/more-lf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/more-lf.fail new file mode 100644 index 000000000..c964c725a --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/more-lf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'more-lf' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/all-crlf new file mode 100644 index 000000000..26e1a742b --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/all-crlf-utf8bom new file mode 100644 index 000000000..32c6f22e3 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/all-lf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/all-lf-utf8bom.fail new file mode 100644 index 000000000..547008e0f --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/all-lf-utf8bom.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'all-lf-utf8bom' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/all-lf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/all-lf.fail new file mode 100644 index 000000000..d992d4720 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/all-lf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'all-lf' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/binary-all-crlf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/binary-all-lf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/binary-all-lf.fail new file mode 100644 index 000000000..180663eca --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/binary-all-lf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'binary-all-lf' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/binary-mixed-lf-cr-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/binary-mixed-lf-cr-crlf.fail new file mode 100644 index 000000000..f87ce3f16 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/binary-mixed-lf-cr-crlf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'binary-mixed-lf-cr-crlf' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/binary-mixed-lf-cr.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/binary-mixed-lf-cr.fail new file mode 100644 index 000000000..63eac58a4 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/binary-mixed-lf-cr.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'binary-mixed-lf-cr' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/few-utf8-chars-crlf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/few-utf8-chars-crlf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/few-utf8-chars-lf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/few-utf8-chars-lf.fail new file mode 100644 index 000000000..fabf46617 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/few-utf8-chars-lf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'few-utf8-chars-lf' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/many-utf8-chars-crlf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/many-utf8-chars-crlf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/many-utf8-chars-lf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/many-utf8-chars-lf.fail new file mode 100644 index 000000000..b874f4bb9 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/many-utf8-chars-lf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'many-utf8-chars-lf' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/mixed-lf-cr-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/mixed-lf-cr-crlf.fail new file mode 100644 index 000000000..a353e0e82 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/mixed-lf-cr-crlf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'mixed-lf-cr-crlf' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/mixed-lf-cr.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/mixed-lf-cr.fail new file mode 100644 index 000000000..0287e3250 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/mixed-lf-cr.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'mixed-lf-cr' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/more-crlf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/more-crlf-utf8bom.fail new file mode 100644 index 000000000..e77b2b976 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/more-crlf-utf8bom.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'more-crlf-utf8bom' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/more-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/more-crlf.fail new file mode 100644 index 000000000..07f50c353 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/more-crlf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'more-crlf' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/more-lf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/more-lf-utf8bom.fail new file mode 100644 index 000000000..6994a8d01 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/more-lf-utf8bom.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'more-lf-utf8bom' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/more-lf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/more-lf.fail new file mode 100644 index 000000000..067a2e896 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/more-lf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'more-lf' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/all-crlf new file mode 100644 index 000000000..26e1a742b --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/all-crlf-utf8bom new file mode 100644 index 000000000..32c6f22e3 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/all-lf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/all-lf-utf8bom.fail new file mode 100644 index 000000000..547008e0f --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/all-lf-utf8bom.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'all-lf-utf8bom' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/all-lf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/all-lf.fail new file mode 100644 index 000000000..d992d4720 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/all-lf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'all-lf' diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/binary-all-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/binary-all-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/binary-all-crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows/autocrlf_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_crlf/binary-mixed-lf-cr-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/binary-mixed-lf-cr-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr-crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/few-utf8-chars-crlf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/few-utf8-chars-crlf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/few-utf8-chars-lf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/few-utf8-chars-lf.fail new file mode 100644 index 000000000..fabf46617 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/few-utf8-chars-lf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'few-utf8-chars-lf' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/many-utf8-chars-crlf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/many-utf8-chars-crlf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/many-utf8-chars-lf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/many-utf8-chars-lf.fail new file mode 100644 index 000000000..b874f4bb9 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/many-utf8-chars-lf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'many-utf8-chars-lf' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/mixed-lf-cr-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/mixed-lf-cr-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/mixed-lf-cr-crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/more-crlf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/more-crlf-utf8bom.fail new file mode 100644 index 000000000..e77b2b976 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/more-crlf-utf8bom.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'more-crlf-utf8bom' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/more-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/more-crlf.fail new file mode 100644 index 000000000..07f50c353 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/more-crlf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'more-crlf' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/more-lf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/more-lf-utf8bom.fail new file mode 100644 index 000000000..6994a8d01 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/more-lf-utf8bom.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'more-lf-utf8bom' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/more-lf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/more-lf.fail new file mode 100644 index 000000000..067a2e896 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/more-lf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'more-lf' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/all-crlf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/all-crlf-utf8bom.fail new file mode 100644 index 000000000..213f972a6 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/all-crlf-utf8bom.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'all-crlf-utf8bom' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/all-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/all-crlf.fail new file mode 100644 index 000000000..851ef6c77 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/all-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'all-crlf' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/binary-all-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,text_auto/binary-all-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/binary-all-crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto/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 similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true,text_auto/binary-mixed-lf-cr-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/binary-mixed-lf-cr-crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/few-utf8-chars-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/few-utf8-chars-crlf.fail new file mode 100644 index 000000000..c23959d76 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/few-utf8-chars-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'few-utf8-chars-crlf' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/many-utf8-chars-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/many-utf8-chars-crlf.fail new file mode 100644 index 000000000..2e093c93e --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/many-utf8-chars-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'many-utf8-chars-crlf' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/mixed-lf-cr-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true,text_auto/mixed-lf-cr-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/mixed-lf-cr-crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/more-crlf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/more-crlf-utf8bom.fail new file mode 100644 index 000000000..43b93dbe3 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/more-crlf-utf8bom.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'more-crlf-utf8bom' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/more-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/more-crlf.fail new file mode 100644 index 000000000..b1a5dc9e5 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/more-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'more-crlf' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/more-lf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/more-lf-utf8bom.fail new file mode 100644 index 000000000..13c4e3c58 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/more-lf-utf8bom.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'more-lf-utf8bom' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/more-lf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/more-lf.fail new file mode 100644 index 000000000..c964c725a --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/more-lf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'more-lf' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/all-crlf new file mode 100644 index 000000000..26e1a742b --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/all-crlf-utf8bom new file mode 100644 index 000000000..32c6f22e3 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/all-lf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/all-lf-utf8bom.fail new file mode 100644 index 000000000..547008e0f --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/all-lf-utf8bom.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'all-lf-utf8bom' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/all-lf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/all-lf.fail new file mode 100644 index 000000000..d992d4720 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/all-lf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'all-lf' diff --git a/tests/resources/crlf_data/windows/autocrlf_false/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/binary-all-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false/binary-all-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/binary-all-crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows/autocrlf_true/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/binary-mixed-lf-cr-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true/binary-mixed-lf-cr-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/binary-mixed-lf-cr-crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/few-utf8-chars-crlf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/few-utf8-chars-crlf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/few-utf8-chars-lf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/few-utf8-chars-lf.fail new file mode 100644 index 000000000..fabf46617 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/few-utf8-chars-lf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'few-utf8-chars-lf' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/many-utf8-chars-crlf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/many-utf8-chars-crlf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/many-utf8-chars-lf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/many-utf8-chars-lf.fail new file mode 100644 index 000000000..b874f4bb9 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/many-utf8-chars-lf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'many-utf8-chars-lf' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows/autocrlf_true/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/mixed-lf-cr-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true/mixed-lf-cr-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/mixed-lf-cr-crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/more-crlf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/more-crlf-utf8bom.fail new file mode 100644 index 000000000..e77b2b976 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/more-crlf-utf8bom.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'more-crlf-utf8bom' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/more-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/more-crlf.fail new file mode 100644 index 000000000..07f50c353 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/more-crlf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'more-crlf' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/more-lf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/more-lf-utf8bom.fail new file mode 100644 index 000000000..6994a8d01 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/more-lf-utf8bom.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'more-lf-utf8bom' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/more-lf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/more-lf.fail new file mode 100644 index 000000000..067a2e896 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/more-lf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'more-lf' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true,text_auto/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/all-crlf new file mode 100644 index 000000000..26e1a742b --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/all-crlf-utf8bom new file mode 100644 index 000000000..32c6f22e3 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/all-lf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/all-lf-utf8bom.fail new file mode 100644 index 000000000..547008e0f --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/all-lf-utf8bom.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'all-lf-utf8bom' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/all-lf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/all-lf.fail new file mode 100644 index 000000000..d992d4720 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/all-lf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'all-lf' diff --git a/tests/resources/crlf_data/windows/autocrlf_input,-crlf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/binary-all-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,-crlf/binary-all-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/binary-all-crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..aaf083a9c --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/few-utf8-chars-crlf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/few-utf8-chars-crlf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/few-utf8-chars-lf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/few-utf8-chars-lf.fail new file mode 100644 index 000000000..fabf46617 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/few-utf8-chars-lf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'few-utf8-chars-lf' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/many-utf8-chars-crlf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/many-utf8-chars-crlf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/many-utf8-chars-lf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/many-utf8-chars-lf.fail new file mode 100644 index 000000000..b874f4bb9 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/many-utf8-chars-lf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'many-utf8-chars-lf' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/mixed-lf-cr-crlf new file mode 100644 index 000000000..417786fc3 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/more-crlf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/more-crlf-utf8bom.fail new file mode 100644 index 000000000..e77b2b976 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/more-crlf-utf8bom.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'more-crlf-utf8bom' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/more-crlf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/more-crlf.fail new file mode 100644 index 000000000..07f50c353 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/more-crlf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'more-crlf' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/more-lf-utf8bom.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/more-lf-utf8bom.fail new file mode 100644 index 000000000..6994a8d01 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/more-lf-utf8bom.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'more-lf-utf8bom' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/more-lf.fail b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/more-lf.fail new file mode 100644 index 000000000..067a2e896 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/more-lf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'more-lf' diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_true/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/all-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/all-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/all-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/all-crlf-utf8bom similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/all-crlf-utf8bom rename to tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/all-crlf-utf8bom diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows/autocrlf_input,-text/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/binary-all-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,-text/binary-all-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/binary-all-crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..aaf083a9c --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/few-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/few-utf8-chars-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/few-utf8-chars-crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/many-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/many-utf8-chars-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/many-utf8-chars-crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/mixed-lf-cr-crlf new file mode 100644 index 000000000..417786fc3 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix/autocrlf_true,eol_lf/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/more-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,eol_lf/more-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/more-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_true,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/more-crlf-utf8bom similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,eol_lf/more-crlf-utf8bom rename to tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/more-crlf-utf8bom diff --git a/tests/resources/crlf_data/posix/autocrlf_true,eol_lf/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/more-lf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,eol_lf/more-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/more-lf diff --git a/tests/resources/crlf_data/posix/autocrlf_true,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/more-lf-utf8bom similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,eol_lf/more-lf-utf8bom rename to tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/more-lf-utf8bom diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-crlf/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/all-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/all-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/all-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/all-crlf-utf8bom similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/all-crlf-utf8bom rename to tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/all-crlf-utf8bom diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows/autocrlf_input,crlf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/binary-all-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,crlf/binary-all-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/binary-all-crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..aaf083a9c --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/few-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/few-utf8-chars-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/few-utf8-chars-crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/many-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_lf/many-utf8-chars-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/many-utf8-chars-crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/mixed-lf-cr-crlf new file mode 100644 index 000000000..417786fc3 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/more-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/more-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/more-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/more-crlf-utf8bom similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/more-crlf-utf8bom rename to tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/more-crlf-utf8bom diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/more-lf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/more-lf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/more-lf diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/more-lf-utf8bom similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/more-lf-utf8bom rename to tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/more-lf-utf8bom diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,-text/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/all-crlf new file mode 100644 index 000000000..26e1a742b --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/all-crlf-utf8bom new file mode 100644 index 000000000..32c6f22e3 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/binary-all-crlf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/few-utf8-chars-crlf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/few-utf8-chars-crlf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/many-utf8-chars-crlf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/many-utf8-chars-crlf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/mixed-lf-cr-crlf new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/more-crlf new file mode 100644 index 000000000..37bb7fa3d --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/more-crlf @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/more-crlf-utf8bom new file mode 100644 index 000000000..16001a14a --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/more-crlf-utf8bom @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/more-lf new file mode 100644 index 000000000..2cda6f203 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/more-lf @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/more-lf-utf8bom new file mode 100644 index 000000000..dc7d82aa0 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/more-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,crlf/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/all-crlf new file mode 100644 index 000000000..26e1a742b --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/all-crlf-utf8bom new file mode 100644 index 000000000..32c6f22e3 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/binary-all-crlf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/few-utf8-chars-crlf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/few-utf8-chars-crlf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/many-utf8-chars-crlf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/many-utf8-chars-crlf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/mixed-lf-cr-crlf new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/more-crlf new file mode 100644 index 000000000..37bb7fa3d --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/more-crlf @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/more-crlf-utf8bom new file mode 100644 index 000000000..16001a14a --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/more-crlf-utf8bom @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/more-lf new file mode 100644 index 000000000..2cda6f203 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/more-lf @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/more-lf-utf8bom new file mode 100644 index 000000000..dc7d82aa0 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/more-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/all-crlf new file mode 100644 index 000000000..26e1a742b --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/all-crlf-utf8bom new file mode 100644 index 000000000..32c6f22e3 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/binary-all-crlf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/few-utf8-chars-crlf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/few-utf8-chars-crlf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/many-utf8-chars-crlf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/many-utf8-chars-crlf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/mixed-lf-cr-crlf new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/more-crlf new file mode 100644 index 000000000..37bb7fa3d --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/more-crlf @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/more-crlf-utf8bom new file mode 100644 index 000000000..16001a14a --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/more-crlf-utf8bom @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/more-lf new file mode 100644 index 000000000..2cda6f203 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/more-lf @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/more-lf-utf8bom new file mode 100644 index 000000000..dc7d82aa0 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/more-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,eol_lf/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/all-crlf new file mode 100644 index 000000000..26e1a742b --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/all-crlf-utf8bom new file mode 100644 index 000000000..32c6f22e3 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/binary-all-crlf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/few-utf8-chars-crlf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/few-utf8-chars-crlf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/many-utf8-chars-crlf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/many-utf8-chars-crlf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/mixed-lf-cr-crlf new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/more-crlf new file mode 100644 index 000000000..37bb7fa3d --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/more-crlf @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/more-crlf-utf8bom new file mode 100644 index 000000000..16001a14a --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/more-crlf-utf8bom @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/more-lf new file mode 100644 index 000000000..2cda6f203 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/more-lf @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/more-lf-utf8bom new file mode 100644 index 000000000..dc7d82aa0 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/more-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/all-crlf new file mode 100644 index 000000000..26e1a742b --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/all-crlf-utf8bom new file mode 100644 index 000000000..32c6f22e3 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/binary-all-crlf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/few-utf8-chars-crlf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/few-utf8-chars-crlf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/many-utf8-chars-crlf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/many-utf8-chars-crlf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/mixed-lf-cr-crlf new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/more-crlf new file mode 100644 index 000000000..37bb7fa3d --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/more-crlf @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/more-crlf-utf8bom new file mode 100644 index 000000000..16001a14a --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/more-crlf-utf8bom @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/more-lf new file mode 100644 index 000000000..2cda6f203 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/more-lf @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/more-lf-utf8bom new file mode 100644 index 000000000..dc7d82aa0 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/more-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/all-crlf new file mode 100644 index 000000000..26e1a742b --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/all-crlf-utf8bom new file mode 100644 index 000000000..32c6f22e3 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/binary-all-crlf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/few-utf8-chars-crlf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/few-utf8-chars-crlf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/many-utf8-chars-crlf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/many-utf8-chars-crlf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/mixed-lf-cr-crlf new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/more-crlf new file mode 100644 index 000000000..37bb7fa3d --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/more-crlf @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/more-crlf-utf8bom new file mode 100644 index 000000000..16001a14a --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/more-crlf-utf8bom @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/more-lf new file mode 100644 index 000000000..2cda6f203 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/more-lf @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/more-lf-utf8bom new file mode 100644 index 000000000..dc7d82aa0 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/more-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/HEAD b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/HEAD new file mode 100644 index 000000000..cb089cd89 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/HEAD @@ -0,0 +1 @@ +ref: refs/heads/master diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/all-crlf new file mode 100644 index 000000000..26e1a742b --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/all-crlf-utf8bom new file mode 100644 index 000000000..32c6f22e3 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/binary-all-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/binary-all-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/binary-all-crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..aaf083a9c --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/branches b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/branches new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/few-utf8-chars-crlf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/few-utf8-chars-crlf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/many-utf8-chars-crlf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/many-utf8-chars-crlf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/mixed-lf-cr-crlf new file mode 100644 index 000000000..417786fc3 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/more-crlf new file mode 100644 index 000000000..37bb7fa3d --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/more-crlf @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/more-crlf-utf8bom new file mode 100644 index 000000000..16001a14a --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/more-crlf-utf8bom @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/more-lf new file mode 100644 index 000000000..2cda6f203 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/more-lf @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/more-lf-utf8bom new file mode 100644 index 000000000..dc7d82aa0 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/more-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/all-crlf new file mode 100644 index 000000000..26e1a742b --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/all-crlf-utf8bom new file mode 100644 index 000000000..32c6f22e3 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows/autocrlf_input,eol_lf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/binary-all-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,eol_lf/binary-all-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/binary-all-crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..aaf083a9c --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/few-utf8-chars-crlf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/few-utf8-chars-crlf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/many-utf8-chars-crlf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/many-utf8-chars-crlf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/mixed-lf-cr-crlf new file mode 100644 index 000000000..417786fc3 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/more-crlf new file mode 100644 index 000000000..37bb7fa3d --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/more-crlf @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/more-crlf-utf8bom new file mode 100644 index 000000000..16001a14a --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/more-crlf-utf8bom @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/more-lf new file mode 100644 index 000000000..2cda6f203 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/more-lf @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/more-lf-utf8bom new file mode 100644 index 000000000..dc7d82aa0 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/more-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/all-crlf new file mode 100644 index 000000000..26e1a742b --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/all-crlf-utf8bom new file mode 100644 index 000000000..32c6f22e3 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/binary-all-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/binary-all-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/binary-all-crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..aaf083a9c --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/few-utf8-chars-crlf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/few-utf8-chars-crlf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/many-utf8-chars-crlf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/many-utf8-chars-crlf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/mixed-lf-cr-crlf new file mode 100644 index 000000000..417786fc3 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/more-crlf new file mode 100644 index 000000000..37bb7fa3d --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/more-crlf @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/more-crlf-utf8bom new file mode 100644 index 000000000..16001a14a --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/more-crlf-utf8bom @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/more-lf new file mode 100644 index 000000000..2cda6f203 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/more-lf @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/more-lf-utf8bom new file mode 100644 index 000000000..dc7d82aa0 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/more-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn,text_auto/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/all-crlf new file mode 100644 index 000000000..26e1a742b --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/all-crlf-utf8bom new file mode 100644 index 000000000..32c6f22e3 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/binary-all-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/binary-all-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/binary-all-crlf rename to tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/binary-all-crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/binary-all-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..aaf083a9c --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/few-utf8-chars-crlf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/few-utf8-chars-crlf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/many-utf8-chars-crlf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/many-utf8-chars-crlf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/mixed-lf-cr b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/mixed-lf-cr-crlf new file mode 100644 index 000000000..417786fc3 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/more-crlf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/more-crlf new file mode 100644 index 000000000..37bb7fa3d --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/more-crlf @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/more-crlf-utf8bom new file mode 100644 index 000000000..16001a14a --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/more-crlf-utf8bom @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/more-lf b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/more-lf new file mode 100644 index 000000000..2cda6f203 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/more-lf @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/more-lf-utf8bom new file mode 100644 index 000000000..dc7d82aa0 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/more-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/zero-byte b/tests/resources/crlf_data/posix_to_odb/autocrlf_true,safecrlf_warn/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto/all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-crlf/all-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,text_auto/all-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-crlf/all-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-crlf/all-crlf-utf8bom similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,text_auto/all-crlf-utf8bom rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-crlf/all-crlf-utf8bom diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-crlf/all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-crlf/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-crlf/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-crlf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-crlf/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-crlf/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text/binary-all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-crlf/binary-all-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,text/binary-all-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-crlf/binary-all-crlf diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-crlf/binary-all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-crlf/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-crlf/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-crlf/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-crlf/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-crlf/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..aaf083a9c --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-crlf/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-crlf/few-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,text_auto/few-utf8-chars-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-crlf/few-utf8-chars-crlf diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-crlf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-crlf/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-crlf/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-crlf/many-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,text_auto/many-utf8-chars-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-crlf/many-utf8-chars-crlf diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-crlf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-crlf/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-crlf/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-crlf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-crlf/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-crlf/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-crlf/mixed-lf-cr-crlf new file mode 100644 index 000000000..417786fc3 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-crlf/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/more-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-crlf/more-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/more-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-crlf/more-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-crlf/more-crlf-utf8bom similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/more-crlf-utf8bom rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-crlf/more-crlf-utf8bom diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/more-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-crlf/more-lf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/more-lf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-crlf/more-lf diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-crlf/more-lf-utf8bom similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/more-lf-utf8bom rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-crlf/more-lf-utf8bom diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-crlf/zero-byte b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-crlf/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/posix/autocrlf_input/all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-text/all-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input/all-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-text/all-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_input/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-text/all-crlf-utf8bom similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input/all-crlf-utf8bom rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-text/all-crlf-utf8bom diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-text/all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-text/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-text/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-text/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-text/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-text/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-text/binary-all-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/binary-all-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-text/binary-all-crlf diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-text/binary-all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-text/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-text/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-text/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-text/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-text/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-text/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-text/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..aaf083a9c --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-text/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix/autocrlf_input/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-text/few-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input/few-utf8-chars-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-text/few-utf8-chars-crlf diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-text/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-text/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-text/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/posix/autocrlf_input/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-text/many-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input/many-utf8-chars-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-text/many-utf8-chars-crlf diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-text/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-text/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-text/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-text/mixed-lf-cr b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-text/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-text/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-text/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-text/mixed-lf-cr-crlf new file mode 100644 index 000000000..417786fc3 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-text/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix/autocrlf_true/more-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-text/more-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true/more-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-text/more-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_true/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-text/more-crlf-utf8bom similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true/more-crlf-utf8bom rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-text/more-crlf-utf8bom diff --git a/tests/resources/crlf_data/posix/autocrlf_true/more-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-text/more-lf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true/more-lf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-text/more-lf diff --git a/tests/resources/crlf_data/posix/autocrlf_true/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-text/more-lf-utf8bom similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true/more-lf-utf8bom rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-text/more-lf-utf8bom diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-text/zero-byte b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,-text/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/posix/autocrlf_true,-crlf/all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,crlf/all-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,-crlf/all-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_false,crlf/all-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_true,-crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,crlf/all-crlf-utf8bom similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,-crlf/all-crlf-utf8bom rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_false,crlf/all-crlf-utf8bom diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,crlf/all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,crlf/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,crlf/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,crlf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,crlf/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,crlf/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/binary-all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,crlf/binary-all-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/binary-all-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_false,crlf/binary-all-crlf diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,crlf/binary-all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,crlf/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,crlf/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,crlf/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,crlf/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,crlf/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..aaf083a9c --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,crlf/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix/autocrlf_true,-crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,crlf/few-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,-crlf/few-utf8-chars-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_false,crlf/few-utf8-chars-crlf diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,crlf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,crlf/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,crlf/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/posix/autocrlf_true,-crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,crlf/many-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,-crlf/many-utf8-chars-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_false,crlf/many-utf8-chars-crlf diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,crlf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,crlf/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,crlf/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,crlf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,crlf/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,crlf/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,crlf/mixed-lf-cr-crlf new file mode 100644 index 000000000..417786fc3 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,crlf/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows/autocrlf_false,-crlf/more-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,crlf/more-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,-crlf/more-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_false,crlf/more-crlf diff --git a/tests/resources/crlf_data/windows/autocrlf_false,-crlf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,crlf/more-crlf-utf8bom similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,-crlf/more-crlf-utf8bom rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_false,crlf/more-crlf-utf8bom diff --git a/tests/resources/crlf_data/windows/autocrlf_false,-crlf/more-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,crlf/more-lf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,-crlf/more-lf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_false,crlf/more-lf diff --git a/tests/resources/crlf_data/windows/autocrlf_false,-crlf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,crlf/more-lf-utf8bom similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,-crlf/more-lf-utf8bom rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_false,crlf/more-lf-utf8bom diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,crlf/zero-byte b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,crlf/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/posix/autocrlf_true,-text/all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_crlf/all-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,-text/all-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_crlf/all-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_true,-text/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_crlf/all-crlf-utf8bom similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,-text/all-crlf-utf8bom rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_crlf/all-crlf-utf8bom diff --git a/tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_crlf/all-lf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/all-lf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_crlf/all-lf diff --git a/tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_crlf/all-lf-utf8bom similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/all-lf-utf8bom rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_crlf/all-lf-utf8bom diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto/binary-all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_crlf/binary-all-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,text_auto/binary-all-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_crlf/binary-all-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/binary-all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_crlf/binary-all-lf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/binary-all-lf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_crlf/binary-all-lf diff --git a/tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_crlf/binary-mixed-lf-cr similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/binary-mixed-lf-cr rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_crlf/binary-mixed-lf-cr diff --git a/tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_crlf/binary-mixed-lf-cr-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/binary-mixed-lf-cr-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_crlf/binary-mixed-lf-cr-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_true,-text/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_crlf/few-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,-text/few-utf8-chars-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_crlf/few-utf8-chars-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_crlf/few-utf8-chars-lf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/few-utf8-chars-lf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_crlf/few-utf8-chars-lf diff --git a/tests/resources/crlf_data/posix/autocrlf_true,-text/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_crlf/many-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,-text/many-utf8-chars-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_crlf/many-utf8-chars-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_crlf/many-utf8-chars-lf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/many-utf8-chars-lf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_crlf/many-utf8-chars-lf diff --git a/tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_crlf/mixed-lf-cr similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/mixed-lf-cr rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_crlf/mixed-lf-cr diff --git a/tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_crlf/mixed-lf-cr-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/mixed-lf-cr-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_crlf/mixed-lf-cr-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/more-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_crlf/more-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/more-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_crlf/more-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_crlf/more-crlf-utf8bom similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/more-crlf-utf8bom rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_crlf/more-crlf-utf8bom diff --git a/tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/more-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_crlf/more-lf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/more-lf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_crlf/more-lf diff --git a/tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_crlf/more-lf-utf8bom similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,eol_crlf/more-lf-utf8bom rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_crlf/more-lf-utf8bom diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_crlf/zero-byte b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_crlf/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/posix/autocrlf_true,crlf/all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_lf/all-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,crlf/all-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_lf/all-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_true,crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_lf/all-crlf-utf8bom similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,crlf/all-crlf-utf8bom rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_lf/all-crlf-utf8bom diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_lf/all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_lf/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_lf/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_lf/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_lf/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows/autocrlf_input/binary-all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_lf/binary-all-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input/binary-all-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_lf/binary-all-crlf diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_lf/binary-all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_lf/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_lf/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_lf/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_lf/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_lf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_lf/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..aaf083a9c --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_lf/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix/autocrlf_true,crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_lf/few-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,crlf/few-utf8-chars-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_lf/few-utf8-chars-crlf diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_lf/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_lf/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/posix/autocrlf_true,crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_lf/many-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,crlf/many-utf8-chars-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_lf/many-utf8-chars-crlf diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_lf/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_lf/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_lf/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_lf/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_lf/mixed-lf-cr-crlf new file mode 100644 index 000000000..417786fc3 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_lf/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows/autocrlf_false,-text/more-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_lf/more-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,-text/more-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_lf/more-crlf diff --git a/tests/resources/crlf_data/windows/autocrlf_false,-text/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_lf/more-crlf-utf8bom similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,-text/more-crlf-utf8bom rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_lf/more-crlf-utf8bom diff --git a/tests/resources/crlf_data/windows/autocrlf_false,-text/more-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_lf/more-lf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,-text/more-lf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_lf/more-lf diff --git a/tests/resources/crlf_data/windows/autocrlf_false,-text/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_lf/more-lf-utf8bom similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,-text/more-lf-utf8bom rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_lf/more-lf-utf8bom diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_lf/zero-byte b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,eol_lf/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_crlf/all-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/all-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_crlf/all-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_crlf/all-crlf-utf8bom similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/all-crlf-utf8bom rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_crlf/all-crlf-utf8bom diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_crlf/all-lf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/all-lf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_crlf/all-lf diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_crlf/all-lf-utf8bom similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/all-lf-utf8bom rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_crlf/all-lf-utf8bom diff --git a/tests/resources/crlf_data/windows/autocrlf_true,-crlf/binary-all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_crlf/binary-all-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true,-crlf/binary-all-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_crlf/binary-all-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/binary-all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_crlf/binary-all-lf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/binary-all-lf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_crlf/binary-all-lf diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_crlf/binary-mixed-lf-cr similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/binary-mixed-lf-cr rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_crlf/binary-mixed-lf-cr diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_crlf/binary-mixed-lf-cr-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/binary-mixed-lf-cr-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_crlf/binary-mixed-lf-cr-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_crlf/few-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/few-utf8-chars-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_crlf/few-utf8-chars-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_crlf/few-utf8-chars-lf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/few-utf8-chars-lf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_crlf/few-utf8-chars-lf diff --git a/tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_crlf/many-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/many-utf8-chars-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_crlf/many-utf8-chars-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_crlf/many-utf8-chars-lf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/many-utf8-chars-lf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_crlf/many-utf8-chars-lf diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_crlf/mixed-lf-cr similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/mixed-lf-cr rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_crlf/mixed-lf-cr diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_crlf/mixed-lf-cr-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/mixed-lf-cr-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_crlf/mixed-lf-cr-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/more-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_crlf/more-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/more-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_crlf/more-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_crlf/more-crlf-utf8bom similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/more-crlf-utf8bom rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_crlf/more-crlf-utf8bom diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/more-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_crlf/more-lf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/more-lf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_crlf/more-lf diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_crlf/more-lf-utf8bom similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,text,eol_crlf/more-lf-utf8bom rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_crlf/more-lf-utf8bom diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_crlf/zero-byte b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_crlf/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/posix/autocrlf_true,eol_lf/all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_lf/all-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,eol_lf/all-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_lf/all-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_true,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_lf/all-crlf-utf8bom similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,eol_lf/all-crlf-utf8bom rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_lf/all-crlf-utf8bom diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_lf/all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_lf/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_lf/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_lf/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_lf/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows/autocrlf_true,-text/binary-all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_lf/binary-all-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true,-text/binary-all-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_lf/binary-all-crlf diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_lf/binary-all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_lf/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_lf/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_lf/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_lf/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_lf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_lf/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..aaf083a9c --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_lf/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix/autocrlf_true,eol_lf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_lf/few-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,eol_lf/few-utf8-chars-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_lf/few-utf8-chars-crlf diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_lf/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_lf/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/posix/autocrlf_true,eol_lf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_lf/many-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,eol_lf/many-utf8-chars-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_lf/many-utf8-chars-crlf diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_lf/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_lf/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_lf/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_lf/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_lf/mixed-lf-cr-crlf new file mode 100644 index 000000000..417786fc3 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_lf/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows/autocrlf_false,eol_lf/more-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_lf/more-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,eol_lf/more-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_lf/more-crlf diff --git a/tests/resources/crlf_data/windows/autocrlf_false,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_lf/more-crlf-utf8bom similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,eol_lf/more-crlf-utf8bom rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_lf/more-crlf-utf8bom diff --git a/tests/resources/crlf_data/windows/autocrlf_false,eol_lf/more-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_lf/more-lf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,eol_lf/more-lf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_lf/more-lf diff --git a/tests/resources/crlf_data/windows/autocrlf_false,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_lf/more-lf-utf8bom similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,eol_lf/more-lf-utf8bom rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_lf/more-lf-utf8bom diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_lf/zero-byte b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text,eol_lf/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text/all-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/all-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text/all-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text/all-crlf-utf8bom similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/all-crlf-utf8bom rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text/all-crlf-utf8bom diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text/all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows/autocrlf_true,crlf/binary-all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text/binary-all-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true,crlf/binary-all-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text/binary-all-crlf diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text/binary-all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..aaf083a9c --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text/few-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/few-utf8-chars-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text/few-utf8-chars-crlf diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text/many-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/many-utf8-chars-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text/many-utf8-chars-crlf diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text/mixed-lf-cr b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text/mixed-lf-cr-crlf new file mode 100644 index 000000000..417786fc3 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/more-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text/more-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/more-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text/more-crlf diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text/more-crlf-utf8bom similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/more-crlf-utf8bom rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text/more-crlf-utf8bom diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/more-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text/more-lf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/more-lf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text/more-lf diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text/more-lf-utf8bom similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/more-lf-utf8bom rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text/more-lf-utf8bom diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text/zero-byte b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_crlf/all-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/all-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_crlf/all-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_crlf/all-crlf-utf8bom similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/all-crlf-utf8bom rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_crlf/all-crlf-utf8bom diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_crlf/all-lf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/all-lf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_crlf/all-lf diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_crlf/all-lf-utf8bom similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/all-lf-utf8bom rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_crlf/all-lf-utf8bom diff --git a/tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_crlf/binary-all-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/binary-all-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_crlf/binary-all-crlf diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_crlf/binary-all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_crlf/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_crlf/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..aaf083a9c --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_crlf/few-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/few-utf8-chars-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_crlf/few-utf8-chars-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_crlf/few-utf8-chars-lf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/few-utf8-chars-lf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_crlf/few-utf8-chars-lf diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_crlf/many-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,text,eol_lf/many-utf8-chars-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_crlf/many-utf8-chars-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_crlf/many-utf8-chars-lf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/many-utf8-chars-lf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_crlf/many-utf8-chars-lf diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_crlf/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_crlf/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_crlf/mixed-lf-cr-crlf new file mode 100644 index 000000000..417786fc3 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_crlf/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/more-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_crlf/more-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/more-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_crlf/more-crlf diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_crlf/more-crlf-utf8bom similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/more-crlf-utf8bom rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_crlf/more-crlf-utf8bom diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/more-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_crlf/more-lf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/more-lf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_crlf/more-lf diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_crlf/more-lf-utf8bom similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/more-lf-utf8bom rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_crlf/more-lf-utf8bom diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_crlf/zero-byte b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_crlf/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text/all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_lf/all-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,text/all-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_lf/all-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_lf/all-crlf-utf8bom similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,text/all-crlf-utf8bom rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_lf/all-crlf-utf8bom diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_lf/all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_lf/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_lf/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_lf/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_lf/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows/autocrlf_true,eol_lf/binary-all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_lf/binary-all-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true,eol_lf/binary-all-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_lf/binary-all-crlf diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_lf/binary-all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_lf/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_lf/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_lf/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_lf/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_lf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_lf/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..aaf083a9c --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_lf/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_lf/few-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,text/few-utf8-chars-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_lf/few-utf8-chars-crlf diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_lf/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_lf/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_lf/many-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,text/many-utf8-chars-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_lf/many-utf8-chars-crlf diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_lf/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_lf/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_lf/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_lf/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_lf/mixed-lf-cr-crlf new file mode 100644 index 000000000..417786fc3 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_lf/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows/autocrlf_false/more-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_lf/more-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false/more-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_lf/more-crlf diff --git a/tests/resources/crlf_data/windows/autocrlf_false/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_lf/more-crlf-utf8bom similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false/more-crlf-utf8bom rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_lf/more-crlf-utf8bom diff --git a/tests/resources/crlf_data/windows/autocrlf_false/more-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_lf/more-lf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false/more-lf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_lf/more-lf diff --git a/tests/resources/crlf_data/windows/autocrlf_false/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_lf/more-lf-utf8bom similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false/more-lf-utf8bom rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_lf/more-lf-utf8bom diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_lf/zero-byte b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto,eol_lf/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto/all-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/all-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto/all-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto/all-crlf-utf8bom similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/all-crlf-utf8bom rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto/all-crlf-utf8bom diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto/all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto/binary-all-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/binary-all-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto/binary-all-crlf diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto/binary-all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..aaf083a9c --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto/few-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/few-utf8-chars-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto/few-utf8-chars-crlf diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto/many-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/many-utf8-chars-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto/many-utf8-chars-crlf diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto/mixed-lf-cr b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto/mixed-lf-cr-crlf new file mode 100644 index 000000000..417786fc3 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows/autocrlf_input,-crlf/more-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto/more-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,-crlf/more-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto/more-crlf diff --git a/tests/resources/crlf_data/windows/autocrlf_input,-crlf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto/more-crlf-utf8bom similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,-crlf/more-crlf-utf8bom rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto/more-crlf-utf8bom diff --git a/tests/resources/crlf_data/windows/autocrlf_input,-crlf/more-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto/more-lf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,-crlf/more-lf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto/more-lf diff --git a/tests/resources/crlf_data/windows/autocrlf_input,-crlf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto/more-lf-utf8bom similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,-crlf/more-lf-utf8bom rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto/more-lf-utf8bom diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto/zero-byte b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false,text_auto/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false/all-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/all-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_false/all-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false/all-crlf-utf8bom similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/all-crlf-utf8bom rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_false/all-crlf-utf8bom diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false/all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/binary-all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false/binary-all-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/binary-all-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_false/binary-all-crlf diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false/binary-all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..aaf083a9c --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false/few-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/few-utf8-chars-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_false/few-utf8-chars-crlf diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false/many-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_lf/many-utf8-chars-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_false/many-utf8-chars-crlf diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false/mixed-lf-cr b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false/mixed-lf-cr-crlf new file mode 100644 index 000000000..417786fc3 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows/autocrlf_input,-text/more-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false/more-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,-text/more-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_false/more-crlf diff --git a/tests/resources/crlf_data/windows/autocrlf_input,-text/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false/more-crlf-utf8bom similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,-text/more-crlf-utf8bom rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_false/more-crlf-utf8bom diff --git a/tests/resources/crlf_data/windows/autocrlf_input,-text/more-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false/more-lf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,-text/more-lf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_false/more-lf diff --git a/tests/resources/crlf_data/windows/autocrlf_input,-text/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false/more-lf-utf8bom similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,-text/more-lf-utf8bom rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_false/more-lf-utf8bom diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_false/zero-byte b/tests/resources/crlf_data/posix_to_workdir/autocrlf_false/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto/all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-crlf/all-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,text_auto/all-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-crlf/all-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-crlf/all-crlf-utf8bom similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,text_auto/all-crlf-utf8bom rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-crlf/all-crlf-utf8bom diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-crlf/all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-crlf/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-crlf/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-crlf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-crlf/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-crlf/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text/binary-all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-crlf/binary-all-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true,text/binary-all-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-crlf/binary-all-crlf diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-crlf/binary-all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-crlf/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-crlf/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-crlf/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-crlf/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-crlf/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..aaf083a9c --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-crlf/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-crlf/few-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,text_auto/few-utf8-chars-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-crlf/few-utf8-chars-crlf diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-crlf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-crlf/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-crlf/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-crlf/many-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,text_auto/many-utf8-chars-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-crlf/many-utf8-chars-crlf diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-crlf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-crlf/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-crlf/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-crlf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-crlf/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-crlf/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-crlf/mixed-lf-cr-crlf new file mode 100644 index 000000000..417786fc3 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-crlf/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows/autocrlf_input,crlf/more-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-crlf/more-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,crlf/more-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-crlf/more-crlf diff --git a/tests/resources/crlf_data/windows/autocrlf_input,crlf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-crlf/more-crlf-utf8bom similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,crlf/more-crlf-utf8bom rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-crlf/more-crlf-utf8bom diff --git a/tests/resources/crlf_data/windows/autocrlf_input,crlf/more-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-crlf/more-lf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,crlf/more-lf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-crlf/more-lf diff --git a/tests/resources/crlf_data/windows/autocrlf_input,crlf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-crlf/more-lf-utf8bom similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,crlf/more-lf-utf8bom rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-crlf/more-lf-utf8bom diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-crlf/zero-byte b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-crlf/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/posix/autocrlf_true/all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-text/all-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true/all-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-text/all-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_true/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-text/all-crlf-utf8bom similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true/all-crlf-utf8bom rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-text/all-crlf-utf8bom diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-text/all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-text/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-text/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-text/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-text/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-text/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-text/binary-all-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/binary-all-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-text/binary-all-crlf diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-text/binary-all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-text/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-text/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-text/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-text/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-text/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-text/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-text/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..aaf083a9c --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-text/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix/autocrlf_true/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-text/few-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true/few-utf8-chars-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-text/few-utf8-chars-crlf diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-text/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-text/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-text/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/posix/autocrlf_true/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-text/many-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true/many-utf8-chars-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-text/many-utf8-chars-crlf diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-text/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-text/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-text/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-text/mixed-lf-cr b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-text/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-text/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-text/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-text/mixed-lf-cr-crlf new file mode 100644 index 000000000..417786fc3 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-text/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows/autocrlf_input,eol_lf/more-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-text/more-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,eol_lf/more-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-text/more-crlf diff --git a/tests/resources/crlf_data/windows/autocrlf_input,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-text/more-crlf-utf8bom similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,eol_lf/more-crlf-utf8bom rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-text/more-crlf-utf8bom diff --git a/tests/resources/crlf_data/windows/autocrlf_input,eol_lf/more-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-text/more-lf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,eol_lf/more-lf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-text/more-lf diff --git a/tests/resources/crlf_data/windows/autocrlf_input,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-text/more-lf-utf8bom similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,eol_lf/more-lf-utf8bom rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-text/more-lf-utf8bom diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-text/zero-byte b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,-text/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/windows/autocrlf_false,-crlf/all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,crlf/all-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,-crlf/all-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_input,crlf/all-crlf diff --git a/tests/resources/crlf_data/windows/autocrlf_false,-crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,crlf/all-crlf-utf8bom similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,-crlf/all-crlf-utf8bom rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_input,crlf/all-crlf-utf8bom diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,crlf/all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,crlf/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,crlf/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,crlf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,crlf/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,crlf/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/binary-all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,crlf/binary-all-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/binary-all-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_input,crlf/binary-all-crlf diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,crlf/binary-all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,crlf/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,crlf/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,crlf/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,crlf/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,crlf/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..aaf083a9c --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,crlf/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows/autocrlf_false,-crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,crlf/few-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,-crlf/few-utf8-chars-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_input,crlf/few-utf8-chars-crlf diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,crlf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,crlf/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,crlf/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows/autocrlf_false,-crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,crlf/many-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,-crlf/many-utf8-chars-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_input,crlf/many-utf8-chars-crlf diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,crlf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,crlf/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,crlf/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,crlf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,crlf/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,crlf/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,crlf/mixed-lf-cr-crlf new file mode 100644 index 000000000..417786fc3 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,crlf/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/more-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,crlf/more-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/more-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_input,crlf/more-crlf diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,crlf/more-crlf-utf8bom similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/more-crlf-utf8bom rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_input,crlf/more-crlf-utf8bom diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/more-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,crlf/more-lf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/more-lf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_input,crlf/more-lf diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,crlf/more-lf-utf8bom similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/more-lf-utf8bom rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_input,crlf/more-lf-utf8bom diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,crlf/zero-byte b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,crlf/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/windows/autocrlf_false,-text/all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_crlf/all-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,-text/all-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_crlf/all-crlf diff --git a/tests/resources/crlf_data/windows/autocrlf_false,-text/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_crlf/all-crlf-utf8bom similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,-text/all-crlf-utf8bom rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_crlf/all-crlf-utf8bom diff --git a/tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_crlf/all-lf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/all-lf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_crlf/all-lf diff --git a/tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_crlf/all-lf-utf8bom similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/all-lf-utf8bom rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_crlf/all-lf-utf8bom diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto/binary-all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_crlf/binary-all-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true,text_auto/binary-all-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_crlf/binary-all-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/binary-all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_crlf/binary-all-lf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/binary-all-lf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_crlf/binary-all-lf diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_crlf/binary-mixed-lf-cr similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_crlf/binary-mixed-lf-cr diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_crlf/binary-mixed-lf-cr-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_crlf/binary-mixed-lf-cr-crlf diff --git a/tests/resources/crlf_data/windows/autocrlf_false,-text/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_crlf/few-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,-text/few-utf8-chars-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_crlf/few-utf8-chars-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_crlf/few-utf8-chars-lf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/few-utf8-chars-lf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_crlf/few-utf8-chars-lf diff --git a/tests/resources/crlf_data/windows/autocrlf_false,-text/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_crlf/many-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,-text/many-utf8-chars-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_crlf/many-utf8-chars-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_crlf/many-utf8-chars-lf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/many-utf8-chars-lf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_crlf/many-utf8-chars-lf diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_crlf/mixed-lf-cr similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/mixed-lf-cr rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_crlf/mixed-lf-cr diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_crlf/mixed-lf-cr-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/mixed-lf-cr-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_crlf/mixed-lf-cr-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/more-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_crlf/more-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/more-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_crlf/more-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_crlf/more-crlf-utf8bom similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/more-crlf-utf8bom rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_crlf/more-crlf-utf8bom diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/more-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_crlf/more-lf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/more-lf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_crlf/more-lf diff --git a/tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_crlf/more-lf-utf8bom similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_false,text_auto,eol_crlf/more-lf-utf8bom rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_crlf/more-lf-utf8bom diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_crlf/zero-byte b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_crlf/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/windows/autocrlf_false,crlf/all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_lf/all-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,crlf/all-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_lf/all-crlf diff --git a/tests/resources/crlf_data/windows/autocrlf_false,crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_lf/all-crlf-utf8bom similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,crlf/all-crlf-utf8bom rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_lf/all-crlf-utf8bom diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_lf/all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_lf/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_lf/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_lf/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_lf/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows/autocrlf_true/binary-all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_lf/binary-all-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true/binary-all-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_lf/binary-all-crlf diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_lf/binary-all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_lf/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_lf/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_lf/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_lf/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_lf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_lf/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..aaf083a9c --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_lf/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows/autocrlf_false,crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_lf/few-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,crlf/few-utf8-chars-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_lf/few-utf8-chars-crlf diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_lf/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_lf/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows/autocrlf_false,crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_lf/many-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,crlf/many-utf8-chars-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_lf/many-utf8-chars-crlf diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_lf/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_lf/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_lf/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_lf/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_lf/mixed-lf-cr-crlf new file mode 100644 index 000000000..417786fc3 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_lf/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text/more-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_lf/more-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,text/more-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_lf/more-crlf diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_lf/more-crlf-utf8bom similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,text/more-crlf-utf8bom rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_lf/more-crlf-utf8bom diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text/more-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_lf/more-lf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,text/more-lf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_lf/more-lf diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_lf/more-lf-utf8bom similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,text/more-lf-utf8bom rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_lf/more-lf-utf8bom diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_lf/zero-byte b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,eol_lf/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_crlf/all-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/all-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_crlf/all-crlf diff --git a/tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_crlf/all-crlf-utf8bom similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/all-crlf-utf8bom rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_crlf/all-crlf-utf8bom diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_crlf/all-lf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/all-lf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_crlf/all-lf diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_crlf/all-lf-utf8bom similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/all-lf-utf8bom rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_crlf/all-lf-utf8bom diff --git a/tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/binary-all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_crlf/binary-all-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/binary-all-lf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_crlf/binary-all-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/binary-all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_crlf/binary-all-lf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/binary-all-lf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_crlf/binary-all-lf diff --git a/tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_crlf/binary-mixed-lf-cr similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/binary-mixed-lf-cr rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_crlf/binary-mixed-lf-cr diff --git a/tests/resources/crlf_data/posix/autocrlf_input,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 similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/binary-mixed-lf-cr-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_crlf/binary-mixed-lf-cr-crlf diff --git a/tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_crlf/few-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/few-utf8-chars-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_crlf/few-utf8-chars-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_crlf/few-utf8-chars-lf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/few-utf8-chars-lf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_crlf/few-utf8-chars-lf diff --git a/tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_crlf/many-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/many-utf8-chars-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_crlf/many-utf8-chars-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_crlf/many-utf8-chars-lf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/many-utf8-chars-lf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_crlf/many-utf8-chars-lf diff --git a/tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_crlf/mixed-lf-cr similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/mixed-lf-cr rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_crlf/mixed-lf-cr diff --git a/tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_crlf/mixed-lf-cr-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/mixed-lf-cr-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_crlf/mixed-lf-cr-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/more-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_crlf/more-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/more-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_crlf/more-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_crlf/more-crlf-utf8bom similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/more-crlf-utf8bom rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_crlf/more-crlf-utf8bom diff --git a/tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/more-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_crlf/more-lf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/more-lf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_crlf/more-lf diff --git a/tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_crlf/more-lf-utf8bom similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,eol_crlf/more-lf-utf8bom rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_crlf/more-lf-utf8bom diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_crlf/zero-byte b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_crlf/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/windows/autocrlf_false,eol_lf/all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_lf/all-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,eol_lf/all-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_lf/all-crlf diff --git a/tests/resources/crlf_data/windows/autocrlf_false,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_lf/all-crlf-utf8bom similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,eol_lf/all-crlf-utf8bom rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_lf/all-crlf-utf8bom diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_lf/all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_lf/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_lf/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_lf/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_lf/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/binary-all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_lf/binary-all-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/binary-all-lf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_lf/binary-all-crlf diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_lf/binary-all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_lf/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_lf/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_lf/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_lf/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_lf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_lf/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..aaf083a9c --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_lf/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows/autocrlf_false,eol_lf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_lf/few-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,eol_lf/few-utf8-chars-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_lf/few-utf8-chars-crlf diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_lf/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_lf/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows/autocrlf_false,eol_lf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_lf/many-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,eol_lf/many-utf8-chars-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_lf/many-utf8-chars-crlf diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_lf/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_lf/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_lf/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_lf/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_lf/mixed-lf-cr-crlf new file mode 100644 index 000000000..417786fc3 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_lf/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/more-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_lf/more-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/more-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_lf/more-crlf diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_lf/more-crlf-utf8bom similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/more-crlf-utf8bom rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_lf/more-crlf-utf8bom diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/more-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_lf/more-lf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/more-lf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_lf/more-lf diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_lf/more-lf-utf8bom similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/more-lf-utf8bom rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_lf/more-lf-utf8bom diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_lf/zero-byte b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text,eol_lf/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text/all-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/all-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text/all-crlf diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text/all-crlf-utf8bom similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/all-crlf-utf8bom rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text/all-crlf-utf8bom diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text/all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/posix/autocrlf_true,crlf/binary-all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text/binary-all-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,crlf/binary-all-lf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text/binary-all-crlf diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text/binary-all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..aaf083a9c --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text/few-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/few-utf8-chars-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text/few-utf8-chars-crlf diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text/many-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/many-utf8-chars-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text/many-utf8-chars-crlf diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text/mixed-lf-cr b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text/mixed-lf-cr-crlf new file mode 100644 index 000000000..417786fc3 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto/more-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text/more-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,text_auto/more-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text/more-crlf diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text/more-crlf-utf8bom similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,text_auto/more-crlf-utf8bom rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text/more-crlf-utf8bom diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto/more-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text/more-lf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,text_auto/more-lf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text/more-lf diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text/more-lf-utf8bom similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,text_auto/more-lf-utf8bom rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text/more-lf-utf8bom diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text/zero-byte b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_crlf/all-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/all-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_crlf/all-crlf diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_crlf/all-crlf-utf8bom similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/all-crlf-utf8bom rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_crlf/all-crlf-utf8bom diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_crlf/all-lf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/all-lf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_crlf/all-lf diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_crlf/all-lf-utf8bom similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/all-lf-utf8bom rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_crlf/all-lf-utf8bom diff --git a/tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/binary-all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_crlf/binary-all-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/binary-all-lf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_crlf/binary-all-crlf diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_crlf/binary-all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_crlf/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_crlf/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_crlf/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_crlf/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_crlf/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..aaf083a9c --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_crlf/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_crlf/few-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/few-utf8-chars-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_crlf/few-utf8-chars-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_crlf/few-utf8-chars-lf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/few-utf8-chars-lf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_crlf/few-utf8-chars-lf diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_crlf/many-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,text,eol_lf/many-utf8-chars-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_crlf/many-utf8-chars-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_crlf/many-utf8-chars-lf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/many-utf8-chars-lf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_crlf/many-utf8-chars-lf diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_crlf/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_crlf/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_crlf/mixed-lf-cr-crlf new file mode 100644 index 000000000..417786fc3 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_crlf/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows/autocrlf_input/more-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_crlf/more-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input/more-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_crlf/more-crlf diff --git a/tests/resources/crlf_data/windows/autocrlf_input/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_crlf/more-crlf-utf8bom similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input/more-crlf-utf8bom rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_crlf/more-crlf-utf8bom diff --git a/tests/resources/crlf_data/windows/autocrlf_input/more-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_crlf/more-lf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input/more-lf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_crlf/more-lf diff --git a/tests/resources/crlf_data/windows/autocrlf_input/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_crlf/more-lf-utf8bom similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input/more-lf-utf8bom rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_crlf/more-lf-utf8bom diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_crlf/zero-byte b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_crlf/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text/all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_lf/all-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,text/all-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_lf/all-crlf diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_lf/all-crlf-utf8bom similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,text/all-crlf-utf8bom rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_lf/all-crlf-utf8bom diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_lf/all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_lf/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_lf/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_lf/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_lf/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/binary-all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_lf/binary-all-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/binary-all-lf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_lf/binary-all-crlf diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_lf/binary-all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_lf/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_lf/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_lf/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_lf/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_lf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_lf/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..aaf083a9c --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_lf/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_lf/few-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,text/few-utf8-chars-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_lf/few-utf8-chars-crlf diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_lf/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_lf/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_lf/many-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,text/many-utf8-chars-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_lf/many-utf8-chars-crlf diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_lf/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_lf/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_lf/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_lf/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_lf/mixed-lf-cr-crlf new file mode 100644 index 000000000..417786fc3 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_lf/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows/autocrlf_true,-crlf/more-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_lf/more-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true,-crlf/more-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_lf/more-crlf diff --git a/tests/resources/crlf_data/windows/autocrlf_true,-crlf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_lf/more-crlf-utf8bom similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true,-crlf/more-crlf-utf8bom rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_lf/more-crlf-utf8bom diff --git a/tests/resources/crlf_data/windows/autocrlf_true,-crlf/more-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_lf/more-lf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true,-crlf/more-lf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_lf/more-lf diff --git a/tests/resources/crlf_data/windows/autocrlf_true,-crlf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_lf/more-lf-utf8bom similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true,-crlf/more-lf-utf8bom rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_lf/more-lf-utf8bom diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_lf/zero-byte b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto,eol_lf/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto/all-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/all-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto/all-crlf diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto/all-crlf-utf8bom similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/all-crlf-utf8bom rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto/all-crlf-utf8bom diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto/all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text/binary-all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto/binary-all-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,text/binary-all-lf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto/binary-all-crlf diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto/binary-all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..aaf083a9c --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto/few-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/few-utf8-chars-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto/few-utf8-chars-crlf diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto/many-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/many-utf8-chars-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto/many-utf8-chars-crlf diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto/mixed-lf-cr b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto/mixed-lf-cr-crlf new file mode 100644 index 000000000..417786fc3 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows/autocrlf_true,-text/more-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto/more-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true,-text/more-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto/more-crlf diff --git a/tests/resources/crlf_data/windows/autocrlf_true,-text/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto/more-crlf-utf8bom similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true,-text/more-crlf-utf8bom rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto/more-crlf-utf8bom diff --git a/tests/resources/crlf_data/windows/autocrlf_true,-text/more-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto/more-lf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true,-text/more-lf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto/more-lf diff --git a/tests/resources/crlf_data/windows/autocrlf_true,-text/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto/more-lf-utf8bom similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true,-text/more-lf-utf8bom rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto/more-lf-utf8bom diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto/zero-byte b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input,text_auto/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input/all-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/all-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_input/all-crlf diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input/all-crlf-utf8bom similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/all-crlf-utf8bom rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_input/all-crlf-utf8bom diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input/all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/binary-all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input/binary-all-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/binary-all-lf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_input/binary-all-crlf diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input/binary-all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..aaf083a9c --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input/few-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/few-utf8-chars-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_input/few-utf8-chars-crlf diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input/many-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_lf/many-utf8-chars-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_input/many-utf8-chars-crlf diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input/mixed-lf-cr b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input/mixed-lf-cr-crlf new file mode 100644 index 000000000..417786fc3 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows/autocrlf_true,eol_lf/more-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input/more-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true,eol_lf/more-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_input/more-crlf diff --git a/tests/resources/crlf_data/windows/autocrlf_true,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input/more-crlf-utf8bom similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true,eol_lf/more-crlf-utf8bom rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_input/more-crlf-utf8bom diff --git a/tests/resources/crlf_data/windows/autocrlf_true,eol_lf/more-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input/more-lf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true,eol_lf/more-lf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_input/more-lf diff --git a/tests/resources/crlf_data/windows/autocrlf_true,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input/more-lf-utf8bom similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true,eol_lf/more-lf-utf8bom rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_input/more-lf-utf8bom diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_input/zero-byte b/tests/resources/crlf_data/posix_to_workdir/autocrlf_input/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto/all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-crlf/all-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,text_auto/all-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-crlf/all-crlf diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-crlf/all-crlf-utf8bom similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,text_auto/all-crlf-utf8bom rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-crlf/all-crlf-utf8bom diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-crlf/all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-crlf/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-crlf/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-crlf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-crlf/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-crlf/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows/autocrlf_false,crlf/binary-all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-crlf/binary-all-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,crlf/binary-all-lf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-crlf/binary-all-crlf diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-crlf/binary-all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-crlf/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-crlf/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-crlf/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-crlf/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-crlf/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..aaf083a9c --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-crlf/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-crlf/few-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,text_auto/few-utf8-chars-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-crlf/few-utf8-chars-crlf diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-crlf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-crlf/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-crlf/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-crlf/many-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,text_auto/many-utf8-chars-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-crlf/many-utf8-chars-crlf diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-crlf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-crlf/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-crlf/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-crlf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-crlf/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-crlf/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-crlf/mixed-lf-cr-crlf new file mode 100644 index 000000000..417786fc3 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-crlf/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/more-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-crlf/more-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/more-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-crlf/more-crlf diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-crlf/more-crlf-utf8bom similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/more-crlf-utf8bom rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-crlf/more-crlf-utf8bom diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/more-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-crlf/more-lf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/more-lf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-crlf/more-lf diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-crlf/more-lf-utf8bom similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/more-lf-utf8bom rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-crlf/more-lf-utf8bom diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-crlf/zero-byte b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-crlf/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/windows/autocrlf_false/all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-text/all-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false/all-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-text/all-crlf diff --git a/tests/resources/crlf_data/windows/autocrlf_false/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-text/all-crlf-utf8bom similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false/all-crlf-utf8bom rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-text/all-crlf-utf8bom diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-text/all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-text/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-text/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-text/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-text/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-text/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/binary-all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-text/binary-all-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/binary-all-lf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-text/binary-all-crlf diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-text/binary-all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-text/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-text/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-text/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-text/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-text/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-text/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-text/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..aaf083a9c --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-text/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows/autocrlf_false/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-text/few-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false/few-utf8-chars-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-text/few-utf8-chars-crlf diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-text/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-text/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-text/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows/autocrlf_false/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-text/many-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false/many-utf8-chars-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-text/many-utf8-chars-crlf diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-text/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-text/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-text/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-text/mixed-lf-cr b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-text/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-text/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-text/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-text/mixed-lf-cr-crlf new file mode 100644 index 000000000..417786fc3 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-text/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/more-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-text/more-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/more-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-text/more-crlf diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-text/more-crlf-utf8bom similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/more-crlf-utf8bom rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-text/more-crlf-utf8bom diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/more-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-text/more-lf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/more-lf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-text/more-lf diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-text/more-lf-utf8bom similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/more-lf-utf8bom rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-text/more-lf-utf8bom diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-text/zero-byte b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,-text/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/windows/autocrlf_input,-crlf/all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,crlf/all-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,-crlf/all-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_true,crlf/all-crlf diff --git a/tests/resources/crlf_data/windows/autocrlf_input,-crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,crlf/all-crlf-utf8bom similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,-crlf/all-crlf-utf8bom rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_true,crlf/all-crlf-utf8bom diff --git a/tests/resources/crlf_data/posix/autocrlf_true,crlf/all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,crlf/all-lf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,crlf/all-lf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_true,crlf/all-lf diff --git a/tests/resources/crlf_data/posix/autocrlf_true,crlf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,crlf/all-lf-utf8bom similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,crlf/all-lf-utf8bom rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_true,crlf/all-lf-utf8bom diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/binary-all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,crlf/binary-all-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/binary-all-lf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_true,crlf/binary-all-crlf diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text/binary-all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,crlf/binary-all-lf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,text/binary-all-lf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_true,crlf/binary-all-lf diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,crlf/binary-mixed-lf-cr similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/binary-mixed-lf-cr rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_true,crlf/binary-mixed-lf-cr diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,crlf/binary-mixed-lf-cr-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/binary-mixed-lf-cr-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_true,crlf/binary-mixed-lf-cr-crlf diff --git a/tests/resources/crlf_data/windows/autocrlf_input,-crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,crlf/few-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,-crlf/few-utf8-chars-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_true,crlf/few-utf8-chars-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_true,crlf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,crlf/few-utf8-chars-lf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,crlf/few-utf8-chars-lf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_true,crlf/few-utf8-chars-lf diff --git a/tests/resources/crlf_data/windows/autocrlf_input,-crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,crlf/many-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,-crlf/many-utf8-chars-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_true,crlf/many-utf8-chars-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_true,crlf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,crlf/many-utf8-chars-lf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,crlf/many-utf8-chars-lf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_true,crlf/many-utf8-chars-lf diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,crlf/mixed-lf-cr similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/mixed-lf-cr rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_true,crlf/mixed-lf-cr diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,crlf/mixed-lf-cr-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/mixed-lf-cr-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_true,crlf/mixed-lf-cr-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/more-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,crlf/more-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/more-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_true,crlf/more-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,crlf/more-crlf-utf8bom similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/more-crlf-utf8bom rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_true,crlf/more-crlf-utf8bom diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/more-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,crlf/more-lf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/more-lf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_true,crlf/more-lf diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,crlf/more-lf-utf8bom similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,text,eol_crlf/more-lf-utf8bom rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_true,crlf/more-lf-utf8bom diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,crlf/zero-byte b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,crlf/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/windows/autocrlf_input,-text/all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_crlf/all-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,-text/all-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_crlf/all-crlf diff --git a/tests/resources/crlf_data/windows/autocrlf_input,-text/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_crlf/all-crlf-utf8bom similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,-text/all-crlf-utf8bom rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_crlf/all-crlf-utf8bom diff --git a/tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_crlf/all-lf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/all-lf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_crlf/all-lf diff --git a/tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_crlf/all-lf-utf8bom similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/all-lf-utf8bom rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_crlf/all-lf-utf8bom diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/binary-all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_crlf/binary-all-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/binary-all-lf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_crlf/binary-all-crlf diff --git a/tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/binary-all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_crlf/binary-all-lf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/binary-all-lf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_crlf/binary-all-lf diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_crlf/binary-mixed-lf-cr similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/binary-mixed-lf-cr rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_crlf/binary-mixed-lf-cr diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_crlf/binary-mixed-lf-cr-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/binary-mixed-lf-cr-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_crlf/binary-mixed-lf-cr-crlf diff --git a/tests/resources/crlf_data/windows/autocrlf_input,-text/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_crlf/few-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,-text/few-utf8-chars-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_crlf/few-utf8-chars-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_crlf/few-utf8-chars-lf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/few-utf8-chars-lf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_crlf/few-utf8-chars-lf diff --git a/tests/resources/crlf_data/windows/autocrlf_input,-text/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_crlf/many-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,-text/many-utf8-chars-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_crlf/many-utf8-chars-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_crlf/many-utf8-chars-lf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/many-utf8-chars-lf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_crlf/many-utf8-chars-lf diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_crlf/mixed-lf-cr similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/mixed-lf-cr rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_crlf/mixed-lf-cr diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_crlf/mixed-lf-cr-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/mixed-lf-cr-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_crlf/mixed-lf-cr-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/more-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_crlf/more-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/more-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_crlf/more-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_crlf/more-crlf-utf8bom similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/more-crlf-utf8bom rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_crlf/more-crlf-utf8bom diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/more-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_crlf/more-lf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/more-lf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_crlf/more-lf diff --git a/tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_crlf/more-lf-utf8bom similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_input,text_auto,eol_crlf/more-lf-utf8bom rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_crlf/more-lf-utf8bom diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_crlf/zero-byte b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_crlf/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/windows/autocrlf_input,crlf/all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_lf/all-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,crlf/all-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_lf/all-crlf diff --git a/tests/resources/crlf_data/windows/autocrlf_input,crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_lf/all-crlf-utf8bom similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,crlf/all-crlf-utf8bom rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_lf/all-crlf-utf8bom diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_lf/all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_lf/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_lf/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_lf/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_lf/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/binary-all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_lf/binary-all-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/binary-all-lf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_lf/binary-all-crlf diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_lf/binary-all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_lf/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_lf/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_lf/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_lf/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_lf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_lf/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..aaf083a9c --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_lf/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows/autocrlf_input,crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_lf/few-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,crlf/few-utf8-chars-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_lf/few-utf8-chars-crlf diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_lf/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_lf/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows/autocrlf_input,crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_lf/many-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,crlf/many-utf8-chars-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_lf/many-utf8-chars-crlf diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_lf/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_lf/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_lf/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_lf/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_lf/mixed-lf-cr-crlf new file mode 100644 index 000000000..417786fc3 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_lf/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows/autocrlf_true/more-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_lf/more-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true/more-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_lf/more-crlf diff --git a/tests/resources/crlf_data/windows/autocrlf_true/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_lf/more-crlf-utf8bom similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true/more-crlf-utf8bom rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_lf/more-crlf-utf8bom diff --git a/tests/resources/crlf_data/windows/autocrlf_true/more-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_lf/more-lf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true/more-lf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_lf/more-lf diff --git a/tests/resources/crlf_data/windows/autocrlf_true/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_lf/more-lf-utf8bom similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true/more-lf-utf8bom rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_lf/more-lf-utf8bom diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_lf/zero-byte b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,eol_lf/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_crlf/all-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/all-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_crlf/all-crlf diff --git a/tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_crlf/all-crlf-utf8bom similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/all-crlf-utf8bom rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_crlf/all-crlf-utf8bom diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_crlf/all-lf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/all-lf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_crlf/all-lf diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_crlf/all-lf-utf8bom similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/all-lf-utf8bom rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_crlf/all-lf-utf8bom diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/binary-all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_crlf/binary-all-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/binary-all-lf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_crlf/binary-all-crlf diff --git a/tests/resources/crlf_data/windows/autocrlf_true,crlf/binary-all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_crlf/binary-all-lf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true,crlf/binary-all-lf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_crlf/binary-all-lf diff --git a/tests/resources/crlf_data/posix/autocrlf_true,crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_crlf/binary-mixed-lf-cr similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,crlf/binary-mixed-lf-cr rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_crlf/binary-mixed-lf-cr diff --git a/tests/resources/crlf_data/posix/autocrlf_true,crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_crlf/binary-mixed-lf-cr-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,crlf/binary-mixed-lf-cr-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_crlf/binary-mixed-lf-cr-crlf diff --git a/tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_crlf/few-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/few-utf8-chars-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_crlf/few-utf8-chars-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_crlf/few-utf8-chars-lf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/few-utf8-chars-lf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_crlf/few-utf8-chars-lf diff --git a/tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_crlf/many-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/many-utf8-chars-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_crlf/many-utf8-chars-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_crlf/many-utf8-chars-lf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/many-utf8-chars-lf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_crlf/many-utf8-chars-lf diff --git a/tests/resources/crlf_data/posix/autocrlf_true,crlf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_crlf/mixed-lf-cr similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,crlf/mixed-lf-cr rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_crlf/mixed-lf-cr diff --git a/tests/resources/crlf_data/posix/autocrlf_true,crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_crlf/mixed-lf-cr-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,crlf/mixed-lf-cr-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_crlf/mixed-lf-cr-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_true,crlf/more-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_crlf/more-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,crlf/more-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_crlf/more-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_true,crlf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_crlf/more-crlf-utf8bom similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,crlf/more-crlf-utf8bom rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_crlf/more-crlf-utf8bom diff --git a/tests/resources/crlf_data/posix/autocrlf_true,crlf/more-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_crlf/more-lf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,crlf/more-lf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_crlf/more-lf diff --git a/tests/resources/crlf_data/posix/autocrlf_true,crlf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_crlf/more-lf-utf8bom similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,crlf/more-lf-utf8bom rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_crlf/more-lf-utf8bom diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_crlf/zero-byte b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_crlf/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/windows/autocrlf_input,eol_lf/all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_lf/all-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,eol_lf/all-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_lf/all-crlf diff --git a/tests/resources/crlf_data/windows/autocrlf_input,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_lf/all-crlf-utf8bom similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,eol_lf/all-crlf-utf8bom rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_lf/all-crlf-utf8bom diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_lf/all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_lf/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_lf/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_lf/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_lf/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/binary-all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_lf/binary-all-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/binary-all-lf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_lf/binary-all-crlf diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_lf/binary-all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_lf/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_lf/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_lf/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_lf/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_lf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_lf/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..aaf083a9c --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_lf/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows/autocrlf_input,eol_lf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_lf/few-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,eol_lf/few-utf8-chars-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_lf/few-utf8-chars-crlf diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_lf/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_lf/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows/autocrlf_input,eol_lf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_lf/many-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,eol_lf/many-utf8-chars-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_lf/many-utf8-chars-crlf diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_lf/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_lf/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_lf/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_lf/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_lf/mixed-lf-cr-crlf new file mode 100644 index 000000000..417786fc3 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_lf/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/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 index 000000000..0ff5a53f1 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_lf/more-crlf @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/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 index 000000000..ea030d3c6 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_lf/more-crlf-utf8bom @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/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 index 000000000..04de00b35 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_lf/more-lf @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/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 index 000000000..dc88e3b91 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_lf/more-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_lf/zero-byte b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text,eol_lf/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text/all-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/all-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text/all-crlf diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text/all-crlf-utf8bom similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/all-crlf-utf8bom rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text/all-crlf-utf8bom diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text/all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text/all-lf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,text/all-lf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text/all-lf diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text/all-lf-utf8bom similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,text/all-lf-utf8bom rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text/all-lf-utf8bom diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/binary-all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text/binary-all-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/binary-all-lf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text/binary-all-crlf diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text/binary-all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text/binary-all-lf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true,text/binary-all-lf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text/binary-all-lf diff --git a/tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text/binary-mixed-lf-cr similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/binary-mixed-lf-cr rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text/binary-mixed-lf-cr diff --git a/tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text/binary-mixed-lf-cr-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/binary-mixed-lf-cr-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text/binary-mixed-lf-cr-crlf diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text/few-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/few-utf8-chars-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text/few-utf8-chars-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text/few-utf8-chars-lf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,text/few-utf8-chars-lf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text/few-utf8-chars-lf diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text/many-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/many-utf8-chars-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text/many-utf8-chars-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text/many-utf8-chars-lf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,text/many-utf8-chars-lf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text/many-utf8-chars-lf diff --git a/tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text/mixed-lf-cr similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/mixed-lf-cr rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text/mixed-lf-cr diff --git a/tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text/mixed-lf-cr-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/mixed-lf-cr-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text/mixed-lf-cr-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/more-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text/more-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/more-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text/more-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/more-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text/more-crlf-utf8bom similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/more-crlf-utf8bom rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text/more-crlf-utf8bom diff --git a/tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/more-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text/more-lf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/more-lf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text/more-lf diff --git a/tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/more-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text/more-lf-utf8bom similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,eol_crlf/more-lf-utf8bom rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text/more-lf-utf8bom diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text/zero-byte b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_crlf/all-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/all-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_crlf/all-crlf diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_crlf/all-crlf-utf8bom similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/all-crlf-utf8bom rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_crlf/all-crlf-utf8bom diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_crlf/all-lf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/all-lf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_crlf/all-lf diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_crlf/all-lf-utf8bom similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/all-lf-utf8bom rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_crlf/all-lf-utf8bom diff --git a/tests/resources/crlf_data/windows/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-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/binary-all-lf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_crlf/binary-all-crlf diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_crlf/binary-all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_crlf/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_crlf/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..aaf083a9c --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_crlf/few-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/few-utf8-chars-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_crlf/few-utf8-chars-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_crlf/few-utf8-chars-lf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/few-utf8-chars-lf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_crlf/few-utf8-chars-lf diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_crlf/many-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,text,eol_lf/many-utf8-chars-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_crlf/many-utf8-chars-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_crlf/many-utf8-chars-lf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/many-utf8-chars-lf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_crlf/many-utf8-chars-lf diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_crlf/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_crlf/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_crlf/mixed-lf-cr-crlf new file mode 100644 index 000000000..417786fc3 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_crlf/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/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 index 000000000..0ff5a53f1 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_crlf/more-crlf @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/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 index 000000000..ea030d3c6 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_crlf/more-crlf-utf8bom @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/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 index 000000000..04de00b35 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_crlf/more-lf @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/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 index 000000000..dc88e3b91 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_crlf/more-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_crlf/zero-byte b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_crlf/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text/all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_lf/all-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,text/all-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_lf/all-crlf diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_lf/all-crlf-utf8bom similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,text/all-crlf-utf8bom rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_lf/all-crlf-utf8bom diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_lf/all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_lf/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_lf/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_lf/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_lf/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_lf/binary-all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_lf/binary-all-crlf new file mode 100644 index 000000000..85340755c --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_lf/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_lf/binary-all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_lf/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_lf/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_lf/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_lf/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_lf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_lf/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..aaf083a9c --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_lf/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_lf/few-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,text/few-utf8-chars-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_lf/few-utf8-chars-crlf diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_lf/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_lf/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_lf/many-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,text/many-utf8-chars-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_lf/many-utf8-chars-crlf diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_lf/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_lf/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_lf/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_lf/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_lf/mixed-lf-cr-crlf new file mode 100644 index 000000000..417786fc3 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_lf/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/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 index 000000000..0ff5a53f1 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_lf/more-crlf @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/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 index 000000000..ea030d3c6 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_lf/more-crlf-utf8bom @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/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 index 000000000..04de00b35 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_lf/more-lf @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/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 index 000000000..dc88e3b91 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_lf/more-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_lf/zero-byte b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto,eol_lf/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto/all-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/all-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto/all-crlf diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto/all-crlf-utf8bom similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/all-crlf-utf8bom rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto/all-crlf-utf8bom diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto/all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto/all-lf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,text_auto/all-lf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto/all-lf diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto/all-lf-utf8bom similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,text_auto/all-lf-utf8bom rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto/all-lf-utf8bom diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto/binary-all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto/binary-all-crlf new file mode 100644 index 000000000..85340755c --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto/binary-all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..aaf083a9c --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto/few-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/few-utf8-chars-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto/few-utf8-chars-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto/few-utf8-chars-lf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,text_auto/few-utf8-chars-lf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto/few-utf8-chars-lf diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto/many-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/many-utf8-chars-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto/many-utf8-chars-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto/many-utf8-chars-lf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,text_auto/many-utf8-chars-lf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto/many-utf8-chars-lf diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto/mixed-lf-cr b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto/mixed-lf-cr-crlf new file mode 100644 index 000000000..417786fc3 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/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 index 000000000..0ff5a53f1 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto/more-crlf @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf 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 index 000000000..ea030d3c6 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto/more-crlf-utf8bom @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/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 index 000000000..04de00b35 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto/more-lf @@ -0,0 +1,5 @@ +lf +lf +crlf +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 index 000000000..dc88e3b91 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto/more-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto/zero-byte b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true,text_auto/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true/all-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/all-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_true/all-crlf diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true/all-crlf-utf8bom similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/all-crlf-utf8bom rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_true/all-crlf-utf8bom diff --git a/tests/resources/crlf_data/posix/autocrlf_true/all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true/all-lf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true/all-lf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_true/all-lf diff --git a/tests/resources/crlf_data/posix/autocrlf_true/all-lf-utf8bom b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true/all-lf-utf8bom similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true/all-lf-utf8bom rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_true/all-lf-utf8bom diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true/binary-all-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true/binary-all-crlf new file mode 100644 index 000000000..85340755c --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true/binary-all-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true/binary-mixed-lf-cr b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..aaf083a9c --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/few-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true/few-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/few-utf8-chars-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_true/few-utf8-chars-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_true/few-utf8-chars-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true/few-utf8-chars-lf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true/few-utf8-chars-lf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_true/few-utf8-chars-lf diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/many-utf8-chars-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true/many-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_lf/many-utf8-chars-crlf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_true/many-utf8-chars-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_true/many-utf8-chars-lf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true/many-utf8-chars-lf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true/many-utf8-chars-lf rename to tests/resources/crlf_data/posix_to_workdir/autocrlf_true/many-utf8-chars-lf diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true/mixed-lf-cr b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true/mixed-lf-cr-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true/mixed-lf-cr-crlf new file mode 100644 index 000000000..417786fc3 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/posix_to_workdir/autocrlf_true/more-crlf b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true/more-crlf new file mode 100644 index 000000000..0ff5a53f1 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true/more-crlf @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf 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 index 000000000..ea030d3c6 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true/more-crlf-utf8bom @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf 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 index 000000000..04de00b35 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true/more-lf @@ -0,0 +1,5 @@ +lf +lf +crlf +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 index 000000000..dc88e3b91 --- /dev/null +++ b/tests/resources/crlf_data/posix_to_workdir/autocrlf_true/more-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +crlf +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 index 000000000..e69de29bb 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 index e682c3077..000000000 --- a/tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/more-crlf +++ /dev/null @@ -1,5 +0,0 @@ -crlf -crlf -lf -crlf -crlf 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 index 2e1220cbb..000000000 --- a/tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/more-crlf-utf8bom +++ /dev/null @@ -1,5 +0,0 @@ -crlf -crlf -lf -crlf -crlf 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 index 6da5b0c7e..000000000 --- a/tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/more-lf +++ /dev/null @@ -1,5 +0,0 @@ -lf -lf -crlf -lf -lf 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 index 3fa59c809..000000000 --- a/tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/more-lf-utf8bom +++ /dev/null @@ -1,5 +0,0 @@ -lf -lf -crlf -lf -lf 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 index e682c3077..000000000 --- a/tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/more-crlf +++ /dev/null @@ -1,5 +0,0 @@ -crlf -crlf -lf -crlf -crlf 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 index 2e1220cbb..000000000 --- a/tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/more-crlf-utf8bom +++ /dev/null @@ -1,5 +0,0 @@ -crlf -crlf -lf -crlf -crlf 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 index 6da5b0c7e..000000000 --- a/tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/more-lf +++ /dev/null @@ -1,5 +0,0 @@ -lf -lf -crlf -lf -lf 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 index 3fa59c809..000000000 --- a/tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/more-lf-utf8bom +++ /dev/null @@ -1,5 +0,0 @@ -lf -lf -crlf -lf -lf 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 index fd2abfa9d..000000000 --- a/tests/resources/crlf_data/windows/autocrlf_true,text/binary-mixed-lf-cr +++ /dev/null @@ -1,3 +0,0 @@ -one -two three -four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows/autocrlf_true,text/binary-mixed-lf-cr-crlf deleted file mode 100644 index fd2abfa9d..000000000 --- a/tests/resources/crlf_data/windows/autocrlf_true,text/binary-mixed-lf-cr-crlf +++ /dev/null @@ -1,3 +0,0 @@ -one -two three -four \ No newline at end of file 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 index df8c0f680..000000000 --- a/tests/resources/crlf_data/windows/autocrlf_true,text/mixed-lf-cr +++ /dev/null @@ -1,3 +0,0 @@ -one -two three -four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows/autocrlf_true,text/mixed-lf-cr-crlf deleted file mode 100644 index df8c0f680..000000000 --- a/tests/resources/crlf_data/windows/autocrlf_true,text/mixed-lf-cr-crlf +++ /dev/null @@ -1,3 +0,0 @@ -one -two three -four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text/more-crlf b/tests/resources/crlf_data/windows/autocrlf_true,text/more-crlf deleted file mode 100644 index e682c3077..000000000 --- a/tests/resources/crlf_data/windows/autocrlf_true,text/more-crlf +++ /dev/null @@ -1,5 +0,0 @@ -crlf -crlf -lf -crlf -crlf 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 index 2e1220cbb..000000000 --- a/tests/resources/crlf_data/windows/autocrlf_true,text/more-crlf-utf8bom +++ /dev/null @@ -1,5 +0,0 @@ -crlf -crlf -lf -crlf -crlf 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 index 6da5b0c7e..000000000 --- a/tests/resources/crlf_data/windows/autocrlf_true,text/more-lf +++ /dev/null @@ -1,5 +0,0 @@ -lf -lf -crlf -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 index 3fa59c809..000000000 --- a/tests/resources/crlf_data/windows/autocrlf_true,text/more-lf-utf8bom +++ /dev/null @@ -1,5 +0,0 @@ -lf -lf -crlf -lf -lf 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 index fd2abfa9d..000000000 --- a/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr +++ /dev/null @@ -1,3 +0,0 @@ -one -two three -four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr-crlf deleted file mode 100644 index fd2abfa9d..000000000 --- a/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr-crlf +++ /dev/null @@ -1,3 +0,0 @@ -one -two three -four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/mixed-lf-cr deleted file mode 100644 index df8c0f680..000000000 --- a/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/mixed-lf-cr +++ /dev/null @@ -1,3 +0,0 @@ -one -two three -four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/mixed-lf-cr-crlf deleted file mode 100644 index df8c0f680..000000000 --- a/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/mixed-lf-cr-crlf +++ /dev/null @@ -1,3 +0,0 @@ -one -two three -four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/more-crlf b/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/more-crlf deleted file mode 100644 index e682c3077..000000000 --- a/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/more-crlf +++ /dev/null @@ -1,5 +0,0 @@ -crlf -crlf -lf -crlf -crlf 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 index 2e1220cbb..000000000 --- a/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/more-crlf-utf8bom +++ /dev/null @@ -1,5 +0,0 @@ -crlf -crlf -lf -crlf -crlf 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 index 6da5b0c7e..000000000 --- a/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/more-lf +++ /dev/null @@ -1,5 +0,0 @@ -lf -lf -crlf -lf -lf 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 index 3fa59c809..000000000 --- a/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/more-lf-utf8bom +++ /dev/null @@ -1,5 +0,0 @@ -lf -lf -crlf -lf -lf 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 index e682c3077..000000000 --- a/tests/resources/crlf_data/windows/autocrlf_true,text_auto/more-crlf +++ /dev/null @@ -1,5 +0,0 @@ -crlf -crlf -lf -crlf -crlf 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 index 2e1220cbb..000000000 --- a/tests/resources/crlf_data/windows/autocrlf_true,text_auto/more-crlf-utf8bom +++ /dev/null @@ -1,5 +0,0 @@ -crlf -crlf -lf -crlf -crlf 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 index 6da5b0c7e..000000000 --- a/tests/resources/crlf_data/windows/autocrlf_true,text_auto/more-lf +++ /dev/null @@ -1,5 +0,0 @@ -lf -lf -crlf -lf -lf 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 index 3fa59c809..000000000 --- a/tests/resources/crlf_data/windows/autocrlf_true,text_auto/more-lf-utf8bom +++ /dev/null @@ -1,5 +0,0 @@ -lf -lf -crlf -lf -lf diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/all-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,text_auto/all-crlf rename to tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/all-crlf diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/all-crlf-utf8bom similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,text_auto/all-crlf-utf8bom rename to tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/all-crlf-utf8bom diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/binary-all-crlf new file mode 100644 index 000000000..85340755c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..aaf083a9c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/few-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,text_auto/few-utf8-chars-crlf rename to tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/few-utf8-chars-crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/many-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,text_auto/many-utf8-chars-crlf rename to tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/many-utf8-chars-crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/mixed-lf-cr-crlf new file mode 100644 index 000000000..417786fc3 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/more-crlf new file mode 100644 index 000000000..0ff5a53f1 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/more-crlf @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/more-crlf-utf8bom new file mode 100644 index 000000000..ea030d3c6 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/more-crlf-utf8bom @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/more-lf new file mode 100644 index 000000000..04de00b35 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/more-lf @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/more-lf-utf8bom new file mode 100644 index 000000000..dc88e3b91 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/more-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-crlf/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/windows/autocrlf_input/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/all-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input/all-crlf rename to tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/all-crlf diff --git a/tests/resources/crlf_data/windows/autocrlf_input/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/all-crlf-utf8bom similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input/all-crlf-utf8bom rename to tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/all-crlf-utf8bom diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/binary-all-crlf new file mode 100644 index 000000000..85340755c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..aaf083a9c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows/autocrlf_input/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/few-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input/few-utf8-chars-crlf rename to tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/few-utf8-chars-crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows/autocrlf_input/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/many-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input/many-utf8-chars-crlf rename to tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/many-utf8-chars-crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/mixed-lf-cr-crlf new file mode 100644 index 000000000..417786fc3 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/more-crlf new file mode 100644 index 000000000..0ff5a53f1 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/more-crlf @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/more-crlf-utf8bom new file mode 100644 index 000000000..ea030d3c6 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/more-crlf-utf8bom @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/more-lf new file mode 100644 index 000000000..04de00b35 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/more-lf @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/more-lf-utf8bom new file mode 100644 index 000000000..dc88e3b91 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/more-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,-text/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/all-crlf new file mode 100644 index 000000000..26e1a742b --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/all-crlf-utf8bom new file mode 100644 index 000000000..32c6f22e3 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/binary-all-crlf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/few-utf8-chars-crlf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/few-utf8-chars-crlf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/many-utf8-chars-crlf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/many-utf8-chars-crlf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/mixed-lf-cr-crlf new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/more-crlf new file mode 100644 index 000000000..37bb7fa3d --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/more-crlf @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/more-crlf-utf8bom new file mode 100644 index 000000000..16001a14a --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/more-crlf-utf8bom @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/more-lf new file mode 100644 index 000000000..2cda6f203 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/more-lf @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/more-lf-utf8bom new file mode 100644 index 000000000..dc7d82aa0 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/more-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,crlf/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/all-crlf new file mode 100644 index 000000000..26e1a742b --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/all-crlf-utf8bom new file mode 100644 index 000000000..32c6f22e3 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/binary-all-crlf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/few-utf8-chars-crlf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/few-utf8-chars-crlf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/many-utf8-chars-crlf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/many-utf8-chars-crlf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/mixed-lf-cr-crlf new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/more-crlf new file mode 100644 index 000000000..37bb7fa3d --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/more-crlf @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/more-crlf-utf8bom new file mode 100644 index 000000000..16001a14a --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/more-crlf-utf8bom @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/more-lf new file mode 100644 index 000000000..2cda6f203 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/more-lf @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/more-lf-utf8bom new file mode 100644 index 000000000..dc7d82aa0 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/more-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_crlf/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/all-crlf new file mode 100644 index 000000000..26e1a742b --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/all-crlf-utf8bom new file mode 100644 index 000000000..32c6f22e3 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/binary-all-crlf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/few-utf8-chars-crlf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/few-utf8-chars-crlf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/many-utf8-chars-crlf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/many-utf8-chars-crlf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/mixed-lf-cr-crlf new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/more-crlf new file mode 100644 index 000000000..37bb7fa3d --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/more-crlf @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/more-crlf-utf8bom new file mode 100644 index 000000000..16001a14a --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/more-crlf-utf8bom @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/more-lf new file mode 100644 index 000000000..2cda6f203 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/more-lf @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/more-lf-utf8bom new file mode 100644 index 000000000..dc7d82aa0 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/more-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,eol_lf/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/all-crlf new file mode 100644 index 000000000..26e1a742b --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/all-crlf-utf8bom new file mode 100644 index 000000000..32c6f22e3 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/binary-all-crlf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/few-utf8-chars-crlf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/few-utf8-chars-crlf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/many-utf8-chars-crlf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/many-utf8-chars-crlf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/mixed-lf-cr-crlf new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/more-crlf new file mode 100644 index 000000000..37bb7fa3d --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/more-crlf @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/more-crlf-utf8bom new file mode 100644 index 000000000..16001a14a --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/more-crlf-utf8bom @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/more-lf new file mode 100644 index 000000000..2cda6f203 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/more-lf @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/more-lf-utf8bom new file mode 100644 index 000000000..dc7d82aa0 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/more-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_crlf/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/all-crlf new file mode 100644 index 000000000..26e1a742b --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/all-crlf-utf8bom new file mode 100644 index 000000000..32c6f22e3 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/binary-all-crlf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/few-utf8-chars-crlf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/few-utf8-chars-crlf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/many-utf8-chars-crlf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/many-utf8-chars-crlf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/mixed-lf-cr-crlf new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/more-crlf new file mode 100644 index 000000000..37bb7fa3d --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/more-crlf @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/more-crlf-utf8bom new file mode 100644 index 000000000..16001a14a --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/more-crlf-utf8bom @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/more-lf new file mode 100644 index 000000000..2cda6f203 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/more-lf @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/more-lf-utf8bom new file mode 100644 index 000000000..dc7d82aa0 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/more-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text,eol_lf/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/all-crlf new file mode 100644 index 000000000..26e1a742b --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/all-crlf-utf8bom new file mode 100644 index 000000000..32c6f22e3 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/binary-all-crlf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/few-utf8-chars-crlf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/few-utf8-chars-crlf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/many-utf8-chars-crlf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/many-utf8-chars-crlf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/mixed-lf-cr-crlf new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/more-crlf new file mode 100644 index 000000000..37bb7fa3d --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/more-crlf @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/more-crlf-utf8bom new file mode 100644 index 000000000..16001a14a --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/more-crlf-utf8bom @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/more-lf new file mode 100644 index 000000000..2cda6f203 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/more-lf @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/more-lf-utf8bom new file mode 100644 index 000000000..dc7d82aa0 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/more-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/all-crlf new file mode 100644 index 000000000..26e1a742b --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/all-crlf-utf8bom new file mode 100644 index 000000000..32c6f22e3 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/binary-all-crlf new file mode 100644 index 000000000..85340755c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..aaf083a9c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/few-utf8-chars-crlf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/few-utf8-chars-crlf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/many-utf8-chars-crlf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/many-utf8-chars-crlf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/mixed-lf-cr-crlf new file mode 100644 index 000000000..417786fc3 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/more-crlf new file mode 100644 index 000000000..37bb7fa3d --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/more-crlf @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/more-crlf-utf8bom new file mode 100644 index 000000000..16001a14a --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/more-crlf-utf8bom @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/more-lf new file mode 100644 index 000000000..2cda6f203 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/more-lf @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/more-lf-utf8bom new file mode 100644 index 000000000..dc7d82aa0 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/more-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_crlf/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/all-crlf new file mode 100644 index 000000000..26e1a742b --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/all-crlf-utf8bom new file mode 100644 index 000000000..32c6f22e3 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/binary-all-crlf new file mode 100644 index 000000000..85340755c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..aaf083a9c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/few-utf8-chars-crlf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/few-utf8-chars-crlf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/many-utf8-chars-crlf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/many-utf8-chars-crlf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/mixed-lf-cr-crlf new file mode 100644 index 000000000..417786fc3 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/more-crlf new file mode 100644 index 000000000..37bb7fa3d --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/more-crlf @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/more-crlf-utf8bom new file mode 100644 index 000000000..16001a14a --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/more-crlf-utf8bom @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/more-lf new file mode 100644 index 000000000..2cda6f203 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/more-lf @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/more-lf-utf8bom new file mode 100644 index 000000000..dc7d82aa0 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/more-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto,eol_lf/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/all-crlf new file mode 100644 index 000000000..26e1a742b --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/all-crlf-utf8bom new file mode 100644 index 000000000..32c6f22e3 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/binary-all-crlf new file mode 100644 index 000000000..85340755c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..aaf083a9c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/few-utf8-chars-crlf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/few-utf8-chars-crlf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/many-utf8-chars-crlf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/many-utf8-chars-crlf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/mixed-lf-cr-crlf new file mode 100644 index 000000000..417786fc3 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/more-crlf new file mode 100644 index 000000000..37bb7fa3d --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/more-crlf @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/more-crlf-utf8bom new file mode 100644 index 000000000..16001a14a --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/more-crlf-utf8bom @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/more-lf new file mode 100644 index 000000000..2cda6f203 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/more-lf @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/more-lf-utf8bom new file mode 100644 index 000000000..dc7d82aa0 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/more-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false,text_auto/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/windows/autocrlf_true,-crlf/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/all-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true,-crlf/all-crlf rename to tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/all-crlf diff --git a/tests/resources/crlf_data/windows/autocrlf_true,-crlf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/all-crlf-utf8bom similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true,-crlf/all-crlf-utf8bom rename to tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/all-crlf-utf8bom diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/binary-all-crlf new file mode 100644 index 000000000..85340755c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..aaf083a9c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows/autocrlf_true,-crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/few-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true,-crlf/few-utf8-chars-crlf rename to tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/few-utf8-chars-crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows/autocrlf_true,-crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/many-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true,-crlf/many-utf8-chars-crlf rename to tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/many-utf8-chars-crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/mixed-lf-cr-crlf new file mode 100644 index 000000000..417786fc3 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/more-crlf new file mode 100644 index 000000000..0ff5a53f1 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/more-crlf @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/more-crlf-utf8bom new file mode 100644 index 000000000..ea030d3c6 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/more-crlf-utf8bom @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/more-lf new file mode 100644 index 000000000..04de00b35 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/more-lf @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/more-lf-utf8bom new file mode 100644 index 000000000..dc88e3b91 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/more-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_false/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/windows/autocrlf_true,-text/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/all-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true,-text/all-crlf rename to tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/all-crlf diff --git a/tests/resources/crlf_data/windows/autocrlf_true,-text/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/all-crlf-utf8bom similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true,-text/all-crlf-utf8bom rename to tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/all-crlf-utf8bom diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/binary-all-crlf new file mode 100644 index 000000000..85340755c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..aaf083a9c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows/autocrlf_true,-text/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/few-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true,-text/few-utf8-chars-crlf rename to tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/few-utf8-chars-crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows/autocrlf_true,-text/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/many-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true,-text/many-utf8-chars-crlf rename to tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/many-utf8-chars-crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/mixed-lf-cr-crlf new file mode 100644 index 000000000..417786fc3 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/more-crlf new file mode 100644 index 000000000..0ff5a53f1 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/more-crlf @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/more-crlf-utf8bom new file mode 100644 index 000000000..ea030d3c6 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/more-crlf-utf8bom @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/more-lf new file mode 100644 index 000000000..04de00b35 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/more-lf @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/more-lf-utf8bom new file mode 100644 index 000000000..dc88e3b91 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/more-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-crlf/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/windows/autocrlf_true,crlf/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/all-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true,crlf/all-crlf rename to tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/all-crlf diff --git a/tests/resources/crlf_data/windows/autocrlf_true,crlf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/all-crlf-utf8bom similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true,crlf/all-crlf-utf8bom rename to tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/all-crlf-utf8bom diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/binary-all-crlf new file mode 100644 index 000000000..85340755c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..aaf083a9c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows/autocrlf_true,crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/few-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true,crlf/few-utf8-chars-crlf rename to tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/few-utf8-chars-crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows/autocrlf_true,crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/many-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true,crlf/many-utf8-chars-crlf rename to tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/many-utf8-chars-crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/mixed-lf-cr-crlf new file mode 100644 index 000000000..417786fc3 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/more-crlf new file mode 100644 index 000000000..0ff5a53f1 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/more-crlf @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/more-crlf-utf8bom new file mode 100644 index 000000000..ea030d3c6 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/more-crlf-utf8bom @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/more-lf new file mode 100644 index 000000000..04de00b35 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/more-lf @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/more-lf-utf8bom new file mode 100644 index 000000000..dc88e3b91 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/more-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,-text/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/all-crlf new file mode 100644 index 000000000..26e1a742b --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/all-crlf-utf8bom new file mode 100644 index 000000000..32c6f22e3 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/all-lf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/all-lf-utf8bom.fail new file mode 100644 index 000000000..547008e0f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/all-lf-utf8bom.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'all-lf-utf8bom' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/all-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/all-lf.fail new file mode 100644 index 000000000..d992d4720 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/all-lf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'all-lf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/binary-all-crlf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/binary-all-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/binary-all-lf.fail new file mode 100644 index 000000000..180663eca --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/binary-all-lf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'binary-all-lf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/binary-mixed-lf-cr-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/binary-mixed-lf-cr-crlf.fail new file mode 100644 index 000000000..f87ce3f16 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/binary-mixed-lf-cr-crlf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'binary-mixed-lf-cr-crlf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/binary-mixed-lf-cr.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/binary-mixed-lf-cr.fail new file mode 100644 index 000000000..63eac58a4 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/binary-mixed-lf-cr.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'binary-mixed-lf-cr' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/few-utf8-chars-crlf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/few-utf8-chars-crlf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/few-utf8-chars-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/few-utf8-chars-lf.fail new file mode 100644 index 000000000..fabf46617 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/few-utf8-chars-lf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'few-utf8-chars-lf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/many-utf8-chars-crlf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/many-utf8-chars-crlf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/many-utf8-chars-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/many-utf8-chars-lf.fail new file mode 100644 index 000000000..b874f4bb9 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/many-utf8-chars-lf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'many-utf8-chars-lf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/mixed-lf-cr-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/mixed-lf-cr-crlf.fail new file mode 100644 index 000000000..a353e0e82 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/mixed-lf-cr-crlf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'mixed-lf-cr-crlf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/mixed-lf-cr.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/mixed-lf-cr.fail new file mode 100644 index 000000000..0287e3250 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/mixed-lf-cr.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'mixed-lf-cr' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/more-crlf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/more-crlf-utf8bom.fail new file mode 100644 index 000000000..e77b2b976 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/more-crlf-utf8bom.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'more-crlf-utf8bom' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/more-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/more-crlf.fail new file mode 100644 index 000000000..07f50c353 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/more-crlf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'more-crlf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/more-lf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/more-lf-utf8bom.fail new file mode 100644 index 000000000..6994a8d01 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/more-lf-utf8bom.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'more-lf-utf8bom' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/more-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/more-lf.fail new file mode 100644 index 000000000..067a2e896 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/more-lf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'more-lf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,crlf/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/all-crlf new file mode 100644 index 000000000..26e1a742b --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/all-crlf-utf8bom new file mode 100644 index 000000000..32c6f22e3 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/all-lf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/all-lf-utf8bom.fail new file mode 100644 index 000000000..547008e0f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/all-lf-utf8bom.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'all-lf-utf8bom' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/all-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/all-lf.fail new file mode 100644 index 000000000..d992d4720 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/all-lf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'all-lf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/binary-all-crlf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/binary-all-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/binary-all-lf.fail new file mode 100644 index 000000000..180663eca --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/binary-all-lf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'binary-all-lf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/binary-mixed-lf-cr-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/binary-mixed-lf-cr-crlf.fail new file mode 100644 index 000000000..f87ce3f16 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/binary-mixed-lf-cr-crlf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'binary-mixed-lf-cr-crlf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/binary-mixed-lf-cr.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/binary-mixed-lf-cr.fail new file mode 100644 index 000000000..63eac58a4 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/binary-mixed-lf-cr.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'binary-mixed-lf-cr' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/few-utf8-chars-crlf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/few-utf8-chars-crlf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/few-utf8-chars-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/few-utf8-chars-lf.fail new file mode 100644 index 000000000..fabf46617 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/few-utf8-chars-lf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'few-utf8-chars-lf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/many-utf8-chars-crlf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/many-utf8-chars-crlf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/many-utf8-chars-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/many-utf8-chars-lf.fail new file mode 100644 index 000000000..b874f4bb9 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/many-utf8-chars-lf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'many-utf8-chars-lf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/mixed-lf-cr-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/mixed-lf-cr-crlf.fail new file mode 100644 index 000000000..a353e0e82 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/mixed-lf-cr-crlf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'mixed-lf-cr-crlf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/mixed-lf-cr.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/mixed-lf-cr.fail new file mode 100644 index 000000000..0287e3250 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/mixed-lf-cr.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'mixed-lf-cr' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/more-crlf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/more-crlf-utf8bom.fail new file mode 100644 index 000000000..e77b2b976 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/more-crlf-utf8bom.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'more-crlf-utf8bom' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/more-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/more-crlf.fail new file mode 100644 index 000000000..07f50c353 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/more-crlf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'more-crlf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/more-lf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/more-lf-utf8bom.fail new file mode 100644 index 000000000..6994a8d01 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/more-lf-utf8bom.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'more-lf-utf8bom' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/more-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/more-lf.fail new file mode 100644 index 000000000..067a2e896 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/more-lf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'more-lf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_crlf/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/all-crlf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/all-crlf-utf8bom.fail new file mode 100644 index 000000000..213f972a6 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/all-crlf-utf8bom.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'all-crlf-utf8bom' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/all-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/all-crlf.fail new file mode 100644 index 000000000..851ef6c77 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/all-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'all-crlf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/binary-all-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/binary-all-crlf.fail new file mode 100644 index 000000000..26690f37e --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/binary-all-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'binary-all-crlf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/binary-mixed-lf-cr-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/binary-mixed-lf-cr-crlf.fail new file mode 100644 index 000000000..c6b706d60 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/binary-mixed-lf-cr-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'binary-mixed-lf-cr-crlf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/few-utf8-chars-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/few-utf8-chars-crlf.fail new file mode 100644 index 000000000..c23959d76 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/few-utf8-chars-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'few-utf8-chars-crlf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/many-utf8-chars-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/many-utf8-chars-crlf.fail new file mode 100644 index 000000000..2e093c93e --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/many-utf8-chars-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'many-utf8-chars-crlf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/mixed-lf-cr-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/mixed-lf-cr-crlf.fail new file mode 100644 index 000000000..3c6cbace0 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/mixed-lf-cr-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'mixed-lf-cr-crlf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/more-crlf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/more-crlf-utf8bom.fail new file mode 100644 index 000000000..43b93dbe3 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/more-crlf-utf8bom.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'more-crlf-utf8bom' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/more-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/more-crlf.fail new file mode 100644 index 000000000..b1a5dc9e5 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/more-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'more-crlf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/more-lf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/more-lf-utf8bom.fail new file mode 100644 index 000000000..13c4e3c58 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/more-lf-utf8bom.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'more-lf-utf8bom' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/more-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/more-lf.fail new file mode 100644 index 000000000..c964c725a --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/more-lf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'more-lf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,eol_lf/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/all-crlf new file mode 100644 index 000000000..26e1a742b --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/all-crlf-utf8bom new file mode 100644 index 000000000..32c6f22e3 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/all-lf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/all-lf-utf8bom.fail new file mode 100644 index 000000000..547008e0f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/all-lf-utf8bom.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'all-lf-utf8bom' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/all-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/all-lf.fail new file mode 100644 index 000000000..d992d4720 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/all-lf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'all-lf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/binary-all-crlf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/binary-all-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/binary-all-lf.fail new file mode 100644 index 000000000..180663eca --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/binary-all-lf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'binary-all-lf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/binary-mixed-lf-cr-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/binary-mixed-lf-cr-crlf.fail new file mode 100644 index 000000000..f87ce3f16 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/binary-mixed-lf-cr-crlf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'binary-mixed-lf-cr-crlf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/binary-mixed-lf-cr.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/binary-mixed-lf-cr.fail new file mode 100644 index 000000000..63eac58a4 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/binary-mixed-lf-cr.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'binary-mixed-lf-cr' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/few-utf8-chars-crlf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/few-utf8-chars-crlf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/few-utf8-chars-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/few-utf8-chars-lf.fail new file mode 100644 index 000000000..fabf46617 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/few-utf8-chars-lf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'few-utf8-chars-lf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/many-utf8-chars-crlf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/many-utf8-chars-crlf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/many-utf8-chars-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/many-utf8-chars-lf.fail new file mode 100644 index 000000000..b874f4bb9 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/many-utf8-chars-lf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'many-utf8-chars-lf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/mixed-lf-cr-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/mixed-lf-cr-crlf.fail new file mode 100644 index 000000000..a353e0e82 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/mixed-lf-cr-crlf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'mixed-lf-cr-crlf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/mixed-lf-cr.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/mixed-lf-cr.fail new file mode 100644 index 000000000..0287e3250 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/mixed-lf-cr.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'mixed-lf-cr' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/more-crlf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/more-crlf-utf8bom.fail new file mode 100644 index 000000000..e77b2b976 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/more-crlf-utf8bom.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'more-crlf-utf8bom' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/more-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/more-crlf.fail new file mode 100644 index 000000000..07f50c353 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/more-crlf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'more-crlf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/more-lf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/more-lf-utf8bom.fail new file mode 100644 index 000000000..6994a8d01 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/more-lf-utf8bom.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'more-lf-utf8bom' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/more-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/more-lf.fail new file mode 100644 index 000000000..067a2e896 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/more-lf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'more-lf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_crlf/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/all-crlf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/all-crlf-utf8bom.fail new file mode 100644 index 000000000..213f972a6 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/all-crlf-utf8bom.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'all-crlf-utf8bom' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/all-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/all-crlf.fail new file mode 100644 index 000000000..851ef6c77 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/all-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'all-crlf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/binary-all-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/binary-all-crlf.fail new file mode 100644 index 000000000..26690f37e --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/binary-all-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'binary-all-crlf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/binary-mixed-lf-cr-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/binary-mixed-lf-cr-crlf.fail new file mode 100644 index 000000000..c6b706d60 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/binary-mixed-lf-cr-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'binary-mixed-lf-cr-crlf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/few-utf8-chars-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/few-utf8-chars-crlf.fail new file mode 100644 index 000000000..c23959d76 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/few-utf8-chars-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'few-utf8-chars-crlf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/many-utf8-chars-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/many-utf8-chars-crlf.fail new file mode 100644 index 000000000..2e093c93e --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/many-utf8-chars-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'many-utf8-chars-crlf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/mixed-lf-cr-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/mixed-lf-cr-crlf.fail new file mode 100644 index 000000000..3c6cbace0 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/mixed-lf-cr-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'mixed-lf-cr-crlf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/more-crlf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/more-crlf-utf8bom.fail new file mode 100644 index 000000000..43b93dbe3 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/more-crlf-utf8bom.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'more-crlf-utf8bom' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/more-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/more-crlf.fail new file mode 100644 index 000000000..b1a5dc9e5 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/more-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'more-crlf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/more-lf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/more-lf-utf8bom.fail new file mode 100644 index 000000000..13c4e3c58 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/more-lf-utf8bom.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'more-lf-utf8bom' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/more-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/more-lf.fail new file mode 100644 index 000000000..c964c725a --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/more-lf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'more-lf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text,eol_lf/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/all-crlf new file mode 100644 index 000000000..26e1a742b --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/all-crlf-utf8bom new file mode 100644 index 000000000..32c6f22e3 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/all-lf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/all-lf-utf8bom.fail new file mode 100644 index 000000000..547008e0f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/all-lf-utf8bom.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'all-lf-utf8bom' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/all-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/all-lf.fail new file mode 100644 index 000000000..d992d4720 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/all-lf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'all-lf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/binary-all-crlf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/binary-all-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/binary-all-lf.fail new file mode 100644 index 000000000..180663eca --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/binary-all-lf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'binary-all-lf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/binary-mixed-lf-cr-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/binary-mixed-lf-cr-crlf.fail new file mode 100644 index 000000000..f87ce3f16 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/binary-mixed-lf-cr-crlf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'binary-mixed-lf-cr-crlf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/binary-mixed-lf-cr.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/binary-mixed-lf-cr.fail new file mode 100644 index 000000000..63eac58a4 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/binary-mixed-lf-cr.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'binary-mixed-lf-cr' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/few-utf8-chars-crlf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/few-utf8-chars-crlf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/few-utf8-chars-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/few-utf8-chars-lf.fail new file mode 100644 index 000000000..fabf46617 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/few-utf8-chars-lf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'few-utf8-chars-lf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/many-utf8-chars-crlf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/many-utf8-chars-crlf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/many-utf8-chars-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/many-utf8-chars-lf.fail new file mode 100644 index 000000000..b874f4bb9 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/many-utf8-chars-lf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'many-utf8-chars-lf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/mixed-lf-cr-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/mixed-lf-cr-crlf.fail new file mode 100644 index 000000000..a353e0e82 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/mixed-lf-cr-crlf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'mixed-lf-cr-crlf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/mixed-lf-cr.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/mixed-lf-cr.fail new file mode 100644 index 000000000..0287e3250 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/mixed-lf-cr.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'mixed-lf-cr' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/more-crlf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/more-crlf-utf8bom.fail new file mode 100644 index 000000000..e77b2b976 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/more-crlf-utf8bom.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'more-crlf-utf8bom' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/more-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/more-crlf.fail new file mode 100644 index 000000000..07f50c353 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/more-crlf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'more-crlf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/more-lf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/more-lf-utf8bom.fail new file mode 100644 index 000000000..6994a8d01 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/more-lf-utf8bom.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'more-lf-utf8bom' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/more-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/more-lf.fail new file mode 100644 index 000000000..067a2e896 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/more-lf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'more-lf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/all-crlf new file mode 100644 index 000000000..26e1a742b --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/all-crlf-utf8bom new file mode 100644 index 000000000..32c6f22e3 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/all-lf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/all-lf-utf8bom.fail new file mode 100644 index 000000000..547008e0f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/all-lf-utf8bom.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'all-lf-utf8bom' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/all-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/all-lf.fail new file mode 100644 index 000000000..d992d4720 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/all-lf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'all-lf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/binary-all-crlf new file mode 100644 index 000000000..85340755c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..aaf083a9c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/few-utf8-chars-crlf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/few-utf8-chars-crlf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/few-utf8-chars-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/few-utf8-chars-lf.fail new file mode 100644 index 000000000..fabf46617 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/few-utf8-chars-lf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'few-utf8-chars-lf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/many-utf8-chars-crlf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/many-utf8-chars-crlf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/many-utf8-chars-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/many-utf8-chars-lf.fail new file mode 100644 index 000000000..b874f4bb9 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/many-utf8-chars-lf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'many-utf8-chars-lf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/mixed-lf-cr-crlf new file mode 100644 index 000000000..417786fc3 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/more-crlf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/more-crlf-utf8bom.fail new file mode 100644 index 000000000..e77b2b976 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/more-crlf-utf8bom.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'more-crlf-utf8bom' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/more-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/more-crlf.fail new file mode 100644 index 000000000..07f50c353 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/more-crlf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'more-crlf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/more-lf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/more-lf-utf8bom.fail new file mode 100644 index 000000000..6994a8d01 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/more-lf-utf8bom.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'more-lf-utf8bom' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/more-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/more-lf.fail new file mode 100644 index 000000000..067a2e896 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/more-lf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'more-lf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_crlf/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/all-crlf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/all-crlf-utf8bom.fail new file mode 100644 index 000000000..213f972a6 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/all-crlf-utf8bom.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'all-crlf-utf8bom' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/all-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/all-crlf.fail new file mode 100644 index 000000000..851ef6c77 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/all-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'all-crlf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/binary-all-crlf new file mode 100644 index 000000000..85340755c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..aaf083a9c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/few-utf8-chars-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/few-utf8-chars-crlf.fail new file mode 100644 index 000000000..c23959d76 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/few-utf8-chars-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'few-utf8-chars-crlf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/many-utf8-chars-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/many-utf8-chars-crlf.fail new file mode 100644 index 000000000..2e093c93e --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/many-utf8-chars-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'many-utf8-chars-crlf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/mixed-lf-cr-crlf new file mode 100644 index 000000000..417786fc3 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/more-crlf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/more-crlf-utf8bom.fail new file mode 100644 index 000000000..43b93dbe3 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/more-crlf-utf8bom.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'more-crlf-utf8bom' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/more-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/more-crlf.fail new file mode 100644 index 000000000..b1a5dc9e5 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/more-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'more-crlf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/more-lf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/more-lf-utf8bom.fail new file mode 100644 index 000000000..13c4e3c58 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/more-lf-utf8bom.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'more-lf-utf8bom' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/more-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/more-lf.fail new file mode 100644 index 000000000..c964c725a --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/more-lf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'more-lf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto,eol_lf/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/all-crlf new file mode 100644 index 000000000..26e1a742b --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/all-crlf-utf8bom new file mode 100644 index 000000000..32c6f22e3 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/all-lf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/all-lf-utf8bom.fail new file mode 100644 index 000000000..547008e0f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/all-lf-utf8bom.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'all-lf-utf8bom' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/all-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/all-lf.fail new file mode 100644 index 000000000..d992d4720 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/all-lf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'all-lf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/binary-all-crlf new file mode 100644 index 000000000..85340755c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..aaf083a9c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/few-utf8-chars-crlf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/few-utf8-chars-crlf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/few-utf8-chars-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/few-utf8-chars-lf.fail new file mode 100644 index 000000000..fabf46617 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/few-utf8-chars-lf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'few-utf8-chars-lf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/many-utf8-chars-crlf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/many-utf8-chars-crlf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/many-utf8-chars-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/many-utf8-chars-lf.fail new file mode 100644 index 000000000..b874f4bb9 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/many-utf8-chars-lf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'many-utf8-chars-lf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/mixed-lf-cr-crlf new file mode 100644 index 000000000..417786fc3 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/more-crlf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/more-crlf-utf8bom.fail new file mode 100644 index 000000000..e77b2b976 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/more-crlf-utf8bom.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'more-crlf-utf8bom' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/more-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/more-crlf.fail new file mode 100644 index 000000000..07f50c353 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/more-crlf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'more-crlf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/more-lf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/more-lf-utf8bom.fail new file mode 100644 index 000000000..6994a8d01 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/more-lf-utf8bom.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'more-lf-utf8bom' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/more-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/more-lf.fail new file mode 100644 index 000000000..067a2e896 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/more-lf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'more-lf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true,text_auto/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/all-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/all-crlf rename to tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/all-crlf diff --git a/tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/all-crlf-utf8bom similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/all-crlf-utf8bom rename to tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/all-crlf-utf8bom diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/binary-all-crlf new file mode 100644 index 000000000..85340755c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..aaf083a9c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/few-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/few-utf8-chars-crlf rename to tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/few-utf8-chars-crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/many-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/many-utf8-chars-crlf rename to tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/many-utf8-chars-crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/mixed-lf-cr-crlf new file mode 100644 index 000000000..417786fc3 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/more-crlf new file mode 100644 index 000000000..0ff5a53f1 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/more-crlf @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/more-crlf-utf8bom new file mode 100644 index 000000000..ea030d3c6 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/more-crlf-utf8bom @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/more-lf new file mode 100644 index 000000000..04de00b35 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/more-lf @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/more-lf-utf8bom new file mode 100644 index 000000000..dc88e3b91 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/more-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_true/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/windows/autocrlf_true,eol_lf/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/all-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true,eol_lf/all-crlf rename to tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/all-crlf diff --git a/tests/resources/crlf_data/windows/autocrlf_true,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/all-crlf-utf8bom similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true,eol_lf/all-crlf-utf8bom rename to tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/all-crlf-utf8bom diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/binary-all-crlf new file mode 100644 index 000000000..85340755c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..aaf083a9c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows/autocrlf_true,eol_lf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/few-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true,eol_lf/few-utf8-chars-crlf rename to tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/few-utf8-chars-crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows/autocrlf_true,eol_lf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/many-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true,eol_lf/many-utf8-chars-crlf rename to tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/many-utf8-chars-crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/mixed-lf-cr-crlf new file mode 100644 index 000000000..417786fc3 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/more-crlf new file mode 100644 index 000000000..0ff5a53f1 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/more-crlf @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/more-crlf-utf8bom new file mode 100644 index 000000000..ea030d3c6 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/more-crlf-utf8bom @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/more-lf new file mode 100644 index 000000000..04de00b35 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/more-lf @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/more-lf-utf8bom new file mode 100644 index 000000000..dc88e3b91 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/more-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-crlf/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/all-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/all-crlf rename to tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/all-crlf diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/all-crlf-utf8bom similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/all-crlf-utf8bom rename to tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/all-crlf-utf8bom diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/binary-all-crlf new file mode 100644 index 000000000..85340755c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..aaf083a9c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/few-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/few-utf8-chars-crlf rename to tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/few-utf8-chars-crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/many-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/many-utf8-chars-crlf rename to tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/many-utf8-chars-crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/mixed-lf-cr-crlf new file mode 100644 index 000000000..417786fc3 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/more-crlf new file mode 100644 index 000000000..0ff5a53f1 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/more-crlf @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/more-crlf-utf8bom new file mode 100644 index 000000000..ea030d3c6 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/more-crlf-utf8bom @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/more-lf new file mode 100644 index 000000000..04de00b35 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/more-lf @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/more-lf-utf8bom new file mode 100644 index 000000000..dc88e3b91 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/more-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,-text/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/all-crlf new file mode 100644 index 000000000..26e1a742b --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/all-crlf-utf8bom new file mode 100644 index 000000000..32c6f22e3 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/binary-all-crlf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/few-utf8-chars-crlf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/few-utf8-chars-crlf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/many-utf8-chars-crlf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/many-utf8-chars-crlf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/mixed-lf-cr-crlf new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/more-crlf new file mode 100644 index 000000000..37bb7fa3d --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/more-crlf @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/more-crlf-utf8bom new file mode 100644 index 000000000..16001a14a --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/more-crlf-utf8bom @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/more-lf new file mode 100644 index 000000000..2cda6f203 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/more-lf @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/more-lf-utf8bom new file mode 100644 index 000000000..dc7d82aa0 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/more-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,crlf/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/all-crlf new file mode 100644 index 000000000..26e1a742b --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/all-crlf-utf8bom new file mode 100644 index 000000000..32c6f22e3 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/binary-all-crlf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/few-utf8-chars-crlf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/few-utf8-chars-crlf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/many-utf8-chars-crlf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/many-utf8-chars-crlf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/mixed-lf-cr-crlf new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/more-crlf new file mode 100644 index 000000000..37bb7fa3d --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/more-crlf @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/more-crlf-utf8bom new file mode 100644 index 000000000..16001a14a --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/more-crlf-utf8bom @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/more-lf new file mode 100644 index 000000000..2cda6f203 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/more-lf @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/more-lf-utf8bom new file mode 100644 index 000000000..dc7d82aa0 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/more-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_crlf/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/all-crlf new file mode 100644 index 000000000..26e1a742b --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/all-crlf-utf8bom new file mode 100644 index 000000000..32c6f22e3 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/binary-all-crlf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/few-utf8-chars-crlf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/few-utf8-chars-crlf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/many-utf8-chars-crlf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/many-utf8-chars-crlf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/mixed-lf-cr-crlf new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/more-crlf new file mode 100644 index 000000000..37bb7fa3d --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/more-crlf @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/more-crlf-utf8bom new file mode 100644 index 000000000..16001a14a --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/more-crlf-utf8bom @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/more-lf new file mode 100644 index 000000000..2cda6f203 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/more-lf @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/more-lf-utf8bom new file mode 100644 index 000000000..dc7d82aa0 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/more-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,eol_lf/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/all-crlf new file mode 100644 index 000000000..26e1a742b --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/all-crlf-utf8bom new file mode 100644 index 000000000..32c6f22e3 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/binary-all-crlf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/few-utf8-chars-crlf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/few-utf8-chars-crlf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/many-utf8-chars-crlf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/many-utf8-chars-crlf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/mixed-lf-cr-crlf new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/more-crlf new file mode 100644 index 000000000..37bb7fa3d --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/more-crlf @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/more-crlf-utf8bom new file mode 100644 index 000000000..16001a14a --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/more-crlf-utf8bom @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/more-lf new file mode 100644 index 000000000..2cda6f203 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/more-lf @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/more-lf-utf8bom new file mode 100644 index 000000000..dc7d82aa0 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/more-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_crlf/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/all-crlf new file mode 100644 index 000000000..26e1a742b --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/all-crlf-utf8bom new file mode 100644 index 000000000..32c6f22e3 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/binary-all-crlf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/few-utf8-chars-crlf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/few-utf8-chars-crlf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/many-utf8-chars-crlf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/many-utf8-chars-crlf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/mixed-lf-cr-crlf new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/more-crlf new file mode 100644 index 000000000..37bb7fa3d --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/more-crlf @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/more-crlf-utf8bom new file mode 100644 index 000000000..16001a14a --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/more-crlf-utf8bom @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/more-lf new file mode 100644 index 000000000..2cda6f203 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/more-lf @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/more-lf-utf8bom new file mode 100644 index 000000000..dc7d82aa0 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/more-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text,eol_lf/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/all-crlf new file mode 100644 index 000000000..26e1a742b --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/all-crlf-utf8bom new file mode 100644 index 000000000..32c6f22e3 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/binary-all-crlf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/few-utf8-chars-crlf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/few-utf8-chars-crlf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/many-utf8-chars-crlf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/many-utf8-chars-crlf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/mixed-lf-cr-crlf new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/more-crlf new file mode 100644 index 000000000..37bb7fa3d --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/more-crlf @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/more-crlf-utf8bom new file mode 100644 index 000000000..16001a14a --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/more-crlf-utf8bom @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/more-lf new file mode 100644 index 000000000..2cda6f203 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/more-lf @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/more-lf-utf8bom new file mode 100644 index 000000000..dc7d82aa0 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/more-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/all-crlf new file mode 100644 index 000000000..26e1a742b --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/all-crlf-utf8bom new file mode 100644 index 000000000..32c6f22e3 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/binary-all-crlf new file mode 100644 index 000000000..85340755c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..aaf083a9c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/few-utf8-chars-crlf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/few-utf8-chars-crlf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/many-utf8-chars-crlf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/many-utf8-chars-crlf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/mixed-lf-cr-crlf new file mode 100644 index 000000000..417786fc3 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/more-crlf new file mode 100644 index 000000000..37bb7fa3d --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/more-crlf @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/more-crlf-utf8bom new file mode 100644 index 000000000..16001a14a --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/more-crlf-utf8bom @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/more-lf new file mode 100644 index 000000000..2cda6f203 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/more-lf @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/more-lf-utf8bom new file mode 100644 index 000000000..dc7d82aa0 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/more-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_crlf/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/all-crlf new file mode 100644 index 000000000..26e1a742b --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/all-crlf-utf8bom new file mode 100644 index 000000000..32c6f22e3 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/binary-all-crlf new file mode 100644 index 000000000..85340755c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..aaf083a9c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/few-utf8-chars-crlf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/few-utf8-chars-crlf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/many-utf8-chars-crlf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/many-utf8-chars-crlf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/mixed-lf-cr-crlf new file mode 100644 index 000000000..417786fc3 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/more-crlf new file mode 100644 index 000000000..37bb7fa3d --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/more-crlf @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/more-crlf-utf8bom new file mode 100644 index 000000000..16001a14a --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/more-crlf-utf8bom @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/more-lf new file mode 100644 index 000000000..2cda6f203 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/more-lf @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/more-lf-utf8bom new file mode 100644 index 000000000..dc7d82aa0 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/more-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto,eol_lf/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/all-crlf new file mode 100644 index 000000000..26e1a742b --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/all-crlf-utf8bom new file mode 100644 index 000000000..32c6f22e3 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/binary-all-crlf new file mode 100644 index 000000000..85340755c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..aaf083a9c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/few-utf8-chars-crlf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/few-utf8-chars-crlf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/many-utf8-chars-crlf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/many-utf8-chars-crlf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/mixed-lf-cr-crlf new file mode 100644 index 000000000..417786fc3 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/more-crlf new file mode 100644 index 000000000..37bb7fa3d --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/more-crlf @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/more-crlf-utf8bom new file mode 100644 index 000000000..16001a14a --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/more-crlf-utf8bom @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/more-lf new file mode 100644 index 000000000..2cda6f203 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/more-lf @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/more-lf-utf8bom new file mode 100644 index 000000000..dc7d82aa0 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/more-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn,text_auto/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/all-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/all-crlf rename to tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/all-crlf diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/all-crlf-utf8bom similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/all-crlf-utf8bom rename to tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/all-crlf-utf8bom diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/binary-all-crlf new file mode 100644 index 000000000..85340755c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..aaf083a9c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/few-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/few-utf8-chars-crlf rename to tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/few-utf8-chars-crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/many-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true,text,eol_lf/many-utf8-chars-crlf rename to tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/many-utf8-chars-crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/mixed-lf-cr-crlf new file mode 100644 index 000000000..417786fc3 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/more-crlf new file mode 100644 index 000000000..0ff5a53f1 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/more-crlf @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/more-crlf-utf8bom new file mode 100644 index 000000000..ea030d3c6 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/more-crlf-utf8bom @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/more-lf new file mode 100644 index 000000000..04de00b35 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/more-lf @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/more-lf-utf8bom new file mode 100644 index 000000000..dc88e3b91 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/more-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_false,safecrlf_warn/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/all-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true,text/all-crlf rename to tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/all-crlf diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/all-crlf-utf8bom similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true,text/all-crlf-utf8bom rename to tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/all-crlf-utf8bom diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/binary-all-crlf new file mode 100644 index 000000000..85340755c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..aaf083a9c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/few-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true,text/few-utf8-chars-crlf rename to tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/few-utf8-chars-crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/many-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true,text/many-utf8-chars-crlf rename to tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/many-utf8-chars-crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/mixed-lf-cr-crlf new file mode 100644 index 000000000..417786fc3 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/more-crlf new file mode 100644 index 000000000..0ff5a53f1 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/more-crlf @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/more-crlf-utf8bom new file mode 100644 index 000000000..ea030d3c6 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/more-crlf-utf8bom @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/more-lf new file mode 100644 index 000000000..04de00b35 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/more-lf @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/more-lf-utf8bom new file mode 100644 index 000000000..dc88e3b91 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/more-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-crlf/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/all-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/all-crlf rename to tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/all-crlf diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/all-crlf-utf8bom similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/all-crlf-utf8bom rename to tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/all-crlf-utf8bom diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/binary-all-crlf new file mode 100644 index 000000000..85340755c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..aaf083a9c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/few-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/few-utf8-chars-crlf rename to tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/few-utf8-chars-crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/many-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/many-utf8-chars-crlf rename to tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/many-utf8-chars-crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/mixed-lf-cr-crlf new file mode 100644 index 000000000..417786fc3 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/more-crlf new file mode 100644 index 000000000..0ff5a53f1 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/more-crlf @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/more-crlf-utf8bom new file mode 100644 index 000000000..ea030d3c6 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/more-crlf-utf8bom @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/more-lf new file mode 100644 index 000000000..04de00b35 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/more-lf @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/more-lf-utf8bom new file mode 100644 index 000000000..dc88e3b91 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/more-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,-text/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/all-crlf new file mode 100644 index 000000000..26e1a742b --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/all-crlf-utf8bom new file mode 100644 index 000000000..32c6f22e3 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/binary-all-crlf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/few-utf8-chars-crlf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/few-utf8-chars-crlf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/many-utf8-chars-crlf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/many-utf8-chars-crlf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/mixed-lf-cr-crlf new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/more-crlf new file mode 100644 index 000000000..37bb7fa3d --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/more-crlf @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/more-crlf-utf8bom new file mode 100644 index 000000000..16001a14a --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/more-crlf-utf8bom @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/more-lf new file mode 100644 index 000000000..2cda6f203 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/more-lf @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/more-lf-utf8bom new file mode 100644 index 000000000..dc7d82aa0 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/more-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,crlf/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/all-crlf new file mode 100644 index 000000000..26e1a742b --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/all-crlf-utf8bom new file mode 100644 index 000000000..32c6f22e3 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/binary-all-crlf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/few-utf8-chars-crlf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/few-utf8-chars-crlf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/many-utf8-chars-crlf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/many-utf8-chars-crlf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/mixed-lf-cr-crlf new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/more-crlf new file mode 100644 index 000000000..37bb7fa3d --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/more-crlf @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/more-crlf-utf8bom new file mode 100644 index 000000000..16001a14a --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/more-crlf-utf8bom @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/more-lf new file mode 100644 index 000000000..2cda6f203 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/more-lf @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/more-lf-utf8bom new file mode 100644 index 000000000..dc7d82aa0 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/more-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_crlf/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/all-crlf new file mode 100644 index 000000000..26e1a742b --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/all-crlf-utf8bom new file mode 100644 index 000000000..32c6f22e3 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/binary-all-crlf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/few-utf8-chars-crlf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/few-utf8-chars-crlf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/many-utf8-chars-crlf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/many-utf8-chars-crlf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/mixed-lf-cr-crlf new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/more-crlf new file mode 100644 index 000000000..37bb7fa3d --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/more-crlf @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/more-crlf-utf8bom new file mode 100644 index 000000000..16001a14a --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/more-crlf-utf8bom @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/more-lf new file mode 100644 index 000000000..2cda6f203 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/more-lf @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/more-lf-utf8bom new file mode 100644 index 000000000..dc7d82aa0 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/more-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,eol_lf/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/all-crlf new file mode 100644 index 000000000..26e1a742b --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/all-crlf-utf8bom new file mode 100644 index 000000000..32c6f22e3 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/binary-all-crlf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/few-utf8-chars-crlf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/few-utf8-chars-crlf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/many-utf8-chars-crlf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/many-utf8-chars-crlf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/mixed-lf-cr-crlf new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/more-crlf new file mode 100644 index 000000000..37bb7fa3d --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/more-crlf @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/more-crlf-utf8bom new file mode 100644 index 000000000..16001a14a --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/more-crlf-utf8bom @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/more-lf new file mode 100644 index 000000000..2cda6f203 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/more-lf @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/more-lf-utf8bom new file mode 100644 index 000000000..dc7d82aa0 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/more-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_crlf/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/all-crlf new file mode 100644 index 000000000..26e1a742b --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/all-crlf-utf8bom new file mode 100644 index 000000000..32c6f22e3 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/binary-all-crlf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/few-utf8-chars-crlf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/few-utf8-chars-crlf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/many-utf8-chars-crlf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/many-utf8-chars-crlf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/mixed-lf-cr-crlf new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/more-crlf new file mode 100644 index 000000000..37bb7fa3d --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/more-crlf @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/more-crlf-utf8bom new file mode 100644 index 000000000..16001a14a --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/more-crlf-utf8bom @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/more-lf new file mode 100644 index 000000000..2cda6f203 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/more-lf @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/more-lf-utf8bom new file mode 100644 index 000000000..dc7d82aa0 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/more-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text,eol_lf/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/all-crlf new file mode 100644 index 000000000..26e1a742b --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/all-crlf-utf8bom new file mode 100644 index 000000000..32c6f22e3 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/binary-all-crlf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/few-utf8-chars-crlf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/few-utf8-chars-crlf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/many-utf8-chars-crlf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/many-utf8-chars-crlf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/mixed-lf-cr-crlf new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/more-crlf new file mode 100644 index 000000000..37bb7fa3d --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/more-crlf @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/more-crlf-utf8bom new file mode 100644 index 000000000..16001a14a --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/more-crlf-utf8bom @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/more-lf new file mode 100644 index 000000000..2cda6f203 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/more-lf @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/more-lf-utf8bom new file mode 100644 index 000000000..dc7d82aa0 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/more-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/all-crlf new file mode 100644 index 000000000..26e1a742b --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/all-crlf-utf8bom new file mode 100644 index 000000000..32c6f22e3 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/binary-all-crlf new file mode 100644 index 000000000..85340755c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..aaf083a9c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/few-utf8-chars-crlf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/few-utf8-chars-crlf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/many-utf8-chars-crlf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/many-utf8-chars-crlf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/mixed-lf-cr-crlf new file mode 100644 index 000000000..417786fc3 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/more-crlf new file mode 100644 index 000000000..37bb7fa3d --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/more-crlf @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/more-crlf-utf8bom new file mode 100644 index 000000000..16001a14a --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/more-crlf-utf8bom @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/more-lf new file mode 100644 index 000000000..2cda6f203 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/more-lf @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/more-lf-utf8bom new file mode 100644 index 000000000..dc7d82aa0 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/more-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_crlf/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/all-crlf new file mode 100644 index 000000000..26e1a742b --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/all-crlf-utf8bom new file mode 100644 index 000000000..32c6f22e3 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/binary-all-crlf new file mode 100644 index 000000000..85340755c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..aaf083a9c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/few-utf8-chars-crlf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/few-utf8-chars-crlf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/many-utf8-chars-crlf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/many-utf8-chars-crlf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/mixed-lf-cr-crlf new file mode 100644 index 000000000..417786fc3 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/more-crlf new file mode 100644 index 000000000..37bb7fa3d --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/more-crlf @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/more-crlf-utf8bom new file mode 100644 index 000000000..16001a14a --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/more-crlf-utf8bom @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/more-lf new file mode 100644 index 000000000..2cda6f203 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/more-lf @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/more-lf-utf8bom new file mode 100644 index 000000000..dc7d82aa0 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/more-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto,eol_lf/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/all-crlf new file mode 100644 index 000000000..26e1a742b --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/all-crlf-utf8bom new file mode 100644 index 000000000..32c6f22e3 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/binary-all-crlf new file mode 100644 index 000000000..85340755c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..aaf083a9c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/few-utf8-chars-crlf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/few-utf8-chars-crlf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/many-utf8-chars-crlf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/many-utf8-chars-crlf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/mixed-lf-cr-crlf new file mode 100644 index 000000000..417786fc3 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/more-crlf new file mode 100644 index 000000000..37bb7fa3d --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/more-crlf @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/more-crlf-utf8bom new file mode 100644 index 000000000..16001a14a --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/more-crlf-utf8bom @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/more-lf new file mode 100644 index 000000000..2cda6f203 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/more-lf @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/more-lf-utf8bom new file mode 100644 index 000000000..dc7d82aa0 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/more-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false,text_auto/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/all-crlf new file mode 100644 index 000000000..26e1a742b --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/all-crlf-utf8bom new file mode 100644 index 000000000..32c6f22e3 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/binary-all-crlf new file mode 100644 index 000000000..85340755c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..aaf083a9c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/few-utf8-chars-crlf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/few-utf8-chars-crlf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/many-utf8-chars-crlf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/many-utf8-chars-crlf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/mixed-lf-cr-crlf new file mode 100644 index 000000000..417786fc3 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/more-crlf new file mode 100644 index 000000000..37bb7fa3d --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/more-crlf @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/more-crlf-utf8bom new file mode 100644 index 000000000..16001a14a --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/more-crlf-utf8bom @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/more-lf new file mode 100644 index 000000000..2cda6f203 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/more-lf @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/more-lf-utf8bom new file mode 100644 index 000000000..dc7d82aa0 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/more-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_false/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/all-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/all-crlf rename to tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/all-crlf diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/all-crlf-utf8bom similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/all-crlf-utf8bom rename to tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/all-crlf-utf8bom diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/binary-all-crlf new file mode 100644 index 000000000..85340755c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..aaf083a9c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/few-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/few-utf8-chars-crlf rename to tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/few-utf8-chars-crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/many-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_lf/many-utf8-chars-crlf rename to tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/many-utf8-chars-crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/mixed-lf-cr-crlf new file mode 100644 index 000000000..417786fc3 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/more-crlf new file mode 100644 index 000000000..0ff5a53f1 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/more-crlf @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/more-crlf-utf8bom new file mode 100644 index 000000000..ea030d3c6 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/more-crlf-utf8bom @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/more-lf new file mode 100644 index 000000000..04de00b35 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/more-lf @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/more-lf-utf8bom new file mode 100644 index 000000000..dc88e3b91 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/more-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-crlf/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/all-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true,text_auto/all-crlf rename to tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/all-crlf diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/all-crlf-utf8bom similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true,text_auto/all-crlf-utf8bom rename to tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/all-crlf-utf8bom diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/binary-all-crlf new file mode 100644 index 000000000..85340755c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..aaf083a9c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/few-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true,text_auto/few-utf8-chars-crlf rename to tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/few-utf8-chars-crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/many-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true,text_auto/many-utf8-chars-crlf rename to tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/many-utf8-chars-crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/mixed-lf-cr-crlf new file mode 100644 index 000000000..417786fc3 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/more-crlf new file mode 100644 index 000000000..0ff5a53f1 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/more-crlf @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/more-crlf-utf8bom new file mode 100644 index 000000000..ea030d3c6 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/more-crlf-utf8bom @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/more-lf new file mode 100644 index 000000000..04de00b35 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/more-lf @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/more-lf-utf8bom new file mode 100644 index 000000000..dc88e3b91 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/more-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,-text/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/all-crlf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/all-crlf-utf8bom.fail new file mode 100644 index 000000000..213f972a6 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/all-crlf-utf8bom.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'all-crlf-utf8bom' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/all-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/all-crlf.fail new file mode 100644 index 000000000..851ef6c77 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/all-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'all-crlf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/binary-all-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/binary-all-crlf.fail new file mode 100644 index 000000000..26690f37e --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/binary-all-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'binary-all-crlf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/binary-mixed-lf-cr-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/binary-mixed-lf-cr-crlf.fail new file mode 100644 index 000000000..c6b706d60 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/binary-mixed-lf-cr-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'binary-mixed-lf-cr-crlf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/few-utf8-chars-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/few-utf8-chars-crlf.fail new file mode 100644 index 000000000..c23959d76 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/few-utf8-chars-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'few-utf8-chars-crlf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/many-utf8-chars-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/many-utf8-chars-crlf.fail new file mode 100644 index 000000000..2e093c93e --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/many-utf8-chars-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'many-utf8-chars-crlf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/mixed-lf-cr-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/mixed-lf-cr-crlf.fail new file mode 100644 index 000000000..3c6cbace0 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/mixed-lf-cr-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'mixed-lf-cr-crlf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/more-crlf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/more-crlf-utf8bom.fail new file mode 100644 index 000000000..43b93dbe3 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/more-crlf-utf8bom.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'more-crlf-utf8bom' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/more-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/more-crlf.fail new file mode 100644 index 000000000..b1a5dc9e5 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/more-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'more-crlf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/more-lf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/more-lf-utf8bom.fail new file mode 100644 index 000000000..13c4e3c58 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/more-lf-utf8bom.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'more-lf-utf8bom' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/more-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/more-lf.fail new file mode 100644 index 000000000..c964c725a --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/more-lf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'more-lf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,crlf/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/all-crlf new file mode 100644 index 000000000..26e1a742b --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/all-crlf-utf8bom new file mode 100644 index 000000000..32c6f22e3 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/all-lf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/all-lf-utf8bom.fail new file mode 100644 index 000000000..547008e0f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/all-lf-utf8bom.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'all-lf-utf8bom' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/all-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/all-lf.fail new file mode 100644 index 000000000..d992d4720 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/all-lf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'all-lf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/binary-all-crlf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/binary-all-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/binary-all-lf.fail new file mode 100644 index 000000000..180663eca --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/binary-all-lf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'binary-all-lf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/binary-mixed-lf-cr-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/binary-mixed-lf-cr-crlf.fail new file mode 100644 index 000000000..f87ce3f16 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/binary-mixed-lf-cr-crlf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'binary-mixed-lf-cr-crlf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/binary-mixed-lf-cr.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/binary-mixed-lf-cr.fail new file mode 100644 index 000000000..63eac58a4 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/binary-mixed-lf-cr.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'binary-mixed-lf-cr' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/few-utf8-chars-crlf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/few-utf8-chars-crlf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/few-utf8-chars-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/few-utf8-chars-lf.fail new file mode 100644 index 000000000..fabf46617 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/few-utf8-chars-lf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'few-utf8-chars-lf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/many-utf8-chars-crlf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/many-utf8-chars-crlf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/many-utf8-chars-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/many-utf8-chars-lf.fail new file mode 100644 index 000000000..b874f4bb9 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/many-utf8-chars-lf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'many-utf8-chars-lf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/mixed-lf-cr-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/mixed-lf-cr-crlf.fail new file mode 100644 index 000000000..a353e0e82 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/mixed-lf-cr-crlf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'mixed-lf-cr-crlf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/mixed-lf-cr.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/mixed-lf-cr.fail new file mode 100644 index 000000000..0287e3250 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/mixed-lf-cr.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'mixed-lf-cr' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/more-crlf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/more-crlf-utf8bom.fail new file mode 100644 index 000000000..e77b2b976 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/more-crlf-utf8bom.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'more-crlf-utf8bom' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/more-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/more-crlf.fail new file mode 100644 index 000000000..07f50c353 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/more-crlf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'more-crlf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/more-lf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/more-lf-utf8bom.fail new file mode 100644 index 000000000..6994a8d01 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/more-lf-utf8bom.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'more-lf-utf8bom' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/more-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/more-lf.fail new file mode 100644 index 000000000..067a2e896 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/more-lf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'more-lf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_crlf/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/all-crlf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/all-crlf-utf8bom.fail new file mode 100644 index 000000000..213f972a6 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/all-crlf-utf8bom.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'all-crlf-utf8bom' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/all-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/all-crlf.fail new file mode 100644 index 000000000..851ef6c77 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/all-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'all-crlf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/binary-all-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/binary-all-crlf.fail new file mode 100644 index 000000000..26690f37e --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/binary-all-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'binary-all-crlf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/binary-mixed-lf-cr-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/binary-mixed-lf-cr-crlf.fail new file mode 100644 index 000000000..c6b706d60 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/binary-mixed-lf-cr-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'binary-mixed-lf-cr-crlf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/few-utf8-chars-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/few-utf8-chars-crlf.fail new file mode 100644 index 000000000..c23959d76 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/few-utf8-chars-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'few-utf8-chars-crlf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/many-utf8-chars-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/many-utf8-chars-crlf.fail new file mode 100644 index 000000000..2e093c93e --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/many-utf8-chars-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'many-utf8-chars-crlf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/mixed-lf-cr-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/mixed-lf-cr-crlf.fail new file mode 100644 index 000000000..3c6cbace0 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/mixed-lf-cr-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'mixed-lf-cr-crlf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/more-crlf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/more-crlf-utf8bom.fail new file mode 100644 index 000000000..43b93dbe3 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/more-crlf-utf8bom.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'more-crlf-utf8bom' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/more-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/more-crlf.fail new file mode 100644 index 000000000..b1a5dc9e5 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/more-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'more-crlf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/more-lf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/more-lf-utf8bom.fail new file mode 100644 index 000000000..13c4e3c58 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/more-lf-utf8bom.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'more-lf-utf8bom' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/more-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/more-lf.fail new file mode 100644 index 000000000..c964c725a --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/more-lf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'more-lf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,eol_lf/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/all-crlf new file mode 100644 index 000000000..26e1a742b --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/all-crlf-utf8bom new file mode 100644 index 000000000..32c6f22e3 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/all-lf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/all-lf-utf8bom.fail new file mode 100644 index 000000000..547008e0f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/all-lf-utf8bom.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'all-lf-utf8bom' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/all-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/all-lf.fail new file mode 100644 index 000000000..d992d4720 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/all-lf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'all-lf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/binary-all-crlf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/binary-all-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/binary-all-lf.fail new file mode 100644 index 000000000..180663eca --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/binary-all-lf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'binary-all-lf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/binary-mixed-lf-cr-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/binary-mixed-lf-cr-crlf.fail new file mode 100644 index 000000000..f87ce3f16 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/binary-mixed-lf-cr-crlf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'binary-mixed-lf-cr-crlf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/binary-mixed-lf-cr.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/binary-mixed-lf-cr.fail new file mode 100644 index 000000000..63eac58a4 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/binary-mixed-lf-cr.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'binary-mixed-lf-cr' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/few-utf8-chars-crlf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/few-utf8-chars-crlf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/few-utf8-chars-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/few-utf8-chars-lf.fail new file mode 100644 index 000000000..fabf46617 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/few-utf8-chars-lf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'few-utf8-chars-lf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/many-utf8-chars-crlf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/many-utf8-chars-crlf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/many-utf8-chars-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/many-utf8-chars-lf.fail new file mode 100644 index 000000000..b874f4bb9 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/many-utf8-chars-lf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'many-utf8-chars-lf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/mixed-lf-cr-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/mixed-lf-cr-crlf.fail new file mode 100644 index 000000000..a353e0e82 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/mixed-lf-cr-crlf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'mixed-lf-cr-crlf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/mixed-lf-cr.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/mixed-lf-cr.fail new file mode 100644 index 000000000..0287e3250 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/mixed-lf-cr.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'mixed-lf-cr' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/more-crlf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/more-crlf-utf8bom.fail new file mode 100644 index 000000000..e77b2b976 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/more-crlf-utf8bom.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'more-crlf-utf8bom' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/more-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/more-crlf.fail new file mode 100644 index 000000000..07f50c353 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/more-crlf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'more-crlf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/more-lf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/more-lf-utf8bom.fail new file mode 100644 index 000000000..6994a8d01 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/more-lf-utf8bom.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'more-lf-utf8bom' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/more-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/more-lf.fail new file mode 100644 index 000000000..067a2e896 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/more-lf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'more-lf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_crlf/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/all-crlf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/all-crlf-utf8bom.fail new file mode 100644 index 000000000..213f972a6 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/all-crlf-utf8bom.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'all-crlf-utf8bom' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/all-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/all-crlf.fail new file mode 100644 index 000000000..851ef6c77 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/all-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'all-crlf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/binary-all-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/binary-all-crlf.fail new file mode 100644 index 000000000..26690f37e --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/binary-all-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'binary-all-crlf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/binary-mixed-lf-cr-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/binary-mixed-lf-cr-crlf.fail new file mode 100644 index 000000000..c6b706d60 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/binary-mixed-lf-cr-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'binary-mixed-lf-cr-crlf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/few-utf8-chars-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/few-utf8-chars-crlf.fail new file mode 100644 index 000000000..c23959d76 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/few-utf8-chars-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'few-utf8-chars-crlf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/many-utf8-chars-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/many-utf8-chars-crlf.fail new file mode 100644 index 000000000..2e093c93e --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/many-utf8-chars-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'many-utf8-chars-crlf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/mixed-lf-cr-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/mixed-lf-cr-crlf.fail new file mode 100644 index 000000000..3c6cbace0 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/mixed-lf-cr-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'mixed-lf-cr-crlf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/more-crlf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/more-crlf-utf8bom.fail new file mode 100644 index 000000000..43b93dbe3 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/more-crlf-utf8bom.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'more-crlf-utf8bom' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/more-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/more-crlf.fail new file mode 100644 index 000000000..b1a5dc9e5 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/more-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'more-crlf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/more-lf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/more-lf-utf8bom.fail new file mode 100644 index 000000000..13c4e3c58 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/more-lf-utf8bom.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'more-lf-utf8bom' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/more-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/more-lf.fail new file mode 100644 index 000000000..c964c725a --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/more-lf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'more-lf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text,eol_lf/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/all-crlf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/all-crlf-utf8bom.fail new file mode 100644 index 000000000..213f972a6 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/all-crlf-utf8bom.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'all-crlf-utf8bom' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/all-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/all-crlf.fail new file mode 100644 index 000000000..851ef6c77 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/all-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'all-crlf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/binary-all-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/binary-all-crlf.fail new file mode 100644 index 000000000..26690f37e --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/binary-all-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'binary-all-crlf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/binary-mixed-lf-cr-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/binary-mixed-lf-cr-crlf.fail new file mode 100644 index 000000000..c6b706d60 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/binary-mixed-lf-cr-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'binary-mixed-lf-cr-crlf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/few-utf8-chars-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/few-utf8-chars-crlf.fail new file mode 100644 index 000000000..c23959d76 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/few-utf8-chars-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'few-utf8-chars-crlf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/many-utf8-chars-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/many-utf8-chars-crlf.fail new file mode 100644 index 000000000..2e093c93e --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/many-utf8-chars-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'many-utf8-chars-crlf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/mixed-lf-cr-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/mixed-lf-cr-crlf.fail new file mode 100644 index 000000000..3c6cbace0 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/mixed-lf-cr-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'mixed-lf-cr-crlf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/more-crlf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/more-crlf-utf8bom.fail new file mode 100644 index 000000000..43b93dbe3 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/more-crlf-utf8bom.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'more-crlf-utf8bom' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/more-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/more-crlf.fail new file mode 100644 index 000000000..b1a5dc9e5 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/more-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'more-crlf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/more-lf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/more-lf-utf8bom.fail new file mode 100644 index 000000000..13c4e3c58 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/more-lf-utf8bom.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'more-lf-utf8bom' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/more-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/more-lf.fail new file mode 100644 index 000000000..c964c725a --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/more-lf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'more-lf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/all-crlf new file mode 100644 index 000000000..26e1a742b --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/all-crlf-utf8bom new file mode 100644 index 000000000..32c6f22e3 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/all-lf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/all-lf-utf8bom.fail new file mode 100644 index 000000000..547008e0f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/all-lf-utf8bom.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'all-lf-utf8bom' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/all-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/all-lf.fail new file mode 100644 index 000000000..d992d4720 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/all-lf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'all-lf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/binary-all-crlf new file mode 100644 index 000000000..85340755c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..aaf083a9c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/few-utf8-chars-crlf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/few-utf8-chars-crlf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/few-utf8-chars-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/few-utf8-chars-lf.fail new file mode 100644 index 000000000..fabf46617 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/few-utf8-chars-lf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'few-utf8-chars-lf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/many-utf8-chars-crlf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/many-utf8-chars-crlf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/many-utf8-chars-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/many-utf8-chars-lf.fail new file mode 100644 index 000000000..b874f4bb9 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/many-utf8-chars-lf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'many-utf8-chars-lf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/mixed-lf-cr-crlf new file mode 100644 index 000000000..417786fc3 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/more-crlf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/more-crlf-utf8bom.fail new file mode 100644 index 000000000..e77b2b976 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/more-crlf-utf8bom.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'more-crlf-utf8bom' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/more-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/more-crlf.fail new file mode 100644 index 000000000..07f50c353 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/more-crlf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'more-crlf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/more-lf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/more-lf-utf8bom.fail new file mode 100644 index 000000000..6994a8d01 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/more-lf-utf8bom.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'more-lf-utf8bom' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/more-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/more-lf.fail new file mode 100644 index 000000000..067a2e896 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/more-lf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'more-lf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_crlf/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/all-crlf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/all-crlf-utf8bom.fail new file mode 100644 index 000000000..213f972a6 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/all-crlf-utf8bom.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'all-crlf-utf8bom' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/all-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/all-crlf.fail new file mode 100644 index 000000000..851ef6c77 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/all-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'all-crlf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/binary-all-crlf new file mode 100644 index 000000000..85340755c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..aaf083a9c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/few-utf8-chars-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/few-utf8-chars-crlf.fail new file mode 100644 index 000000000..c23959d76 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/few-utf8-chars-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'few-utf8-chars-crlf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/many-utf8-chars-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/many-utf8-chars-crlf.fail new file mode 100644 index 000000000..2e093c93e --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/many-utf8-chars-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'many-utf8-chars-crlf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/mixed-lf-cr-crlf new file mode 100644 index 000000000..417786fc3 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/more-crlf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/more-crlf-utf8bom.fail new file mode 100644 index 000000000..43b93dbe3 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/more-crlf-utf8bom.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'more-crlf-utf8bom' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/more-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/more-crlf.fail new file mode 100644 index 000000000..b1a5dc9e5 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/more-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'more-crlf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/more-lf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/more-lf-utf8bom.fail new file mode 100644 index 000000000..13c4e3c58 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/more-lf-utf8bom.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'more-lf-utf8bom' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/more-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/more-lf.fail new file mode 100644 index 000000000..c964c725a --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/more-lf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'more-lf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto,eol_lf/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/all-crlf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/all-crlf-utf8bom.fail new file mode 100644 index 000000000..213f972a6 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/all-crlf-utf8bom.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'all-crlf-utf8bom' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/all-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/all-crlf.fail new file mode 100644 index 000000000..851ef6c77 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/all-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'all-crlf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/binary-all-crlf new file mode 100644 index 000000000..85340755c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..aaf083a9c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/few-utf8-chars-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/few-utf8-chars-crlf.fail new file mode 100644 index 000000000..c23959d76 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/few-utf8-chars-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'few-utf8-chars-crlf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/many-utf8-chars-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/many-utf8-chars-crlf.fail new file mode 100644 index 000000000..2e093c93e --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/many-utf8-chars-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'many-utf8-chars-crlf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/mixed-lf-cr-crlf new file mode 100644 index 000000000..417786fc3 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/more-crlf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/more-crlf-utf8bom.fail new file mode 100644 index 000000000..43b93dbe3 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/more-crlf-utf8bom.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'more-crlf-utf8bom' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/more-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/more-crlf.fail new file mode 100644 index 000000000..b1a5dc9e5 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/more-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'more-crlf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/more-lf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/more-lf-utf8bom.fail new file mode 100644 index 000000000..13c4e3c58 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/more-lf-utf8bom.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'more-lf-utf8bom' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/more-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/more-lf.fail new file mode 100644 index 000000000..c964c725a --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/more-lf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'more-lf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true,text_auto/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/all-crlf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/all-crlf-utf8bom.fail new file mode 100644 index 000000000..213f972a6 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/all-crlf-utf8bom.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'all-crlf-utf8bom' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/all-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/all-crlf.fail new file mode 100644 index 000000000..851ef6c77 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/all-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'all-crlf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/binary-all-crlf new file mode 100644 index 000000000..85340755c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..aaf083a9c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/few-utf8-chars-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/few-utf8-chars-crlf.fail new file mode 100644 index 000000000..c23959d76 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/few-utf8-chars-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'few-utf8-chars-crlf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/many-utf8-chars-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/many-utf8-chars-crlf.fail new file mode 100644 index 000000000..2e093c93e --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/many-utf8-chars-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'many-utf8-chars-crlf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/mixed-lf-cr-crlf new file mode 100644 index 000000000..417786fc3 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/more-crlf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/more-crlf-utf8bom.fail new file mode 100644 index 000000000..43b93dbe3 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/more-crlf-utf8bom.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'more-crlf-utf8bom' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/more-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/more-crlf.fail new file mode 100644 index 000000000..b1a5dc9e5 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/more-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'more-crlf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/more-lf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/more-lf-utf8bom.fail new file mode 100644 index 000000000..13c4e3c58 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/more-lf-utf8bom.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'more-lf-utf8bom' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/more-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/more-lf.fail new file mode 100644 index 000000000..c964c725a --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/more-lf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'more-lf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_true/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/windows/autocrlf_true/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/all-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true/all-crlf rename to tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/all-crlf diff --git a/tests/resources/crlf_data/windows/autocrlf_true/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/all-crlf-utf8bom similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true/all-crlf-utf8bom rename to tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/all-crlf-utf8bom diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/binary-all-crlf new file mode 100644 index 000000000..85340755c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..aaf083a9c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows/autocrlf_true/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/few-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true/few-utf8-chars-crlf rename to tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/few-utf8-chars-crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows/autocrlf_true/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/many-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true/many-utf8-chars-crlf rename to tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/many-utf8-chars-crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/mixed-lf-cr-crlf new file mode 100644 index 000000000..417786fc3 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/more-crlf new file mode 100644 index 000000000..0ff5a53f1 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/more-crlf @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/more-crlf-utf8bom new file mode 100644 index 000000000..ea030d3c6 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/more-crlf-utf8bom @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/more-lf new file mode 100644 index 000000000..04de00b35 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/more-lf @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/more-lf-utf8bom new file mode 100644 index 000000000..dc88e3b91 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/more-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-crlf/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/all-crlf new file mode 100644 index 000000000..a9a2e8913 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/all-crlf-utf8bom new file mode 100644 index 000000000..0aa76e474 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/binary-all-crlf new file mode 100644 index 000000000..85340755c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..aaf083a9c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows/autocrlf_false,crlf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/few-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,crlf/few-utf8-chars-lf rename to tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/few-utf8-chars-crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows/autocrlf_false,crlf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/many-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,crlf/many-utf8-chars-lf rename to tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/many-utf8-chars-crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/mixed-lf-cr-crlf new file mode 100644 index 000000000..417786fc3 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/more-crlf new file mode 100644 index 000000000..0ff5a53f1 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/more-crlf @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/more-crlf-utf8bom new file mode 100644 index 000000000..ea030d3c6 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/more-crlf-utf8bom @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/more-lf new file mode 100644 index 000000000..04de00b35 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/more-lf @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/more-lf-utf8bom new file mode 100644 index 000000000..dc88e3b91 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/more-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,-text/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/all-crlf new file mode 100644 index 000000000..26e1a742b --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/all-crlf-utf8bom new file mode 100644 index 000000000..32c6f22e3 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/binary-all-crlf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/few-utf8-chars-crlf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/few-utf8-chars-crlf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/many-utf8-chars-crlf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/many-utf8-chars-crlf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/mixed-lf-cr-crlf new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/more-crlf new file mode 100644 index 000000000..37bb7fa3d --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/more-crlf @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/more-crlf-utf8bom new file mode 100644 index 000000000..16001a14a --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/more-crlf-utf8bom @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/more-lf new file mode 100644 index 000000000..2cda6f203 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/more-lf @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/more-lf-utf8bom new file mode 100644 index 000000000..dc7d82aa0 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/more-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,crlf/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/all-crlf new file mode 100644 index 000000000..26e1a742b --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/all-crlf-utf8bom new file mode 100644 index 000000000..32c6f22e3 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/binary-all-crlf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/few-utf8-chars-crlf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/few-utf8-chars-crlf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/many-utf8-chars-crlf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/many-utf8-chars-crlf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/mixed-lf-cr-crlf new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/more-crlf new file mode 100644 index 000000000..37bb7fa3d --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/more-crlf @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/more-crlf-utf8bom new file mode 100644 index 000000000..16001a14a --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/more-crlf-utf8bom @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/more-lf new file mode 100644 index 000000000..2cda6f203 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/more-lf @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/more-lf-utf8bom new file mode 100644 index 000000000..dc7d82aa0 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/more-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_crlf/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/all-crlf new file mode 100644 index 000000000..26e1a742b --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/all-crlf-utf8bom new file mode 100644 index 000000000..32c6f22e3 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/binary-all-crlf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/few-utf8-chars-crlf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/few-utf8-chars-crlf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/many-utf8-chars-crlf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/many-utf8-chars-crlf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/mixed-lf-cr-crlf new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/more-crlf new file mode 100644 index 000000000..37bb7fa3d --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/more-crlf @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/more-crlf-utf8bom new file mode 100644 index 000000000..16001a14a --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/more-crlf-utf8bom @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/more-lf new file mode 100644 index 000000000..2cda6f203 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/more-lf @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/more-lf-utf8bom new file mode 100644 index 000000000..dc7d82aa0 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/more-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,eol_lf/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/all-crlf new file mode 100644 index 000000000..26e1a742b --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/all-crlf-utf8bom new file mode 100644 index 000000000..32c6f22e3 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/binary-all-crlf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/few-utf8-chars-crlf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/few-utf8-chars-crlf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/many-utf8-chars-crlf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/many-utf8-chars-crlf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/mixed-lf-cr-crlf new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/more-crlf new file mode 100644 index 000000000..37bb7fa3d --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/more-crlf @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/more-crlf-utf8bom new file mode 100644 index 000000000..16001a14a --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/more-crlf-utf8bom @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/more-lf new file mode 100644 index 000000000..2cda6f203 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/more-lf @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/more-lf-utf8bom new file mode 100644 index 000000000..dc7d82aa0 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/more-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_crlf/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/all-crlf new file mode 100644 index 000000000..26e1a742b --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/all-crlf-utf8bom new file mode 100644 index 000000000..32c6f22e3 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/binary-all-crlf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/few-utf8-chars-crlf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/few-utf8-chars-crlf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/many-utf8-chars-crlf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/many-utf8-chars-crlf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/mixed-lf-cr-crlf new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/more-crlf new file mode 100644 index 000000000..37bb7fa3d --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/more-crlf @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/more-crlf-utf8bom new file mode 100644 index 000000000..16001a14a --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/more-crlf-utf8bom @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/more-lf new file mode 100644 index 000000000..2cda6f203 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/more-lf @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/more-lf-utf8bom new file mode 100644 index 000000000..dc7d82aa0 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/more-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text,eol_lf/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/all-crlf new file mode 100644 index 000000000..26e1a742b --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/all-crlf-utf8bom new file mode 100644 index 000000000..32c6f22e3 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/binary-all-crlf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/few-utf8-chars-crlf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/few-utf8-chars-crlf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/many-utf8-chars-crlf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/many-utf8-chars-crlf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/mixed-lf-cr-crlf new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/more-crlf new file mode 100644 index 000000000..37bb7fa3d --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/more-crlf @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/more-crlf-utf8bom new file mode 100644 index 000000000..16001a14a --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/more-crlf-utf8bom @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/more-lf new file mode 100644 index 000000000..2cda6f203 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/more-lf @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/more-lf-utf8bom new file mode 100644 index 000000000..dc7d82aa0 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/more-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/all-crlf new file mode 100644 index 000000000..26e1a742b --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/all-crlf-utf8bom new file mode 100644 index 000000000..32c6f22e3 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/binary-all-crlf new file mode 100644 index 000000000..85340755c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..aaf083a9c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/few-utf8-chars-crlf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/few-utf8-chars-crlf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/many-utf8-chars-crlf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/many-utf8-chars-crlf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/mixed-lf-cr-crlf new file mode 100644 index 000000000..417786fc3 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/more-crlf new file mode 100644 index 000000000..37bb7fa3d --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/more-crlf @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/more-crlf-utf8bom new file mode 100644 index 000000000..16001a14a --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/more-crlf-utf8bom @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/more-lf new file mode 100644 index 000000000..2cda6f203 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/more-lf @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/more-lf-utf8bom new file mode 100644 index 000000000..dc7d82aa0 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/more-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_crlf/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/all-crlf new file mode 100644 index 000000000..26e1a742b --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/all-crlf-utf8bom new file mode 100644 index 000000000..32c6f22e3 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/binary-all-crlf new file mode 100644 index 000000000..85340755c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..aaf083a9c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/few-utf8-chars-crlf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/few-utf8-chars-crlf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/many-utf8-chars-crlf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/many-utf8-chars-crlf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/mixed-lf-cr-crlf new file mode 100644 index 000000000..417786fc3 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/more-crlf new file mode 100644 index 000000000..37bb7fa3d --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/more-crlf @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/more-crlf-utf8bom new file mode 100644 index 000000000..16001a14a --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/more-crlf-utf8bom @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/more-lf new file mode 100644 index 000000000..2cda6f203 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/more-lf @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/more-lf-utf8bom new file mode 100644 index 000000000..dc7d82aa0 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/more-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto,eol_lf/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/all-crlf new file mode 100644 index 000000000..26e1a742b --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/all-crlf-utf8bom new file mode 100644 index 000000000..32c6f22e3 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/binary-all-crlf new file mode 100644 index 000000000..85340755c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..aaf083a9c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/few-utf8-chars-crlf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/few-utf8-chars-crlf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/many-utf8-chars-crlf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/many-utf8-chars-crlf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/mixed-lf-cr-crlf new file mode 100644 index 000000000..417786fc3 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/more-crlf new file mode 100644 index 000000000..37bb7fa3d --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/more-crlf @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/more-crlf-utf8bom new file mode 100644 index 000000000..16001a14a --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/more-crlf-utf8bom @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/more-lf new file mode 100644 index 000000000..2cda6f203 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/more-lf @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/more-lf-utf8bom new file mode 100644 index 000000000..dc7d82aa0 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/more-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn,text_auto/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/all-crlf new file mode 100644 index 000000000..26e1a742b --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/all-crlf-utf8bom new file mode 100644 index 000000000..32c6f22e3 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/binary-all-crlf new file mode 100644 index 000000000..85340755c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..aaf083a9c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/few-utf8-chars-crlf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/few-utf8-chars-crlf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/many-utf8-chars-crlf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/many-utf8-chars-crlf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/mixed-lf-cr-crlf new file mode 100644 index 000000000..417786fc3 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/more-crlf new file mode 100644 index 000000000..37bb7fa3d --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/more-crlf @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/more-crlf-utf8bom new file mode 100644 index 000000000..16001a14a --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/more-crlf-utf8bom @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/more-lf new file mode 100644 index 000000000..2cda6f203 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/more-lf @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/more-lf-utf8bom new file mode 100644 index 000000000..dc7d82aa0 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/more-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_input,safecrlf_warn/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/all-crlf new file mode 100644 index 000000000..a9a2e8913 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/all-crlf-utf8bom new file mode 100644 index 000000000..0aa76e474 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/binary-all-crlf new file mode 100644 index 000000000..85340755c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..aaf083a9c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/few-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/few-utf8-chars-lf rename to tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/few-utf8-chars-crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/many-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/many-utf8-chars-lf rename to tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/many-utf8-chars-crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/mixed-lf-cr-crlf new file mode 100644 index 000000000..417786fc3 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/more-crlf new file mode 100644 index 000000000..0ff5a53f1 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/more-crlf @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/more-crlf-utf8bom new file mode 100644 index 000000000..ea030d3c6 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/more-crlf-utf8bom @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/more-lf new file mode 100644 index 000000000..04de00b35 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/more-lf @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/more-lf-utf8bom new file mode 100644 index 000000000..dc88e3b91 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/more-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-crlf/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/all-crlf new file mode 100644 index 000000000..a9a2e8913 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/all-crlf-utf8bom new file mode 100644 index 000000000..0aa76e474 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/binary-all-crlf new file mode 100644 index 000000000..85340755c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..aaf083a9c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/few-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/few-utf8-chars-lf rename to tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/few-utf8-chars-crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/many-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/many-utf8-chars-lf rename to tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/many-utf8-chars-crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/mixed-lf-cr-crlf new file mode 100644 index 000000000..417786fc3 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/more-crlf new file mode 100644 index 000000000..0ff5a53f1 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/more-crlf @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/more-crlf-utf8bom new file mode 100644 index 000000000..ea030d3c6 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/more-crlf-utf8bom @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/more-lf new file mode 100644 index 000000000..04de00b35 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/more-lf @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/more-lf-utf8bom new file mode 100644 index 000000000..dc88e3b91 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/more-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,-text/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/all-crlf new file mode 100644 index 000000000..26e1a742b --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/all-crlf-utf8bom new file mode 100644 index 000000000..32c6f22e3 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/binary-all-crlf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/few-utf8-chars-crlf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/few-utf8-chars-crlf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/many-utf8-chars-crlf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/many-utf8-chars-crlf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/mixed-lf-cr-crlf new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/more-crlf new file mode 100644 index 000000000..37bb7fa3d --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/more-crlf @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/more-crlf-utf8bom new file mode 100644 index 000000000..16001a14a --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/more-crlf-utf8bom @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/more-lf new file mode 100644 index 000000000..2cda6f203 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/more-lf @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/more-lf-utf8bom new file mode 100644 index 000000000..dc7d82aa0 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/more-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,crlf/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/all-crlf new file mode 100644 index 000000000..26e1a742b --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/all-crlf-utf8bom new file mode 100644 index 000000000..32c6f22e3 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/binary-all-crlf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/few-utf8-chars-crlf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/few-utf8-chars-crlf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/many-utf8-chars-crlf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/many-utf8-chars-crlf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/mixed-lf-cr-crlf new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/more-crlf new file mode 100644 index 000000000..37bb7fa3d --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/more-crlf @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/more-crlf-utf8bom new file mode 100644 index 000000000..16001a14a --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/more-crlf-utf8bom @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/more-lf new file mode 100644 index 000000000..2cda6f203 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/more-lf @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/more-lf-utf8bom new file mode 100644 index 000000000..dc7d82aa0 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/more-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_crlf/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/all-crlf new file mode 100644 index 000000000..26e1a742b --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/all-crlf-utf8bom new file mode 100644 index 000000000..32c6f22e3 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/binary-all-crlf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/few-utf8-chars-crlf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/few-utf8-chars-crlf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/many-utf8-chars-crlf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/many-utf8-chars-crlf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/mixed-lf-cr-crlf new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/more-crlf new file mode 100644 index 000000000..37bb7fa3d --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/more-crlf @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/more-crlf-utf8bom new file mode 100644 index 000000000..16001a14a --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/more-crlf-utf8bom @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/more-lf new file mode 100644 index 000000000..2cda6f203 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/more-lf @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/more-lf-utf8bom new file mode 100644 index 000000000..dc7d82aa0 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/more-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,eol_lf/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/all-crlf new file mode 100644 index 000000000..26e1a742b --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/all-crlf-utf8bom new file mode 100644 index 000000000..32c6f22e3 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/binary-all-crlf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/few-utf8-chars-crlf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/few-utf8-chars-crlf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/many-utf8-chars-crlf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/many-utf8-chars-crlf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/mixed-lf-cr-crlf new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/more-crlf new file mode 100644 index 000000000..37bb7fa3d --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/more-crlf @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/more-crlf-utf8bom new file mode 100644 index 000000000..16001a14a --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/more-crlf-utf8bom @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/more-lf new file mode 100644 index 000000000..2cda6f203 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/more-lf @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/more-lf-utf8bom new file mode 100644 index 000000000..dc7d82aa0 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/more-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_crlf/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/all-crlf new file mode 100644 index 000000000..26e1a742b --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/all-crlf-utf8bom new file mode 100644 index 000000000..32c6f22e3 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/binary-all-crlf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/few-utf8-chars-crlf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/few-utf8-chars-crlf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/many-utf8-chars-crlf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/many-utf8-chars-crlf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/mixed-lf-cr-crlf new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/more-crlf new file mode 100644 index 000000000..37bb7fa3d --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/more-crlf @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/more-crlf-utf8bom new file mode 100644 index 000000000..16001a14a --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/more-crlf-utf8bom @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/more-lf new file mode 100644 index 000000000..2cda6f203 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/more-lf @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/more-lf-utf8bom new file mode 100644 index 000000000..dc7d82aa0 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/more-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text,eol_lf/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/all-crlf new file mode 100644 index 000000000..26e1a742b --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/all-crlf-utf8bom new file mode 100644 index 000000000..32c6f22e3 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/binary-all-crlf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/few-utf8-chars-crlf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/few-utf8-chars-crlf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/many-utf8-chars-crlf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/many-utf8-chars-crlf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/mixed-lf-cr-crlf new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/more-crlf new file mode 100644 index 000000000..37bb7fa3d --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/more-crlf @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/more-crlf-utf8bom new file mode 100644 index 000000000..16001a14a --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/more-crlf-utf8bom @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/more-lf new file mode 100644 index 000000000..2cda6f203 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/more-lf @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/more-lf-utf8bom new file mode 100644 index 000000000..dc7d82aa0 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/more-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/all-crlf new file mode 100644 index 000000000..26e1a742b --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/all-crlf-utf8bom new file mode 100644 index 000000000..32c6f22e3 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/binary-all-crlf new file mode 100644 index 000000000..85340755c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..aaf083a9c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/few-utf8-chars-crlf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/few-utf8-chars-crlf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/many-utf8-chars-crlf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/many-utf8-chars-crlf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/mixed-lf-cr-crlf new file mode 100644 index 000000000..417786fc3 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/more-crlf new file mode 100644 index 000000000..37bb7fa3d --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/more-crlf @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/more-crlf-utf8bom new file mode 100644 index 000000000..16001a14a --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/more-crlf-utf8bom @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/more-lf new file mode 100644 index 000000000..2cda6f203 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/more-lf @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/more-lf-utf8bom new file mode 100644 index 000000000..dc7d82aa0 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/more-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_crlf/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/all-crlf new file mode 100644 index 000000000..26e1a742b --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/all-crlf-utf8bom new file mode 100644 index 000000000..32c6f22e3 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/binary-all-crlf new file mode 100644 index 000000000..85340755c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..aaf083a9c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/few-utf8-chars-crlf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/few-utf8-chars-crlf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/many-utf8-chars-crlf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/many-utf8-chars-crlf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/mixed-lf-cr-crlf new file mode 100644 index 000000000..417786fc3 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/more-crlf new file mode 100644 index 000000000..37bb7fa3d --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/more-crlf @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/more-crlf-utf8bom new file mode 100644 index 000000000..16001a14a --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/more-crlf-utf8bom @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/more-lf new file mode 100644 index 000000000..2cda6f203 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/more-lf @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/more-lf-utf8bom new file mode 100644 index 000000000..dc7d82aa0 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/more-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto,eol_lf/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/all-crlf new file mode 100644 index 000000000..26e1a742b --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/all-crlf-utf8bom new file mode 100644 index 000000000..32c6f22e3 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/binary-all-crlf new file mode 100644 index 000000000..85340755c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..aaf083a9c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/few-utf8-chars-crlf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/few-utf8-chars-crlf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/many-utf8-chars-crlf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/many-utf8-chars-crlf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/mixed-lf-cr-crlf new file mode 100644 index 000000000..417786fc3 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/more-crlf new file mode 100644 index 000000000..37bb7fa3d --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/more-crlf @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/more-crlf-utf8bom new file mode 100644 index 000000000..16001a14a --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/more-crlf-utf8bom @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/more-lf new file mode 100644 index 000000000..2cda6f203 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/more-lf @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/more-lf-utf8bom new file mode 100644 index 000000000..dc7d82aa0 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/more-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false,text_auto/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/all-crlf new file mode 100644 index 000000000..26e1a742b --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/all-crlf-utf8bom new file mode 100644 index 000000000..32c6f22e3 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/binary-all-crlf new file mode 100644 index 000000000..85340755c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..aaf083a9c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/few-utf8-chars-crlf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/few-utf8-chars-crlf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/many-utf8-chars-crlf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/many-utf8-chars-crlf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/mixed-lf-cr-crlf new file mode 100644 index 000000000..417786fc3 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/more-crlf new file mode 100644 index 000000000..37bb7fa3d --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/more-crlf @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/more-crlf-utf8bom new file mode 100644 index 000000000..16001a14a --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/more-crlf-utf8bom @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/more-lf new file mode 100644 index 000000000..2cda6f203 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/more-lf @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/more-lf-utf8bom new file mode 100644 index 000000000..dc7d82aa0 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/more-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_false/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/all-crlf new file mode 100644 index 000000000..a9a2e8913 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/all-crlf-utf8bom new file mode 100644 index 000000000..0aa76e474 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/binary-all-crlf new file mode 100644 index 000000000..85340755c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..aaf083a9c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/few-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,text/few-utf8-chars-lf rename to tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/few-utf8-chars-crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/many-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,text/many-utf8-chars-lf rename to tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/many-utf8-chars-crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/mixed-lf-cr-crlf new file mode 100644 index 000000000..417786fc3 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/more-crlf new file mode 100644 index 000000000..0ff5a53f1 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/more-crlf @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/more-crlf-utf8bom new file mode 100644 index 000000000..ea030d3c6 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/more-crlf-utf8bom @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/more-lf new file mode 100644 index 000000000..04de00b35 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/more-lf @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/more-lf-utf8bom new file mode 100644 index 000000000..dc88e3b91 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/more-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-crlf/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/all-crlf new file mode 100644 index 000000000..a9a2e8913 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/all-crlf-utf8bom new file mode 100644 index 000000000..0aa76e474 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/binary-all-crlf new file mode 100644 index 000000000..85340755c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..aaf083a9c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/few-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/few-utf8-chars-lf rename to tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/few-utf8-chars-crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/many-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/many-utf8-chars-lf rename to tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/many-utf8-chars-crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/mixed-lf-cr-crlf new file mode 100644 index 000000000..417786fc3 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/more-crlf new file mode 100644 index 000000000..0ff5a53f1 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/more-crlf @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/more-crlf-utf8bom new file mode 100644 index 000000000..ea030d3c6 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/more-crlf-utf8bom @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/more-lf new file mode 100644 index 000000000..04de00b35 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/more-lf @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/more-lf-utf8bom new file mode 100644 index 000000000..dc88e3b91 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/more-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,-text/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/all-crlf new file mode 100644 index 000000000..26e1a742b --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/all-crlf-utf8bom new file mode 100644 index 000000000..32c6f22e3 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/all-lf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/all-lf-utf8bom.fail new file mode 100644 index 000000000..547008e0f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/all-lf-utf8bom.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'all-lf-utf8bom' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/all-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/all-lf.fail new file mode 100644 index 000000000..d992d4720 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/all-lf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'all-lf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/binary-all-crlf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/binary-all-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/binary-all-lf.fail new file mode 100644 index 000000000..180663eca --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/binary-all-lf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'binary-all-lf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/binary-mixed-lf-cr-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/binary-mixed-lf-cr-crlf.fail new file mode 100644 index 000000000..f87ce3f16 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/binary-mixed-lf-cr-crlf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'binary-mixed-lf-cr-crlf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/binary-mixed-lf-cr.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/binary-mixed-lf-cr.fail new file mode 100644 index 000000000..63eac58a4 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/binary-mixed-lf-cr.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'binary-mixed-lf-cr' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/few-utf8-chars-crlf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/few-utf8-chars-crlf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/few-utf8-chars-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/few-utf8-chars-lf.fail new file mode 100644 index 000000000..fabf46617 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/few-utf8-chars-lf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'few-utf8-chars-lf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/many-utf8-chars-crlf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/many-utf8-chars-crlf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/many-utf8-chars-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/many-utf8-chars-lf.fail new file mode 100644 index 000000000..b874f4bb9 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/many-utf8-chars-lf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'many-utf8-chars-lf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/mixed-lf-cr-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/mixed-lf-cr-crlf.fail new file mode 100644 index 000000000..a353e0e82 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/mixed-lf-cr-crlf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'mixed-lf-cr-crlf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/mixed-lf-cr.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/mixed-lf-cr.fail new file mode 100644 index 000000000..0287e3250 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/mixed-lf-cr.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'mixed-lf-cr' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/more-crlf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/more-crlf-utf8bom.fail new file mode 100644 index 000000000..e77b2b976 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/more-crlf-utf8bom.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'more-crlf-utf8bom' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/more-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/more-crlf.fail new file mode 100644 index 000000000..07f50c353 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/more-crlf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'more-crlf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/more-lf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/more-lf-utf8bom.fail new file mode 100644 index 000000000..6994a8d01 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/more-lf-utf8bom.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'more-lf-utf8bom' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/more-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/more-lf.fail new file mode 100644 index 000000000..067a2e896 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/more-lf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'more-lf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,crlf/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/all-crlf new file mode 100644 index 000000000..26e1a742b --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/all-crlf-utf8bom new file mode 100644 index 000000000..32c6f22e3 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/all-lf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/all-lf-utf8bom.fail new file mode 100644 index 000000000..547008e0f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/all-lf-utf8bom.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'all-lf-utf8bom' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/all-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/all-lf.fail new file mode 100644 index 000000000..d992d4720 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/all-lf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'all-lf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/binary-all-crlf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/binary-all-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/binary-all-lf.fail new file mode 100644 index 000000000..180663eca --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/binary-all-lf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'binary-all-lf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/binary-mixed-lf-cr-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/binary-mixed-lf-cr-crlf.fail new file mode 100644 index 000000000..f87ce3f16 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/binary-mixed-lf-cr-crlf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'binary-mixed-lf-cr-crlf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/binary-mixed-lf-cr.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/binary-mixed-lf-cr.fail new file mode 100644 index 000000000..63eac58a4 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/binary-mixed-lf-cr.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'binary-mixed-lf-cr' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/few-utf8-chars-crlf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/few-utf8-chars-crlf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/few-utf8-chars-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/few-utf8-chars-lf.fail new file mode 100644 index 000000000..fabf46617 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/few-utf8-chars-lf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'few-utf8-chars-lf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/many-utf8-chars-crlf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/many-utf8-chars-crlf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/many-utf8-chars-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/many-utf8-chars-lf.fail new file mode 100644 index 000000000..b874f4bb9 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/many-utf8-chars-lf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'many-utf8-chars-lf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/mixed-lf-cr-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/mixed-lf-cr-crlf.fail new file mode 100644 index 000000000..a353e0e82 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/mixed-lf-cr-crlf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'mixed-lf-cr-crlf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/mixed-lf-cr.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/mixed-lf-cr.fail new file mode 100644 index 000000000..0287e3250 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/mixed-lf-cr.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'mixed-lf-cr' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/more-crlf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/more-crlf-utf8bom.fail new file mode 100644 index 000000000..e77b2b976 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/more-crlf-utf8bom.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'more-crlf-utf8bom' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/more-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/more-crlf.fail new file mode 100644 index 000000000..07f50c353 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/more-crlf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'more-crlf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/more-lf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/more-lf-utf8bom.fail new file mode 100644 index 000000000..6994a8d01 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/more-lf-utf8bom.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'more-lf-utf8bom' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/more-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/more-lf.fail new file mode 100644 index 000000000..067a2e896 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/more-lf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'more-lf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_crlf/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/all-crlf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/all-crlf-utf8bom.fail new file mode 100644 index 000000000..213f972a6 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/all-crlf-utf8bom.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'all-crlf-utf8bom' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/all-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/all-crlf.fail new file mode 100644 index 000000000..851ef6c77 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/all-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'all-crlf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/binary-all-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/binary-all-crlf.fail new file mode 100644 index 000000000..26690f37e --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/binary-all-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'binary-all-crlf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/binary-mixed-lf-cr-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/binary-mixed-lf-cr-crlf.fail new file mode 100644 index 000000000..c6b706d60 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/binary-mixed-lf-cr-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'binary-mixed-lf-cr-crlf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/few-utf8-chars-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/few-utf8-chars-crlf.fail new file mode 100644 index 000000000..c23959d76 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/few-utf8-chars-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'few-utf8-chars-crlf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/many-utf8-chars-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/many-utf8-chars-crlf.fail new file mode 100644 index 000000000..2e093c93e --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/many-utf8-chars-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'many-utf8-chars-crlf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/mixed-lf-cr-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/mixed-lf-cr-crlf.fail new file mode 100644 index 000000000..3c6cbace0 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/mixed-lf-cr-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'mixed-lf-cr-crlf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/more-crlf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/more-crlf-utf8bom.fail new file mode 100644 index 000000000..43b93dbe3 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/more-crlf-utf8bom.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'more-crlf-utf8bom' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/more-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/more-crlf.fail new file mode 100644 index 000000000..b1a5dc9e5 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/more-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'more-crlf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/more-lf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/more-lf-utf8bom.fail new file mode 100644 index 000000000..13c4e3c58 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/more-lf-utf8bom.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'more-lf-utf8bom' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/more-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/more-lf.fail new file mode 100644 index 000000000..c964c725a --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/more-lf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'more-lf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,eol_lf/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/all-crlf new file mode 100644 index 000000000..26e1a742b --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/all-crlf-utf8bom new file mode 100644 index 000000000..32c6f22e3 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/all-lf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/all-lf-utf8bom.fail new file mode 100644 index 000000000..547008e0f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/all-lf-utf8bom.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'all-lf-utf8bom' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/all-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/all-lf.fail new file mode 100644 index 000000000..d992d4720 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/all-lf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'all-lf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/binary-all-crlf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/binary-all-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/binary-all-lf.fail new file mode 100644 index 000000000..180663eca --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/binary-all-lf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'binary-all-lf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/binary-mixed-lf-cr-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/binary-mixed-lf-cr-crlf.fail new file mode 100644 index 000000000..f87ce3f16 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/binary-mixed-lf-cr-crlf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'binary-mixed-lf-cr-crlf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/binary-mixed-lf-cr.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/binary-mixed-lf-cr.fail new file mode 100644 index 000000000..63eac58a4 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/binary-mixed-lf-cr.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'binary-mixed-lf-cr' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/few-utf8-chars-crlf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/few-utf8-chars-crlf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/few-utf8-chars-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/few-utf8-chars-lf.fail new file mode 100644 index 000000000..fabf46617 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/few-utf8-chars-lf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'few-utf8-chars-lf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/many-utf8-chars-crlf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/many-utf8-chars-crlf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/many-utf8-chars-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/many-utf8-chars-lf.fail new file mode 100644 index 000000000..b874f4bb9 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/many-utf8-chars-lf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'many-utf8-chars-lf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/mixed-lf-cr-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/mixed-lf-cr-crlf.fail new file mode 100644 index 000000000..a353e0e82 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/mixed-lf-cr-crlf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'mixed-lf-cr-crlf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/mixed-lf-cr.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/mixed-lf-cr.fail new file mode 100644 index 000000000..0287e3250 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/mixed-lf-cr.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'mixed-lf-cr' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/more-crlf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/more-crlf-utf8bom.fail new file mode 100644 index 000000000..e77b2b976 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/more-crlf-utf8bom.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'more-crlf-utf8bom' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/more-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/more-crlf.fail new file mode 100644 index 000000000..07f50c353 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/more-crlf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'more-crlf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/more-lf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/more-lf-utf8bom.fail new file mode 100644 index 000000000..6994a8d01 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/more-lf-utf8bom.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'more-lf-utf8bom' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/more-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/more-lf.fail new file mode 100644 index 000000000..067a2e896 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/more-lf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'more-lf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_crlf/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/all-crlf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/all-crlf-utf8bom.fail new file mode 100644 index 000000000..213f972a6 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/all-crlf-utf8bom.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'all-crlf-utf8bom' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/all-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/all-crlf.fail new file mode 100644 index 000000000..851ef6c77 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/all-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'all-crlf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/binary-all-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/binary-all-crlf.fail new file mode 100644 index 000000000..26690f37e --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/binary-all-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'binary-all-crlf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/binary-mixed-lf-cr-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/binary-mixed-lf-cr-crlf.fail new file mode 100644 index 000000000..c6b706d60 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/binary-mixed-lf-cr-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'binary-mixed-lf-cr-crlf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/few-utf8-chars-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/few-utf8-chars-crlf.fail new file mode 100644 index 000000000..c23959d76 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/few-utf8-chars-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'few-utf8-chars-crlf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/many-utf8-chars-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/many-utf8-chars-crlf.fail new file mode 100644 index 000000000..2e093c93e --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/many-utf8-chars-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'many-utf8-chars-crlf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/mixed-lf-cr-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/mixed-lf-cr-crlf.fail new file mode 100644 index 000000000..3c6cbace0 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/mixed-lf-cr-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'mixed-lf-cr-crlf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/more-crlf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/more-crlf-utf8bom.fail new file mode 100644 index 000000000..43b93dbe3 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/more-crlf-utf8bom.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'more-crlf-utf8bom' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/more-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/more-crlf.fail new file mode 100644 index 000000000..b1a5dc9e5 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/more-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'more-crlf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/more-lf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/more-lf-utf8bom.fail new file mode 100644 index 000000000..13c4e3c58 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/more-lf-utf8bom.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'more-lf-utf8bom' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/more-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/more-lf.fail new file mode 100644 index 000000000..c964c725a --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/more-lf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'more-lf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text,eol_lf/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/all-crlf new file mode 100644 index 000000000..26e1a742b --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/all-crlf-utf8bom new file mode 100644 index 000000000..32c6f22e3 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/all-lf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/all-lf-utf8bom.fail new file mode 100644 index 000000000..547008e0f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/all-lf-utf8bom.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'all-lf-utf8bom' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/all-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/all-lf.fail new file mode 100644 index 000000000..d992d4720 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/all-lf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'all-lf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/binary-all-crlf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/binary-all-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/binary-all-lf.fail new file mode 100644 index 000000000..180663eca --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/binary-all-lf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'binary-all-lf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/binary-mixed-lf-cr-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/binary-mixed-lf-cr-crlf.fail new file mode 100644 index 000000000..f87ce3f16 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/binary-mixed-lf-cr-crlf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'binary-mixed-lf-cr-crlf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/binary-mixed-lf-cr.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/binary-mixed-lf-cr.fail new file mode 100644 index 000000000..63eac58a4 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/binary-mixed-lf-cr.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'binary-mixed-lf-cr' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/few-utf8-chars-crlf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/few-utf8-chars-crlf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/few-utf8-chars-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/few-utf8-chars-lf.fail new file mode 100644 index 000000000..fabf46617 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/few-utf8-chars-lf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'few-utf8-chars-lf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/many-utf8-chars-crlf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/many-utf8-chars-crlf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/many-utf8-chars-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/many-utf8-chars-lf.fail new file mode 100644 index 000000000..b874f4bb9 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/many-utf8-chars-lf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'many-utf8-chars-lf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/mixed-lf-cr-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/mixed-lf-cr-crlf.fail new file mode 100644 index 000000000..a353e0e82 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/mixed-lf-cr-crlf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'mixed-lf-cr-crlf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/mixed-lf-cr.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/mixed-lf-cr.fail new file mode 100644 index 000000000..0287e3250 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/mixed-lf-cr.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'mixed-lf-cr' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/more-crlf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/more-crlf-utf8bom.fail new file mode 100644 index 000000000..e77b2b976 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/more-crlf-utf8bom.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'more-crlf-utf8bom' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/more-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/more-crlf.fail new file mode 100644 index 000000000..07f50c353 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/more-crlf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'more-crlf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/more-lf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/more-lf-utf8bom.fail new file mode 100644 index 000000000..6994a8d01 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/more-lf-utf8bom.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'more-lf-utf8bom' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/more-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/more-lf.fail new file mode 100644 index 000000000..067a2e896 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/more-lf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'more-lf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/all-crlf new file mode 100644 index 000000000..26e1a742b --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/all-crlf-utf8bom new file mode 100644 index 000000000..32c6f22e3 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/all-lf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/all-lf-utf8bom.fail new file mode 100644 index 000000000..547008e0f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/all-lf-utf8bom.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'all-lf-utf8bom' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/all-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/all-lf.fail new file mode 100644 index 000000000..d992d4720 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/all-lf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'all-lf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/binary-all-crlf new file mode 100644 index 000000000..85340755c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..aaf083a9c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/few-utf8-chars-crlf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/few-utf8-chars-crlf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/few-utf8-chars-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/few-utf8-chars-lf.fail new file mode 100644 index 000000000..fabf46617 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/few-utf8-chars-lf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'few-utf8-chars-lf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/many-utf8-chars-crlf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/many-utf8-chars-crlf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/many-utf8-chars-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/many-utf8-chars-lf.fail new file mode 100644 index 000000000..b874f4bb9 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/many-utf8-chars-lf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'many-utf8-chars-lf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/mixed-lf-cr-crlf new file mode 100644 index 000000000..417786fc3 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/more-crlf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/more-crlf-utf8bom.fail new file mode 100644 index 000000000..e77b2b976 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/more-crlf-utf8bom.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'more-crlf-utf8bom' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/more-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/more-crlf.fail new file mode 100644 index 000000000..07f50c353 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/more-crlf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'more-crlf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/more-lf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/more-lf-utf8bom.fail new file mode 100644 index 000000000..6994a8d01 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/more-lf-utf8bom.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'more-lf-utf8bom' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/more-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/more-lf.fail new file mode 100644 index 000000000..067a2e896 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/more-lf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'more-lf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_crlf/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/all-crlf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/all-crlf-utf8bom.fail new file mode 100644 index 000000000..213f972a6 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/all-crlf-utf8bom.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'all-crlf-utf8bom' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/all-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/all-crlf.fail new file mode 100644 index 000000000..851ef6c77 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/all-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'all-crlf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/binary-all-crlf new file mode 100644 index 000000000..85340755c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..aaf083a9c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/few-utf8-chars-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/few-utf8-chars-crlf.fail new file mode 100644 index 000000000..c23959d76 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/few-utf8-chars-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'few-utf8-chars-crlf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/many-utf8-chars-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/many-utf8-chars-crlf.fail new file mode 100644 index 000000000..2e093c93e --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/many-utf8-chars-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'many-utf8-chars-crlf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/mixed-lf-cr-crlf new file mode 100644 index 000000000..417786fc3 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/more-crlf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/more-crlf-utf8bom.fail new file mode 100644 index 000000000..43b93dbe3 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/more-crlf-utf8bom.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'more-crlf-utf8bom' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/more-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/more-crlf.fail new file mode 100644 index 000000000..b1a5dc9e5 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/more-crlf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'more-crlf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/more-lf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/more-lf-utf8bom.fail new file mode 100644 index 000000000..13c4e3c58 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/more-lf-utf8bom.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'more-lf-utf8bom' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/more-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/more-lf.fail new file mode 100644 index 000000000..c964c725a --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/more-lf.fail @@ -0,0 +1 @@ +CRLF would be replaced by LF in 'more-lf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto,eol_lf/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/all-crlf new file mode 100644 index 000000000..26e1a742b --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/all-crlf-utf8bom new file mode 100644 index 000000000..32c6f22e3 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/all-lf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/all-lf-utf8bom.fail new file mode 100644 index 000000000..547008e0f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/all-lf-utf8bom.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'all-lf-utf8bom' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/all-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/all-lf.fail new file mode 100644 index 000000000..d992d4720 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/all-lf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'all-lf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/binary-all-crlf new file mode 100644 index 000000000..85340755c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..aaf083a9c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/few-utf8-chars-crlf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/few-utf8-chars-crlf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/few-utf8-chars-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/few-utf8-chars-lf.fail new file mode 100644 index 000000000..fabf46617 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/few-utf8-chars-lf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'few-utf8-chars-lf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/many-utf8-chars-crlf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/many-utf8-chars-crlf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/many-utf8-chars-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/many-utf8-chars-lf.fail new file mode 100644 index 000000000..b874f4bb9 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/many-utf8-chars-lf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'many-utf8-chars-lf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/mixed-lf-cr-crlf new file mode 100644 index 000000000..417786fc3 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/more-crlf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/more-crlf-utf8bom.fail new file mode 100644 index 000000000..e77b2b976 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/more-crlf-utf8bom.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'more-crlf-utf8bom' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/more-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/more-crlf.fail new file mode 100644 index 000000000..07f50c353 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/more-crlf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'more-crlf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/more-lf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/more-lf-utf8bom.fail new file mode 100644 index 000000000..6994a8d01 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/more-lf-utf8bom.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'more-lf-utf8bom' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/more-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/more-lf.fail new file mode 100644 index 000000000..067a2e896 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/more-lf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'more-lf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true,text_auto/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/all-crlf new file mode 100644 index 000000000..26e1a742b --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/all-crlf-utf8bom new file mode 100644 index 000000000..32c6f22e3 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/all-lf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/all-lf-utf8bom.fail new file mode 100644 index 000000000..547008e0f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/all-lf-utf8bom.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'all-lf-utf8bom' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/all-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/all-lf.fail new file mode 100644 index 000000000..d992d4720 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/all-lf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'all-lf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/binary-all-crlf new file mode 100644 index 000000000..85340755c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..aaf083a9c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/few-utf8-chars-crlf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/few-utf8-chars-crlf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/few-utf8-chars-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/few-utf8-chars-lf.fail new file mode 100644 index 000000000..fabf46617 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/few-utf8-chars-lf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'few-utf8-chars-lf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/many-utf8-chars-crlf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/many-utf8-chars-crlf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/many-utf8-chars-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/many-utf8-chars-lf.fail new file mode 100644 index 000000000..b874f4bb9 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/many-utf8-chars-lf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'many-utf8-chars-lf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/mixed-lf-cr-crlf new file mode 100644 index 000000000..417786fc3 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/more-crlf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/more-crlf-utf8bom.fail new file mode 100644 index 000000000..e77b2b976 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/more-crlf-utf8bom.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'more-crlf-utf8bom' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/more-crlf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/more-crlf.fail new file mode 100644 index 000000000..07f50c353 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/more-crlf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'more-crlf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/more-lf-utf8bom.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/more-lf-utf8bom.fail new file mode 100644 index 000000000..6994a8d01 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/more-lf-utf8bom.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'more-lf-utf8bom' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/more-lf.fail b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/more-lf.fail new file mode 100644 index 000000000..067a2e896 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/more-lf.fail @@ -0,0 +1 @@ +LF would be replaced by CRLF in 'more-lf' diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_true/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/all-crlf new file mode 100644 index 000000000..a9a2e8913 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/all-crlf-utf8bom new file mode 100644 index 000000000..0aa76e474 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/binary-all-crlf new file mode 100644 index 000000000..85340755c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..aaf083a9c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/few-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,text_auto/few-utf8-chars-lf rename to tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/few-utf8-chars-crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/many-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,text_auto/many-utf8-chars-lf rename to tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/many-utf8-chars-crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/mixed-lf-cr-crlf new file mode 100644 index 000000000..417786fc3 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/more-crlf new file mode 100644 index 000000000..0ff5a53f1 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/more-crlf @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/more-crlf-utf8bom new file mode 100644 index 000000000..ea030d3c6 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/more-crlf-utf8bom @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/more-lf new file mode 100644 index 000000000..04de00b35 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/more-lf @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/more-lf-utf8bom new file mode 100644 index 000000000..dc88e3b91 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/more-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-crlf/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/all-crlf new file mode 100644 index 000000000..a9a2e8913 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/all-crlf-utf8bom new file mode 100644 index 000000000..0aa76e474 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/binary-all-crlf new file mode 100644 index 000000000..85340755c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..aaf083a9c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/few-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/few-utf8-chars-lf rename to tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/few-utf8-chars-crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/many-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/many-utf8-chars-lf rename to tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/many-utf8-chars-crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/mixed-lf-cr-crlf new file mode 100644 index 000000000..417786fc3 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/more-crlf new file mode 100644 index 000000000..0ff5a53f1 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/more-crlf @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/more-crlf-utf8bom new file mode 100644 index 000000000..ea030d3c6 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/more-crlf-utf8bom @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/more-lf new file mode 100644 index 000000000..04de00b35 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/more-lf @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/more-lf-utf8bom new file mode 100644 index 000000000..dc88e3b91 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/more-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,-text/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/all-crlf new file mode 100644 index 000000000..26e1a742b --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/all-crlf-utf8bom new file mode 100644 index 000000000..32c6f22e3 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/binary-all-crlf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/few-utf8-chars-crlf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/few-utf8-chars-crlf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/many-utf8-chars-crlf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/many-utf8-chars-crlf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/mixed-lf-cr-crlf new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/more-crlf new file mode 100644 index 000000000..37bb7fa3d --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/more-crlf @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/more-crlf-utf8bom new file mode 100644 index 000000000..16001a14a --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/more-crlf-utf8bom @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/more-lf new file mode 100644 index 000000000..2cda6f203 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/more-lf @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/more-lf-utf8bom new file mode 100644 index 000000000..dc7d82aa0 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/more-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,crlf/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/all-crlf new file mode 100644 index 000000000..26e1a742b --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/all-crlf-utf8bom new file mode 100644 index 000000000..32c6f22e3 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/binary-all-crlf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/few-utf8-chars-crlf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/few-utf8-chars-crlf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/many-utf8-chars-crlf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/many-utf8-chars-crlf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/mixed-lf-cr-crlf new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/more-crlf new file mode 100644 index 000000000..37bb7fa3d --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/more-crlf @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/more-crlf-utf8bom new file mode 100644 index 000000000..16001a14a --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/more-crlf-utf8bom @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/more-lf new file mode 100644 index 000000000..2cda6f203 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/more-lf @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/more-lf-utf8bom new file mode 100644 index 000000000..dc7d82aa0 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/more-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_crlf/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/all-crlf new file mode 100644 index 000000000..26e1a742b --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/all-crlf-utf8bom new file mode 100644 index 000000000..32c6f22e3 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/binary-all-crlf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/few-utf8-chars-crlf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/few-utf8-chars-crlf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/many-utf8-chars-crlf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/many-utf8-chars-crlf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/mixed-lf-cr-crlf new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/more-crlf new file mode 100644 index 000000000..37bb7fa3d --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/more-crlf @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/more-crlf-utf8bom new file mode 100644 index 000000000..16001a14a --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/more-crlf-utf8bom @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/more-lf new file mode 100644 index 000000000..2cda6f203 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/more-lf @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/more-lf-utf8bom new file mode 100644 index 000000000..dc7d82aa0 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/more-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,eol_lf/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/all-crlf new file mode 100644 index 000000000..26e1a742b --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/all-crlf-utf8bom new file mode 100644 index 000000000..32c6f22e3 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/binary-all-crlf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/few-utf8-chars-crlf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/few-utf8-chars-crlf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/many-utf8-chars-crlf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/many-utf8-chars-crlf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/mixed-lf-cr-crlf new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/more-crlf new file mode 100644 index 000000000..37bb7fa3d --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/more-crlf @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/more-crlf-utf8bom new file mode 100644 index 000000000..16001a14a --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/more-crlf-utf8bom @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/more-lf new file mode 100644 index 000000000..2cda6f203 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/more-lf @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/more-lf-utf8bom new file mode 100644 index 000000000..dc7d82aa0 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/more-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_crlf/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/all-crlf new file mode 100644 index 000000000..26e1a742b --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/all-crlf-utf8bom new file mode 100644 index 000000000..32c6f22e3 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/binary-all-crlf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/few-utf8-chars-crlf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/few-utf8-chars-crlf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/many-utf8-chars-crlf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/many-utf8-chars-crlf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/mixed-lf-cr-crlf new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/more-crlf new file mode 100644 index 000000000..37bb7fa3d --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/more-crlf @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/more-crlf-utf8bom new file mode 100644 index 000000000..16001a14a --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/more-crlf-utf8bom @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/more-lf new file mode 100644 index 000000000..2cda6f203 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/more-lf @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/more-lf-utf8bom new file mode 100644 index 000000000..dc7d82aa0 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/more-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text,eol_lf/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/all-crlf new file mode 100644 index 000000000..26e1a742b --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/all-crlf-utf8bom new file mode 100644 index 000000000..32c6f22e3 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/binary-all-crlf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/few-utf8-chars-crlf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/few-utf8-chars-crlf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/many-utf8-chars-crlf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/many-utf8-chars-crlf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/mixed-lf-cr-crlf new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/more-crlf new file mode 100644 index 000000000..37bb7fa3d --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/more-crlf @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/more-crlf-utf8bom new file mode 100644 index 000000000..16001a14a --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/more-crlf-utf8bom @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/more-lf new file mode 100644 index 000000000..2cda6f203 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/more-lf @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/more-lf-utf8bom new file mode 100644 index 000000000..dc7d82aa0 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/more-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/all-crlf new file mode 100644 index 000000000..26e1a742b --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/all-crlf-utf8bom new file mode 100644 index 000000000..32c6f22e3 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/binary-all-crlf new file mode 100644 index 000000000..85340755c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..aaf083a9c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/few-utf8-chars-crlf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/few-utf8-chars-crlf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/many-utf8-chars-crlf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/many-utf8-chars-crlf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/mixed-lf-cr-crlf new file mode 100644 index 000000000..417786fc3 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/more-crlf new file mode 100644 index 000000000..37bb7fa3d --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/more-crlf @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/more-crlf-utf8bom new file mode 100644 index 000000000..16001a14a --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/more-crlf-utf8bom @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/more-lf new file mode 100644 index 000000000..2cda6f203 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/more-lf @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/more-lf-utf8bom new file mode 100644 index 000000000..dc7d82aa0 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/more-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_crlf/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/all-crlf new file mode 100644 index 000000000..26e1a742b --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/all-crlf-utf8bom new file mode 100644 index 000000000..32c6f22e3 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/binary-all-crlf new file mode 100644 index 000000000..85340755c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..aaf083a9c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/few-utf8-chars-crlf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/few-utf8-chars-crlf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/many-utf8-chars-crlf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/many-utf8-chars-crlf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/mixed-lf-cr-crlf new file mode 100644 index 000000000..417786fc3 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/more-crlf new file mode 100644 index 000000000..37bb7fa3d --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/more-crlf @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/more-crlf-utf8bom new file mode 100644 index 000000000..16001a14a --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/more-crlf-utf8bom @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/more-lf new file mode 100644 index 000000000..2cda6f203 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/more-lf @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/more-lf-utf8bom new file mode 100644 index 000000000..dc7d82aa0 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/more-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto,eol_lf/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/all-crlf new file mode 100644 index 000000000..26e1a742b --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/all-crlf-utf8bom new file mode 100644 index 000000000..32c6f22e3 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/binary-all-crlf new file mode 100644 index 000000000..85340755c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..aaf083a9c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/few-utf8-chars-crlf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/few-utf8-chars-crlf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/many-utf8-chars-crlf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/many-utf8-chars-crlf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/mixed-lf-cr-crlf new file mode 100644 index 000000000..417786fc3 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/more-crlf new file mode 100644 index 000000000..37bb7fa3d --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/more-crlf @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/more-crlf-utf8bom new file mode 100644 index 000000000..16001a14a --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/more-crlf-utf8bom @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/more-lf new file mode 100644 index 000000000..2cda6f203 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/more-lf @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/more-lf-utf8bom new file mode 100644 index 000000000..dc7d82aa0 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/more-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn,text_auto/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/all-crlf new file mode 100644 index 000000000..26e1a742b --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/all-crlf-utf8bom new file mode 100644 index 000000000..32c6f22e3 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/binary-all-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/binary-all-crlf new file mode 100644 index 000000000..85340755c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/binary-all-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..aaf083a9c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/few-utf8-chars-crlf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/few-utf8-chars-crlf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/many-utf8-chars-crlf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/many-utf8-chars-crlf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/mixed-lf-cr b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/mixed-lf-cr-crlf new file mode 100644 index 000000000..417786fc3 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/more-crlf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/more-crlf new file mode 100644 index 000000000..37bb7fa3d --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/more-crlf @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/more-crlf-utf8bom new file mode 100644 index 000000000..16001a14a --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/more-crlf-utf8bom @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/more-lf b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/more-lf new file mode 100644 index 000000000..2cda6f203 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/more-lf @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/more-lf-utf8bom new file mode 100644 index 000000000..dc7d82aa0 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/more-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/zero-byte b/tests/resources/crlf_data/windows_to_odb/autocrlf_true,safecrlf_warn/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-crlf/all-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-crlf/all-crlf new file mode 100644 index 000000000..a9a2e8913 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-crlf/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-crlf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-crlf/all-crlf-utf8bom new file mode 100644 index 000000000..0aa76e474 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-crlf/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-crlf/all-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-crlf/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-crlf/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-crlf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-crlf/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-crlf/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-crlf/binary-all-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-crlf/binary-all-crlf new file mode 100644 index 000000000..85340755c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-crlf/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-crlf/binary-all-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-crlf/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-crlf/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-crlf/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-crlf/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-crlf/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..aaf083a9c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-crlf/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-crlf/few-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/few-utf8-chars-lf rename to tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-crlf/few-utf8-chars-crlf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-crlf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-crlf/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-crlf/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-crlf/many-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/many-utf8-chars-lf rename to tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-crlf/many-utf8-chars-crlf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-crlf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-crlf/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-crlf/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-crlf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-crlf/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-crlf/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-crlf/mixed-lf-cr-crlf new file mode 100644 index 000000000..417786fc3 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-crlf/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-crlf/more-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-crlf/more-crlf new file mode 100644 index 000000000..0ff5a53f1 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-crlf/more-crlf @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-crlf/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-crlf/more-crlf-utf8bom new file mode 100644 index 000000000..ea030d3c6 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-crlf/more-crlf-utf8bom @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-crlf/more-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-crlf/more-lf new file mode 100644 index 000000000..04de00b35 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-crlf/more-lf @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-crlf/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-crlf/more-lf-utf8bom new file mode 100644 index 000000000..dc88e3b91 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-crlf/more-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-crlf/zero-byte b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-crlf/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-text/all-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-text/all-crlf new file mode 100644 index 000000000..a9a2e8913 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-text/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-text/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-text/all-crlf-utf8bom new file mode 100644 index 000000000..0aa76e474 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-text/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-text/all-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-text/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-text/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-text/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-text/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-text/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-text/binary-all-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-text/binary-all-crlf new file mode 100644 index 000000000..85340755c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-text/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-text/binary-all-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-text/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-text/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-text/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-text/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-text/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-text/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-text/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..aaf083a9c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-text/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-text/few-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/few-utf8-chars-lf rename to tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-text/few-utf8-chars-crlf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-text/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-text/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-text/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-text/many-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/many-utf8-chars-lf rename to tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-text/many-utf8-chars-crlf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-text/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-text/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-text/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-text/mixed-lf-cr b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-text/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-text/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-text/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-text/mixed-lf-cr-crlf new file mode 100644 index 000000000..417786fc3 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-text/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-text/more-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-text/more-crlf new file mode 100644 index 000000000..0ff5a53f1 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-text/more-crlf @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-text/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-text/more-crlf-utf8bom new file mode 100644 index 000000000..ea030d3c6 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-text/more-crlf-utf8bom @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-text/more-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-text/more-lf new file mode 100644 index 000000000..04de00b35 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-text/more-lf @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-text/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-text/more-lf-utf8bom new file mode 100644 index 000000000..dc88e3b91 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-text/more-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-text/zero-byte b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,-text/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,crlf/all-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,crlf/all-crlf new file mode 100644 index 000000000..a9a2e8913 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,crlf/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,crlf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,crlf/all-crlf-utf8bom new file mode 100644 index 000000000..0aa76e474 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,crlf/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows/autocrlf_false,crlf/all-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,crlf/all-lf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,crlf/all-lf rename to tests/resources/crlf_data/windows_to_workdir/autocrlf_false,crlf/all-lf diff --git a/tests/resources/crlf_data/windows/autocrlf_false,crlf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,crlf/all-lf-utf8bom similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,crlf/all-lf-utf8bom rename to tests/resources/crlf_data/windows_to_workdir/autocrlf_false,crlf/all-lf-utf8bom diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,crlf/binary-all-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,crlf/binary-all-crlf new file mode 100644 index 000000000..85340755c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,crlf/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,crlf/binary-all-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,crlf/binary-all-lf new file mode 100644 index 000000000..85340755c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,crlf/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,crlf/binary-mixed-lf-cr similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/binary-mixed-lf-cr rename to tests/resources/crlf_data/windows_to_workdir/autocrlf_false,crlf/binary-mixed-lf-cr diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,crlf/binary-mixed-lf-cr-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/binary-mixed-lf-cr-crlf rename to tests/resources/crlf_data/windows_to_workdir/autocrlf_false,crlf/binary-mixed-lf-cr-crlf diff --git a/tests/resources/crlf_data/windows/autocrlf_true,crlf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,crlf/few-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true,crlf/few-utf8-chars-lf rename to tests/resources/crlf_data/windows_to_workdir/autocrlf_false,crlf/few-utf8-chars-crlf diff --git a/tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,crlf/few-utf8-chars-lf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/few-utf8-chars-lf rename to tests/resources/crlf_data/windows_to_workdir/autocrlf_false,crlf/few-utf8-chars-lf diff --git a/tests/resources/crlf_data/windows/autocrlf_true,crlf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,crlf/many-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true,crlf/many-utf8-chars-lf rename to tests/resources/crlf_data/windows_to_workdir/autocrlf_false,crlf/many-utf8-chars-crlf diff --git a/tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,crlf/many-utf8-chars-lf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/many-utf8-chars-lf rename to tests/resources/crlf_data/windows_to_workdir/autocrlf_false,crlf/many-utf8-chars-lf diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,crlf/mixed-lf-cr similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/mixed-lf-cr rename to tests/resources/crlf_data/windows_to_workdir/autocrlf_false,crlf/mixed-lf-cr diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,crlf/mixed-lf-cr-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/mixed-lf-cr-crlf rename to tests/resources/crlf_data/windows_to_workdir/autocrlf_false,crlf/mixed-lf-cr-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/more-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,crlf/more-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/more-crlf rename to tests/resources/crlf_data/windows_to_workdir/autocrlf_false,crlf/more-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,crlf/more-crlf-utf8bom similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/more-crlf-utf8bom rename to tests/resources/crlf_data/windows_to_workdir/autocrlf_false,crlf/more-crlf-utf8bom diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/more-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,crlf/more-lf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/more-lf rename to tests/resources/crlf_data/windows_to_workdir/autocrlf_false,crlf/more-lf diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,crlf/more-lf-utf8bom similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,text,eol_crlf/more-lf-utf8bom rename to tests/resources/crlf_data/windows_to_workdir/autocrlf_false,crlf/more-lf-utf8bom diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,crlf/zero-byte b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,crlf/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_crlf/all-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_crlf/all-crlf new file mode 100644 index 000000000..a9a2e8913 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_crlf/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_crlf/all-crlf-utf8bom new file mode 100644 index 000000000..0aa76e474 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_crlf/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/all-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_crlf/all-lf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/all-lf rename to tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_crlf/all-lf diff --git a/tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_crlf/all-lf-utf8bom similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/all-lf-utf8bom rename to tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_crlf/all-lf-utf8bom diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_crlf/binary-all-crlf new file mode 100644 index 000000000..85340755c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_crlf/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_crlf/binary-all-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_crlf/binary-all-lf new file mode 100644 index 000000000..85340755c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_crlf/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_crlf/binary-mixed-lf-cr similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,text/binary-mixed-lf-cr rename to tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_crlf/binary-mixed-lf-cr diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_crlf/binary-mixed-lf-cr-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,text/binary-mixed-lf-cr-crlf rename to tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_crlf/binary-mixed-lf-cr-crlf diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_crlf/few-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/few-utf8-chars-lf rename to tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_crlf/few-utf8-chars-crlf diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_crlf/few-utf8-chars-lf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true,text/few-utf8-chars-lf rename to tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_crlf/few-utf8-chars-lf diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_crlf/many-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/many-utf8-chars-lf rename to tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_crlf/many-utf8-chars-crlf diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_crlf/many-utf8-chars-lf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true,text/many-utf8-chars-lf rename to tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_crlf/many-utf8-chars-lf diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text/mixed-lf-cr b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_crlf/mixed-lf-cr similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,text/mixed-lf-cr rename to tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_crlf/mixed-lf-cr diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_crlf/mixed-lf-cr-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,text/mixed-lf-cr-crlf rename to tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_crlf/mixed-lf-cr-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text/more-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_crlf/more-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,text/more-crlf rename to tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_crlf/more-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_crlf/more-crlf-utf8bom similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,text/more-crlf-utf8bom rename to tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_crlf/more-crlf-utf8bom diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text/more-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_crlf/more-lf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,text/more-lf rename to tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_crlf/more-lf diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_crlf/more-lf-utf8bom similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,text/more-lf-utf8bom rename to tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_crlf/more-lf-utf8bom diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_crlf/zero-byte b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_crlf/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_lf/all-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_lf/all-crlf new file mode 100644 index 000000000..a9a2e8913 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_lf/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_lf/all-crlf-utf8bom new file mode 100644 index 000000000..0aa76e474 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_lf/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_lf/all-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_lf/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_lf/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_lf/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_lf/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_lf/binary-all-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_lf/binary-all-crlf new file mode 100644 index 000000000..85340755c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_lf/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_lf/binary-all-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_lf/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_lf/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_lf/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_lf/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_lf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_lf/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..aaf083a9c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_lf/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_lf/few-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/few-utf8-chars-lf rename to tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_lf/few-utf8-chars-crlf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_lf/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_lf/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_lf/many-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/many-utf8-chars-lf rename to tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_lf/many-utf8-chars-crlf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_lf/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_lf/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_lf/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_lf/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_lf/mixed-lf-cr-crlf new file mode 100644 index 000000000..417786fc3 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_lf/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_lf/more-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_lf/more-crlf new file mode 100644 index 000000000..0ff5a53f1 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_lf/more-crlf @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_lf/more-crlf-utf8bom new file mode 100644 index 000000000..ea030d3c6 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_lf/more-crlf-utf8bom @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_lf/more-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_lf/more-lf new file mode 100644 index 000000000..04de00b35 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_lf/more-lf @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_lf/more-lf-utf8bom new file mode 100644 index 000000000..dc88e3b91 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_lf/more-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_lf/zero-byte b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,eol_lf/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_crlf/all-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_crlf/all-crlf new file mode 100644 index 000000000..a9a2e8913 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_crlf/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_crlf/all-crlf-utf8bom new file mode 100644 index 000000000..0aa76e474 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_crlf/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/all-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_crlf/all-lf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/all-lf rename to tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_crlf/all-lf diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_crlf/all-lf-utf8bom similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/all-lf-utf8bom rename to tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_crlf/all-lf-utf8bom diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_crlf/binary-all-crlf new file mode 100644 index 000000000..85340755c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_crlf/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_crlf/binary-all-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_crlf/binary-all-lf new file mode 100644 index 000000000..85340755c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_crlf/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_crlf/binary-mixed-lf-cr similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr rename to tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_crlf/binary-mixed-lf-cr diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto,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 similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr-crlf rename to tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_crlf/binary-mixed-lf-cr-crlf diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_crlf/few-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true,text_auto/few-utf8-chars-lf rename to tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_crlf/few-utf8-chars-crlf diff --git a/tests/resources/crlf_data/windows/autocrlf_true/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_crlf/few-utf8-chars-lf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true/few-utf8-chars-lf rename to tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_crlf/few-utf8-chars-lf diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_crlf/many-utf8-chars-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true,text_auto/many-utf8-chars-lf rename to tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_crlf/many-utf8-chars-crlf diff --git a/tests/resources/crlf_data/windows/autocrlf_true/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_crlf/many-utf8-chars-lf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true/many-utf8-chars-lf rename to tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_crlf/many-utf8-chars-lf diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_crlf/mixed-lf-cr similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/mixed-lf-cr rename to tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_crlf/mixed-lf-cr diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_crlf/mixed-lf-cr-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/mixed-lf-cr-crlf rename to tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_crlf/mixed-lf-cr-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/more-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_crlf/more-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/more-crlf rename to tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_crlf/more-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_crlf/more-crlf-utf8bom similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/more-crlf-utf8bom rename to tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_crlf/more-crlf-utf8bom diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/more-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_crlf/more-lf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/more-lf rename to tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_crlf/more-lf diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_crlf/more-lf-utf8bom similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,text_auto,eol_crlf/more-lf-utf8bom rename to tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_crlf/more-lf-utf8bom diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_crlf/zero-byte b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_crlf/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_lf/all-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_lf/all-crlf new file mode 100644 index 000000000..a9a2e8913 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_lf/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_lf/all-crlf-utf8bom new file mode 100644 index 000000000..0aa76e474 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_lf/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_lf/all-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_lf/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_lf/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_lf/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_lf/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_lf/binary-all-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_lf/binary-all-crlf new file mode 100644 index 000000000..85340755c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_lf/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_lf/binary-all-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_lf/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_lf/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_lf/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_lf/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_lf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_lf/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..aaf083a9c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_lf/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_lf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_lf/few-utf8-chars-crlf new file mode 100644 index 000000000..0e0528888 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_lf/few-utf8-chars-crlf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_lf/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_lf/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_lf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_lf/many-utf8-chars-crlf new file mode 100644 index 000000000..cd574f5a2 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_lf/many-utf8-chars-crlf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_lf/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_lf/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_lf/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_lf/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_lf/mixed-lf-cr-crlf new file mode 100644 index 000000000..417786fc3 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_lf/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_lf/more-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_lf/more-crlf new file mode 100644 index 000000000..0ff5a53f1 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_lf/more-crlf @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_lf/more-crlf-utf8bom new file mode 100644 index 000000000..ea030d3c6 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_lf/more-crlf-utf8bom @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_lf/more-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_lf/more-lf new file mode 100644 index 000000000..04de00b35 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_lf/more-lf @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_lf/more-lf-utf8bom new file mode 100644 index 000000000..dc88e3b91 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_lf/more-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_lf/zero-byte b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text,eol_lf/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text/all-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text/all-crlf new file mode 100644 index 000000000..a9a2e8913 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text/all-crlf-utf8bom new file mode 100644 index 000000000..0aa76e474 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text/all-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text/all-lf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,text/all-lf rename to tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text/all-lf diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text/all-lf-utf8bom similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,text/all-lf-utf8bom rename to tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text/all-lf-utf8bom diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text/binary-all-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text/binary-all-crlf new file mode 100644 index 000000000..85340755c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text/binary-all-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text/binary-all-lf new file mode 100644 index 000000000..85340755c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows/autocrlf_false,crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text/binary-mixed-lf-cr similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,crlf/binary-mixed-lf-cr rename to tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text/binary-mixed-lf-cr diff --git a/tests/resources/crlf_data/windows/autocrlf_false,crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text/binary-mixed-lf-cr-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,crlf/binary-mixed-lf-cr-crlf rename to tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text/binary-mixed-lf-cr-crlf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text/few-utf8-chars-crlf new file mode 100644 index 000000000..0e0528888 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text/few-utf8-chars-crlf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text/few-utf8-chars-lf new file mode 100644 index 000000000..0e0528888 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text/many-utf8-chars-crlf new file mode 100644 index 000000000..cd574f5a2 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text/many-utf8-chars-crlf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text/many-utf8-chars-lf new file mode 100644 index 000000000..cd574f5a2 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows/autocrlf_false,crlf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text/mixed-lf-cr similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,crlf/mixed-lf-cr rename to tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text/mixed-lf-cr diff --git a/tests/resources/crlf_data/windows/autocrlf_false,crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text/mixed-lf-cr-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,crlf/mixed-lf-cr-crlf rename to tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text/mixed-lf-cr-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto/more-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text/more-crlf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,text_auto/more-crlf rename to tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text/more-crlf diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text/more-crlf-utf8bom similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,text_auto/more-crlf-utf8bom rename to tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text/more-crlf-utf8bom diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto/more-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text/more-lf similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,text_auto/more-lf rename to tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text/more-lf diff --git a/tests/resources/crlf_data/posix/autocrlf_true,text_auto/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text/more-lf-utf8bom similarity index 100% rename from tests/resources/crlf_data/posix/autocrlf_true,text_auto/more-lf-utf8bom rename to tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text/more-lf-utf8bom diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text/zero-byte b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_crlf/all-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_crlf/all-crlf new file mode 100644 index 000000000..a9a2e8913 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_crlf/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_crlf/all-crlf-utf8bom new file mode 100644 index 000000000..0aa76e474 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_crlf/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/all-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_crlf/all-lf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/all-lf rename to tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_crlf/all-lf diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_crlf/all-lf-utf8bom similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/all-lf-utf8bom rename to tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_crlf/all-lf-utf8bom diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_crlf/binary-all-crlf new file mode 100644 index 000000000..85340755c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_crlf/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_crlf/binary-all-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_crlf/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_crlf/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..aaf083a9c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_crlf/few-utf8-chars-crlf new file mode 100644 index 000000000..0e0528888 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_crlf/few-utf8-chars-crlf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_crlf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_crlf/few-utf8-chars-lf new file mode 100644 index 000000000..0e0528888 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_crlf/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_crlf/many-utf8-chars-crlf new file mode 100644 index 000000000..cd574f5a2 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_crlf/many-utf8-chars-crlf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_crlf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_crlf/many-utf8-chars-lf new file mode 100644 index 000000000..cd574f5a2 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_crlf/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_crlf/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_crlf/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_crlf/mixed-lf-cr-crlf new file mode 100644 index 000000000..417786fc3 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_crlf/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_crlf/more-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_crlf/more-crlf new file mode 100644 index 000000000..0ff5a53f1 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_crlf/more-crlf @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_crlf/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_crlf/more-crlf-utf8bom new file mode 100644 index 000000000..ea030d3c6 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_crlf/more-crlf-utf8bom @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_crlf/more-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_crlf/more-lf new file mode 100644 index 000000000..04de00b35 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_crlf/more-lf @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_crlf/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_crlf/more-lf-utf8bom new file mode 100644 index 000000000..dc88e3b91 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_crlf/more-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_crlf/zero-byte b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_crlf/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_lf/all-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_lf/all-crlf new file mode 100644 index 000000000..a9a2e8913 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_lf/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_lf/all-crlf-utf8bom new file mode 100644 index 000000000..0aa76e474 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_lf/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_lf/all-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_lf/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_lf/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_lf/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_lf/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_lf/binary-all-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_lf/binary-all-crlf new file mode 100644 index 000000000..85340755c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_lf/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_lf/binary-all-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_lf/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_lf/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_lf/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_lf/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_lf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_lf/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..aaf083a9c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_lf/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_lf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_lf/few-utf8-chars-crlf new file mode 100644 index 000000000..0e0528888 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_lf/few-utf8-chars-crlf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_lf/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_lf/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_lf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_lf/many-utf8-chars-crlf new file mode 100644 index 000000000..cd574f5a2 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_lf/many-utf8-chars-crlf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_lf/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_lf/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_lf/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_lf/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_lf/mixed-lf-cr-crlf new file mode 100644 index 000000000..417786fc3 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_lf/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_lf/more-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_lf/more-crlf new file mode 100644 index 000000000..0ff5a53f1 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_lf/more-crlf @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_lf/more-crlf-utf8bom new file mode 100644 index 000000000..ea030d3c6 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_lf/more-crlf-utf8bom @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_lf/more-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_lf/more-lf new file mode 100644 index 000000000..04de00b35 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_lf/more-lf @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_lf/more-lf-utf8bom new file mode 100644 index 000000000..dc88e3b91 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_lf/more-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_lf/zero-byte b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto,eol_lf/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto/all-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto/all-crlf new file mode 100644 index 000000000..a9a2e8913 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto/all-crlf-utf8bom new file mode 100644 index 000000000..0aa76e474 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto/all-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto/all-lf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,text_auto/all-lf rename to tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto/all-lf diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto/all-lf-utf8bom similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,text_auto/all-lf-utf8bom rename to tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto/all-lf-utf8bom diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto/binary-all-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto/binary-all-crlf new file mode 100644 index 000000000..85340755c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto/binary-all-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..aaf083a9c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto/few-utf8-chars-crlf new file mode 100644 index 000000000..0e0528888 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto/few-utf8-chars-crlf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto/few-utf8-chars-lf new file mode 100644 index 000000000..0e0528888 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto/many-utf8-chars-crlf new file mode 100644 index 000000000..cd574f5a2 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto/many-utf8-chars-crlf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto/many-utf8-chars-lf new file mode 100644 index 000000000..cd574f5a2 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto/mixed-lf-cr b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto/mixed-lf-cr-crlf new file mode 100644 index 000000000..417786fc3 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto/more-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto/more-crlf new file mode 100644 index 000000000..0ff5a53f1 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto/more-crlf @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto/more-crlf-utf8bom new file mode 100644 index 000000000..ea030d3c6 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto/more-crlf-utf8bom @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto/more-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto/more-lf new file mode 100644 index 000000000..04de00b35 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto/more-lf @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto/more-lf-utf8bom new file mode 100644 index 000000000..dc88e3b91 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto/more-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto/zero-byte b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false,text_auto/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false/all-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false/all-crlf new file mode 100644 index 000000000..a9a2e8913 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false/all-crlf-utf8bom new file mode 100644 index 000000000..0aa76e474 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false/all-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false/binary-all-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false/binary-all-crlf new file mode 100644 index 000000000..85340755c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false/binary-all-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..aaf083a9c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false/few-utf8-chars-crlf new file mode 100644 index 000000000..0e0528888 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false/few-utf8-chars-crlf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false/many-utf8-chars-crlf new file mode 100644 index 000000000..cd574f5a2 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false/many-utf8-chars-crlf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false/mixed-lf-cr b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false/mixed-lf-cr-crlf new file mode 100644 index 000000000..417786fc3 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false/more-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false/more-crlf new file mode 100644 index 000000000..0ff5a53f1 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false/more-crlf @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false/more-crlf-utf8bom new file mode 100644 index 000000000..ea030d3c6 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false/more-crlf-utf8bom @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false/more-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false/more-lf new file mode 100644 index 000000000..04de00b35 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false/more-lf @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false/more-lf-utf8bom new file mode 100644 index 000000000..dc88e3b91 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false/more-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_false/zero-byte b/tests/resources/crlf_data/windows_to_workdir/autocrlf_false/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-crlf/all-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-crlf/all-crlf new file mode 100644 index 000000000..a9a2e8913 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-crlf/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-crlf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-crlf/all-crlf-utf8bom new file mode 100644 index 000000000..0aa76e474 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-crlf/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-crlf/all-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-crlf/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-crlf/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-crlf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-crlf/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-crlf/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-crlf/binary-all-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-crlf/binary-all-crlf new file mode 100644 index 000000000..85340755c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-crlf/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-crlf/binary-all-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-crlf/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-crlf/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-crlf/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-crlf/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-crlf/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..aaf083a9c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-crlf/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-crlf/few-utf8-chars-crlf new file mode 100644 index 000000000..0e0528888 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-crlf/few-utf8-chars-crlf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-crlf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-crlf/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-crlf/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-crlf/many-utf8-chars-crlf new file mode 100644 index 000000000..cd574f5a2 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-crlf/many-utf8-chars-crlf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-crlf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-crlf/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-crlf/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-crlf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-crlf/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-crlf/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-crlf/mixed-lf-cr-crlf new file mode 100644 index 000000000..417786fc3 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-crlf/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-crlf/more-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-crlf/more-crlf new file mode 100644 index 000000000..0ff5a53f1 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-crlf/more-crlf @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-crlf/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-crlf/more-crlf-utf8bom new file mode 100644 index 000000000..ea030d3c6 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-crlf/more-crlf-utf8bom @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-crlf/more-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-crlf/more-lf new file mode 100644 index 000000000..04de00b35 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-crlf/more-lf @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-crlf/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-crlf/more-lf-utf8bom new file mode 100644 index 000000000..dc88e3b91 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-crlf/more-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-crlf/zero-byte b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-crlf/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-text/all-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-text/all-crlf new file mode 100644 index 000000000..a9a2e8913 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-text/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-text/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-text/all-crlf-utf8bom new file mode 100644 index 000000000..0aa76e474 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-text/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-text/all-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-text/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-text/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-text/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-text/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-text/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-text/binary-all-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-text/binary-all-crlf new file mode 100644 index 000000000..85340755c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-text/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-text/binary-all-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-text/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-text/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-text/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-text/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-text/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-text/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-text/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..aaf083a9c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-text/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-text/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-text/few-utf8-chars-crlf new file mode 100644 index 000000000..0e0528888 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-text/few-utf8-chars-crlf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-text/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-text/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-text/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-text/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-text/many-utf8-chars-crlf new file mode 100644 index 000000000..cd574f5a2 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-text/many-utf8-chars-crlf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-text/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-text/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-text/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-text/mixed-lf-cr b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-text/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-text/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-text/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-text/mixed-lf-cr-crlf new file mode 100644 index 000000000..417786fc3 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-text/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-text/more-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-text/more-crlf new file mode 100644 index 000000000..0ff5a53f1 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-text/more-crlf @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-text/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-text/more-crlf-utf8bom new file mode 100644 index 000000000..ea030d3c6 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-text/more-crlf-utf8bom @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-text/more-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-text/more-lf new file mode 100644 index 000000000..04de00b35 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-text/more-lf @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-text/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-text/more-lf-utf8bom new file mode 100644 index 000000000..dc88e3b91 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-text/more-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-text/zero-byte b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,-text/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,crlf/all-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,crlf/all-crlf new file mode 100644 index 000000000..a9a2e8913 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,crlf/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,crlf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,crlf/all-crlf-utf8bom new file mode 100644 index 000000000..0aa76e474 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,crlf/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,crlf/all-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,crlf/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,crlf/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,crlf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,crlf/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,crlf/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,crlf/binary-all-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,crlf/binary-all-crlf new file mode 100644 index 000000000..85340755c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,crlf/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,crlf/binary-all-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,crlf/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,crlf/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,crlf/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,crlf/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,crlf/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..aaf083a9c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,crlf/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,crlf/few-utf8-chars-crlf new file mode 100644 index 000000000..0e0528888 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,crlf/few-utf8-chars-crlf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,crlf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,crlf/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,crlf/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,crlf/many-utf8-chars-crlf new file mode 100644 index 000000000..cd574f5a2 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,crlf/many-utf8-chars-crlf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,crlf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,crlf/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,crlf/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,crlf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,crlf/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,crlf/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,crlf/mixed-lf-cr-crlf new file mode 100644 index 000000000..417786fc3 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,crlf/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,crlf/more-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,crlf/more-crlf new file mode 100644 index 000000000..0ff5a53f1 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,crlf/more-crlf @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,crlf/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,crlf/more-crlf-utf8bom new file mode 100644 index 000000000..ea030d3c6 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,crlf/more-crlf-utf8bom @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,crlf/more-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,crlf/more-lf new file mode 100644 index 000000000..04de00b35 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,crlf/more-lf @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,crlf/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,crlf/more-lf-utf8bom new file mode 100644 index 000000000..dc88e3b91 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,crlf/more-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,crlf/zero-byte b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,crlf/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_crlf/all-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_crlf/all-crlf new file mode 100644 index 000000000..a9a2e8913 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_crlf/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_crlf/all-crlf-utf8bom new file mode 100644 index 000000000..0aa76e474 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_crlf/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/all-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_crlf/all-lf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/all-lf rename to tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_crlf/all-lf diff --git a/tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_crlf/all-lf-utf8bom similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/all-lf-utf8bom rename to tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_crlf/all-lf-utf8bom diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_crlf/binary-all-crlf new file mode 100644 index 000000000..85340755c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_crlf/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_crlf/binary-all-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_crlf/binary-all-lf new file mode 100644 index 000000000..85340755c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_crlf/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_crlf/binary-mixed-lf-cr similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/binary-mixed-lf-cr rename to tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_crlf/binary-mixed-lf-cr diff --git a/tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_crlf/binary-mixed-lf-cr-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/binary-mixed-lf-cr-crlf rename to tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_crlf/binary-mixed-lf-cr-crlf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_crlf/few-utf8-chars-crlf new file mode 100644 index 000000000..0e0528888 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_crlf/few-utf8-chars-crlf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_crlf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_crlf/few-utf8-chars-lf new file mode 100644 index 000000000..0e0528888 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_crlf/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_crlf/many-utf8-chars-crlf new file mode 100644 index 000000000..cd574f5a2 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_crlf/many-utf8-chars-crlf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_crlf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_crlf/many-utf8-chars-lf new file mode 100644 index 000000000..cd574f5a2 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_crlf/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_crlf/mixed-lf-cr similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/mixed-lf-cr rename to tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_crlf/mixed-lf-cr diff --git a/tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_crlf/mixed-lf-cr-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/mixed-lf-cr-crlf rename to tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_crlf/mixed-lf-cr-crlf diff --git a/tests/resources/crlf_data/windows/autocrlf_false,crlf/more-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_crlf/more-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,crlf/more-crlf rename to tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_crlf/more-crlf diff --git a/tests/resources/crlf_data/windows/autocrlf_false,crlf/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_crlf/more-crlf-utf8bom similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,crlf/more-crlf-utf8bom rename to tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_crlf/more-crlf-utf8bom diff --git a/tests/resources/crlf_data/windows/autocrlf_false,crlf/more-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_crlf/more-lf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,crlf/more-lf rename to tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_crlf/more-lf diff --git a/tests/resources/crlf_data/windows/autocrlf_false,crlf/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_crlf/more-lf-utf8bom similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,crlf/more-lf-utf8bom rename to tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_crlf/more-lf-utf8bom diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_crlf/zero-byte b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_crlf/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_lf/all-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_lf/all-crlf new file mode 100644 index 000000000..a9a2e8913 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_lf/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_lf/all-crlf-utf8bom new file mode 100644 index 000000000..0aa76e474 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_lf/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_lf/all-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_lf/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_lf/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_lf/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_lf/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_lf/binary-all-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_lf/binary-all-crlf new file mode 100644 index 000000000..85340755c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_lf/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_lf/binary-all-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_lf/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_lf/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_lf/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_lf/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_lf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_lf/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..aaf083a9c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_lf/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_lf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_lf/few-utf8-chars-crlf new file mode 100644 index 000000000..0e0528888 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_lf/few-utf8-chars-crlf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_lf/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_lf/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_lf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_lf/many-utf8-chars-crlf new file mode 100644 index 000000000..cd574f5a2 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_lf/many-utf8-chars-crlf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_lf/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_lf/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_lf/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_lf/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_lf/mixed-lf-cr-crlf new file mode 100644 index 000000000..417786fc3 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_lf/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_lf/more-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_lf/more-crlf new file mode 100644 index 000000000..0ff5a53f1 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_lf/more-crlf @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_lf/more-crlf-utf8bom new file mode 100644 index 000000000..ea030d3c6 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_lf/more-crlf-utf8bom @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_lf/more-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_lf/more-lf new file mode 100644 index 000000000..04de00b35 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_lf/more-lf @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_lf/more-lf-utf8bom new file mode 100644 index 000000000..dc88e3b91 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_lf/more-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_lf/zero-byte b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,eol_lf/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_crlf/all-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_crlf/all-crlf new file mode 100644 index 000000000..a9a2e8913 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_crlf/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_crlf/all-crlf-utf8bom new file mode 100644 index 000000000..0aa76e474 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_crlf/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/all-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_crlf/all-lf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/all-lf rename to tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_crlf/all-lf diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_crlf/all-lf-utf8bom similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/all-lf-utf8bom rename to tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_crlf/all-lf-utf8bom diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_crlf/binary-all-crlf new file mode 100644 index 000000000..85340755c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_crlf/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_crlf/binary-all-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_crlf/binary-all-lf new file mode 100644 index 000000000..85340755c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_crlf/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_crlf/binary-mixed-lf-cr similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/binary-mixed-lf-cr rename to tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_crlf/binary-mixed-lf-cr diff --git a/tests/resources/crlf_data/windows/autocrlf_false,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 similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/binary-mixed-lf-cr-crlf rename to tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_crlf/binary-mixed-lf-cr-crlf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_crlf/few-utf8-chars-crlf new file mode 100644 index 000000000..0e0528888 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_crlf/few-utf8-chars-crlf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_crlf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_crlf/few-utf8-chars-lf new file mode 100644 index 000000000..0e0528888 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_crlf/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_crlf/many-utf8-chars-crlf new file mode 100644 index 000000000..cd574f5a2 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_crlf/many-utf8-chars-crlf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_crlf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_crlf/many-utf8-chars-lf new file mode 100644 index 000000000..cd574f5a2 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_crlf/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_crlf/mixed-lf-cr similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/mixed-lf-cr rename to tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_crlf/mixed-lf-cr diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_crlf/mixed-lf-cr-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/mixed-lf-cr-crlf rename to tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_crlf/mixed-lf-cr-crlf diff --git a/tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/more-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_crlf/more-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/more-crlf rename to tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_crlf/more-crlf diff --git a/tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_crlf/more-crlf-utf8bom similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/more-crlf-utf8bom rename to tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_crlf/more-crlf-utf8bom diff --git a/tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/more-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_crlf/more-lf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/more-lf rename to tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_crlf/more-lf diff --git a/tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_crlf/more-lf-utf8bom similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,eol_crlf/more-lf-utf8bom rename to tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_crlf/more-lf-utf8bom diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_crlf/zero-byte b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_crlf/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_lf/all-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_lf/all-crlf new file mode 100644 index 000000000..a9a2e8913 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_lf/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_lf/all-crlf-utf8bom new file mode 100644 index 000000000..0aa76e474 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_lf/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_lf/all-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_lf/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_lf/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_lf/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_lf/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_lf/binary-all-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_lf/binary-all-crlf new file mode 100644 index 000000000..85340755c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_lf/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_lf/binary-all-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_lf/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_lf/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_lf/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_lf/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_lf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_lf/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..aaf083a9c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_lf/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_lf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_lf/few-utf8-chars-crlf new file mode 100644 index 000000000..0e0528888 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_lf/few-utf8-chars-crlf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_lf/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_lf/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_lf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_lf/many-utf8-chars-crlf new file mode 100644 index 000000000..cd574f5a2 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_lf/many-utf8-chars-crlf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_lf/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_lf/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_lf/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_lf/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_lf/mixed-lf-cr-crlf new file mode 100644 index 000000000..417786fc3 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_lf/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_lf/more-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_lf/more-crlf new file mode 100644 index 000000000..0ff5a53f1 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_lf/more-crlf @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_lf/more-crlf-utf8bom new file mode 100644 index 000000000..ea030d3c6 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_lf/more-crlf-utf8bom @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_lf/more-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_lf/more-lf new file mode 100644 index 000000000..04de00b35 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_lf/more-lf @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_lf/more-lf-utf8bom new file mode 100644 index 000000000..dc88e3b91 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_lf/more-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_lf/zero-byte b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text,eol_lf/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text/all-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text/all-crlf new file mode 100644 index 000000000..a9a2e8913 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text/all-crlf-utf8bom new file mode 100644 index 000000000..0aa76e474 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text/all-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text/binary-all-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text/binary-all-crlf new file mode 100644 index 000000000..85340755c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text/binary-all-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..aaf083a9c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text/few-utf8-chars-crlf new file mode 100644 index 000000000..0e0528888 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text/few-utf8-chars-crlf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text/many-utf8-chars-crlf new file mode 100644 index 000000000..cd574f5a2 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text/many-utf8-chars-crlf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text/mixed-lf-cr b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text/mixed-lf-cr-crlf new file mode 100644 index 000000000..417786fc3 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text/more-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text/more-crlf new file mode 100644 index 000000000..0ff5a53f1 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text/more-crlf @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text/more-crlf-utf8bom new file mode 100644 index 000000000..ea030d3c6 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text/more-crlf-utf8bom @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text/more-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text/more-lf new file mode 100644 index 000000000..04de00b35 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text/more-lf @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text/more-lf-utf8bom new file mode 100644 index 000000000..dc88e3b91 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text/more-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text/zero-byte b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_crlf/all-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_crlf/all-crlf new file mode 100644 index 000000000..a9a2e8913 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_crlf/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_crlf/all-crlf-utf8bom new file mode 100644 index 000000000..0aa76e474 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_crlf/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/all-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_crlf/all-lf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/all-lf rename to tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_crlf/all-lf diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_crlf/all-lf-utf8bom similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,text_auto,eol_crlf/all-lf-utf8bom rename to tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_crlf/all-lf-utf8bom diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_crlf/binary-all-crlf new file mode 100644 index 000000000..85340755c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_crlf/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_crlf/binary-all-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_crlf/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_crlf/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_crlf/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_crlf/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_crlf/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..aaf083a9c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_crlf/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_crlf/few-utf8-chars-crlf new file mode 100644 index 000000000..0e0528888 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_crlf/few-utf8-chars-crlf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_crlf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_crlf/few-utf8-chars-lf new file mode 100644 index 000000000..0e0528888 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_crlf/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_crlf/many-utf8-chars-crlf new file mode 100644 index 000000000..cd574f5a2 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_crlf/many-utf8-chars-crlf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_crlf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_crlf/many-utf8-chars-lf new file mode 100644 index 000000000..cd574f5a2 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_crlf/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_crlf/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_crlf/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_crlf/mixed-lf-cr-crlf new file mode 100644 index 000000000..417786fc3 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_crlf/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_crlf/more-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_crlf/more-crlf new file mode 100644 index 000000000..0ff5a53f1 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_crlf/more-crlf @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_crlf/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_crlf/more-crlf-utf8bom new file mode 100644 index 000000000..ea030d3c6 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_crlf/more-crlf-utf8bom @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_crlf/more-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_crlf/more-lf new file mode 100644 index 000000000..04de00b35 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_crlf/more-lf @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_crlf/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_crlf/more-lf-utf8bom new file mode 100644 index 000000000..dc88e3b91 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_crlf/more-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_crlf/zero-byte b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_crlf/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_lf/all-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_lf/all-crlf new file mode 100644 index 000000000..a9a2e8913 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_lf/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_lf/all-crlf-utf8bom new file mode 100644 index 000000000..0aa76e474 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_lf/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_lf/all-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_lf/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_lf/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_lf/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_lf/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_lf/binary-all-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_lf/binary-all-crlf new file mode 100644 index 000000000..85340755c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_lf/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_lf/binary-all-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_lf/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_lf/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_lf/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_lf/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_lf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_lf/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..aaf083a9c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_lf/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_lf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_lf/few-utf8-chars-crlf new file mode 100644 index 000000000..0e0528888 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_lf/few-utf8-chars-crlf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_lf/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_lf/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_lf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_lf/many-utf8-chars-crlf new file mode 100644 index 000000000..cd574f5a2 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_lf/many-utf8-chars-crlf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_lf/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_lf/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_lf/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_lf/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_lf/mixed-lf-cr-crlf new file mode 100644 index 000000000..417786fc3 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_lf/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_lf/more-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_lf/more-crlf new file mode 100644 index 000000000..0ff5a53f1 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_lf/more-crlf @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_lf/more-crlf-utf8bom new file mode 100644 index 000000000..ea030d3c6 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_lf/more-crlf-utf8bom @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_lf/more-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_lf/more-lf new file mode 100644 index 000000000..04de00b35 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_lf/more-lf @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_lf/more-lf-utf8bom new file mode 100644 index 000000000..dc88e3b91 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_lf/more-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_lf/zero-byte b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto,eol_lf/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto/all-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto/all-crlf new file mode 100644 index 000000000..a9a2e8913 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto/all-crlf-utf8bom new file mode 100644 index 000000000..0aa76e474 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto/all-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto/binary-all-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto/binary-all-crlf new file mode 100644 index 000000000..85340755c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto/binary-all-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..aaf083a9c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto/few-utf8-chars-crlf new file mode 100644 index 000000000..0e0528888 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto/few-utf8-chars-crlf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto/many-utf8-chars-crlf new file mode 100644 index 000000000..cd574f5a2 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto/many-utf8-chars-crlf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto/mixed-lf-cr b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto/mixed-lf-cr-crlf new file mode 100644 index 000000000..417786fc3 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto/more-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto/more-crlf new file mode 100644 index 000000000..0ff5a53f1 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto/more-crlf @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto/more-crlf-utf8bom new file mode 100644 index 000000000..ea030d3c6 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto/more-crlf-utf8bom @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto/more-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto/more-lf new file mode 100644 index 000000000..04de00b35 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto/more-lf @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto/more-lf-utf8bom new file mode 100644 index 000000000..dc88e3b91 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto/more-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto/zero-byte b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input,text_auto/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input/all-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input/all-crlf new file mode 100644 index 000000000..a9a2e8913 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input/all-crlf-utf8bom new file mode 100644 index 000000000..0aa76e474 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input/all-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input/binary-all-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input/binary-all-crlf new file mode 100644 index 000000000..85340755c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input/binary-all-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..aaf083a9c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input/few-utf8-chars-crlf new file mode 100644 index 000000000..0e0528888 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input/few-utf8-chars-crlf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input/many-utf8-chars-crlf new file mode 100644 index 000000000..cd574f5a2 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input/many-utf8-chars-crlf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input/mixed-lf-cr b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input/mixed-lf-cr-crlf new file mode 100644 index 000000000..417786fc3 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input/more-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input/more-crlf new file mode 100644 index 000000000..0ff5a53f1 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input/more-crlf @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input/more-crlf-utf8bom new file mode 100644 index 000000000..ea030d3c6 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input/more-crlf-utf8bom @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input/more-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input/more-lf new file mode 100644 index 000000000..04de00b35 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input/more-lf @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input/more-lf-utf8bom new file mode 100644 index 000000000..dc88e3b91 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input/more-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_input/zero-byte b/tests/resources/crlf_data/windows_to_workdir/autocrlf_input/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-crlf/all-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-crlf/all-crlf new file mode 100644 index 000000000..a9a2e8913 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-crlf/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-crlf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-crlf/all-crlf-utf8bom new file mode 100644 index 000000000..0aa76e474 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-crlf/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-crlf/all-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-crlf/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-crlf/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-crlf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-crlf/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-crlf/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-crlf/binary-all-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-crlf/binary-all-crlf new file mode 100644 index 000000000..85340755c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-crlf/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-crlf/binary-all-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-crlf/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-crlf/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-crlf/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-crlf/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-crlf/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..aaf083a9c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-crlf/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-crlf/few-utf8-chars-crlf new file mode 100644 index 000000000..0e0528888 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-crlf/few-utf8-chars-crlf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-crlf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-crlf/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-crlf/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-crlf/many-utf8-chars-crlf new file mode 100644 index 000000000..cd574f5a2 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-crlf/many-utf8-chars-crlf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-crlf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-crlf/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-crlf/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-crlf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-crlf/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-crlf/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-crlf/mixed-lf-cr-crlf new file mode 100644 index 000000000..417786fc3 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-crlf/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-crlf/more-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-crlf/more-crlf new file mode 100644 index 000000000..0ff5a53f1 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-crlf/more-crlf @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-crlf/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-crlf/more-crlf-utf8bom new file mode 100644 index 000000000..ea030d3c6 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-crlf/more-crlf-utf8bom @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-crlf/more-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-crlf/more-lf new file mode 100644 index 000000000..04de00b35 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-crlf/more-lf @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-crlf/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-crlf/more-lf-utf8bom new file mode 100644 index 000000000..dc88e3b91 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-crlf/more-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-crlf/zero-byte b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-crlf/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-text/all-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-text/all-crlf new file mode 100644 index 000000000..a9a2e8913 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-text/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-text/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-text/all-crlf-utf8bom new file mode 100644 index 000000000..0aa76e474 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-text/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-text/all-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-text/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-text/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-text/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-text/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-text/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-text/binary-all-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-text/binary-all-crlf new file mode 100644 index 000000000..85340755c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-text/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-text/binary-all-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-text/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-text/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-text/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-text/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-text/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-text/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-text/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..aaf083a9c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-text/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-text/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-text/few-utf8-chars-crlf new file mode 100644 index 000000000..0e0528888 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-text/few-utf8-chars-crlf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-text/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-text/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-text/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-text/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-text/many-utf8-chars-crlf new file mode 100644 index 000000000..cd574f5a2 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-text/many-utf8-chars-crlf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-text/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-text/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-text/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-text/mixed-lf-cr b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-text/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-text/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-text/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-text/mixed-lf-cr-crlf new file mode 100644 index 000000000..417786fc3 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-text/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-text/more-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-text/more-crlf new file mode 100644 index 000000000..0ff5a53f1 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-text/more-crlf @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-text/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-text/more-crlf-utf8bom new file mode 100644 index 000000000..ea030d3c6 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-text/more-crlf-utf8bom @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-text/more-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-text/more-lf new file mode 100644 index 000000000..04de00b35 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-text/more-lf @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-text/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-text/more-lf-utf8bom new file mode 100644 index 000000000..dc88e3b91 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-text/more-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-text/zero-byte b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,-text/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,crlf/all-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,crlf/all-crlf new file mode 100644 index 000000000..a9a2e8913 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,crlf/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,crlf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,crlf/all-crlf-utf8bom new file mode 100644 index 000000000..0aa76e474 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,crlf/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows/autocrlf_true,crlf/all-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,crlf/all-lf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true,crlf/all-lf rename to tests/resources/crlf_data/windows_to_workdir/autocrlf_true,crlf/all-lf diff --git a/tests/resources/crlf_data/windows/autocrlf_true,crlf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,crlf/all-lf-utf8bom similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true,crlf/all-lf-utf8bom rename to tests/resources/crlf_data/windows_to_workdir/autocrlf_true,crlf/all-lf-utf8bom diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,crlf/binary-all-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,crlf/binary-all-crlf new file mode 100644 index 000000000..85340755c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,crlf/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,crlf/binary-all-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,crlf/binary-all-lf new file mode 100644 index 000000000..85340755c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,crlf/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,crlf/binary-mixed-lf-cr similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,text/binary-mixed-lf-cr rename to tests/resources/crlf_data/windows_to_workdir/autocrlf_true,crlf/binary-mixed-lf-cr diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,crlf/binary-mixed-lf-cr-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,text/binary-mixed-lf-cr-crlf rename to tests/resources/crlf_data/windows_to_workdir/autocrlf_true,crlf/binary-mixed-lf-cr-crlf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,crlf/few-utf8-chars-crlf new file mode 100644 index 000000000..0e0528888 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,crlf/few-utf8-chars-crlf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,crlf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,crlf/few-utf8-chars-lf new file mode 100644 index 000000000..0e0528888 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,crlf/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,crlf/many-utf8-chars-crlf new file mode 100644 index 000000000..cd574f5a2 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,crlf/many-utf8-chars-crlf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,crlf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,crlf/many-utf8-chars-lf new file mode 100644 index 000000000..cd574f5a2 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,crlf/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text/mixed-lf-cr b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,crlf/mixed-lf-cr similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,text/mixed-lf-cr rename to tests/resources/crlf_data/windows_to_workdir/autocrlf_true,crlf/mixed-lf-cr diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,crlf/mixed-lf-cr-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,text/mixed-lf-cr-crlf rename to tests/resources/crlf_data/windows_to_workdir/autocrlf_true,crlf/mixed-lf-cr-crlf diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/more-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,crlf/more-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/more-crlf rename to tests/resources/crlf_data/windows_to_workdir/autocrlf_true,crlf/more-crlf diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,crlf/more-crlf-utf8bom similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/more-crlf-utf8bom rename to tests/resources/crlf_data/windows_to_workdir/autocrlf_true,crlf/more-crlf-utf8bom diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/more-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,crlf/more-lf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/more-lf rename to tests/resources/crlf_data/windows_to_workdir/autocrlf_true,crlf/more-lf diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,crlf/more-lf-utf8bom similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,text,eol_crlf/more-lf-utf8bom rename to tests/resources/crlf_data/windows_to_workdir/autocrlf_true,crlf/more-lf-utf8bom diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,crlf/zero-byte b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,crlf/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_crlf/all-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_crlf/all-crlf new file mode 100644 index 000000000..a9a2e8913 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_crlf/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_crlf/all-crlf-utf8bom new file mode 100644 index 000000000..0aa76e474 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_crlf/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/all-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_crlf/all-lf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/all-lf rename to tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_crlf/all-lf diff --git a/tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_crlf/all-lf-utf8bom similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true,eol_crlf/all-lf-utf8bom rename to tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_crlf/all-lf-utf8bom diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_crlf/binary-all-crlf new file mode 100644 index 000000000..85340755c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_crlf/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_crlf/binary-all-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_crlf/binary-all-lf new file mode 100644 index 000000000..85340755c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_crlf/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_crlf/binary-mixed-lf-cr similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr rename to tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_crlf/binary-mixed-lf-cr 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_to_workdir/autocrlf_true,eol_crlf/binary-mixed-lf-cr-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/binary-mixed-lf-cr-crlf rename to tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_crlf/binary-mixed-lf-cr-crlf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_crlf/few-utf8-chars-crlf new file mode 100644 index 000000000..0e0528888 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_crlf/few-utf8-chars-crlf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_crlf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_crlf/few-utf8-chars-lf new file mode 100644 index 000000000..0e0528888 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_crlf/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_crlf/many-utf8-chars-crlf new file mode 100644 index 000000000..cd574f5a2 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_crlf/many-utf8-chars-crlf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_crlf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_crlf/many-utf8-chars-lf new file mode 100644 index 000000000..cd574f5a2 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_crlf/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_crlf/mixed-lf-cr similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/mixed-lf-cr rename to tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_crlf/mixed-lf-cr diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_crlf/mixed-lf-cr-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/mixed-lf-cr-crlf rename to tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_crlf/mixed-lf-cr-crlf diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text/more-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_crlf/more-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,text/more-crlf rename to tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_crlf/more-crlf diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_crlf/more-crlf-utf8bom similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,text/more-crlf-utf8bom rename to tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_crlf/more-crlf-utf8bom diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text/more-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_crlf/more-lf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,text/more-lf rename to tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_crlf/more-lf diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_crlf/more-lf-utf8bom similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,text/more-lf-utf8bom rename to tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_crlf/more-lf-utf8bom diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_crlf/zero-byte b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_crlf/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_lf/all-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_lf/all-crlf new file mode 100644 index 000000000..a9a2e8913 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_lf/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_lf/all-crlf-utf8bom new file mode 100644 index 000000000..0aa76e474 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_lf/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_lf/all-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_lf/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_lf/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_lf/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_lf/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_lf/binary-all-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_lf/binary-all-crlf new file mode 100644 index 000000000..85340755c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_lf/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_lf/binary-all-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_lf/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_lf/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_lf/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_lf/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_lf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_lf/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..aaf083a9c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_lf/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_lf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_lf/few-utf8-chars-crlf new file mode 100644 index 000000000..0e0528888 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_lf/few-utf8-chars-crlf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_lf/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_lf/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_lf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_lf/many-utf8-chars-crlf new file mode 100644 index 000000000..cd574f5a2 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_lf/many-utf8-chars-crlf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_lf/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_lf/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_lf/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_lf/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_lf/mixed-lf-cr-crlf new file mode 100644 index 000000000..417786fc3 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_lf/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_lf/more-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_lf/more-crlf new file mode 100644 index 000000000..0ff5a53f1 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_lf/more-crlf @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_lf/more-crlf-utf8bom new file mode 100644 index 000000000..ea030d3c6 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_lf/more-crlf-utf8bom @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_lf/more-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_lf/more-lf new file mode 100644 index 000000000..04de00b35 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_lf/more-lf @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_lf/more-lf-utf8bom new file mode 100644 index 000000000..dc88e3b91 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_lf/more-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_lf/zero-byte b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,eol_lf/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_crlf/all-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_crlf/all-crlf new file mode 100644 index 000000000..a9a2e8913 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_crlf/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_crlf/all-crlf-utf8bom new file mode 100644 index 000000000..0aa76e474 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_crlf/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/all-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_crlf/all-lf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/all-lf rename to tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_crlf/all-lf diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_crlf/all-lf-utf8bom similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true,text,eol_crlf/all-lf-utf8bom rename to tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_crlf/all-lf-utf8bom diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_crlf/binary-all-crlf new file mode 100644 index 000000000..85340755c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_crlf/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_crlf/binary-all-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_crlf/binary-all-lf new file mode 100644 index 000000000..85340755c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_crlf/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_crlf/binary-mixed-lf-cr similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/binary-mixed-lf-cr rename to tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_crlf/binary-mixed-lf-cr diff --git a/tests/resources/crlf_data/windows/autocrlf_input,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 similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/binary-mixed-lf-cr-crlf rename to tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_crlf/binary-mixed-lf-cr-crlf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_crlf/few-utf8-chars-crlf new file mode 100644 index 000000000..0e0528888 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_crlf/few-utf8-chars-crlf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_crlf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_crlf/few-utf8-chars-lf new file mode 100644 index 000000000..0e0528888 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_crlf/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_crlf/many-utf8-chars-crlf new file mode 100644 index 000000000..cd574f5a2 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_crlf/many-utf8-chars-crlf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_crlf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_crlf/many-utf8-chars-lf new file mode 100644 index 000000000..cd574f5a2 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_crlf/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_crlf/mixed-lf-cr similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/mixed-lf-cr rename to tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_crlf/mixed-lf-cr diff --git a/tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_crlf/mixed-lf-cr-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,eol_crlf/mixed-lf-cr-crlf rename to tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_crlf/mixed-lf-cr-crlf diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/more-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_crlf/more-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/more-crlf rename to tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_crlf/more-crlf diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_crlf/more-crlf-utf8bom similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/more-crlf-utf8bom rename to tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_crlf/more-crlf-utf8bom diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/more-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_crlf/more-lf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/more-lf rename to tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_crlf/more-lf diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_crlf/more-lf-utf8bom similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,text_auto,eol_crlf/more-lf-utf8bom rename to tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_crlf/more-lf-utf8bom diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_crlf/zero-byte b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_crlf/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_lf/all-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_lf/all-crlf new file mode 100644 index 000000000..a9a2e8913 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_lf/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_lf/all-crlf-utf8bom new file mode 100644 index 000000000..0aa76e474 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_lf/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_lf/all-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_lf/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_lf/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_lf/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_lf/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_lf/binary-all-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_lf/binary-all-crlf new file mode 100644 index 000000000..85340755c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_lf/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_lf/binary-all-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_lf/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_lf/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_lf/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_lf/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_lf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_lf/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..aaf083a9c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_lf/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_lf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_lf/few-utf8-chars-crlf new file mode 100644 index 000000000..0e0528888 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_lf/few-utf8-chars-crlf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_lf/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_lf/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_lf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_lf/many-utf8-chars-crlf new file mode 100644 index 000000000..cd574f5a2 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_lf/many-utf8-chars-crlf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_lf/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_lf/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_lf/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_lf/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_lf/mixed-lf-cr-crlf new file mode 100644 index 000000000..417786fc3 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_lf/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_lf/more-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_lf/more-crlf new file mode 100644 index 000000000..0ff5a53f1 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_lf/more-crlf @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_lf/more-crlf-utf8bom new file mode 100644 index 000000000..ea030d3c6 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_lf/more-crlf-utf8bom @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_lf/more-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_lf/more-lf new file mode 100644 index 000000000..04de00b35 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_lf/more-lf @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_lf/more-lf-utf8bom new file mode 100644 index 000000000..dc88e3b91 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_lf/more-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_lf/zero-byte b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text,eol_lf/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text/all-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text/all-crlf new file mode 100644 index 000000000..a9a2e8913 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text/all-crlf-utf8bom new file mode 100644 index 000000000..0aa76e474 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text/all-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text/all-lf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true,text/all-lf rename to tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text/all-lf diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text/all-lf-utf8bom similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true,text/all-lf-utf8bom rename to tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text/all-lf-utf8bom diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text/binary-all-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text/binary-all-crlf new file mode 100644 index 000000000..85340755c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text/binary-all-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text/binary-all-lf new file mode 100644 index 000000000..85340755c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text/binary-mixed-lf-cr similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/binary-mixed-lf-cr rename to tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text/binary-mixed-lf-cr diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text/binary-mixed-lf-cr-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/binary-mixed-lf-cr-crlf rename to tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text/binary-mixed-lf-cr-crlf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text/few-utf8-chars-crlf new file mode 100644 index 000000000..0e0528888 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text/few-utf8-chars-crlf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text/few-utf8-chars-lf new file mode 100644 index 000000000..0e0528888 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text/many-utf8-chars-crlf new file mode 100644 index 000000000..cd574f5a2 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text/many-utf8-chars-crlf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text/many-utf8-chars-lf new file mode 100644 index 000000000..cd574f5a2 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text/mixed-lf-cr similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/mixed-lf-cr rename to tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text/mixed-lf-cr diff --git a/tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text/mixed-lf-cr-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_input,text,eol_crlf/mixed-lf-cr-crlf rename to tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text/mixed-lf-cr-crlf diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto/more-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text/more-crlf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,text_auto/more-crlf rename to tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text/more-crlf diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text/more-crlf-utf8bom similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,text_auto/more-crlf-utf8bom rename to tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text/more-crlf-utf8bom diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto/more-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text/more-lf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,text_auto/more-lf rename to tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text/more-lf diff --git a/tests/resources/crlf_data/windows/autocrlf_false,text_auto/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text/more-lf-utf8bom similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_false,text_auto/more-lf-utf8bom rename to tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text/more-lf-utf8bom diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text/zero-byte b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_crlf/all-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_crlf/all-crlf new file mode 100644 index 000000000..a9a2e8913 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_crlf/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_crlf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_crlf/all-crlf-utf8bom new file mode 100644 index 000000000..0aa76e474 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_crlf/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/all-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_crlf/all-lf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/all-lf rename to tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_crlf/all-lf diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_crlf/all-lf-utf8bom similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true,text_auto,eol_crlf/all-lf-utf8bom rename to tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_crlf/all-lf-utf8bom diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_crlf/binary-all-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_crlf/binary-all-crlf new file mode 100644 index 000000000..85340755c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_crlf/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_crlf/binary-all-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_crlf/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_crlf/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..aaf083a9c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_crlf/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_crlf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_crlf/few-utf8-chars-crlf new file mode 100644 index 000000000..0e0528888 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_crlf/few-utf8-chars-crlf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_crlf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_crlf/few-utf8-chars-lf new file mode 100644 index 000000000..0e0528888 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_crlf/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_crlf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_crlf/many-utf8-chars-crlf new file mode 100644 index 000000000..cd574f5a2 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_crlf/many-utf8-chars-crlf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_crlf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_crlf/many-utf8-chars-lf new file mode 100644 index 000000000..cd574f5a2 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_crlf/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_crlf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_crlf/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_crlf/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_crlf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_crlf/mixed-lf-cr-crlf new file mode 100644 index 000000000..417786fc3 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_crlf/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_crlf/more-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_crlf/more-crlf new file mode 100644 index 000000000..0ff5a53f1 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_crlf/more-crlf @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_crlf/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_crlf/more-crlf-utf8bom new file mode 100644 index 000000000..ea030d3c6 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_crlf/more-crlf-utf8bom @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_crlf/more-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_crlf/more-lf new file mode 100644 index 000000000..04de00b35 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_crlf/more-lf @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_crlf/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_crlf/more-lf-utf8bom new file mode 100644 index 000000000..dc88e3b91 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_crlf/more-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_crlf/zero-byte b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_crlf/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_lf/all-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_lf/all-crlf new file mode 100644 index 000000000..a9a2e8913 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_lf/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_lf/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_lf/all-crlf-utf8bom new file mode 100644 index 000000000..0aa76e474 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_lf/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_lf/all-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_lf/all-lf new file mode 100644 index 000000000..799770d1c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_lf/all-lf @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_lf/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_lf/all-lf-utf8bom new file mode 100644 index 000000000..7cce67e58 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_lf/all-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +lf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_lf/binary-all-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_lf/binary-all-crlf new file mode 100644 index 000000000..85340755c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_lf/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_lf/binary-all-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_lf/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_lf/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_lf/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_lf/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_lf/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_lf/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_lf/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..aaf083a9c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_lf/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_lf/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_lf/few-utf8-chars-crlf new file mode 100644 index 000000000..0e0528888 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_lf/few-utf8-chars-crlf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_lf/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_lf/few-utf8-chars-lf new file mode 100644 index 000000000..f4d25b796 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_lf/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_lf/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_lf/many-utf8-chars-crlf new file mode 100644 index 000000000..cd574f5a2 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_lf/many-utf8-chars-crlf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_lf/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_lf/many-utf8-chars-lf new file mode 100644 index 000000000..9a6c3533f --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_lf/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_lf/mixed-lf-cr b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_lf/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_lf/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_lf/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_lf/mixed-lf-cr-crlf new file mode 100644 index 000000000..417786fc3 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_lf/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_lf/more-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_lf/more-crlf new file mode 100644 index 000000000..0ff5a53f1 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_lf/more-crlf @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_lf/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_lf/more-crlf-utf8bom new file mode 100644 index 000000000..ea030d3c6 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_lf/more-crlf-utf8bom @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_lf/more-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_lf/more-lf new file mode 100644 index 000000000..04de00b35 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_lf/more-lf @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_lf/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_lf/more-lf-utf8bom new file mode 100644 index 000000000..dc88e3b91 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_lf/more-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_lf/zero-byte b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto,eol_lf/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto/all-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto/all-crlf new file mode 100644 index 000000000..a9a2e8913 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto/all-crlf-utf8bom new file mode 100644 index 000000000..0aa76e474 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto/all-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto/all-lf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true,text_auto/all-lf rename to tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto/all-lf diff --git a/tests/resources/crlf_data/windows/autocrlf_true,text_auto/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto/all-lf-utf8bom similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true,text_auto/all-lf-utf8bom rename to tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto/all-lf-utf8bom diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto/binary-all-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto/binary-all-crlf new file mode 100644 index 000000000..85340755c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto/binary-all-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..aaf083a9c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto/few-utf8-chars-crlf new file mode 100644 index 000000000..0e0528888 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto/few-utf8-chars-crlf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto/few-utf8-chars-lf new file mode 100644 index 000000000..0e0528888 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto/many-utf8-chars-crlf new file mode 100644 index 000000000..cd574f5a2 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto/many-utf8-chars-crlf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto/many-utf8-chars-lf new file mode 100644 index 000000000..cd574f5a2 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto/mixed-lf-cr b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto/mixed-lf-cr-crlf new file mode 100644 index 000000000..417786fc3 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto/more-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto/more-crlf new file mode 100644 index 000000000..0ff5a53f1 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto/more-crlf @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto/more-crlf-utf8bom new file mode 100644 index 000000000..ea030d3c6 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto/more-crlf-utf8bom @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto/more-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto/more-lf new file mode 100644 index 000000000..04de00b35 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto/more-lf @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto/more-lf-utf8bom new file mode 100644 index 000000000..dc88e3b91 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto/more-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto/zero-byte b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true,text_auto/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true/all-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true/all-crlf new file mode 100644 index 000000000..a9a2e8913 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true/all-crlf @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true/all-crlf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true/all-crlf-utf8bom new file mode 100644 index 000000000..0aa76e474 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true/all-crlf-utf8bom @@ -0,0 +1,4 @@ +crlf +crlf +crlf +crlf diff --git a/tests/resources/crlf_data/windows/autocrlf_true/all-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true/all-lf similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true/all-lf rename to tests/resources/crlf_data/windows_to_workdir/autocrlf_true/all-lf diff --git a/tests/resources/crlf_data/windows/autocrlf_true/all-lf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true/all-lf-utf8bom similarity index 100% rename from tests/resources/crlf_data/windows/autocrlf_true/all-lf-utf8bom rename to tests/resources/crlf_data/windows_to_workdir/autocrlf_true/all-lf-utf8bom diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true/binary-all-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true/binary-all-crlf new file mode 100644 index 000000000..85340755c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true/binary-all-crlf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true/binary-all-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true/binary-all-lf new file mode 100644 index 000000000..af6fcf6da --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true/binary-all-lf @@ -0,0 +1,4 @@ +one +two +three +four diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true/binary-mixed-lf-cr b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true/binary-mixed-lf-cr new file mode 100644 index 000000000..203555c56 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true/binary-mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true/binary-mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true/binary-mixed-lf-cr-crlf new file mode 100644 index 000000000..aaf083a9c --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true/binary-mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true/few-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true/few-utf8-chars-crlf new file mode 100644 index 000000000..0e0528888 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true/few-utf8-chars-crlf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true/few-utf8-chars-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true/few-utf8-chars-lf new file mode 100644 index 000000000..0e0528888 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true/few-utf8-chars-lf @@ -0,0 +1,22 @@ +⚽The rest is ASCII01. +The rest is ASCII02. +The rest is ASCII03. +The rest is ASCII04. +The rest is ASCII05. +The rest is ASCII06. +The rest is ASCII07. +The rest is ASCII08. +The rest is ASCII09. +The rest is ASCII10. +The rest is ASCII11. +The rest is ASCII12. +The rest is ASCII13. +The rest is ASCII14. +The rest is ASCII15. +The rest is ASCII16. +The rest is ASCII17. +The rest is ASCII18. +The rest is ASCII19. +The rest is ASCII20. +The rest is ASCII21. +The rest is ASCII22. diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true/many-utf8-chars-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true/many-utf8-chars-crlf new file mode 100644 index 000000000..cd574f5a2 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true/many-utf8-chars-crlf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true/many-utf8-chars-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true/many-utf8-chars-lf new file mode 100644 index 000000000..cd574f5a2 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true/many-utf8-chars-lf @@ -0,0 +1,4 @@ +Lets sing! +♫♪♬♩ +Eat food +🍅🍕 diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true/mixed-lf-cr b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true/mixed-lf-cr new file mode 100644 index 000000000..d11e7ef63 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true/mixed-lf-cr @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true/mixed-lf-cr-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true/mixed-lf-cr-crlf new file mode 100644 index 000000000..417786fc3 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true/mixed-lf-cr-crlf @@ -0,0 +1,3 @@ +one +two three +four \ No newline at end of file diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true/more-crlf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true/more-crlf new file mode 100644 index 000000000..0ff5a53f1 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true/more-crlf @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true/more-crlf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true/more-crlf-utf8bom new file mode 100644 index 000000000..ea030d3c6 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true/more-crlf-utf8bom @@ -0,0 +1,5 @@ +crlf +crlf +lf +crlf +crlf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true/more-lf b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true/more-lf new file mode 100644 index 000000000..04de00b35 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true/more-lf @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true/more-lf-utf8bom b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true/more-lf-utf8bom new file mode 100644 index 000000000..dc88e3b91 --- /dev/null +++ b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true/more-lf-utf8bom @@ -0,0 +1,5 @@ +lf +lf +crlf +lf +lf diff --git a/tests/resources/crlf_data/windows_to_workdir/autocrlf_true/zero-byte b/tests/resources/crlf_data/windows_to_workdir/autocrlf_true/zero-byte new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/diff_format_email/.gitted/index b/tests/resources/diff_format_email/.gitted/index index 092a888e7f12511417910970c25150cd9399e0ad..4514a6b9c762f486cbb51587e1c2c4f1d6c60e1e 100644 GIT binary patch literal 621 zcmZ?q402{*U|<4bmgucF3$^kbs(^G1qkrmc28Mr(3J%uz$NZ+w(Ir9;}hKpEK~MWESZcrRF8(rl#nXRFnV>jOhAd#x6W}CyWN0$0oiD zXx>{S^VY2_3}0{|Tx>>BcfNjE>6WmQJ&}nFf@zsKsfHkv^q{8VGH*9g?&AcRX9RXx z)aLF|`5)<_FdE`6CR;Rfw2w=%UQSRw!RDD&awWGmGH;X7)FTXFbBw{}gao;|0=;R< zV4`5i6+G#^&D8lN-ksX}c8hiI-o7D*`7N30CK1>E&u=k 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 index 0000000000000000000000000000000000000000..bd273796aebf93a2e6250f03176ff95ee0c5df5c GIT binary patch literal 152 zcmV;J0B8Sr0V^p=O;s>7HDE9_FfcbYRY=RsNj20fsVLDaO3h2mO-*4~Ss1?HLb%wB zqV9bCveGSKCwn3jfr`ycOu&kbK#Ccv{tMokdP@7j{_Wmu&(Fwsutwf~j-<#KtmwED z>*WO16KtMYC0BB5Bl9*HO+8{_00av8MVaXgmT$B7mhD*~6L8yV&7wrtq?WH&cK`r4 G3qFy3i$=Hr literal 0 HcmV?d00001 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 index 0000000000000000000000000000000000000000..e49e10778f89639d8d91b936ee2e9fbf746fcf44 GIT binary patch literal 56 zcmV-80LTA$0V^p=O;s?qWH2-^Ff%bxC`!#s%uP+vE2$`9sQNE>Yw9WO2m7~svpqi} OÄ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 index 0000000000000000000000000000000000000000..e08f03cf3c6820bb66773255a63112cc1100d281 GIT binary patch literal 49 zcmb7v1BkY00M=S%pwNfNc&R~7gr13+xCJfX8sd#*ZddFh6V=a zrltyMnK`M3dL(lEcV!W9bi#~6r49T#DK-6;&QU&A{C0L zQca#HI2Q3Urme#>j^6SNufc7dVlM-(`*Gjr4euMv);!z6J L_Ga+~2Yf?se;G^~ literal 0 HcmV?d00001 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 index 0000000000000000000000000000000000000000..e7d672bda46300febff6a6cb4de47764f3774c47 GIT binary patch literal 150 zcmV;H0BQet0V^p=O;s>7v1BkY00M=S%p!&5*DovG5_YmDG7+fQ%)|t&*a)PU zq3XZjt*NK9AMD@m&G!6^j0bDv?dM2}jKPYIOR-)~P(8usnN@Nnw>C0wlhM>80FXXC EriJoMZU6uP literal 0 HcmV?d00001 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 index 0000000000000000000000000000000000000000..03b4848081bf4780c08320d50ad7752f529fbdc5 GIT binary patch literal 53 zcmV-50LuS(0V^p=O;s>9V=y!@Ff%bx$S=xF*DI+gVW|2qcx&n@?Faj}d$T=1Bjdpu LdHXp4P;U{G2C)@J literal 0 HcmV?d00001 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 index 0000000000000000000000000000000000000000..d2cb6d0d6bb1c89488bb95915bd946cf8f0d5b1b GIT binary patch literal 171 zcmV;c095~Y0hP{OY6Bq<0N_4*ig^zd9d}2C5ZW6AdIEJuBI*9%&OYS!f!?48_~5JC zvUCOX{zHcd#7aJJOGHkXqm9X9!8WsxzG0nQ6;92P+4GQ9VMdoq3UO*FC*)8#)G|}Z z#FWvMRw7XfV)ChvZNNS2==BLdDt&$A!3x*?_}ZVxXJ2mMW*=#qJO;Q}wAR$WpUVHG Z`DTXJe+Bvq$62@!sk)7qc>@F5N=-uvRU-fZ literal 0 HcmV?d00001 diff --git a/tests/resources/diff_format_email/.gitted/refs/heads/master b/tests/resources/diff_format_email/.gitted/refs/heads/master index 4024b97cd..7d5e03f61 100644 --- a/tests/resources/diff_format_email/.gitted/refs/heads/master +++ b/tests/resources/diff_format_email/.gitted/refs/heads/master @@ -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 index 000000000..7aff11da9 --- /dev/null +++ b/tests/resources/diff_format_email/dir/renamed.txt @@ -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 index 000000000..068cad053 --- /dev/null +++ b/tests/resources/generate_crlf.sh @@ -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 index 000000000..cb089cd89 --- /dev/null +++ b/tests/resources/mailmap/.gitted/HEAD @@ -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 index 000000000..515f48362 --- /dev/null +++ b/tests/resources/mailmap/.gitted/config @@ -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 index 000000000..498b267a8 --- /dev/null +++ b/tests/resources/mailmap/.gitted/description @@ -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 index 0000000000000000000000000000000000000000..af175ca30e6ad6dd14fc1dbc97e6928f5f859f8a GIT binary patch literal 289 zcmZ?q402{*U|<4b=BTwU7c|;0S;A-rhQG{=HB1c*42?^G(k~#Gabex_ol6!ie7jQh zn;Nslf#e&CvQbwVIP`K8Gjnni3m6!pPHt`HzG%A$M00d8YC_Dh6-G6O!842hh{xnB zZG~w+FDriUQJZb&w4s}UHz_ASDL%g}wWugFB^Br_pm}Sja4_85JqJcZ-SrUFJjSSu z`&XZyPPFi7Yf#A*_IE!QI^X9b14mkBPO4r>MF|5#NRX>5&^Sp3V+8}Q%$;SuOzLd6 mHsxu3xf>iaCZ*1DzoTGF&4gvrGL1UNz literal 0 HcmV?d00001 diff --git a/tests/resources/mailmap/.gitted/info/exclude b/tests/resources/mailmap/.gitted/info/exclude new file mode 100644 index 000000000..a5196d1be --- /dev/null +++ b/tests/resources/mailmap/.gitted/info/exclude @@ -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 index 0000000000000000000000000000000000000000..1c564909abbcf56544e99e89796e03929b4f4f0d GIT binary patch literal 70 zcmV-M0J;Bo0ZYosPf{>6Fko;@Nl8snNUBtDDoRXIut_e-cSz39&n-yItJJHgu;W6N c_tC?rBrh{L+fczKsWiP9Xb8d#0Iu33fGn9GR{#J2 literal 0 HcmV?d00001 diff --git a/tests/resources/mailmap/.gitted/objects/02/7b2816ae0d7a08ba656d0417c09b4eac18cf00 b/tests/resources/mailmap/.gitted/objects/02/7b2816ae0d7a08ba656d0417c09b4eac18cf00 new file mode 100644 index 0000000000000000000000000000000000000000..a4e8249af41aef6893b4bdca67e06509d6122ab2 GIT binary patch literal 85 zcmV-b0IL6Z0V^p=O;s>AVlXr?Ff%bx(92EC%*jnGV5ob(bIGEGZ&#{*Q)9L`kbFZ? rHtH%=O4F=B8`Nl8snNUBtDDoRXIut_e-cSz39&n-yItJJHgu;W6N z_tC?rBrh{L+fczKsWiP9Xb2WFKnjcqDKN&TAUHoaRlz;6C@C>LRlx>q9(Jor^Rn~u T%kva$3NkWtP?P`wwbfQ3qx3I( literal 0 HcmV?d00001 diff --git a/tests/resources/mailmap/.gitted/objects/0c/d99501dfbec781a22ff7b84426b7bb308e709a b/tests/resources/mailmap/.gitted/objects/0c/d99501dfbec781a22ff7b84426b7bb308e709a new file mode 100644 index 0000000000000000000000000000000000000000..23149a4ee9d3c5a2c5d07759400352ba06547cbf GIT binary patch literal 53 zcmV-50LuS(0V^p=O;s>9V=y!@Ff%bxNXyJg)hnqeVVG92#3)=KpuYO+j0Jz6zTVp* L(k21`L|+j(1-BH= literal 0 HcmV?d00001 diff --git a/tests/resources/mailmap/.gitted/objects/1e/1212e7674820c17f7b8797aee7bf38ece0e838 b/tests/resources/mailmap/.gitted/objects/1e/1212e7674820c17f7b8797aee7bf38ece0e838 new file mode 100644 index 000000000..89a859807 --- /dev/null +++ b/tests/resources/mailmap/.gitted/objects/1e/1212e7674820c17f7b8797aee7bf38ece0e838 @@ -0,0 +1,2 @@ +xuŽ] +Â0„}Î)öÊf7iZ(âÄ;l“û#5‚zz ¾êãÌ|ÃLœÇ±/@Œ›²¨BÍÁ:iˆ8³b ®ö“c´1Ö6çÌ3™›,:h|BŽ®IKZ…ä½÷,¶ëˆ4Ô9Ĕ}#r™˜úxeh»Çù~ˆóx“éµ{>÷`=YƊ*†-:D³†ë±¢ œú«ÀQ^oh§UÊE‡¯qß­àºù3d>ØÜI \ 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 index 0000000000000000000000000000000000000000..5e8e3e596a0cf5f0047fbd89ecaecced467bd6a8 GIT binary patch literal 53 zcmV-50LuS(0V^p=O;s>9V=y!@Ff%bxNXyJg)hnqeVd(h~Qhz#Sw#)1FmOBJIn|5>U L_R9nSN?8!G3|SS! literal 0 HcmV?d00001 diff --git a/tests/resources/mailmap/.gitted/objects/3a/1295dbc9234c0c5947c72803618c7112a01447 b/tests/resources/mailmap/.gitted/objects/3a/1295dbc9234c0c5947c72803618c7112a01447 new file mode 100644 index 000000000..347828cb6 --- /dev/null +++ b/tests/resources/mailmap/.gitted/objects/3a/1295dbc9234c0c5947c72803618c7112a01447 @@ -0,0 +1,2 @@ +xmŽA +Â0D]çÿ–ü$m("®Å;$??(¶Äêé-Š®dV3Ìð†ò4*(­Vµ0ƒÇ.¤¬Å>ÆH #TQ“E¥’eNdÄÅž+½‹äô"t]j]P­¶}hÙvl{g’5$ü­s]ñö0PÍ[ÊyºøùÑÜïÀV¡–´¬¥‘RÐûYå‡ÓÙÃÞ?ž<Ž0̋ÛÖ#ŸàÚ,Å?sñ!5_ԏ$^ï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 index 000000000..489c6104d --- /dev/null +++ b/tests/resources/mailmap/.gitted/objects/3f/134546ae8fbe95a39dd20ea8c12b5fb0f48afb @@ -0,0 +1,3 @@ +xmŽMnÂ0…»ö)æ {lbGB(¬ØTeÑŒq‰òcd\ zzeÛåûùô^Hó<@sø(™"÷½6ì<ÅØ{¤¹¥Æ5ÒG­[t6PkÐq§ÌKÅ +²m¬q(ƒ²Ñzg[K̶"ŽKvÚ ú-·”á;Í ʞ~ŽËFìBšï´¼öÏç Ô•–6 +vÒH)jXÎð5ŒŸôúãiZёºrãi3ûZü×ÚÉpÞ֏iUÝöeÝo‹µO™ \ 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 index 000000000..2f3693aa6 --- /dev/null +++ b/tests/resources/mailmap/.gitted/objects/43/179dc93939196f59b25387b5e44e9e8794f84c @@ -0,0 +1,2 @@ +xmÍA +Â0P×9Å\À’¶“4…"ŵx‡1™ÐbÓHŒÐzz‹‚¸pù?ÿól aÌP6í.'f°-+ԕcÃUÍ-:£|¥½Æ‹‘LöŽ´CA<ÄÇD:›coc 7š×bYPªª¬¥–5Â^¢”¾Ì Îã•àD듧 ºyK}xú÷bþ¹‹_çˈÒA:œ \ 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 index 0000000000000000000000000000000000000000..62c9db041cc84bbad1c9ff36f25ac144628f50b5 GIT binary patch literal 53 zcmV-50LuS(0V^p=O;s>9V=y!@Ff%bxNXyJg)hnqeVaU06plj#;vr)Dk^VN61O=T8; L{6-i6Qxg$>9wim2 literal 0 HcmV?d00001 diff --git a/tests/resources/mailmap/.gitted/objects/4b/4d2010ba256ef339c1d1854d20249da7478f01 b/tests/resources/mailmap/.gitted/objects/4b/4d2010ba256ef339c1d1854d20249da7478f01 new file mode 100644 index 0000000000000000000000000000000000000000..169c7e7b4bbde4b43de057e43777eb7fad0e4d64 GIT binary patch literal 54 zcmV-60LlM&0ZYosPf{>5XK+kONlj5ms#I_)N=#9(NiNBENY2mCElA9()T^kl<3g49 M(Ziwy0Hy30?{&x-*8l(j literal 0 HcmV?d00001 diff --git a/tests/resources/mailmap/.gitted/objects/4b/825dc642cb6eb9a060e54bf8d69288fbee4904 b/tests/resources/mailmap/.gitted/objects/4b/825dc642cb6eb9a060e54bf8d69288fbee4904 new file mode 100644 index 0000000000000000000000000000000000000000..adf64119a33d7621aeeaa505d30adb58afaa5559 GIT binary patch literal 15 Wcmbgf0ZYosPf{>6Gh=W}Nl8snNUBtDDoRXIut_e-cSz39&n-yItJJHgu;W6N l_tC?rBrh{L+fczKsWiP9Xb2WFKnjcqDKN&O0011zJ8446Al3i? literal 0 HcmV?d00001 diff --git a/tests/resources/mailmap/.gitted/objects/50/d69f4e64be2cff2cedde8f9b7f970257caf4dd b/tests/resources/mailmap/.gitted/objects/50/d69f4e64be2cff2cedde8f9b7f970257caf4dd new file mode 100644 index 000000000..e6b337e1e --- /dev/null +++ b/tests/resources/mailmap/.gitted/objects/50/d69f4e64be2cff2cedde8f9b7f970257caf4dd @@ -0,0 +1 @@ +xmŽMjÃ0…»Ö)æ ÒHcÉB–Y”Ò+Œì6±eã(äçôQé®tù~>Þë–y  m>Ê&ÁÖ&×ÙޓÖ=¢gOĞR BÖ¹6¢Zy“\À&c¹†%¤(-±mûµpè FJQ'8EÅ·2,Üò%/÷ ‡u§S·Ì+ççþñ8‚!4V7ÎxØi§µªa½Vdƒ¯ñÂðÉϗLrU§2Èôk\÷µø®¾ëœÇäï˜z›`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 index 0000000000000000000000000000000000000000..409e6fd740b2656f6101c7157aa379c029260706 GIT binary patch literal 52 zcmb9V=y!@Ff%bxNXyJg)hnqeVaT|D_37zE3y-!2m0V$e_j951 LeLeyJM<5WR6$uqw literal 0 HcmV?d00001 diff --git a/tests/resources/mailmap/.gitted/objects/68/dfd5e5cb6138488680246d134f47ce559f4cf1 b/tests/resources/mailmap/.gitted/objects/68/dfd5e5cb6138488680246d134f47ce559f4cf1 new file mode 100644 index 0000000000000000000000000000000000000000..ac5229f737029c9c73e60d55bafd1f6b267b170c GIT binary patch literal 149 zcmV;G0BZku0ZYosPf{>8F=KE{Nl8snNUBtDDoRXIut_e-cSz39&n-yItJJHgu;W6N z_tC?rBrh{L+fczKsWiP9Xb2WFKnjcqDKN&TAUHoaRlz;6C@C>LRlx>q9(Jor^Rn~u z%kva$3NkWtuq*M(FHSAUz-OCtPGV^>(4O2>>?Sy8Bo^hQ76Zcs!f=4n;E)3VH!pgy DxUxW- literal 0 HcmV?d00001 diff --git a/tests/resources/mailmap/.gitted/objects/69/b9768d022706dab26e2af4dd5a13f42039e36f b/tests/resources/mailmap/.gitted/objects/69/b9768d022706dab26e2af4dd5a13f42039e36f new file mode 100644 index 0000000000000000000000000000000000000000..bda7a5d467a4a8bc0a26df951d259373e6804757 GIT binary patch literal 123 zcmV->0EGW|0V^p=O;s>7G-fa~FfcPQQP9gx%*@G6EMTa6zH`ZP4?ep6$%IFNip zQ8wx-R83M&eo}mXS!z*HW=bkU7XJ~C$yeG6(|%r7{NAHB+s9W^e-0{$;5}MVTq73N{59nK=&0`MCv&d6jw<6?R6HfC^4Nl8snNUBtDDoRXIut_e-cSz39&n-yItJJHgu;W6N i_tC?rBrh{L+fczKsWiP9Xb2WFKnjeoC;$K`WH0pNi69RE literal 0 HcmV?d00001 diff --git a/tests/resources/mailmap/.gitted/objects/71/00e631fb4d5deba31fdc8acc98f4fb5c1573fd b/tests/resources/mailmap/.gitted/objects/71/00e631fb4d5deba31fdc8acc98f4fb5c1573fd new file mode 100644 index 0000000000000000000000000000000000000000..3b20e6df23ba46a313a65b3fd637b80344c24a62 GIT binary patch literal 178 zcmV;j08RgR0d0=W3c@fDggy5u_AZvqe+nW#fcOrZWJ`-}BQfI7(_8fFX_#R?W@4V_ zv4RxcrWR&E>4Nma5@T|NK9Dswp%yM;7c^58KK6*sl?pEvyo>CU?j(}JltO2;Q%bXo z)_Al=cyCqTi-zuX$OV=ha(co3r^h8f1}@w_p9c^|3We5L2Rqd3MEriMT;M!j2u}2R g^E9pO>W+2b=@;DEwfF~bw(U&gG}E>D0IKOkieg1rIsgCw literal 0 HcmV?d00001 diff --git a/tests/resources/mailmap/.gitted/objects/7e/cbb98d860b304f622b38ce9ab8f08d14d981a8 b/tests/resources/mailmap/.gitted/objects/7e/cbb98d860b304f622b38ce9ab8f08d14d981a8 new file mode 100644 index 0000000000000000000000000000000000000000..53e775ee43303bd5f7e3a51039661e4ec156fde5 GIT binary patch literal 198 zcmV;%06G770d0=KZo?oDM0@5d_6KSK24hQBWU1Gvmwv$liyRe$g^85p>x-3Zk25>7 zZ(QECTLr1qM=eCaou4Mng%6gT83jrig0Z7ga9V=y!@Ff%bxNXyJg)hnqeVen17+7XhfxmJDC^(xzJRyV%W K-VXpY@(*$VQ5Ed~ literal 0 HcmV?d00001 diff --git a/tests/resources/mailmap/.gitted/objects/87/ce8d4920a30ddb9547334e7c65806518863ff1 b/tests/resources/mailmap/.gitted/objects/87/ce8d4920a30ddb9547334e7c65806518863ff1 new file mode 100644 index 000000000..b8c480805 --- /dev/null +++ b/tests/resources/mailmap/.gitted/objects/87/ce8d4920a30ddb9547334e7c65806518863ff1 @@ -0,0 +1,2 @@ +x}NKjC1 ìÚ§Ðd?=[†PݖÞA²e^èKR’ž¾¡é²t5f˜)çãñ0 >n1¤†ZC£¦³eʚ² +ÍX™bŠM8Eõ…݇t; HVT3WŽ¨R‹!èÄŲ(7äê©föÂN>Çrîð²H_í»ò û_Ü^¯Ïàçà'Œ3eØ !ºòónX‡·Ã»À«Ü¾l]awº«ýXl}—í=øGÝý·æ¾W=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 index 0000000000000000000000000000000000000000..402a48e79b1604aef0c1664b52047eb37703754b GIT binary patch literal 121 zcmV-<0EYi~0ZYosPf{>4H)C*2Nl8snNUBtDDoRXIut_e-cSz39&n-yItJJHgu;W6N z_tC?rBrh{L+fczKsWiP9Xb2WFKnjcqDKN&TAUHoaRlz;6C@C>LRlx>q9(Jor^Rn~u b%kva$3NkWtuq*M(FHSAUz+xK!01RR%Jkm0F literal 0 HcmV?d00001 diff --git a/tests/resources/mailmap/.gitted/objects/94/7ff75c33ac7941a32fe9900118b6ba85ab2be9 b/tests/resources/mailmap/.gitted/objects/94/7ff75c33ac7941a32fe9900118b6ba85ab2be9 new file mode 100644 index 0000000000000000000000000000000000000000..8b23320fd2ae4ff38a57295440e220e2642c6106 GIT binary patch literal 49 zcmV-10M7q-0ZYosPf{>8W^hbNNlj5ms#I_)N=#9(NiNBENY2mCElA9()T^kl÷ûѽ%ç¼Ú`­ia;VµÀçtføàǯÎ3ôkSC=é¼×Cÿ©›¯ÆxßWûí©†ýÃsÏü·|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 index 0000000000000000000000000000000000000000..8874366020401e1e868c024aca5eb25b9b348927 GIT binary patch literal 132 zcmV-~0DJ#<0ZYosPf{>8uwZaZNl8snNUBtDDoRXIut_e-cSz39&n-yItJJHgu;W6N z_tC?rBrh{L+fczKsWiP9Xb2WFKnjcqDKN&TAUHoaRlz;6C@C>LRlx>q9(Jor^Rn~u m%kva$3NkWtuq*M(FHSAUz-OCtPGV^>(4O2>6cYgVo^3ha6FHs$ literal 0 HcmV?d00001 diff --git a/tests/resources/mailmap/.gitted/objects/a1/6db1cbb8817dddcf199c12d3c81221cf8eefc4 b/tests/resources/mailmap/.gitted/objects/a1/6db1cbb8817dddcf199c12d3c81221cf8eefc4 new file mode 100644 index 000000000..d23d8cc5f --- /dev/null +++ b/tests/resources/mailmap/.gitted/objects/a1/6db1cbb8817dddcf199c12d3c81221cf8eefc4 @@ -0,0 +1 @@ +x+)JMU06c040031QHËÌIÕ+©(aðöUØ¥š÷ÙòàÅV_•¹ËÝû+•» \ 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 index 000000000..06a3abc4f --- /dev/null +++ b/tests/resources/mailmap/.gitted/objects/a7/054a4b356b3ecdec60cee66e50beaa5b863755 @@ -0,0 +1,3 @@ +xmNKjÃ0íZ§˜ 4ÌèI`‚]–lz‚‘44&þ[†¤§J¶Ù½/ïåeš† +ÚÐG]E€½$‹ÚÛ|bIH]. á1¹è½!ÕW™+&]I9jc3f­Ï^4G +ÙiF²Ö+ÞëeYaò• KûïÖçeºñü8Üï' §É`ë|¢ETÍlǪ¬p® ßüø“q„nn¬¯_ÂvhÁ7uõ³L_{è¶ûÒàÿ’zP˜G \ 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 index 0000000000000000000000000000000000000000..39f70c203b297395b6e70d240ccb9e44fb3acc28 GIT binary patch literal 52 zcmb9V=y!@Ff%bxNXyJg)hnqeVVF|?J;r!VrQ>4#mlGHzw(V+N Lt^E=JLSPWi2Z0rP literal 0 HcmV?d00001 diff --git a/tests/resources/mailmap/.gitted/objects/d3/e5e624cc7bfb09ac1960ebb6c458021b098f87 b/tests/resources/mailmap/.gitted/objects/d3/e5e624cc7bfb09ac1960ebb6c458021b098f87 new file mode 100644 index 0000000000000000000000000000000000000000..c69ebe842a3597ad7ab70a84c80b09870c476426 GIT binary patch literal 97 zcmV-n0G|JN0ZYosPf{>4FlTT~Nl8snNUBtDDoRXIut_e-cSz39&n-yItJJHgu;W6N z_tC?rBrh{L+fczKsWiP9Xb2WFKnjcqDKN&TAUHoaRlz;6C@C>LRlx>q9*R`}#SKY+ D&yXhn literal 0 HcmV?d00001 diff --git a/tests/resources/mailmap/.gitted/objects/f6/3578091d884c3066a003c50eb6c85ae7542269 b/tests/resources/mailmap/.gitted/objects/f6/3578091d884c3066a003c50eb6c85ae7542269 new file mode 100644 index 000000000..16fd91867 --- /dev/null +++ b/tests/resources/mailmap/.gitted/objects/f6/3578091d884c3066a003c50eb6c85ae7542269 @@ -0,0 +1,2 @@ +xŽ[jÃ0Eó­UÌôËBò_º…2Ҍ°‰mE-$«¯¡;Èß¹.œ\×uî`zÓ8`dmí ‘)YKÅ32®x«Ý(‹ºS“­Ã`´t¦$ρ%юœ#å<ÆâK +لÁVôÓ§Úàk¾|Òó%˧m_—>Éò/Ç\×3˜`Áˆ!‡öZ«Ýî‘]Þ¼«+3¤¥¦ïú+­Í,ê}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 index 0000000000000000000000000000000000000000..a13b83df86b71abdc071c33c12b908b228668252 GIT binary patch literal 53 zcmV-50LuS(0V^p=O;s>9V=y!@Ff%bxNXyJg)hnqeVYvMCnaY{!-<)eC6JBpS62T·^jë#eLIЭtÓÇi幃}¸}¯‡8 3ÝýþÊje¤C×ÀV¢”¢†õYáΗ‚=žÜ÷°«:”Žû±îjñŸ¹ø%]ßÄ¿,ñÐ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 index 000000000..b6dd3087a --- /dev/null +++ b/tests/resources/mailmap/.gitted/refs/heads/master @@ -0,0 +1 @@ +f63578091d884c3066a003c50eb6c85ae7542269 diff --git a/tests/resources/mailmap/.mailmap b/tests/resources/mailmap/.mailmap new file mode 100644 index 000000000..7da2ed605 --- /dev/null +++ b/tests/resources/mailmap/.mailmap @@ -0,0 +1,9 @@ +# Simple Comment line + +Some Dude nick1 +Other Author nick2 +Other Author +Phil Hill # Comment at end of line + Joseph +Santa Claus +Untracked diff --git a/tests/resources/mailmap/file.txt b/tests/resources/mailmap/file.txt new file mode 100644 index 000000000..68dfd5e5c --- /dev/null +++ b/tests/resources/mailmap/file.txt @@ -0,0 +1,10 @@ +Added by Brad +Added by Brad L. +Added by nick1 +Added by nick2 +Added by nick3 +Added by Some Garbage +Added by unknown +Added by Joseph +Added by Clause +Added by Charles diff --git a/tests/resources/mailmap/file_override b/tests/resources/mailmap/file_override new file mode 100644 index 000000000..94293a971 --- /dev/null +++ b/tests/resources/mailmap/file_override @@ -0,0 +1,2 @@ +File Override +Other Name diff --git a/tests/resources/merge-recursive/.gitted/objects/06/d3fefb8726ab1099acc76e02dfb85e034b2538 b/tests/resources/merge-recursive/.gitted/objects/06/d3fefb8726ab1099acc76e02dfb85e034b2538 new file mode 100644 index 0000000000000000000000000000000000000000..b3919aab624d88f33344018767354eade58a1757 GIT binary patch literal 375 zcmV--0f_#10Yy@~avL!Wbj`0odX2}EB8@9mDebZB55VzoI?PcdO@dbR_gV7fq~dF_ z4}eoh6aD)6^l&`A9^a0?KTdRd`FQ=|+&gbVOKODzm$T5+qF<#_T8L}r!sk{GRDIzr zq()J_gxi69Ghh}<5!WbjD6mz?QU;#m48B{xx!{?uY*J9PraVy9IBa#mGKdB&#lE^l zi_leVC8n(6rCXWUrwH1+$rKgnZlUE}EKAN(24Ur3&yMGr?3(Daaj_BS?qNzAc0toH zcJ%EA!k#JDgrBZ7|BS65w(b9U8f2j z;Q$>_A23ud;%ZwK^(xWAjb@Cm2i>)Y<`VE3K-LT+8x6f^*zReie2rhw@}qlSwNlVN Ve=yIp%-``e&hqEc{RQi@+aMtxyh;E7 literal 0 HcmV?d00001 diff --git a/tests/resources/push.sh b/tests/resources/push.sh index 607117675..3e77fb530 100644 --- a/tests/resources/push.sh +++ b/tests/resources/push.sh @@ -1,55 +1,55 @@ -#!/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 +#!/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 index 000000000..cb089cd89 --- /dev/null +++ b/tests/resources/splitindex/.gitted/HEAD @@ -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 index 000000000..e9d0b6d3b --- /dev/null +++ b/tests/resources/splitindex/.gitted/config @@ -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 index 0000000000000000000000000000000000000000..ff34488477fd9613828a945146d6532a40bad059 GIT binary patch literal 100 zcmZ?q402{*U|<4bhMdg2Y#?Q0d1Hd`yr-r)bzh4Vb6%fSU*-7oK1d!27$Fo2i6YiC YbHkpCYs~!OWy>?(Z_{6Nt8%d=0D*uQg#Z8m literal 0 HcmV?d00001 diff --git a/tests/resources/splitindex/.gitted/info/exclude b/tests/resources/splitindex/.gitted/info/exclude new file mode 100644 index 000000000..a5196d1be --- /dev/null +++ b/tests/resources/splitindex/.gitted/info/exclude @@ -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 index 000000000..e69de29bb diff --git a/tests/resources/splitindex/.gitted/refs/.gitkeep b/tests/resources/splitindex/.gitted/refs/.gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/tests/resources/splitindex/.gitted/sharedindex.39d890139ee5356c7ef572216cebcd27aa41f9df b/tests/resources/splitindex/.gitted/sharedindex.39d890139ee5356c7ef572216cebcd27aa41f9df new file mode 100644 index 0000000000000000000000000000000000000000..3330d716f1541c5acb1ed77867020cc7d88df5b7 GIT binary patch literal 32 mcmZ?q402{*U|<4b2Fn{0gy%gq&8hoZq?q&itoka)pZ5Wd4h#_h literal 0 HcmV?d00001 diff --git a/tests/resources/testrepo/.gitted/index b/tests/resources/testrepo/.gitted/index index a27fb9c96feb433fb28a2713a863a7356d45eed7..963f7adbbc2a3f62d1133f8e05936f2b950bad70 100644 GIT binary patch delta 414 zcmdn#_rssZ#WTp6fq{VuhzmFJR4}?mpH8o0`YiJvMgt`nn41D-F)%c~Wnf_Z3gn6a zF-w}&ZB7yM^cnuuFRUiM|K38B0 z7!5UX4w{KP%SGD`-hZ)NCTD++(0m7wI z)TejVGB7kQVPIhV3X~FIU{IGcOuXN---;pI???1A&nmuUdtbIXZeGD-BV8Nh8Va%{ zvA8H%KRvTVKQk{SwL&k0!O+0K%)|tZ>Jf?-m=$$imUCk6kQYq2E6S>_bKHuL&|;x&6S&+YuXDyOD?m73yZ IC&r040m5ld&Hw-a diff --git a/tests/resources/testrepo/.gitted/objects/97/328ac7e3bd0bcd3900cb3e7a624d71dd0df888 b/tests/resources/testrepo/.gitted/objects/97/328ac7e3bd0bcd3900cb3e7a624d71dd0df888 new file mode 100644 index 0000000000000000000000000000000000000000..2aa37bc43b6748ccf741984697c9e55a0172f8b0 GIT binary patch literal 40 wcmb~2!Atu5K6Y~9(Ci=x+Y92W{AK@m0y zumI4u&dL4ueV(2d%n+b#=kCMRW-Vec)6?(W)6=+`=U3|Jr@M!T|8Zw`OYN%BEG^YE zohOQaizHEHKCM2+MRHHwRiSnSJ2XRF3Tm zwJh@MB3_i5@@zuT9*==cnKT#YEAsvZ@}M-vB%9k~lQg@A@bZPAw!&H;l>?=^Bl4kD z4us$VEY&1e@p3u8A^SA8c)d)+L!t3-hp)78AMpt^+d>TLA%;^j!4oWEADPKLvi^U>>jA{g>E`2f7A4k-vsfd$N< zh_mVj^lkBFtJ6GYfnJ zWbPTyb0~=DUqyR2>UU3-1~+j4k1k%kK0AK`l+UIVPhWj3U;@xh!XOEo?6I%@euS5C z_8#`3E-RQVR-dL*DE#R>&kND>hk04$SzkRrQHOVrjt=*aemp$ttCyE2B=*kM)(>em zp06f}x?fh4Nisc{9eab{L(dnm{n_{R#P3tMoloJ=EG}o^$aPxX$tPDF-1-4<(=1U* zRuwnVlI|nB?p8NTDC#`PdaC=g+E?9fKAo0Hl~2v9Wn9gAYEN}Jr>C~n;isQ^JqHaE zDyk@iDbT_pnC)r|J(ImH43a+NmlD z%p*yjzlEMJ18AcJo-JL(bHfwDP&FBC+l!!jTU%uXPc()@$;wKNXK|s<&L0ncjh+rp z9uJ1m<=K-rZ`A|!dFSy?U+tXnpCSKwwDae^jf)4rj-t_UFnDzG=;^?NF>=cX{52qq z5C}1kDucu6#l=W)_-z0bo}7)Mi?hek@Z{CyZ)WOuQTmW%})Os z3@^_v&ZF~}&mRtk*i0`HEfmv zl*l%j@Sl&j^z|Ruy;4re*$o*x49m^sDRJ(#Bf5N(uzGv~g z>p9NdT}!!$5>M;viRzXcRJ-nH6we{i0GK9T-1L^O<%SqQ>ZDWEt*5C657ha~XU}?D zolcR!FJQrr_D(J(a5anwI@zKcuL=y_Cq*JkjsdqVFN^d_i0_WRz2van1wL_p$BKXp(DslJfNaUX7b$wtI>h>5qqGc_eLnfv6Rt? zeDRPHZ%lD^w{7$?43j^eq%C5Wzz{PpFIs1l6=uyy9EFO~_#PgYiPr(DEwOuG^6xM; z0F1w|Y!8TquB`J#mTT&%?-91KG*W9R8^dFPFRB}AuAE5QRhP7oYX}1G#VZ10t2%21 zuu7!?A)~T*AtJ>osEV%>30^g`B|PclJC#ePlng|X&gZG$CXLvZxf}8bomDb3 z+3I-9VKGoxfa+RQWCq=pKkL368P6X7IyfHF8_-vESnz40Yv@rKzXZx zZ!#~FFU--ZE~HZj6+E+kI95LrzOT&Iqp$6WBo~ZR_t&tz9GyHFTs}QJ9SKc(5%B}j zWH9ta@}_`tvt2EK2$jhsn`qO7x(gTpgtXU^kw{F~t!$6MvRp0G54nwUXNT)AAsOlL77N9U09*ZT1(M}(FF<#zuw`DgQT>OltnQqo<(&@aTJ4Izm zGL_E98FW>3->GAGV70wXy%{f-T>&nsk@HJLhbhxLlQM~K5rdj(q?Zx_(mKvssM44XUVK=K1+NfD}p8KBw24DYF2TFQ8((>>23 z>$L_?R;|1}&FJ19NjH>hXs{DcyKc1_1JCI;LYGT|+QL{=Bnw=*M9aKv31_}aC`^&7 zvDP5AYqi^|**IU`I6d3Q6brMR75n?(kOM>=ZL$mg!2;<)K{uFw3rh`7dz+Tf(hUg` zVodO8V%mIxvffOJ=}|LRSDYsn;>f z#u=h>90r;Vo6`H+Kx3;3oetJhHL#QQ8+PYEmB~svn#bG;ZqwMNpKhFAj7~3Jobjm8 zMt;?-@Zod_H@oIZgjvE-F?)B@vP(jE04Pv1HHA`ZAYEB>d&y3!l096rZLa*m-LhCm zV4HGmzLVk~f9xM?3Sc(+2l3GaW2nX#4+ded$KmWI(#y|^u71W%&+mu0@2U9)?bi<> z?$QKTO;v!W$jkY|7DRPZ1wSs25w`VX!I#^@F zgni@I59he8^*2Acd~|lk$~*7dRJK}N;aUi{%O<+Q=OOvQ-LW9as-nivz7}^><#WfI zu2!nuo-1M;9a?-1ixtWwJNO??8Q)3)uT#z)j@C--Z8%ZuGuGoeI`N6D@wQ7$s`i)B z|2_Ll_yhf;e;n>#p;h7X>B;_)-2d17Wy?fb?UcB=)c(cQagCt&!fQi#=dY1FeFZKr zqQ(0n{@C5t62w3so?k9XUH+hj*V8~LHoI@*zETwV1&c=x*rvh{=zhh-AQ9K`xoxi`0ArljYn}6J+yJfdVhY z*E~j>O%Zp@uE3?I{)yD*7cscO#l!!6bTJ&hd@&k4_M@;ls|i!+692bXh|Ew7Os|O3 zx2+>`9F!Y-@6HuA4GMjR%F<lzkBfVCm#4#Y#+qWkdZm5M99B z4(ps~z8Ro}=dq3*flf)wgi+*ZjxFp>yO?66U-zt{cXZ7ac7d6CFq$(#tY$=`BfCei zrZrqSNx!q*4W!MU{I@;SUHb!yXbxIm-Q|3D;<3i*kf>4cOdfANz-Z87wZ2jNCEiFW zz(L6&kfz1#N=2Uu8~?y7G`XRjFHwsX+M#&-MS4+gb#MTO%bMGE6m|%*5t2QfQyj?H zR%$Ph1DtR~{B(MHszuT8IB=T6NLix2xk;QY&1350i;$G;sJ(}X}TsSHsBZEDM7!EZjHom03?*PH5!*T-|B6At54NR zKmviFBt?)a8x1VYVnT*ZHBdiBxv2e@x=|RBw4{ycNg%fUV=jtxv_S#M(D{e6TfD#P z4#QIGKHM0%PGM4uP~|qJ=HB)jy?uT4w;oRy&1>5re%l~on%l5*7<0@xgemSvRSe0LPB(1(-2X))7Ra`4;q%0+GYBot zdIHrGxEj2wyh6_=ALs{e)rcCzZlDwtHLgnt_rMc$Lo+C8Y%KE}ENhjaG{e_oFEyf& zLK_TMZER=NtfWb^Cg@4;fNiM&hLgCcysuccRo8OJ4{!b z@9yK>Z#&vA1Fqz^<9LkTZTfNFh{Cnjgc=>LVoCOr77zqPo%@R(*b)em^`HA~Y;V!7l-7=E(I3Vi#%>(-;la@+AT* zR6C}LUpINXPXkbj!j~fjy7tI~+MwjnWFBjowcReEXoT(v`dy*eTqm~G&o-WP)=#^( zIU(?j+BJhYCbhzu8r@#yY7wC?a=e-4<*DWoR&6d#}bd7hIv<>cERc2Fo+~+ytMgFvT=2 zhA~g2DLxX?H==!nC4Pbg_QEsbUw%S1%kcpV8Z^mjVL3tLqT;}PYr>+pd@2N**~ke^ zcRo-|By91!B;Gl__DU z6sBkwRA4Eb8OFF;E5*Nl-{9?Fk#hwLP0Mjpxm*K+yG_<2)uDMU?G3)}r6>@|IK&rw6%>FV)FO%T@g0PoU%i8Og8dc6N&;LRglaTg)9Gf{16FkcO|Dl1 z199TOVT2Fs5}12g@!PL*8INhd1(Hb=)LmRHzY`?P-J9=~TG(ffnmXBXAcS<nJ3-ze;3>Z5PU))~^j-vKHMt$$b zxFt=DyZj|pQghemowQl8j2^xo4KDR}Ot_qG`Hvr$$c?e-*Ocbx^+ZG`8xq^b)hB%G zkY4L--tY^WiLi&FK|B|5NO!f^%=H}aZ-}Watn>Lh4xl->MDb<(KAEg5jBOsHvUT-_ z#-qw+Y|{WP-S8gG*K7m8e$Mx5cs3eDuP%m;S%J=Ci=~ut z?N)qcuq=V4%=}6$IadlzUxTGLxq+pqRyPti)K?Kcj3lZX+2l>M>}+FDIE^t-3r_F0 zmY_V*XFEGbgxh-JMhx)eFS;2d3lgTj98bMqSzD@v8nr8bcxEvtT(1PxN7+ffBGn;* z#eWE|89}+)TZTC}Q?l7pVC&+a4yYb6=3P)4r=#`>4(6;?om=KL%Gw*}d>NK0UAI6m zHS3l)wpQKp$`q+v-k9oi%Nv@h4XKtbTAd7EP=h|;6(<9g`_9tip|(deS*o>K3Up2W z=z8rntVbKnn!sEwShj=)h^|2TUX{^)hU}?_%yzY6Z<$|dY+vWJBVYqzQ&nBFvd02F zu?{Itr8$SLLC3dRFT)X89u5f~!lBb=Cr>V6@l4e&9$)-ozAkr}O{sKmh?FbP8io(T t#oyG?r@LMMMx8;z6fvZ=>NmW>WZVefwL111RI7Hl@a?`t_%|4@7wE>J;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; } diff --git a/tests/threads/refdb.c b/tests/threads/refdb.c index 94c5f5057..a4630df6a 100644 --- a/tests/threads/refdb.c +++ b/tests/threads/refdb.c @@ -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; } diff --git a/tests/trace/windows/stacktrace.c b/tests/trace/windows/stacktrace.c index c00c1b774..ca5760edd 100644 --- a/tests/trace/windows/stacktrace.c +++ b/tests/trace/windows/stacktrace.c @@ -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) diff --git a/tests/valgrind-supp-mac.txt b/tests/valgrind-supp-mac.txt index 0cdc975fa..a104199e2 100644 --- a/tests/valgrind-supp-mac.txt +++ b/tests/valgrind-supp-mac.txt @@ -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 diff --git a/tests/win32/longpath.c b/tests/win32/longpath.c index 5a36875ed..bf5aac724 100644 --- a/tests/win32/longpath.c +++ b/tests/win32/longpath.c @@ -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 index 000000000..2a0e88239 --- /dev/null +++ b/tests/worktree/bare.c @@ -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); +} diff --git a/tests/worktree/config.c b/tests/worktree/config.c index 3ab317bb5..81dcfe1fa 100644 --- a/tests/worktree/config.c +++ b/tests/worktree/config.c @@ -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); diff --git a/tests/worktree/merge.c b/tests/worktree/merge.c index 36cc2a6c1..4b743829c 100644 --- a/tests/worktree/merge.c +++ b/tests/worktree/merge.c @@ -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); } diff --git a/tests/worktree/open.c b/tests/worktree/open.c index 74b9007d9..52d47334c 100644 --- a/tests/worktree/open.c +++ b/tests/worktree/open.c @@ -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); } diff --git a/tests/worktree/refs.c b/tests/worktree/refs.c index a10f50a2c..e62149d2e 100644 --- a/tests/worktree/refs.c +++ b/tests/worktree/refs.c @@ -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); } diff --git a/tests/worktree/submodule.c b/tests/worktree/submodule.c index 294385226..2e62c039c 100644 --- a/tests/worktree/submodule.c +++ b/tests/worktree/submodule.c @@ -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); } diff --git a/tests/worktree/worktree.c b/tests/worktree/worktree.c index 9026a7f83..73a6a0193 100644 --- a/tests/worktree/worktree.c +++ b/tests/worktree/worktree.c @@ -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); } -- 2.39.5