Home Explore Blog CI



git

3rd chunk of `Documentation/config/pack.adoc`
795bf762e09d7892e3531a24de82d20a2c5880334e3bdf640000000100000869
 multiple packs).
+
If you need to actively run Git using smaller packfiles (e.g., because your
filesystem does not support large files), this option may help. But if
your goal is to transmit a packfile over a medium that supports limited
sizes (e.g., removable media that cannot store the whole repository),
you are likely better off creating a single large packfile and splitting
it using a generic multi-volume archive tool (e.g., Unix `split`).
+
The minimum size allowed is limited to 1 MiB. The default is unlimited.
Common unit suffixes of 'k', 'm', or 'g' are supported.

pack.useBitmaps::
	When true, git will use pack bitmaps (if available) when packing
	to stdout (e.g., during the server side of a fetch). Defaults to
	true. You should not generally need to turn this off unless
	you are debugging pack bitmaps.

pack.useBitmapBoundaryTraversal::
	When true, Git will use an experimental algorithm for computing
	reachability queries with bitmaps. Instead of building up
	complete bitmaps for all of the negated tips and then OR-ing
	them together, consider negated tips with existing bitmaps as
	additive (i.e. OR-ing them into the result if they exist,
	ignoring them otherwise), and build up a bitmap at the boundary
	instead.
+
When using this algorithm, Git may include too many objects as a result
of not opening up trees belonging to certain UNINTERESTING commits. This
inexactness matches the non-bitmap traversal algorithm.
+
In many cases, this can provide a speed-up over the exact algorithm,
particularly when there is poor bitmap coverage of the negated side of
the query.

pack.useSparse::
	When true, git will default to using the '--sparse' option in
	'git pack-objects' when the '--revs' option is present. This
	algorithm only walks trees that appear in paths that introduce new
	objects. This can have significant performance benefits when
	computing a pack to send a small change. However, it is possible
	that extra objects are added to the pack-file if the included
	commits contain certain types of direct renames. Default is
	`true`.

pack.preferBitmapTips::
	When selecting which commits will receive bitmaps, prefer

Title: Advanced Git Packing Configuration
Summary
This section describes additional Git configuration options for packing, including settings for pack size limits, bitmap usage, boundary traversal algorithms, sparse packing, and bitmap tip preferences, which can impact performance, memory usage, and pack file composition.