On Sun, Apr 11, 2010 at 07:54:37PM +0200, Johannes Sixt wrote: > On Sonntag, 11. April 2010, Jeff King wrote: > > Good point. Originally, we did the rebase directly on the branch, though > > I'm not sure if we did "checkout $branch && reset $onto" or "branch -f > > $branch $onto && checkout $branch". These days we operate on a detached > > HEAD, and we seem to "checkout $onto^0", which should do the > > optimization you mention. > > But before this "checkout $onto^0" happens, some (all?) variants still > do "checkout topic && rev-list upstream..HEAD" instead of just "rev-list > upstream..topic". I don't think this is the case any longer for regular rebase, from my reading of the code and doing a rebase under GIT_TRACE. Grepping the history turns up 0cb0664 (rebase [--onto O] A B: omit needless checkout, 2008-03-15). But doing an interactive rebase under GIT_TRACE, it looks like it still does the unnecessary checkout. -Peff -- To unsubscribe from this list: 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