diff options
| -rw-r--r-- | builtin/pack-objects.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/builtin/pack-objects.c b/builtin/pack-objects.c index 28e56a94f7..d40ee42472 100644 --- a/builtin/pack-objects.c +++ b/builtin/pack-objects.c @@ -1128,6 +1128,10 @@ static int have_duplicate_entry(const struct object_id *oid, { struct object_entry *entry; + if (reuse_packfile_bitmap && + bitmap_walk_contains(bitmap_git, reuse_packfile_bitmap, oid)) + return 1; + entry = packlist_find(&to_pack, oid, index_pos); if (!entry) return 0; @@ -2697,7 +2701,9 @@ static void ll_find_deltas(struct object_entry **list, unsigned list_size, static int obj_is_packed(const struct object_id *oid) { - return !!packlist_find(&to_pack, oid, NULL); + return packlist_find(&to_pack, oid, NULL) || + (reuse_packfile_bitmap && + bitmap_walk_contains(bitmap_git, reuse_packfile_bitmap, oid)); } static void add_tag_chain(const struct object_id *oid) |
