Junio C Hamano schrieb: > This teaches "git rebase [--onto O] A B" to omit an unnecessary checkout > of branch B before it goes on. > > "git-rebase" originally was about rebasing the current branch to somewhere > else, and when the extra parameter to name which branch to rebase was > added, it defined the semantics to the safest but stupid "first switch to > the named branch and then operate exactly the same way as if we were > already on that branch". > > But the first thing the real part of "rebase" does is to reset the work > tree and the index to the "onto" commit. Which means the "rebase that > branch" form switched the work tree to the tip of the branch only to > immediately switch again to another commit. This was wasteful. This works for a frequent use-case of mine: $ git rebase master devel where I am already on branch master, and now want to rebase devel on top of it. The code seems to take care of a lot of corner cases and less frequent use-cases, including using --onto, which I don't feel able to judge about. > +# git reset --hard "$onto^0" Don't forget to remove this line. ;) -- Hannes -- 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