git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH v2 5/5] scalar: document config settings

From
Derrick Stolee <stolee@gmail.com>
Date
Dec 12, 2025, 14:06 UTC
Message-ID
<e1d51a8f-582f-425e-9682-c93411b4d090@gmail.com>
In-Reply-To
<e19246a7-40db-41d0-9cdf-817833123f45@igalia.com>
On 12/11/2025 9:20 AM, Henrique Ferreiro wrote:
Show 19 quoted lines
> On 12/1/25 5:50 PM, Derrick Stolee via GitGitGadget wrote:
>> From: Derrick Stolee <stolee@gmail.com>
>>
>> Add user-facing documentation that justifies the values being set by
>> 'scalar clone', 'scalar register', and 'scalar reconfigure'.
> 
> Hi Derrick. I was planning to contribute a patch removing some config
> options so I'll take this opportunity to just discuss those here.
> 
> My motivation is that some of the options seem to be related to things
> other than performance and the list is huge, so I believe that some
> options don't belong to scalar.
> 
>> +REQUIRED AND RECOMMENDED CONFIG
>> +-------------------------------
> 
> There's no mention on which configs are required and which are
> recommended, and it looks like none are actually required so maybe just
> remove REQUIRED.
You're absolutely right. Good eye! I started this documentation before
going back and removing the "required" configs.
 
Show 13 quoted lines
>> +am.keepCR=true::
>> +core.logAllRefUpdates=true::
>> +credential.https://dev.azure.com.useHttpPath=true::
>> +http.sslBackend=schannel::
> 
> These options are not related to performance. Why not keeping them out
> of scalar?
> 
>> +core.autoCRLF=false::
>> +core.safeCRLF=false::
>> +index.threads=true::
> 
> These options just duplicate the default settings.

We did find that index.threads=true gives something more when explicitly set, so there is currently value in keeping it explicit.

The CRLF configs are sometimes set globally on Windows systems, but we
want the local repository to override those global settings for
performance reasons.
 
Show 12 quoted lines
>> +feature.manyFiles=false::
>> +    This disables the "many files" optimizations grouped under this feature
>> +    config. The expectation is that all valuable optimizations are also set
>> +    explicitly by Scalar config, and any differences are intentional.
> 
> I disagree with this reasoning. This thread was actually brought to my
> attention when working on setting manyFiles to true in scalar:
> https://github.com/git/git/pull/2125.
> 
> Do you foresee any features that would apply to scalar but not to
> manyFiles? I'd even say that some scalar options could be moved to
> manyFiles instead, so that people that don't use scalar can benefit too.

I suppose that the default reason is that registering a repo with Scalar already enables some config in an "indirect" way and having it rely on features.manyFiles would be another layer of indirection.

The historical reason is that we initially didn't want changes to the features.* config settings to automatically be assigned to Scalar. I think this is more important on the features.experimental side, as the intention of features.manyFiles is very similar to the intention of cloning/registering with Scalar.

For now, I'm going to leave this as-is, because we have enough changes to the config settings and documentation. You can submit a change on top of this one to demonstrate the value of setting features.manyFiles=true and how that impacts the code in its new shape.

Thanks, -Stolee

Previous: Henrique FerreiroNext: Henrique Ferreiro
Message 36 of 48 in “Audit and document Scalar config”
  1. 0/5 Audit and document Scalar configDerrick Stolee via GitGitGadget, Nov 26, 2025
  2. 1/5 scalar: annotate config file with "set by scalar"Derrick Stolee via GitGitGadget, Nov 26, 2025
  3. Junio C HamanoNov 26, 2025
  4. Patrick SteinhardtDec 1, 2025
  5. 2/5 scalar: use index.skipHash=true for performanceDerrick Stolee via GitGitGadget, Nov 26, 2025
  6. Junio C HamanoNov 26, 2025
  7. Derrick StoleeNov 30, 2025
  8. 3/5 scalar: remove stale config valuesDerrick Stolee via GitGitGadget, Nov 26, 2025
  9. Junio C HamanoNov 27, 2025
  10. 4/5 scalar: alphabetize and simplify configDerrick Stolee via GitGitGadget, Nov 26, 2025
  11. Patrick SteinhardtDec 1, 2025
  12. Derrick StoleeDec 1, 2025
  13. 5/5 scalar: document config settingsDerrick Stolee via GitGitGadget, Nov 26, 2025
  14. Junio C HamanoNov 27, 2025
  15. Derrick StoleeNov 30, 2025
  16. Patrick SteinhardtDec 1, 2025
  17. Derrick StoleeDec 1, 2025
  18. Johannes SchindelinDec 1, 2025
  19. 0/5 Audit and document Scalar configDerrick Stolee via GitGitGadget, Dec 1, 2025
  20. 1/5 scalar: annotate config file with "set by scalar"Derrick Stolee via GitGitGadget, Dec 1, 2025
  21. Patrick SteinhardtDec 2, 2025
  22. 2/5 scalar: use index.skipHash=true for performanceDerrick Stolee via GitGitGadget, Dec 1, 2025
  23. 3/5 scalar: remove stale config valuesDerrick Stolee via GitGitGadget, Dec 1, 2025
  24. Matthew HughesDec 1, 2025
  25. Patrick SteinhardtDec 2, 2025
  26. Matthew HughesDec 2, 2025
  27. Patrick SteinhardtDec 2, 2025
  28. Junio C HamanoDec 7, 2025
  29. Patrick SteinhardtDec 8, 2025
  30. Derrick StoleeDec 12, 2025
  31. 4/5 scalar: alphabetize and simplify configDerrick Stolee via GitGitGadget, Dec 1, 2025
  32. 5/5 scalar: document config settingsDerrick Stolee via GitGitGadget, Dec 1, 2025
  33. Matthew HughesDec 1, 2025
  34. Patrick SteinhardtDec 2, 2025
  35. Henrique FerreiroDec 11, 2025
  36. Derrick StoleeDec 12, 2025
  37. Henrique FerreiroDec 15, 2025
  38. Junio C HamanoDec 2, 2025
  39. 0/5 Audit and document Scalar configDerrick Stolee via GitGitGadget, Dec 12, 2025
  40. 1/5 scalar: annotate config file with "set by scalar"Derrick Stolee via GitGitGadget, Dec 12, 2025
  41. 2/5 scalar: use index.skipHash=true for performanceDerrick Stolee via GitGitGadget, Dec 12, 2025
  42. 3/5 scalar: remove stale config valuesDerrick Stolee via GitGitGadget, Dec 12, 2025
  43. 4/5 scalar: alphabetize and simplify configDerrick Stolee via GitGitGadget, Dec 12, 2025
  44. 5/5 scalar: document config settingsDerrick Stolee via GitGitGadget, Dec 12, 2025
  45. Henrique FerreiroDec 15, 2025
  46. Junio C HamanoDec 12, 2025
  47. Derrick StoleeDec 15, 2025
  48. Junio C HamanoDec 16, 2025

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.