V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
AndyAO
V2EX  ›  问与答

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

  •  2
     
  •   AndyAO · 2021-06-17 08:15:41 +08:00 · 931 次点击
    这是一个创建于 1262 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

    3 条回复    2021-06-17 19:13:30 +08:00
    AndyAO
        1
    AndyAO  
    OP
       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
        2
    AndyAO  
    OP
       2021-06-17 09:58:02 +08:00
    还有就是 Windows for git 会带有自己的默认 system 和 global config 文件,其中在 gitconfig 中将 autocrlf 设为 true,但这两个文件在 linux 版本中并不存在。
    delacey
        3
    delacey  
       2021-06-17 19:13:30 +08:00
    提 issue,让官方更新文档?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2667 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 11:59 · PVG 19:59 · LAX 03:59 · JFK 06:59
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.