Re: [PATCH 0/5] Audit and document Scalar config
From: Johannes Schindelin <hidden>
Date: 2025-12-01 14:05:07
Hi Stolee, On Wed, 26 Nov 2025, Derrick Stolee via GitGitGadget wrote:
In September [1], we discussed that the Scalar config options could use some documented justification as well as some comments to the config file that they were set by Scalar. I was then immediately distracted by other work things and am finally here with a series to do just that.
Thank you for doing this, in particular the (quite long!) list of explanations are excellent, especially when some user wonders why a particular setting was chosen and wants to understand the reason.
[1] https://lore.kernel.org/git/ffa61066-7004-48dd-9096-85b305373bc7@gmail.com/ (local) I have indeed used Patrick's idea to add '# set by scalar' to each line added by Scalar, it took a little more work for all the kinds of config set.
I am glad that the work I put in to optionally add comments pays off. It's a bit sad that there is no well-designed bulk-edit "API" function which therefore requires constructing and `free()`ing that `file` variable many times, but that's not the fault of this series.
I made myself a co-author. While working to justify each config option, I found some stale or incorrect config options. I also relaxed the override setting in most cases which gave me an opportunity to alphabetize the settings. There was at least one case (I'm thinking of core.fscache here) where the config doesn't even exist in core Git, but instead in Git for Windows. We'll need to adjust in that fork to reinclude it in the right place.
Thank you for calling this out! I will take care of this in Git for Windows and also in Microsoft Git (which inherits this flag from Git for Windows). To be honest, I am not so certain that we want the FSCache to be enabled, it does have long-standing bugs (introduced by the partial clone feature, for example, where the FSCache continues to retain stale information about which loose objects are present even after the missing ones have been fetched). I guess we'll have to measure the actual performance benefits to reassess whether the feature is worth the trouble. Thank you for your diligent work, as always, Johannes
Thanks, -Stolee Derrick Stolee (5): scalar: annotate config file with "set by scalar" scalar: use index.skipHash=true for performance scalar: remove stale config values scalar: alphabetize and simplify config scalar: document config settings Documentation/scalar.adoc | 158 ++++++++++++++++++++++++++++++++++++++ scalar.c | 81 ++++++++++--------- t/t9210-scalar.sh | 26 ++++--- 3 files changed, 218 insertions(+), 47 deletions(-) base-commit: 6ab38b7e9cc7adafc304f3204616a4debd49c6e9 Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-2010%2Fderrickstolee%2Fscalar-config-v1 Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-2010/derrickstolee/scalar-config-v1 Pull-Request: https://github.com/gitgitgadget/git/pull/2010 -- gitgitgadget