Re: [QUESTION] how to find options set by scalar?
From: Matthew Hughes <hidden>
Date: 2025-10-19 17:43:42
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