pack-objects: create pack.useSparse setting
authorDerrick Stolee <dstolee@microsoft.com>
Wed, 16 Jan 2019 18:26:00 +0000 (10:26 -0800)
committerJunio C Hamano <gitster@pobox.com>
Thu, 17 Jan 2019 21:44:43 +0000 (13:44 -0800)
commit3d036eb0d2c778941cd31b8785d5036949e8778b
treecb67ddde97b94b11b041a12ca63d2bcf652c16e9
parentd5d2e93577e2b9f4a251f97116259346f0bead1e
pack-objects: create pack.useSparse setting

The '--sparse' flag in 'git pack-objects' changes the algorithm
used to enumerate objects to one that is faster for individual
users pushing new objects that change only a small cone of the
working directory. The sparse algorithm is not recommended for a
server, which likely sends new objects that appear across the
entire working directory.

Create a 'pack.useSparse' setting that enables this new algorithm.
This allows 'git push' to use this algorithm without passing a
'--sparse' flag all the way through four levels of run_command()
calls.

If the '--no-sparse' flag is set, then this config setting is
overridden.

Signed-off-by: Derrick Stolee <dstolee@microsoft.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Documentation/config/pack.txt
builtin/pack-objects.c
t/t5322-pack-objects-sparse.sh