mirror of
https://github.com/curl/curl.git
synced 2024-12-09 06:30:06 +08:00
006b61eb0b
I use the curl repo mainly on Windows with the typical Windows git checkout which converts the LF line endings in the curl repo to CRLF automatically on checkout. The automatic conversion is not done on files in the repo with mixed line endings. I recently noticed some weird output with projects/build-openssl.bat that I traced back to mixed line endings, so I scanned the repo and there are files (excluding the test data) that have mixed line endings. I used this command below to do the scan. Unfortunately it's not as easy as git grep, at least not on Windows. This gets the names of all the files in the repo's HEAD, gets each of those files raw from HEAD, checks for mixed line endings of both LF and CRLF, and prints the name if mixed. I excluded path tests/data/test* because those can have mixed line endings if I understand correctly. for f in `git ls-tree --name-only --full-tree -r HEAD`; do if [ -n "${f##tests/data/test*}" ]; then git show "HEAD:$f" | \ perl -0777 -ne 'exit 1 if /([^\r]\n.*\r\n)|(\r\n.*[^\r]\n)/'; if [ $? -ne 0 ]; then echo "$f"; fi; fi; done
7 lines
140 B
Batchfile
Executable File
7 lines
140 B
Batchfile
Executable File
@echo OFF
|
|
@del %OUTFILE%
|
|
@echo %MACRO_NAME% = \> %OUTFILE%
|
|
@for %%i in (%*) do @echo %DIROBJ%/%%i \>> %OUTFILE%
|
|
@echo. >> %OUTFILE%
|
|
:END
|