bloom: parse commit before computing filters
When computing changed-path Bloom filters for a commit, we need to know if the commit has a parent or not. If the commit is not parsed, then its parent pointer will be NULL. As far as I can tell, the only opportunity to reach this code without parsing the commit is inside "test-tool bloom get_filter_for_commit" but it is best to be safe. Signed-off-by: Derrick Stolee <dstolee@microsoft.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:

committed by
Junio C Hamano

parent
54c337be9c
commit
891c17c954
3
bloom.c
3
bloom.c
@ -193,6 +193,9 @@ struct bloom_filter *get_bloom_filter(struct repository *r,
|
|||||||
diffopt.max_changes = max_changes;
|
diffopt.max_changes = max_changes;
|
||||||
diff_setup_done(&diffopt);
|
diff_setup_done(&diffopt);
|
||||||
|
|
||||||
|
/* ensure commit is parsed so we have parent information */
|
||||||
|
repo_parse_commit(r, c);
|
||||||
|
|
||||||
if (c->parents)
|
if (c->parents)
|
||||||
diff_tree_oid(&c->parents->item->object.oid, &c->object.oid, "", &diffopt);
|
diff_tree_oid(&c->parents->item->object.oid, &c->object.oid, "", &diffopt);
|
||||||
else
|
else
|
||||||
|
Reference in New Issue
Block a user