This series continues the work of making rebase more self-consistent
by removing inconsistencies between different backends. In
particular, this series focuses on making the merge machinery behave
like the interactive machinery (though a few differences between the am
and interactive backends are also fixed along the way), and ultimately
removes the merge backend in favor of reimplementing the relevant
options on top of the interactive machinery.
Differences since v4:
- Included Dscho's Acked-by (from
https://public-inbox.org/git/[email protected]/)
Elijah Newren (8):
rebase: make builtin and legacy script error messages the same
rebase: fix incompatible options error message
t5407: add a test demonstrating how interactive handles --skip
differently
am, rebase--merge: do not overlook --skip'ed commits with post-rewrite
git-rebase, sequencer: extend --quiet option for the interactive
machinery
git-legacy-rebase: simplify unnecessary triply-nested if
rebase: define linearization ordering and enforce it
rebase: implement --merge via the interactive machinery
.gitignore | 1 -
Documentation/git-rebase.txt | 17 +---
Makefile | 1 -
builtin/am.c | 9 ++
builtin/rebase.c | 30 ++----
git-legacy-rebase.sh | 65 ++++++------
git-rebase--am.sh | 2 +-
git-rebase--common.sh | 2 +-
git-rebase--merge.sh | 164 ------------------------------
sequencer.c | 23 +++--
sequencer.h | 1 +
t/t3406-rebase-message.sh | 7 +-
t/t3420-rebase-autostash.sh | 78 ++------------
t/t3421-rebase-topology-linear.sh | 10 +-
t/t3425-rebase-topology-merges.sh | 15 ++-
t/t5407-post-rewrite-hook.sh | 34 +++++++
t/t9903-bash-prompt.sh | 2 +-
17 files changed, 121 insertions(+), 340 deletions(-)
delete mode 100644 git-rebase--merge.sh
--
2.20.1.310.g17ca096f17