Reworked patch 1 so that all of the backend scriptlets used by git-rebase use a normal function style invocation. Merged the previous patch 2 and 3 have been squashed which provides reviewers a little easier time to detect any changes during extraction of the functions. Wink Saville (8): rebase-interactive: simplify pick_on_preserving_merges rebase: update invocation of rebase dot-sourced scripts Indent function git_rebase__interactive Extract functions out of git_rebase__interactive Add and use git_rebase__interactive__preserve_merges Remove unused code paths from git_rebase__interactive Remove unused code paths from git_rebase__interactive__preserve_merges Remove merges_option and a blank line git-rebase--am.sh | 11 -- git-rebase--interactive.sh | 407 ++++++++++++++++++++++++--------------------- git-rebase--merge.sh | 11 -- git-rebase.sh | 1 + 4 files changed, 216 insertions(+), 214 deletions(-) -- 2.16.2