aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--builtin/pack-objects.c8
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)