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
| Mike Travis | [RFC 00/15] x86_64: Optimize percpu accesses |
| Nick Piggin | Re: [PATCH 0 of 4] Generic AIO by scheduling stacks |
| Trent Piepho | [PATCH] [POWERPC] Improve (in|out)_beXX() asm code |
| Bart Van Assche | Integration of SCST in the mainstream Linux kernel |
git: | |
| Kevin Ballard | Re: git on MacOSX and files with decomposed utf-8 file names |
| Jon Smirl | ! [rejected] master -> master (non-fast forward) |
| Linus Torvalds | Re: kernel.org mirroring (Re: [GIT PULL] MMC update) |
| Nguyen Thai Ngoc Duy | Re: VCS comparison table |
| Leon Dippenaar | New tcp stack attack |
| Richard Stallman | Real men don't attack straw men |
| Kevin Neff | Patching a SSH 'Weakness' |
| Chris | sudo & wheel group |
| David Miller | [GIT]: Networking |
| Wang Chen | [PATCH 2/15] netdevice 82596: Convert directly reference of netdev->priv to net... |
| Valentine Barshak | [PATCH] USB: net: Fix asix read transfer buffer allocations. |
| Natalie Protasevich | [BUG] New Kernel Bugs |
