From: Derrick Stolee Date: Thu, 16 Jun 2022 13:02:23 GMT Subject: Re: [PATCH v2] send-pack.c: add config push.useBitmaps Message-ID: In-Reply-To: On 6/15/2022 11:36 PM, Kyle Zhao via GitGitGadget wrote: > From: Kyle Zhao > > 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 > --- > 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