author | Shawn O. Pearce <spearce@spearce.org> | |
Tue, 12 Aug 2008 18:31:06 +0000 (11:31 -0700) | ||
committer | Junio C Hamano <gitster@pobox.com> | |
Tue, 12 Aug 2008 22:39:46 +0000 (15:39 -0700) | ||
commit | 6d6f9cddbe419710a36e778a50a7712ac4ba016f | |
tree | a84b6a06ad9d249cf2148deade4b09cee5b07366 | tree | snapshot |
parent | 04c6e9e9ca34226db095bbaa1218030f99f0b7c6 | commit | diff |
pack-objects: Allow missing base objects when creating thin packs
If we are building a thin pack and one of the base objects we would
consider for deltification is missing its OK, the other side already
has that base object. We may be able to get a delta from another
object, or we can simply send the new object whole (no delta).
This change allows a shallow clone to store only the objects which
are unique to it, as well as the boundary commit and its trees, but
avoids storing the boundary blobs. This special form of a shallow
clone is able to represent just the difference between two trees.
Pack objects change suggested by Nicolas Pitre.
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Acked-by: Nicolas Pitre <nico@cam.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
If we are building a thin pack and one of the base objects we would
consider for deltification is missing its OK, the other side already
has that base object. We may be able to get a delta from another
object, or we can simply send the new object whole (no delta).
This change allows a shallow clone to store only the objects which
are unique to it, as well as the boundary commit and its trees, but
avoids storing the boundary blobs. This special form of a shallow
clone is able to represent just the difference between two trees.
Pack objects change suggested by Nicolas Pitre.
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Acked-by: Nicolas Pitre <nico@cam.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
builtin-pack-objects.c | diff | blob | history | |
t/t5306-pack-nobase.sh | [new file with mode: 0755] | blob |