Version 2 keeps all changes in git-rebase--interactive.sh this should make it easier to use blame. But there is quite a bit of refactoring and reformatting so using "git blame -w" or "git blame -w -C -C" is needed to improve the results of blame. I can break this into several patches to have the history show the code movement more directly if that is desired. Wink Saville (1): rebase-interactive: Add git_rebase__interactive__preserve_merges git-rebase--interactive.sh | 469 +++++++++++++++++++++++++-------------------- git-rebase.sh | 16 +- 2 files changed, 273 insertions(+), 212 deletions(-) -- 2.16.2