On Sun, Jul 13, 2008 at 07:46:59PM +0200, Miklos Vajna <vmiklos@xxxxxxxxxxxxxx> wrote: > So far what I see is that the input for the reduce_heads() function is > (c1, c0, c2, c0, c1). The expected output would be (c1, c2), but the > actual output is c2. So I suspect the bug is not in builtin-merge.c > itself but in reduce_heads(). This fixes the problem for me. Junio, does the fix looks correct to you as well? Thanks. diff --git a/commit.c b/commit.c index d20b14e..03e73f3 100644 --- a/commit.c +++ b/commit.c @@ -747,7 +747,7 @@ struct commit_list *reduce_heads(struct commit_list *heads) num_other = 0; for (q = heads; q; q = q->next) { - if (p == q) + if (p->item == q->item) continue; other[num_other++] = q->item; }
Attachment:
pgpZUfI42z86a.pgp
Description: PGP signature