Home Explore Blog CI



git

3rd chunk of `Documentation/git-pack-objects.adoc`
5d2675b0b1906df4fb6468d57d8c99a5258bd331053cc8760000000100000fa1

	advantage of the large window for the smaller objects.  The
	size can be suffixed with "k", "m", or "g".
	`--window-memory=0` makes memory usage unlimited.  The default
	is taken from the `pack.windowMemory` configuration variable.

--max-pack-size=<n>::
	In unusual scenarios, you may not be able to create files
	larger than a certain size on your filesystem, and this option
	can be used to tell the command to split the output packfile
	into multiple independent packfiles, each not larger than the
	given size. The size can be suffixed with
	"k", "m", or "g". The minimum size allowed is limited to 1 MiB.
	The default is unlimited, unless the config variable
	`pack.packSizeLimit` is set. Note that this option may result in
	a larger and slower repository; see the discussion in
	`pack.packSizeLimit`.

--honor-pack-keep::
	This flag causes an object already in a local pack that
	has a .keep file to be ignored, even if it would have
	otherwise been packed.

--keep-pack=<pack-name>::
	This flag causes an object already in the given pack to be
	ignored, even if it would have otherwise been
	packed. `<pack-name>` is the pack file name without
	leading directory (e.g. `pack-123.pack`). The option could be
	specified multiple times to keep multiple packs.

--incremental::
	This flag causes an object already in a pack to be ignored
	even if it would have otherwise been packed.

--local::
	This flag causes an object that is borrowed from an alternate
	object store to be ignored even if it would have otherwise been
	packed.

--non-empty::
        Only create a packed archive if it would contain at
        least one object.

--progress::
	Progress status is reported on the standard error stream
	by default when it is attached to a terminal, unless -q
	is specified. This flag forces progress status even if
	the standard error stream is not directed to a terminal.

--all-progress::
	When --stdout is specified then progress report is
	displayed during the object count and compression phases
	but inhibited during the write-out phase. The reason is
	that in some cases the output stream is directly linked
	to another command which may wish to display progress
	status of its own as it processes incoming pack data.
	This flag is like --progress except that it forces progress
	report for the write-out phase as well even if --stdout is
	used.

--all-progress-implied::
	This is used to imply --all-progress whenever progress display
	is activated.  Unlike --all-progress this flag doesn't actually
	force any progress display by itself.

-q::
	This flag makes the command not to report its progress
	on the standard error stream.

--no-reuse-delta::
	When creating a packed archive in a repository that
	has existing packs, the command reuses existing deltas.
	This sometimes results in a slightly suboptimal pack.
	This flag tells the command not to reuse existing deltas
	but compute them from scratch.

--no-reuse-object::
	This flag tells the command not to reuse existing object data at all,
	including non deltified object, forcing recompression of everything.
	This implies --no-reuse-delta. Useful only in the obscure case where
	wholesale enforcement of a different compression level on the
	packed data is desired.

--compression=<n>::
	Specifies compression level for newly-compressed data in the
	generated pack.  If not specified,  pack compression level is
	determined first by pack.compression,  then by core.compression,
	and defaults to -1,  the zlib default,  if neither is set.
	Add --no-reuse-object if you want to force a uniform compression
	level on all data no matter the source.

--[no-]sparse::
	Toggle the "sparse" algorithm to determine which objects to include in
	the pack, when combined with the "--revs" option. 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

Title: Git Pack Objects Options Continued
Summary
The git-pack-objects command provides additional options for customizing pack creation, including flags for handling pack reuse, compression, progress reporting, and object selection, allowing for fine-grained control over the packing process to optimize repository performance and data transfer.