Browse Source

Documentation: describe --thin more accurately

The description for --thin was misleading and downright wrong. Correct
it with some inspiration from the description of index-pack's --fix-thin
and some background information from Nicolas Pitre <nico@fluxnic.net>.

Signed-off-by: Stephen Boyd <bebarino@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
maint
Stephen Boyd 15 years ago committed by Junio C Hamano
parent
commit
738820a913
  1. 4
      Documentation/git-fetch-pack.txt
  2. 12
      Documentation/git-index-pack.txt
  3. 37
      Documentation/git-pack-objects.txt
  4. 7
      Documentation/git-push.txt
  5. 4
      Documentation/git-send-pack.txt

4
Documentation/git-fetch-pack.txt

@ -44,8 +44,8 @@ OPTIONS
locked against repacking. locked against repacking.


--thin:: --thin::
Spend extra cycles to minimize the number of objects to be sent. Fetch a "thin" pack, which records objects in deltified form based
Use it on slower connection. on objects not included in the pack to reduce network traffic.


--include-tag:: --include-tag::
If the remote side supports it, annotated tags objects will If the remote side supports it, annotated tags objects will

12
Documentation/git-index-pack.txt

@ -46,14 +46,10 @@ OPTIONS
'git repack'. 'git repack'.


--fix-thin:: --fix-thin::
It is possible for 'git pack-objects' to build Fix a "thin" pack produced by `git pack-objects --thin` (see
"thin" pack, which records objects in deltified form based on linkgit:git-pack-objects[1] for details) by adding the
objects not included in the pack to reduce network traffic. excluded objects the deltified objects are based on to the
Those objects are expected to be present on the receiving end pack. This option only makes sense in conjunction with --stdin.
and they must be included in the pack for that pack to be self
contained and indexable. Without this option any attempt to
index a thin pack will fail. This option only makes sense in
conjunction with --stdin.


--keep:: --keep::
Before moving the index into its final destination Before moving the index into its final destination

37
Documentation/git-pack-objects.txt

@ -21,16 +21,21 @@ DESCRIPTION
Reads list of objects from the standard input, and writes a packed Reads list of objects from the standard input, and writes a packed
archive with specified base-name, or to the standard output. archive with specified base-name, or to the standard output.


A packed archive is an efficient way to transfer set of objects A packed archive is an efficient way to transfer a set of objects
between two repositories, and also is an archival format which between two repositories as well as an access efficient archival
is efficient to access. The packed archive format (.pack) is format. In a packed archive, an object is either stored as a
designed to be self contained so that it can be unpacked without compressed whole or as a difference from some other object.
any further information, but for fast, random access to the objects The latter is often called a delta.
in the pack, a pack index file (.idx) will be generated.

The packed archive format (.pack) is designed to be self-contained
Placing both in the pack/ subdirectory of $GIT_OBJECT_DIRECTORY (or so that it can be unpacked without any further information. Therefore,
each object that a delta depends upon must be present within the pack.

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) any of the directories on $GIT_ALTERNATE_OBJECT_DIRECTORIES)
enables git to read from such an archive. enables git to read from the pack archive.


The 'git unpack-objects' command can read the packed archive and The 'git unpack-objects' command can read the packed archive and
expand the objects contained in the pack into "one-file expand the objects contained in the pack into "one-file
@ -38,10 +43,6 @@ one-object" format; this is typically done by the smart-pull
commands when a pack is created on-the-fly for efficient network commands when a pack is created on-the-fly for efficient network
transport by their peers. transport by their peers.


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.



OPTIONS OPTIONS
------- -------
@ -179,6 +180,16 @@ base-name::
Add --no-reuse-object if you want to force a uniform compression Add --no-reuse-object if you want to force a uniform compression
level on all data no matter the source. level on all data no matter the source.


--thin::
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.
+
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 `git index-pack --fix-thin`
(see linkgit:git-index-pack[1]) to restore the self-contained property.

--delta-base-offset:: --delta-base-offset::
A packed archive can express base object of a delta as A packed archive can express base object of a delta as
either 20-byte object name or as an offset in the either 20-byte object name or as an offset in the

7
Documentation/git-push.txt

@ -141,9 +141,10 @@ useful if you write an alias or script around 'git push'.


--thin:: --thin::
--no-thin:: --no-thin::
These options are passed to 'git send-pack'. Thin These options are passed to linkgit:git-send-pack[1]. A thin transfer
transfer spends extra cycles to minimize the number of significantly reduces the amount of sent data when the sender and
objects to be sent and meant to be used on slower connection. receiver share many of the same objects in common. The default is
\--thin.


-v:: -v::
--verbose:: --verbose::

4
Documentation/git-send-pack.txt

@ -48,8 +48,8 @@ OPTIONS
Run verbosely. Run verbosely.


--thin:: --thin::
Spend extra cycles to minimize the number of objects to be sent. Send a "thin" pack, which records objects in deltified form based
Use it on slower connection. on objects not included in the pack to reduce network traffic.


<host>:: <host>::
A remote host to house the repository. When this A remote host to house the repository. When this

Loading…
Cancel
Save