On Tue, 8 Nov 2005, Junio C Hamano wrote:Hmm. Look at the "join_revs()" logic, and tell me I'm crazy. It does: struct commit *commit = pop_one_commit(list_p); int still_interesting = !!interesting(*list_p); in that order: it looks whether there are any interesting commits left _after_ it has popped the top-of-stack. Which means that "still_interesting" can go down to zero if we just popped the last interesting thing off the stack. Which seems wrong, because the thing we just popped off the stack could easily itself be interesting (in fact, it should be so, 99% of the time), and can cause other interesting commits to be populated back onto the list. So the "still_interesting" flag seems to be wrongly computed: the way it is computed now, it's meaningless. In contrast, the "merge_base()" thing does while (interesting(list)) { .. } which means that we really will walk the list until there is nothing interesting left. Which is admittedly expensive, but it was how we got rid of the pathological case. But maybe I'm just missing something really subtle. Maybe git-show-branch does some really clever optimization that is valid. Linus - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
| Greg KH | Re: Announce: Linux-next (Or Andrew's dream :-)) |
| Greg KH | [patch 26/73] NET: Correct two mistaken skb_reset_mac_header() conversions. |
| Greg Kroah-Hartman | [PATCH 007/196] Chinese: add translation of stable_kernel_rules.txt |
| Alan Cox | Re: Dual-Licensing Linux Kernel with GPL V2 and GPL V3 |
git: | |
| Alexey Dobriyan | Re: [GIT]: Networking |
| Gerrit Renker | [PATCH 03/37] dccp: List management for new feature negotiation |
| Jarek Poplawski | [PATCH] pkt_sched: Destroy gen estimators under rtnl_lock(). |
| Andrew Morton | Re: [BUG] New Kernel Bugs |
