зеркало из https://github.com/microsoft/git.git
docs: move pack format docs to man section 5
Continue the move of existing Documentation/technical/* protocol and file-format documentation into our main documentation space by moving the various documentation pertaining to the *.pack format and related files, and updating things that refer to it to link to the new location. By moving these we can properly link from the newly created gitformat-commit-graph to a gitformat-chunk-format page. Integrating "Documentation/technical/bitmap-format.txt" and "Documentation/technical/cruft-packs.txt" might logically be part of this change, but as those cover parts of the wider "pack format" (including associated files) that's documented outside of "Documentation/technical/pack-format.txt" let's leave those for now, subsequent commit(s) will address those. Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Родитель
20516890dc
Коммит
977c47b46d
|
@ -25,8 +25,10 @@ MAN1_TXT += gitweb.txt
|
|||
# man5 / man7 guides (note: new guides should also be added to command-list.txt)
|
||||
MAN5_TXT += gitattributes.txt
|
||||
MAN5_TXT += gitformat-bundle.txt
|
||||
MAN5_TXT += gitformat-chunk.txt
|
||||
MAN5_TXT += gitformat-commit-graph.txt
|
||||
MAN5_TXT += gitformat-index.txt
|
||||
MAN5_TXT += gitformat-pack.txt
|
||||
MAN5_TXT += gitformat-signature.txt
|
||||
MAN5_TXT += githooks.txt
|
||||
MAN5_TXT += gitignore.txt
|
||||
|
@ -108,7 +110,6 @@ TECH_DOCS += technical/hash-function-transition
|
|||
TECH_DOCS += technical/http-protocol
|
||||
TECH_DOCS += technical/long-running-process-protocol
|
||||
TECH_DOCS += technical/multi-pack-index
|
||||
TECH_DOCS += technical/pack-format
|
||||
TECH_DOCS += technical/pack-heuristics
|
||||
TECH_DOCS += technical/parallel-checkout
|
||||
TECH_DOCS += technical/partial-clone
|
||||
|
|
|
@ -166,7 +166,7 @@ permuted into their appropriate location when writing a new bitmap.
|
|||
|
||||
pack.writeReverseIndex::
|
||||
When true, git will write a corresponding .rev file (see:
|
||||
link:../technical/pack-format.html[Documentation/technical/pack-format.txt])
|
||||
linkgit:gitformat-pack[5])
|
||||
for each new packfile that it writes in all places except for
|
||||
linkgit:git-fast-import[1] and in the bulk checkin mechanism.
|
||||
Defaults to false.
|
||||
|
|
|
@ -57,8 +57,7 @@ size. That they're "thin" under the hood is merely noted here as a
|
|||
curiosity, and as a reference to other documentation.
|
||||
|
||||
See linkgit:gitformat-bundle[5] for more details and the discussion of
|
||||
"thin pack" in link:technical/pack-format.html[the pack format
|
||||
documentation] for further details.
|
||||
"thin pack" in linkgit:gitformat-pack[5] for further details.
|
||||
|
||||
OPTIONS
|
||||
-------
|
||||
|
|
|
@ -128,8 +128,8 @@ $ git multi-pack-index verify
|
|||
SEE ALSO
|
||||
--------
|
||||
See link:technical/multi-pack-index.html[The Multi-Pack-Index Design
|
||||
Document] and link:technical/pack-format.html[The Multi-Pack-Index
|
||||
Format] for more information on the multi-pack-index feature.
|
||||
Document] and linkgit:gitformat-pack[5] for more information on the
|
||||
multi-pack-index feature and its file format.
|
||||
|
||||
|
||||
GIT
|
||||
|
|
|
@ -1,11 +1,24 @@
|
|||
Chunk-based file formats
|
||||
========================
|
||||
gitformat-chunk(5)
|
||||
==================
|
||||
|
||||
NAME
|
||||
----
|
||||
gitformat-chunk - Chunk-based file formats
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
|
||||
Used by linkgit:gitformat-commit-graph[5] and the "MIDX" format (see
|
||||
the pack format documentation in linkgit:gitformat-pack[5]).
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
|
||||
Some file formats in Git use a common concept of "chunks" to describe
|
||||
sections of the file. This allows structured access to a large file by
|
||||
scanning a small "table of contents" for the remaining data. This common
|
||||
format is used by the `commit-graph` and `multi-pack-index` files. See
|
||||
link:technical/pack-format.html[the `multi-pack-index` format] and
|
||||
the `multi-pack-index` format in linkgit:gitformat-pack[5] and
|
||||
the `commit-graph` format in linkgit:gitformat-commit-graph[5] for
|
||||
how they use the chunks to describe structured data.
|
||||
|
||||
|
@ -113,4 +126,8 @@ for future formats:
|
|||
* *multi-pack-index:* see `write_midx_internal()` and `load_multi_pack_index()`
|
||||
in `midx.c` for how the chunk-format API is used to write and
|
||||
parse the multi-pack-index file format documented in
|
||||
link:technical/pack-format.html[the multi-pack-index file format].
|
||||
the multi-pack-index file format section of linkgit:gitformat-pack[5].
|
||||
|
||||
GIT
|
||||
---
|
||||
Part of the linkgit:git[1] suite
|
|
@ -75,7 +75,7 @@ All multi-byte numbers are in network byte order.
|
|||
ID appears at most once.
|
||||
|
||||
The CHUNK LOOKUP matches the table of contents from
|
||||
link:technical/chunk-format.html[the chunk-based file format].
|
||||
the chunk-based file format, see linkgit:gitformat-chunk[5]
|
||||
|
||||
The remaining data in the body is described one chunk at a time, and
|
||||
these chunks may be given in any order. Chunks are required unless
|
||||
|
|
|
@ -141,7 +141,7 @@ Git index format
|
|||
entry is encoded as if the path name for the previous entry is an
|
||||
empty string). At the beginning of an entry, an integer N in the
|
||||
variable width encoding (the same encoding as the offset is encoded
|
||||
for OFS_DELTA pack entries; see pack-format.txt) is stored, followed
|
||||
for OFS_DELTA pack entries; see linkgit:gitformat-pack[5]) is stored, followed
|
||||
by a NUL-terminated string S. Removing N bytes from the end of the
|
||||
path name for the previous entry, and replacing it with the string S
|
||||
yields the path name for this entry.
|
||||
|
|
|
@ -1,5 +1,29 @@
|
|||
Git pack format
|
||||
===============
|
||||
gitformat-pack(5)
|
||||
=================
|
||||
|
||||
NAME
|
||||
----
|
||||
gitformat-pack - Git pack format
|
||||
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
[verse]
|
||||
$GIT_DIR/objects/pack/pack-*.{pack,idx}
|
||||
$GIT_DIR/objects/pack/pack-*.rev
|
||||
$GIT_DIR/objects/pack/multi-pack-index
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
|
||||
The Git pack format is now Git stores most of its primary repository
|
||||
data. Over the lietime af a repository loose objects (if any) and
|
||||
smaller packs are consolidated into larger pack(s). See
|
||||
linkgit:git-gc[1] and linkgit:git-pack-objects[1].
|
||||
|
||||
The pack format is also used over-the-wire, see
|
||||
e.g. linkgit:gitprotocol-v2[5], as well as being a part of
|
||||
other container formats in the case of linkgit:gitformat-bundle[5].
|
||||
|
||||
== Checksums and object IDs
|
||||
|
||||
|
@ -356,7 +380,7 @@ CHUNK LOOKUP:
|
|||
using the next chunk position if necessary.)
|
||||
|
||||
The CHUNK LOOKUP matches the table of contents from
|
||||
link:technical/chunk-format.html[the chunk-based file format].
|
||||
the chunk-based file format, see linkgit:gitformat-chunk[5].
|
||||
|
||||
The remaining data in the body is described one chunk at a time, and
|
||||
these chunks may be given in any order. Chunks are required unless
|
||||
|
@ -482,3 +506,7 @@ packs arranged in MIDX order (with the preferred pack coming first).
|
|||
|
||||
The MIDX's reverse index is stored in the optional 'RIDX' chunk within
|
||||
the MIDX itself.
|
||||
|
||||
GIT
|
||||
---
|
||||
Part of the linkgit:git[1] suite
|
|
@ -467,7 +467,7 @@ Now that the client and server have finished negotiation about what
|
|||
the minimal amount of data that needs to be sent to the client is, the server
|
||||
will construct and send the required data in packfile format.
|
||||
|
||||
See pack-format.txt for what the packfile itself actually looks like.
|
||||
See linkgit:gitformat-pack[5] for what the packfile itself actually looks like.
|
||||
|
||||
If 'side-band' or 'side-band-64k' capabilities have been specified by
|
||||
the client, the server will send the packfile data multiplexed.
|
||||
|
|
|
@ -68,7 +68,7 @@ Note that the "object" file isn't fit for feeding straight to zlib; it
|
|||
has the git packed object header, which is variable-length. We want to
|
||||
strip that off so we can start playing with the zlib data directly. You
|
||||
can either work your way through it manually (the format is described in
|
||||
link:../technical/pack-format.html[Documentation/technical/pack-format.txt]),
|
||||
linkgit:gitformat-pack[5]),
|
||||
or you can walk through it in a debugger. I did the latter, creating a
|
||||
valid pack like:
|
||||
|
||||
|
|
|
@ -205,7 +205,7 @@ SHA-1 content.
|
|||
Object storage
|
||||
~~~~~~~~~~~~~~
|
||||
Loose objects use zlib compression and packed objects use the packed
|
||||
format described in Documentation/technical/pack-format.txt, just like
|
||||
format described in linkgit:gitformat-pack[5], just like
|
||||
today. The content that is compressed and stored uses SHA-256 content
|
||||
instead of SHA-1 content.
|
||||
|
||||
|
|
|
@ -3133,7 +3133,7 @@ those "loose" objects.
|
|||
You can save space and make Git faster by moving these loose objects in
|
||||
to a "pack file", which stores a group of objects in an efficient
|
||||
compressed format; the details of how pack files are formatted can be
|
||||
found in link:technical/pack-format.html[pack format].
|
||||
found in link:gitformat-pack[5].
|
||||
|
||||
To put the loose objects into a pack, just run git repack:
|
||||
|
||||
|
|
3
cache.h
3
cache.h
|
@ -475,8 +475,7 @@ extern struct index_state the_index;
|
|||
|
||||
/*
|
||||
* Values in this enum (except those outside the 3 bit range) are part
|
||||
* of pack file format. See Documentation/technical/pack-format.txt
|
||||
* for more information.
|
||||
* of pack file format. See gitformat-pack(5) for more information.
|
||||
*/
|
||||
enum object_type {
|
||||
OBJ_BAD = -1,
|
||||
|
|
|
@ -210,8 +210,10 @@ gitdiffcore guide
|
|||
giteveryday guide
|
||||
gitfaq guide
|
||||
gitformat-bundle developerinterfaces
|
||||
gitformat-chunk developerinterfaces
|
||||
gitformat-commit-graph developerinterfaces
|
||||
gitformat-index developerinterfaces
|
||||
gitformat-pack developerinterfaces
|
||||
gitformat-signature developerinterfaces
|
||||
gitglossary guide
|
||||
githooks userinterfaces
|
||||
|
|
|
@ -22,7 +22,7 @@
|
|||
*
|
||||
* - pack position refers to an object's position within a non-existent pack
|
||||
* described by the MIDX. The pack structure is described in
|
||||
* Documentation/technical/pack-format.txt.
|
||||
* gitformat-pack(5).
|
||||
*
|
||||
* It is effectively a concatanation of all packs in the MIDX (ordered by
|
||||
* their numeric ID within the MIDX) in their original order within each
|
||||
|
|
Загрузка…
Ссылка в новой задаче