get_merge_bases(): always clean-up object flags
The callers of get_merge_bases() can choose to leave object flags used during the merge-base traversal by passing cleanup=0 as a parameter, but in practice a very few callers can afford to do so (namely, "git merge-base"), as they need to compute merge base in preparation for other processing of their own and they need to see the object without contaminate flags. Change the function signature of get_merge_bases_many() and get_merge_bases() to drop the cleanup parameter, so that the majority of the callers do not have to say ", 1" at the end. Give a new get_merge_bases_many_dirty() API to support only a few callers that know they do not need to spend cycles cleaning up the object flags. Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
@ -301,7 +301,7 @@ static int prepare_submodule_summary(struct rev_info *rev, const char *path,
|
||||
left->object.flags |= SYMMETRIC_LEFT;
|
||||
add_pending_object(rev, &left->object, path);
|
||||
add_pending_object(rev, &right->object, path);
|
||||
merge_bases = get_merge_bases(left, right, 1);
|
||||
merge_bases = get_merge_bases(left, right);
|
||||
if (merge_bases) {
|
||||
if (merge_bases->item == left)
|
||||
*fast_forward = 1;
|
||||
|
||||
Reference in New Issue
Block a user