From: Ævar Arnfjörð Bjarmason Date: Thu, 16 Jun 2022 13:38:36 GMT Subject: Re: [PATCH v2] send-pack.c: add config push.useBitmaps Message-ID: <220616.86fsk4ww69.gmgdl@evledraar.gmail.com> In-Reply-To: On Thu, Jun 16 2022, 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/ > [...] > + mk_test testrepo heads/main && > + git checkout main && > + GIT_TRACE2_EVENT="$PWD/default" \ > + git push testrepo main:test && > + test_subcommand git pack-objects --all-progress-implied --revs --stdout \ > + --thin --delta-base-offset -q --no-use-bitmap-index 30k at least) number of refs, and where the bitmaps were in some state of staleness (this usually being my working copy, where I rely on "git gc --auto").