在文档上没有的情况下,如何得知 Git 配置项的默认值?

2021-06-17 08:15:41 +08:00
 AndyAO

有关行尾符号自动转换的三个配置core.autocrlfcore.safecrlfcore.eol,只有最后那个在 git config 帮助文档上提到默认值为native,其他几个没有找到'default'相关的说明。

除了「手动测试」这种最笨和「看源代码」这种最暴力的方法之外,有没有什么办法能够准确的知道这个配置项的默认值?

931 次点击
所在节点    问与答
3 条回复
AndyAO
2021-06-17 08:39:39 +08:00
通过 environment.c 查到 enum auto_crlf auto_crlf = AUTO_CRLF_FALSE; 和 int global_conv_flags_eol = CONV_EOL_RNDTRP_WARN; ,从而判断 core.safecrlf 的默认值是 WARN,而 core.autocrlf 的是 FALSE 。

感觉很可能是直接硬编码到代码当中的,不清楚是否判断正确,也不清楚是否有其他的查询接口。
AndyAO
2021-06-17 09:58:02 +08:00
还有就是 Windows for git 会带有自己的默认 system 和 global config 文件,其中在 gitconfig 中将 autocrlf 设为 true,但这两个文件在 linux 版本中并不存在。
delacey
2021-06-17 19:13:30 +08:00
提 issue,让官方更新文档?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/783862

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX