From: Derrick Stolee <derrickstolee@github.com>
To: Kyle Zhao via GitGitGadget <gitgitgadget@gmail.com>, git@vger.kernel.org
Cc: "Ævar Arnfjörð Bjarmason" <avarab@gmail.com>,
"Taylor Blau" <me@ttaylorr.com>, kylezhao <kylezhao@tencent.com>
Subject: Re: [PATCH v2] send-pack.c: add config push.useBitmaps
Date: Thu, 16 Jun 2022 09:02:23 -0400 [thread overview]
Message-ID: <e2ea1475-ce21-ef52-7301-3ed074c40f9b@github.com> (raw)
In-Reply-To: <pull.1263.v2.git.1655350617442.gitgitgadget@gmail.com>
On 6/15/2022 11:36 PM, Kyle Zhao via GitGitGadget wrote:
> From: Kyle Zhao <kylezhao@tencent.com>
>
> This allows you to disable bitmaps for "git push". Default is false.
>
> Reachability bitmaps are designed to speed up the "counting objects"
> phase of generating a pack during a clone or fetch. They are not
> optimized for Git clients sending a small topic branch via "git push".
> In some cases (see [1]), using reachability bitmaps during "git push"
> can cause significant performance regressions.
>
> Add a new "push.useBitmaps" config option to disable reachability
> bitmaps during "git push". This allows reachability bitmaps to still
> be used in other areas, such as "git rev-list --use-bitmap-index".
>
> [1]: https://lore.kernel.org/git/87zhoz8b9o.fsf@evledraar.gmail.com/
>
> Signed-off-by: Kyle Zhao <kylezhao@tencent.com>
> ---
> send-pack.c: add config push.useBitmaps
>
> This patch add config push.useBitmaps to prevent git push using bitmap.
>
> The origin discussion is here:
> https://lore.kernel.org/git/b940e705fbe9454685757f2e3055e2ce@tencent.com/
>
> Thanks, -Kyle
>
> Changes since v1:
>
> * changed the commit message
> * modified and added missing \n to push.txt
> * used test_subcommand for test
> * modified "if" statement for "git_config_get_bool()" in send-pack.c
This version satisfies the recommended changes I had from the last
version. As long as we think there is a benefit to having this
additional knob over just pack.useBitmaps, then this is good to go.
For my part, I think having the additional knob is less complicated
than requiring all users in this situation to shift from "push" to
a "fetch" (from the other side of the connection).
Thanks,
-Stolee
next prev parent reply other threads:[~2022-06-16 13:02 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-06-15 11:08 [PATCH] send-pack.c: add config push.useBitmaps Kyle Zhao via GitGitGadget
2022-06-15 13:09 ` Derrick Stolee
2022-06-15 21:24 ` Taylor Blau
2022-06-15 19:47 ` Ævar Arnfjörð Bjarmason
2022-06-15 21:32 ` Taylor Blau
2022-06-16 2:13 ` [Internet]Re: " kylezhao(赵柯宇)
2022-06-16 3:36 ` [PATCH v2] " Kyle Zhao via GitGitGadget
2022-06-16 13:02 ` Derrick Stolee [this message]
2022-06-16 13:38 ` Ævar Arnfjörð Bjarmason
2022-06-16 15:11 ` [Internet]Re: " kylezhao(赵柯宇)
2022-06-16 21:17 ` Taylor Blau
2022-06-16 18:12 ` Junio C Hamano
2022-06-16 21:04 ` Jeff King
2022-06-17 3:59 ` [PATCH v3] " Kyle Zhao via GitGitGadget
2022-06-17 17:01 ` Junio C Hamano
2022-06-17 19:06 ` [PATCH v4] " Kyle Zhao via GitGitGadget
2022-06-17 21:32 ` 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=e2ea1475-ce21-ef52-7301-3ed074c40f9b@github.com \
--to=derrickstolee@github.com \
--cc=avarab@gmail.com \
--cc=git@vger.kernel.org \
--cc=gitgitgadget@gmail.com \
--cc=kylezhao@tencent.com \
--cc=me@ttaylorr.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.