Re: [QUESTION] how to find options set by scalar?
- From
Matthew Hughes <matthewhughes934@gmail.com>
- Date
- Oct 19, 2025, 17:43 UTC
- Message-ID
- <wn3jjekjibcxbuiieji5umijvx5gaesg7wpwnivc5ng66sqpa7@cybj6wtz2eq5>
- In-Reply-To
- <ffa61066-7004-48dd-9096-85b305373bc7@gmail.com>
On Mon, Sep 22, 2025 at 09:36:00AM -0400, Derrick Stolee wrote:
> Makes sense. I'll pick up your patch into my series as I prepare it.
I'm not sure if you had a chance to start working on this (I didn't see any other activity around this on the mailing list, but shout-out if I missed something!). But I got curious and started looking into some of the options and had some questions (I haven't do much archaeology on the original Scalar repo[1], so if I should just go dig around there for more answers let me know).
Firstly, there are a couple of options specific to things outside this repo:
* core.FSCache: specific for git-for-windows[2] * credential.validate: specific to Git-Credential-Manager-for-Windows[3]
Could these possibly be removed from here (I understand scalar started as an external project, so these are perhaps a relic of that)?
Secondly, I was curious around some of the CRLF options, in particular, setting:
* am.keepCR=true * core.autoCRLF=false * core.safeCRLF=false
Is there a non-trival cost to doing conversions over a large enough number of files?
GC bits: I there is some GC automation disabled:
* gc.auto=0 * gui.GCWwarning=false * receive.autoGC=false
What's the reason for this? Is garbage collection expected to be unreasonably slow in a large repo? Is it worth the GC still being run at least occasionally in a large repo?
Index bits: scalar will set index.threads=true, index.version=4: I assume these are expected to just speed up most read operations on in the index in general? It also disable index.skipHash: the docs tells me this speeds up commands that manipulate the index, but I was wondering if having this trailing hash can make future _reads_ more efficient?
And more generally, I'm not sure I understand the reasons for the following settings in the context of a large repo:
* pack.useBitmaps=false * fetch.writeCommitGraph=false * status.aheadBehind=false * merge.stat=false * commitGraph.generationVersion=false * fetch.showForcedUpdates=false
Link: https://github.com/microsoft/scalar [1] Link: https://github.com/git-for-windows [2] Link: https://github.com/microsoft/Git-Credential-Manager-for-Windows [3]
Thanks, Matt