On 6/15/2022 11:36 PM, Kyle Zhao via GitGitGadget wrote: > From: Kyle Zhao <kylezhao@xxxxxxxxxxx> > > 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@xxxxxxxxxxxxxxxxxxx/ > > Signed-off-by: Kyle Zhao <kylezhao@xxxxxxxxxxx> > --- > 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@xxxxxxxxxxx/ > > 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