This was added earlier in an attempt to tolerate CRLF and convert CRLF
line endings on Windows, but it causes issues where vendored files
(which could be using either LF or CRLF depending on the original author's
preference) get permanent diffs when inconsistent with the platform's
preference.
The goal of this change, therefore, is to treat all of the files as binary,
with the standard that all of Terraform's own files will use Unix-style
LF endings and the vendor stuff will just be verbatim, byte-for-byte
copies of what's upstream.
This will apparently cause some difficulty for people hacking on Terraform
on Windows machines, because gofmt on Windows reportedly wants to convert
all files to CRLF endings. Unfortunately we're forced to compromise here
and treat development on Windows as an edge case in order to avoid the
weirdness with inconsistent endings in the vendor tree.
This is to pin the .go files to LF line endings.
Developing on windows and using the vagrant environment to build,
running `make fmt` will cause all the *.go files to be touched,
alterting their line endings and causing git to see them as changed.