Merge branch 'tb/pseudo-merge-bitmap-fixes'
We created a useless pseudo-merge reachability bitmap that is about 0 commits, and attempted to include commits that are not in packs, which made no sense. These bugs have been corrected. * tb/pseudo-merge-bitmap-fixes: pseudo-merge.c: ensure pseudo-merge groups are closed pseudo-merge.c: do not generate empty pseudo-merge commits t/t5333-pseudo-merge-bitmaps.sh: demonstrate empty pseudo-merge groups pack-bitmap-write.c: select pseudo-merges even for small bitmaps pack-bitmap: drop redundant args from `bitmap_writer_finish()` pack-bitmap: drop redundant args from `bitmap_writer_build()` pack-bitmap: drop redundant args from `bitmap_writer_build_type_index()` pack-bitmap: initialize `bitmap_writer_init()` with packing_data
This commit is contained in:
@@ -218,6 +218,8 @@ static int find_pseudo_merge_group_for_ref(const char *refname,
|
||||
c = lookup_commit(the_repository, oid);
|
||||
if (!c)
|
||||
return 0;
|
||||
if (!packlist_find(writer->to_pack, oid))
|
||||
return 0;
|
||||
|
||||
has_bitmap = bitmap_writer_has_bitmapped_object_id(writer, oid);
|
||||
|
||||
@@ -358,8 +360,10 @@ static void select_pseudo_merges_1(struct bitmap_writer *writer,
|
||||
p = commit_list_append(c, p);
|
||||
} while (j % group->stable_size);
|
||||
|
||||
bitmap_writer_push_commit(writer, merge, 1);
|
||||
writer->pseudo_merges_nr++;
|
||||
if (merge->parents) {
|
||||
bitmap_writer_push_commit(writer, merge, 1);
|
||||
writer->pseudo_merges_nr++;
|
||||
}
|
||||
}
|
||||
|
||||
/* make up to group->max_merges pseudo merges for unstable commits */
|
||||
@@ -399,8 +403,9 @@ static void select_pseudo_merges_1(struct bitmap_writer *writer,
|
||||
p = commit_list_append(c, p);
|
||||
}
|
||||
|
||||
bitmap_writer_push_commit(writer, merge, 1);
|
||||
writer->pseudo_merges_nr++;
|
||||
if (merge->parents) {
|
||||
bitmap_writer_push_commit(writer, merge, 1);
|
||||
writer->pseudo_merges_nr++; }
|
||||
if (end >= matches->unstable_nr)
|
||||
break;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user