build: add .gitattributes for npm and other shims

This issue has been described in -
https://github.com/nodejs/node/issues/43860

On Windows system, git clone or git checkout on the repo turns LF line
endings to CRLF in the worktree.
This can happen due to many reasons like -
- git config --system core.autocrlf (set to true)
- git config --global core.autocrlf (set to true)
- git config --local core.autocrlf (set to true)
- git clone --config core.autocrlf=true ...

Adding gitattributes for the shims will not convert them to CRLF line
endings.

Also, there is a note[1] in test/README.md which says -
For the tests to run on Windows, be sure to clone Node.js source code
with the `autocrlf` git config flag set to true.

Reason for using build subsystem -
These shims are just copied in stage_package label of vcbuild.bat

Fixes: https://github.com/nodejs/node/issues/43860
[1]: 3654cd4cda

PR-URL: https://github.com/nodejs/node/pull/43879
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Tobias Nießen <tniessen@tnie.de>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
This commit is contained in:
Hrishikesh Kadam 2022-07-20 01:57:49 +05:30 committed by GitHub
parent dd167ff0ee
commit 4aeef8e224
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

3
.gitattributes vendored
View File

@ -1,3 +1,6 @@
test/fixtures/* -text test/fixtures/* -text
vcbuild.bat text eol=crlf vcbuild.bat text eol=crlf
deps/npm/bin/npm text eol=lf
deps/npm/bin/npx text eol=lf
deps/corepack/shims/corepack text eol=lf
tools/msvs/find_python.cmd text eol=crlf tools/msvs/find_python.cmd text eol=crlf