Junio C Hamano | 1a4e841 | 2005-12-27 08:17:23 | [diff] [blame] | 1 | git-pack-objects(1) |
| 2 | =================== |
| 3 | |
| 4 | NAME |
| 5 | ---- |
Junio C Hamano | 0107892 | 2006-03-10 00:31:47 | [diff] [blame] | 6 | git-pack-objects - Create a packed archive of objects |
Junio C Hamano | 1a4e841 | 2005-12-27 08:17:23 | [diff] [blame] | 7 | |
| 8 | |
| 9 | SYNOPSIS |
| 10 | -------- |
Junio C Hamano | 7e9f6b7 | 2006-02-22 10:44:55 | [diff] [blame] | 11 | [verse] |
| 12 | 'git-pack-objects' [-q] [--no-reuse-delta] [--non-empty] |
| 13 | [--local] [--incremental] [--window=N] [--depth=N] |
| 14 | {--stdout | base-name} < object-list |
Junio C Hamano | 1a4e841 | 2005-12-27 08:17:23 | [diff] [blame] | 15 | |
| 16 | |
| 17 | DESCRIPTION |
| 18 | ----------- |
| 19 | Reads list of objects from the standard input, and writes a packed |
| 20 | archive with specified base-name, or to the standard output. |
| 21 | |
| 22 | A packed archive is an efficient way to transfer set of objects |
| 23 | between two repositories, and also is an archival format which |
| 24 | is efficient to access. The packed archive format (.pack) is |
| 25 | designed to be unpackable without having anything else, but for |
| 26 | random access, accompanied with the pack index file (.idx). |
| 27 | |
| 28 | 'git-unpack-objects' command can read the packed archive and |
| 29 | expand the objects contained in the pack into "one-file |
| 30 | one-object" format; this is typically done by the smart-pull |
| 31 | commands when a pack is created on-the-fly for efficient network |
| 32 | transport by their peers. |
| 33 | |
| 34 | Placing both in the pack/ subdirectory of $GIT_OBJECT_DIRECTORY (or |
| 35 | any of the directories on $GIT_ALTERNATE_OBJECT_DIRECTORIES) |
| 36 | enables git to read from such an archive. |
| 37 | |
Junio C Hamano | 7e9f6b7 | 2006-02-22 10:44:55 | [diff] [blame] | 38 | In a packed archive, an object is either stored as a compressed |
| 39 | whole, or as a difference from some other object. The latter is |
| 40 | often called a delta. |
| 41 | |
Junio C Hamano | 1a4e841 | 2005-12-27 08:17:23 | [diff] [blame] | 42 | |
| 43 | OPTIONS |
| 44 | ------- |
| 45 | base-name:: |
| 46 | Write into a pair of files (.pack and .idx), using |
| 47 | <base-name> to determine the name of the created file. |
| 48 | When this option is used, the two files are written in |
| 49 | <base-name>-<SHA1>.{pack,idx} files. <SHA1> is a hash |
| 50 | of object names (currently in random order so it does |
| 51 | not have any useful meaning) to make the resulting |
| 52 | filename reasonably unique, and written to the standard |
| 53 | output of the command. |
| 54 | |
| 55 | --stdout:: |
Junio C Hamano | 235a91e | 2006-01-07 01:13:58 | [diff] [blame] | 56 | Write the pack contents (what would have been written to |
Junio C Hamano | 1a4e841 | 2005-12-27 08:17:23 | [diff] [blame] | 57 | .pack file) out to the standard output. |
| 58 | |
| 59 | --window and --depth:: |
| 60 | These two options affects how the objects contained in |
| 61 | the pack are stored using delta compression. The |
| 62 | objects are first internally sorted by type, size and |
| 63 | optionally names and compared against the other objects |
| 64 | within --window to see if using delta compression saves |
| 65 | space. --depth limits the maximum delta depth; making |
| 66 | it too deep affects the performance on the unpacker |
| 67 | side, because delta data needs to be applied that many |
| 68 | times to get to the necessary object. |
| 69 | |
| 70 | --incremental:: |
| 71 | This flag causes an object already in a pack ignored |
| 72 | even if it appears in the standard input. |
| 73 | |
| 74 | --local:: |
| 75 | This flag is similar to `--incremental`; instead of |
| 76 | ignoring all packed objects, it only ignores objects |
| 77 | that are packed and not in the local object store |
| 78 | (i.e. borrowed from an alternate). |
| 79 | |
| 80 | --non-empty:: |
| 81 | Only create a packed archive if it would contain at |
| 82 | least one object. |
| 83 | |
Junio C Hamano | 7e9f6b7 | 2006-02-22 10:44:55 | [diff] [blame] | 84 | -q:: |
| 85 | This flag makes the command not to report its progress |
| 86 | on the standard error stream. |
| 87 | |
| 88 | --no-reuse-delta:: |
| 89 | When creating a packed archive in a repository that |
| 90 | has existing packs, the command reuses existing deltas. |
| 91 | This sometimes results in a slightly suboptimal pack. |
| 92 | This flag tells the command not to reuse existing deltas |
| 93 | but compute them from scratch. |
| 94 | |
| 95 | |
Junio C Hamano | 1a4e841 | 2005-12-27 08:17:23 | [diff] [blame] | 96 | Author |
| 97 | ------ |
| 98 | Written by Linus Torvalds <torvalds@osdl.org> |
| 99 | |
| 100 | Documentation |
| 101 | ------------- |
| 102 | Documentation by Junio C Hamano |
| 103 | |
Junio C Hamano | decf50e | 2006-03-05 10:51:14 | [diff] [blame] | 104 | See Also |
Junio C Hamano | 1a4e841 | 2005-12-27 08:17:23 | [diff] [blame] | 105 | -------- |
| 106 | gitlink:git-repack[1] |
| 107 | gitlink:git-prune-packed[1] |
| 108 | |
| 109 | GIT |
| 110 | --- |
| 111 | Part of the gitlink:git[7] suite |
| 112 | |