summaryrefslogtreecommitdiff
path: root/.gitattributes
diff options
context:
space:
mode:
authorBin Meng <bmeng.cn@gmail.com>2019-10-27 05:19:46 -0700
committerTom Rini <trini@konsulko.com>2019-10-28 13:32:51 -0400
commit1f35137997a25a14c734abd2c7a2fe9406944307 (patch)
treeadf7daeeaa374296381f21593d2aba37d3863721 /.gitattributes
parent7114d89e08a881285e09b8d36ce1f4dd8fe3d85b (diff)
Add .gitattributes for line endings
When building U-Boot host tools for Windows from Microsoft Azure Pipelines, we see tons of weird warnings and errors emitted from every Kconfig files: Kconfig:6:warning: ignoring unsupported character '' Kconfig:6:warning: ignoring unsupported character '' Kconfig:8:warning: ignoring unsupported character '' Kconfig:9:warning: ignoring unsupported character '' Kconfig:10:warning: ignoring unsupported character '' Kconfig:10:warning: ignoring unsupported character '' Kconfig:13:warning: ignoring unsupported character '' arch/Kconfig:1:warning: ignoring unsupported character '' arch/Kconfig:2:warning: ignoring unsupported character '' arch/Kconfig:2:warning: ignoring unsupported character '' arch/Kconfig:4:warning: ignoring unsupported character '' ... After several rounds of experiments, it turns out this is caused by line endings. Historically, Linux and macOS used linefeed (LF) characters while Windows used a carriage return plus a linefeed (CRLF). When Azure Pipelines checks out the U-Boot repo, Git tries to compensate for the difference by automatically making lines end in CRLF in the working directory on Windows, which confuses the Kconfig file parsing logic. Fortunately Git provides a way for repos to tell Git not to do such automatical line endings conversion via .gitattributes file below: * text eol=lf Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Diffstat (limited to '.gitattributes')
-rw-r--r--.gitattributes2
1 files changed, 2 insertions, 0 deletions
diff --git a/.gitattributes b/.gitattributes
new file mode 100644
index 0000000000..8560b794c0
--- /dev/null
+++ b/.gitattributes
@@ -0,0 +1,2 @@
+# Declare files that always have LF line endings on checkout
+* text eol=lf