diff options
author | Junio C Hamano <gitster@pobox.com> | 2014-10-30 12:20:44 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2014-10-30 12:51:10 -0700 |
commit | 2ce406ccb85c4546b6d19309a6101b37c7bd952e (patch) | |
tree | ed00f07eab627dc4217ac76e38a652201f99aac2 /builtin/merge.c | |
parent | d76c9e95b435b660f8f1b3e01d3c2f934e2ec441 (diff) | |
download | git-2ce406ccb85c4546b6d19309a6101b37c7bd952e.tar.gz |
get_merge_bases(): always clean-up object flagsjc/merge-bases
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>
Diffstat (limited to 'builtin/merge.c')
-rw-r--r-- | builtin/merge.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/builtin/merge.c b/builtin/merge.c index 8763b2efa2..fbdbd78da1 100644 --- a/builtin/merge.c +++ b/builtin/merge.c @@ -1330,7 +1330,7 @@ int cmd_merge(int argc, const char **argv, const char *prefix) if (!remoteheads) ; /* already up-to-date */ else if (!remoteheads->next) - common = get_merge_bases(head_commit, remoteheads->item, 1); + common = get_merge_bases(head_commit, remoteheads->item); else { struct commit_list *list = remoteheads; commit_list_insert(head_commit, &list); @@ -1427,7 +1427,7 @@ int cmd_merge(int argc, const char **argv, const char *prefix) * merge_bases again, otherwise "git merge HEAD^ * HEAD^^" would be missed. */ - common_one = get_merge_bases(head_commit, j->item, 1); + common_one = get_merge_bases(head_commit, j->item); if (hashcmp(common_one->item->object.sha1, j->item->object.sha1)) { up_to_date = 0; |