diff options
author | Junio C Hamano <gitster@pobox.com> | 2011-11-16 22:04:03 -0800 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2011-11-16 22:06:08 -0800 |
commit | f63c79dbc8c5670533557d311ed0e81fcfc9fe3a (patch) | |
tree | 23bbcdba48b0eb9efa8212c47ffff5bfb041f42f /builtin/ls-tree.c | |
parent | Git 1.7.6.4 (diff) | |
download | tgif-f63c79dbc8c5670533557d311ed0e81fcfc9fe3a.tar.xz |
pack-object: tolerate broken packs that have duplicated objects
When --reuse-delta is in effect (which is the default), and an existing
pack in the repository has the same object registered twice (e.g. one copy
in a non-delta format and the other copy in a delta against some other
object), an attempt to repack the repository can result in a cyclic delta
dependency, causing write_one() function to infinitely recurse into
itself.
Detect such a case and break the loopy dependency by writing out an object
that is involved in such a loop in the non-delta format.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'builtin/ls-tree.c')
0 files changed, 0 insertions, 0 deletions