Re: in_merge_bases() is too expensive for recent "pu" update
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Aug 28, 2012, 01:50 UTC
- Message-ID
- <7va9xfpyyf.fsf@alter.siamese.dyndns.org>
- In-Reply-To
- <878vd5k7uu.fsf@thomas.inf.ethz.ch>
Thomas Rast <trast@student.ethz.ch> writes:
Show 21 quoted lines
> diff --git i/commit.c w/commit.c
> index 65a8485..70427ab 100644
> --- i/commit.c
> +++ w/commit.c
> @@ -837,10 +837,13 @@ int in_merge_bases(struct commit *commit, struct commit **reference, int num)
> struct commit_list *bases, *b;
> int ret = 0;
>
> - if (num == 1)
> - bases = get_merge_bases(commit, *reference, 1);
> - else
> + if (num != 1)
> die("not yet");
> +
> + bases = merge_bases_many(commit, 1, reference);
> + clear_commit_marks(commit, all_flags);
> + clear_commit_marks(*reference, all_flags);
> +
> for (b = bases; b; b = b->next) {
> if (!hashcmp(commit->object.sha1, b->item->object.sha1)) {
> ret = 1;This ended up being part of the series I sent earlier, and I want to assign authorship to you. As you did this as part of the discussion, naturally the patch came without a sign-off. Can we consider it signed off? Just saying "ok" is fine.
Thanks.