git-cvsexportcommit.perl: use getopts to get binary flags
[git/jnareb-git.git] / Documentation / git-pack-objects.txt
blobd1e93dbb372624d68fa96eb8bed141f1e76f0308
1 git-pack-objects(1)
2 ===================
4 NAME
5 ----
6 git-pack-objects - Create a packed archive of objects.
9 SYNOPSIS
10 --------
11 'git-pack-objects' [--local] [--incremental] [--window=N] [--depth=N] {--stdout | base-name} < object-list
14 DESCRIPTION
15 -----------
16 Reads list of objects from the standard input, and writes a packed
17 archive with specified base-name, or to the standard output.
19 A packed archive is an efficient way to transfer set of objects
20 between two repositories, and also is an archival format which
21 is efficient to access.  The packed archive format (.pack) is
22 designed to be unpackable without having anything else, but for
23 random access, accompanied with the pack index file (.idx).
25 'git-unpack-objects' command can read the packed archive and
26 expand the objects contained in the pack into "one-file
27 one-object" format; this is typically done by the smart-pull
28 commands when a pack is created on-the-fly for efficient network
29 transport by their peers.
31 Placing both in the pack/ subdirectory of $GIT_OBJECT_DIRECTORY (or
32 any of the directories on $GIT_ALTERNATE_OBJECT_DIRECTORIES)
33 enables git to read from such an archive.
36 OPTIONS
37 -------
38 base-name::
39         Write into a pair of files (.pack and .idx), using
40         <base-name> to determine the name of the created file.
41         When this option is used, the two files are written in
42         <base-name>-<SHA1>.{pack,idx} files.  <SHA1> is a hash
43         of object names (currently in random order so it does
44         not have any useful meaning) to make the resulting
45         filename reasonably unique, and written to the standard
46         output of the command.
48 --stdout::
49         Write the pack contents (what would have been writtin to
50         .pack file) out to the standard output.
52 --window and --depth::
53         These two options affects how the objects contained in
54         the pack are stored using delta compression.  The
55         objects are first internally sorted by type, size and
56         optionally names and compared against the other objects
57         within --window to see if using delta compression saves
58         space.  --depth limits the maximum delta depth; making
59         it too deep affects the performance on the unpacker
60         side, because delta data needs to be applied that many
61         times to get to the necessary object.
63 --incremental::
64         This flag causes an object already in a pack ignored
65         even if it appears in the standard input.
67 --local::
68         This flag is similar to `--incremental`; instead of
69         ignoring all packed objects, it only ignores objects
70         that are packed and not in the local object store
71         (i.e. borrowed from an alternate).
73 Author
74 ------
75 Written by Linus Torvalds <torvalds@osdl.org>
77 Documentation
78 -------------
79 Documentation by Junio C Hamano
81 See-Also
82 --------
83 gitlink:git-repack[1]
84 gitlink:git-prune-packed[1]
86 GIT
87 ---
88 Part of the gitlink:git[7] suite