Skip to content

Commit

Permalink
pack-bitmap.c: typofix in find_boundary_objects()
Browse files Browse the repository at this point in the history
In the boundary-based bitmap traversal, we use the given 'rev_info'
structure to first do a commit-only walk in order to determine the
boundary between interesting and uninteresting objects.

That walk only looks at commit objects, regardless of the state of
revs->blob_objects, revs->tree_objects, and so on. In order to do this,
we store the state of these variables in temporary fields before
setting them back to zero, performing the traversal, and then setting
them back.

But there is a typo here that dates back to b0afdce (pack-bitmap.c:
use commit boundary during bitmap traversal, 2023-05-08), where we
incorrectly store the value of the "tags" field as "revs->blob_objects".

This could lead to problems later on if, say, the caller wants tag
objects but *not* blob objects. In the pre-image behavior, we'd set
revs->tag_objects back to the old value of revs->blob_objects, thus
emitting fewer objects than expected back to the caller.

Fix that by correctly assigning the value of 'revs->tag_objects' to the
'tmp_tags' field.

Signed-off-by: Taylor Blau <[email protected]>
Signed-off-by: Junio C Hamano <[email protected]>
  • Loading branch information
ttaylorr authored and gitster committed Nov 21, 2024
1 parent 239bd35 commit 91f88f7
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion pack-bitmap.c
Original file line number Diff line number Diff line change
Expand Up @@ -1145,7 +1145,7 @@ static struct bitmap *find_boundary_objects(struct bitmap_index *bitmap_git,

tmp_blobs = revs->blob_objects;
tmp_trees = revs->tree_objects;
tmp_tags = revs->blob_objects;
tmp_tags = revs->tag_objects;
revs->blob_objects = 0;
revs->tree_objects = 0;
revs->tag_objects = 0;
Expand Down

0 comments on commit 91f88f7

Please sign in to comment.