Thread (5 messages) 5 messages, 4 authors, 2025-10-19

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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help