Merge branch 'dl/rebase-i-keep-base'
authorJunio C Hamano <gitster@pobox.com>
Mon, 30 Sep 2019 04:19:31 +0000 (13:19 +0900)
committerJunio C Hamano <gitster@pobox.com>
Mon, 30 Sep 2019 04:19:31 +0000 (13:19 +0900)
commit640f9cd5994ed2061405aa94972b1746bb0c393e
treef86716f11cea9808256bb3be914d92b52fc1c1e3
parent026428c35eb7e4018de3707a08a7dc3d23a69712
parent414d924beb41b9f39744b5574231856d5ffbcba8
Merge branch 'dl/rebase-i-keep-base'

"git rebase --keep-base <upstream>" tries to find the original base
of the topic being rebased and rebase on top of that same base,
which is useful when running the "git rebase -i" (and its limited
variant "git rebase -x").

The command also has learned to fast-forward in more cases where it
can instead of replaying to recreate identical commits.

* dl/rebase-i-keep-base:
  rebase: teach rebase --keep-base
  rebase tests: test linear branch topology
  rebase: fast-forward --fork-point in more cases
  rebase: fast-forward --onto in more cases
  rebase: refactor can_fast_forward into goto tower
  t3432: test for --no-ff's interaction with fast-forward
  t3432: distinguish "noop-same" v.s. "work-same" in "same head" tests
  t3432: test rebase fast-forward behavior
  t3431: add rebase --fork-point tests
Documentation/git-rebase.txt
builtin/rebase.c
contrib/completion/git-completion.bash
t/t3400-rebase.sh
t/t3404-rebase-interactive.sh