<lin.sun@xxxxxxx> writes: > So in [PATH v10], it still try get the string value first, then detecting the ""(empty)/true/false/auto. You cannot interpret an empty output from "git config section.variable"; it could be "[section] variable" (which is true), or it could be a sign that there is no "[section] variable = value" in the configuration (which you treat as false). Catching common spellings of 'true' and 'false' in the output of the string version of "git config", while checking for 'auto' at the same time, may not be too bad as an optimization to save an extra call to "git config --bool 2>/dev/null" (and ignoring errors), so I am OK with that as long as you leave the empty output alone.