Ralf Wildenhues <Ralf.Wildenhues@xxxxxx> writes: > Hello Junio, > > * Junio C Hamano wrote on Sat, Mar 15, 2008 at 09:42:11PM CET: >> This teaches "git rebase [--onto O] A B" to omit an unnecessary checkout >> of branch B before it goes on. > >> * Almost untested as I do not use this form very often. Feedback would >> be good. > > Nice, and seems to do exactly what I meant. Actually the more important > speedup gained from this change is that files that have changed in the > non-common history of A but not in that of B, preserve their old time > stamps, so the rebuild of my bugfix topic B after having built master > is really quick now. Actually, you would need this on top. Otherwise $ git rebase master my-topic~3 would misbehave. --- git-rebase.sh | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-) diff --git a/git-rebase.sh b/git-rebase.sh index 9273852..bd55ef6 100755 --- a/git-rebase.sh +++ b/git-rebase.sh @@ -320,7 +320,8 @@ case "$#" in branch_name="$2" switch_to="$2" - if branch=$(git rev-parse --verify "refs/heads/$2" 2>/dev/null) + if git show-ref --verify --quiet -- "refs/heads/$2" && + branch=$(git rev-parse --verify "refs/heads/$2" 2>/dev/null) then head_name="refs/heads/$2" elif branch=$(git rev-parse --verify "$2" 2>/dev/null) -- 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