'\" t
.\"     Title: git-pack-objects
.\"    Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
.\"      Date: 04/19/2017
.\"    Manual: Git Manual
.\"    Source: Git 2.13.0.rc0
.\"  Language: English
.\"
.TH "GIT\-PACK\-OBJECTS" "1" "04/19/2017" "Git 2\&.13\&.0\&.rc0" "Git Manual"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.\" http://bugs.debian.org/507673
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.ie \n(.g .ds Aq \(aq
.el       .ds Aq '
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.SH "NAME"
git-pack-objects \- Create a packed archive of objects
.SH "SYNOPSIS"
.sp
.nf
\fIgit pack\-objects\fR [\-q | \-\-progress | \-\-all\-progress] [\-\-all\-progress\-implied]
        [\-\-no\-reuse\-delta] [\-\-delta\-base\-offset] [\-\-non\-empty]
        [\-\-local] [\-\-incremental] [\-\-window=<n>] [\-\-depth=<n>]
        [\-\-revs [\-\-unpacked | \-\-all]] [\-\-stdout | base\-name]
        [\-\-shallow] [\-\-keep\-true\-parents] < object\-list
.fi
.sp
.SH "DESCRIPTION"
.sp
Reads list of objects from the standard input, and writes a packed archive with specified base\-name, or to the standard output\&.
.sp
A packed archive is an efficient way to transfer a set of objects between two repositories as well as an access efficient archival format\&. In a packed archive, an object is either stored as a compressed whole or as a difference from some other object\&. The latter is often called a delta\&.
.sp
The packed archive format (\&.pack) is designed to be self\-contained so that it can be unpacked without any further information\&. Therefore, each object that a delta depends upon must be present within the pack\&.
.sp
A pack index file (\&.idx) is generated for fast, random access to the objects in the pack\&. Placing both the index file (\&.idx) and the packed archive (\&.pack) in the pack/ subdirectory of $GIT_OBJECT_DIRECTORY (or any of the directories on $GIT_ALTERNATE_OBJECT_DIRECTORIES) enables Git to read from the pack archive\&.
.sp
The \fIgit unpack\-objects\fR command can read the packed archive and expand the objects contained in the pack into "one\-file one\-object" format; this is typically done by the smart\-pull commands when a pack is created on\-the\-fly for efficient network transport by their peers\&.
.SH "OPTIONS"
.PP
base\-name
.RS 4
Write into a pair of files (\&.pack and \&.idx), using <base\-name> to determine the name of the created file\&. When this option is used, the two files are written in <base\-name>\-<SHA\-1>\&.{pack,idx} files\&. <SHA\-1> is a hash based on the pack content and is written to the standard output of the command\&.
.RE
.PP
\-\-stdout
.RS 4
Write the pack contents (what would have been written to \&.pack file) out to the standard output\&.
.RE
.PP
\-\-revs
.RS 4
Read the revision arguments from the standard input, instead of individual object names\&. The revision arguments are processed the same way as
\fIgit rev\-list\fR
with the
\fB\-\-objects\fR
flag uses its
\fBcommit\fR
arguments to build the list of objects it outputs\&. The objects on the resulting list are packed\&. Besides revisions,
\fB\-\-not\fR
or
\fB\-\-shallow <SHA\-1>\fR
lines are also accepted\&.
.RE
.PP
\-\-unpacked
.RS 4
This implies
\fB\-\-revs\fR\&. When processing the list of revision arguments read from the standard input, limit the objects packed to those that are not already packed\&.
.RE
.PP
\-\-all
.RS 4
This implies
\fB\-\-revs\fR\&. In addition to the list of revision arguments read from the standard input, pretend as if all refs under
\fBrefs/\fR
are specified to be included\&.
.RE
.PP
\-\-include\-tag
.RS 4
Include unasked\-for annotated tags if the object they reference was included in the resulting packfile\&. This can be useful to send new tags to native Git clients\&.
.RE
.PP
\-\-window=<n>, \-\-depth=<n>
.RS 4
These two options affect how the objects contained in the pack are stored using delta compression\&. The objects are first internally sorted by type, size and optionally names and compared against the other objects within \-\-window to see if using delta compression saves space\&. \-\-depth limits the maximum delta depth; making it too deep affects the performance on the unpacker side, because delta data needs to be applied that many times to get to the necessary object\&. The default value for \-\-window is 10 and \-\-depth is 50\&.
.RE
.PP
\-\-window\-memory=<n>
.RS 4
This option provides an additional limit on top of
\fB\-\-window\fR; the window size will dynamically scale down so as to not take up more than
\fI<n>\fR
bytes in memory\&. This is useful in repositories with a mix of large and small objects to not run out of memory with a large window, but still be able to take advantage of the large window for the smaller objects\&. The size can be suffixed with "k", "m", or "g"\&.
\fB\-\-window\-memory=0\fR
makes memory usage unlimited\&. The default is taken from the
\fBpack\&.windowMemory\fR
configuration variable\&.
.RE
.PP
\-\-max\-pack\-size=<n>
.RS 4
Maximum size of each output pack file\&. The size can be suffixed with "k", "m", or "g"\&. The minimum size allowed is limited to 1 MiB\&. If specified, multiple packfiles may be created, which also prevents the creation of a bitmap index\&. The default is unlimited, unless the config variable
\fBpack\&.packSizeLimit\fR
is set\&.
.RE
.PP
\-\-honor\-pack\-keep
.RS 4
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\&.
.RE
.PP
\-\-incremental
.RS 4
This flag causes an object already in a pack to be ignored even if it would have otherwise been packed\&.
.RE
.PP
\-\-local
.RS 4
This flag causes an object that is borrowed from an alternate object store to be ignored even if it would have otherwise been packed\&.
.RE
.PP
\-\-non\-empty
.RS 4
Only create a packed archive if it would contain at least one object\&.
.RE
.PP
\-\-progress
.RS 4
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\&.
.RE
.PP
\-\-all\-progress
.RS 4
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\&.
.RE
.PP
\-\-all\-progress\-implied
.RS 4
This is used to imply \-\-all\-progress whenever progress display is activated\&. Unlike \-\-all\-progress this flag doesn\(cqt actually force any progress display by itself\&.
.RE
.PP
\-q
.RS 4
This flag makes the command not to report its progress on the standard error stream\&.
.RE
.PP
\-\-no\-reuse\-delta
.RS 4
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\&.
.RE
.PP
\-\-no\-reuse\-object
.RS 4
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\&.
.RE
.PP
\-\-compression=<n>
.RS 4
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\&.
.RE
.PP
\-\-thin
.RS 4
Create a "thin" pack by omitting the common objects between a sender and a receiver in order to reduce network transfer\&. This option only makes sense in conjunction with \-\-stdout\&.
.sp
Note: A thin pack violates the packed archive format by omitting required objects and is thus unusable by Git without making it self\-contained\&. Use
\fBgit index\-pack \-\-fix\-thin\fR
(see
\fBgit-index-pack\fR(1)) to restore the self\-contained property\&.
.RE
.PP
\-\-shallow
.RS 4
Optimize a pack that will be provided to a client with a shallow repository\&. This option, combined with \-\-thin, can result in a smaller pack at the cost of speed\&.
.RE
.PP
\-\-delta\-base\-offset
.RS 4
A packed archive can express the base object of a delta as either a 20\-byte object name or as an offset in the stream, but ancient versions of Git don\(cqt understand the latter\&. By default,
\fIgit pack\-objects\fR
only uses the former format for better compatibility\&. This option allows the command to use the latter format for compactness\&. Depending on the average delta chain length, this option typically shrinks the resulting packfile by 3\-5 per\-cent\&.
.sp
Note: Porcelain commands such as
\fBgit gc\fR
(see
\fBgit-gc\fR(1)),
\fBgit repack\fR
(see
\fBgit-repack\fR(1)) pass this option by default in modern Git when they put objects in your repository into pack files\&. So does
\fBgit bundle\fR
(see
\fBgit-bundle\fR(1)) when it creates a bundle\&.
.RE
.PP
\-\-threads=<n>
.RS 4
Specifies the number of threads to spawn when searching for best delta matches\&. This requires that pack\-objects be compiled with pthreads otherwise this option is ignored with a warning\&. This is meant to reduce packing time on multiprocessor machines\&. The required amount of memory for the delta search window is however multiplied by the number of threads\&. Specifying 0 will cause Git to auto\-detect the number of CPU\(cqs and set the number of threads accordingly\&.
.RE
.PP
\-\-index\-version=<version>[,<offset>]
.RS 4
This is intended to be used by the test suite only\&. It allows to force the version for the generated pack index, and to force 64\-bit index entries on objects located above the given offset\&.
.RE
.PP
\-\-keep\-true\-parents
.RS 4
With this option, parents that are hidden by grafts are packed nevertheless\&.
.RE
.SH "SEE ALSO"
.sp
\fBgit-rev-list\fR(1) \fBgit-repack\fR(1) \fBgit-prune-packed\fR(1)
.SH "GIT"
.sp
Part of the \fBgit\fR(1) suite
