A fixed up version of this patch, along with your updated test, is at the tip of "pu". It does affect the processing time for cases where there are more than one merge bases negatively. To compute all merge-base for the 23 merges in the kernel reporitory, the old code with the "contaminate the well a bit more" clean-up phase takes 2.5 seconds, while the new code takes 3.9 seconds. Processing all 2215 merges in the kernel repository (the other 2192 merges have one merge-base between the parents) takes 160 seconds either way. In other words, multi merge-base merges are relatively rare and a bit more time spent to clean-up with the new code is lost in the noise. The numbers are taken from /usr/bin/time on an Athron 64X2 3800. - : send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html