From: Patrick Steinhardt <ps@pks.im>
To: Derrick Stolee via GitGitGadget <gitgitgadget@gmail.com>
Cc: git@vger.kernel.org, gitster@pobox.com,
atthewhughes934@gmail.com, johannes.schindelin@gmx.de,
Derrick Stolee <stolee@gmail.com>
Subject: Re: [PATCH 5/5] scalar: document config settings
Date: Mon, 1 Dec 2025 09:55:36 +0100 [thread overview]
Message-ID: <aS1YCAIrafQ2iEfz@pks.im> (raw)
In-Reply-To: <18580f020d149eaa8271542d7e629ef10fd8c9a0.1764195516.git.gitgitgadget@gmail.com>
On Wed, Nov 26, 2025 at 10:18:36PM +0000, Derrick Stolee via GitGitGadget wrote:
> diff --git a/Documentation/scalar.adoc b/Documentation/scalar.adoc
> index f81b2832f8..b34af225e6 100644
> --- a/Documentation/scalar.adoc
> +++ b/Documentation/scalar.adoc
> @@ -197,6 +197,164 @@ delete <enlistment>::
> This subcommand lets you delete an existing Scalar enlistment from your
> local file system, unregistering the repository.
>
> +REQUIRED AND RECOMMENDED CONFIG
> +-------------------------------
> +
> +As part of both `scalar clone` and `scalar register`, certain Git config
> +values are set to optimize for large repositories or cross-platform support.
> +These options are updated in new Git versions according to the best known
> +advice for large repositories, and users can get the latest recommendations
> +by running `scalar reconfigure [--all]`.
> +
> +This section lists justifications for the config values that are set in the
> +latest version.
> +
> +am.keepCR=true::
> + This setting is important for cross-platform development across Windows
> + and non-Windows platforms and keeping carriage return (`\r`) characters
> + in certain workflows.
> +
> +commitGraph.changedPaths=true::
> + This setting helps the background maintenance steps that compute the
> + serialized commit-graph to also store changed-path Bloom filters. This
> + accelerates file history commands and allows users to automatically
> + benefit without running a foreground command.
Is this something we also want to promote to "default" eventually? The
downside of course is that maintenance takes a bit longer, but given
that it runs in the background anyway this shouldn't really impact our
users all that much.
> +commitGraph.generationVersion=1::
> + While the preferred version is 2 for performance reasons, existing users
> + that had version 1 by default will need special care in upgrading to
> + version 2. This is likely to change in the future as the upgrade story
> + is solidifies.
Is that still the case? We _did_ have some bugs in the upgrade path in
the past, but I thought it got all sorted out by now?
[snip]
> +fetch.unpackLimit=1::
> + This setting prevents Git from unpacking packfiles into loose objects
> + as they are downloaded from the server. This feature was intended as a
> + way to prevent performance issues from too many packfiles, but Scalar
> + uses background maintenance to group packfiles and cover them with a
> + multi-pack-index, removing this issue.
The second sentence here reads as if "fetch.unpackLimit=1" was the
feature you are talking about, which led to some puzzlement at first.
But what you are talking about is the _default_ unpack limit of 100.
Maybe something like this reads better?
This setting prevents Git from unpacking packfiles into loose objects
as they are downloaded from the server. The default limit of 100
objects was intended as a way to prevent performance issues from too
many packfiles, but Scalar uses background maintenance to group
packfiles and cover them with a multi-pack-index, removing this
issue.
Patrick
next prev parent reply other threads:[~2025-12-01 8:55 UTC|newest]
Thread overview: 48+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-11-26 22:18 [PATCH 0/5] Audit and document Scalar config Derrick Stolee via GitGitGadget
2025-11-26 22:18 ` [PATCH 1/5] scalar: annotate config file with "set by scalar" Derrick Stolee via GitGitGadget
2025-11-26 23:55 ` Junio C Hamano
2025-12-01 8:55 ` Patrick Steinhardt
2025-11-26 22:18 ` [PATCH 2/5] scalar: use index.skipHash=true for performance Derrick Stolee via GitGitGadget
2025-11-26 23:57 ` Junio C Hamano
2025-11-30 19:55 ` Derrick Stolee
2025-11-26 22:18 ` [PATCH 3/5] scalar: remove stale config values Derrick Stolee via GitGitGadget
2025-11-27 0:00 ` Junio C Hamano
2025-11-26 22:18 ` [PATCH 4/5] scalar: alphabetize and simplify config Derrick Stolee via GitGitGadget
2025-12-01 8:55 ` Patrick Steinhardt
2025-12-01 12:35 ` Derrick Stolee
2025-11-26 22:18 ` [PATCH 5/5] scalar: document config settings Derrick Stolee via GitGitGadget
2025-11-27 0:09 ` Junio C Hamano
2025-11-30 19:56 ` Derrick Stolee
2025-12-01 8:55 ` Patrick Steinhardt [this message]
2025-12-01 12:40 ` Derrick Stolee
2025-12-01 14:04 ` [PATCH 0/5] Audit and document Scalar config Johannes Schindelin
2025-12-01 16:50 ` [PATCH v2 " Derrick Stolee via GitGitGadget
2025-12-01 16:50 ` [PATCH v2 1/5] scalar: annotate config file with "set by scalar" Derrick Stolee via GitGitGadget
2025-12-02 7:53 ` Patrick Steinhardt
2025-12-01 16:50 ` [PATCH v2 2/5] scalar: use index.skipHash=true for performance Derrick Stolee via GitGitGadget
2025-12-01 16:50 ` [PATCH v2 3/5] scalar: remove stale config values Derrick Stolee via GitGitGadget
2025-12-01 17:46 ` Matthew Hughes
2025-12-02 7:53 ` Patrick Steinhardt
2025-12-02 19:04 ` Matthew Hughes
2025-12-02 19:22 ` Patrick Steinhardt
2025-12-07 0:34 ` Junio C Hamano
2025-12-08 6:58 ` Patrick Steinhardt
2025-12-12 13:57 ` Derrick Stolee
2025-12-01 16:50 ` [PATCH v2 4/5] scalar: alphabetize and simplify config Derrick Stolee via GitGitGadget
2025-12-01 16:50 ` [PATCH v2 5/5] scalar: document config settings Derrick Stolee via GitGitGadget
2025-12-01 17:58 ` Matthew Hughes
2025-12-02 7:53 ` Patrick Steinhardt
2025-12-11 14:20 ` Henrique Ferreiro
2025-12-12 14:06 ` Derrick Stolee
2025-12-15 12:14 ` Henrique Ferreiro
2025-12-02 2:05 ` [PATCH v2 0/5] Audit and document Scalar config Junio C Hamano
2025-12-12 15:15 ` [PATCH v3 " Derrick Stolee via GitGitGadget
2025-12-12 15:15 ` [PATCH v3 1/5] scalar: annotate config file with "set by scalar" Derrick Stolee via GitGitGadget
2025-12-12 15:15 ` [PATCH v3 2/5] scalar: use index.skipHash=true for performance Derrick Stolee via GitGitGadget
2025-12-12 15:15 ` [PATCH v3 3/5] scalar: remove stale config values Derrick Stolee via GitGitGadget
2025-12-12 15:15 ` [PATCH v3 4/5] scalar: alphabetize and simplify config Derrick Stolee via GitGitGadget
2025-12-12 15:15 ` [PATCH v3 5/5] scalar: document config settings Derrick Stolee via GitGitGadget
2025-12-15 12:33 ` Henrique Ferreiro
2025-12-12 23:49 ` [PATCH v3 0/5] Audit and document Scalar config Junio C Hamano
2025-12-15 14:33 ` Derrick Stolee
2025-12-16 0:39 ` Junio C Hamano
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=aS1YCAIrafQ2iEfz@pks.im \
--to=ps@pks.im \
--cc=atthewhughes934@gmail.com \
--cc=git@vger.kernel.org \
--cc=gitgitgadget@gmail.com \
--cc=gitster@pobox.com \
--cc=johannes.schindelin@gmx.de \
--cc=stolee@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).