Allow rebase to run if upstream is completely merged
authorJohannes Sixt <johannes.sixt@telecom.at>
Wed, 4 Jul 2007 20:09:10 +0000 (22:09 +0200)
committerJunio C Hamano <gitster@pobox.com>
Thu, 5 Jul 2007 04:12:39 +0000 (21:12 -0700)
Consider this history:

o--o-...-B <- origin
\ \
x--x--M--x--x <- master

In this situation, rebase considers master fully up-to-date and would
not do anything. However, if there were additional commits on origin,
the rebase would run and move the commits x on top of origin.

Here we change rebase to short-circuit out only if the history since origin
is strictly linear. Consequently, the above as well as a history like this
would be linearized:

o--o <- origin
\
x--x
\ \
x--M--x--x <- master

Signed-off-by: Johannes Sixt <johannes.sixt@telecom.at>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
No differences found