Hi Drew
On 16/04/2019 16:37, Drew DeVault wrote:
Hiya!
Whenever I do a particularly long rebase on a branch, sorting out
conflicts from upstream, I find that it's often useful to have the
additional context that you get during an interactive rebase, such as
recent commands run, commands planned to run, and so on, to get a better
idea of where I'm at during the rebase. These show when you run `git
status` during an interactive rebase.
However, the code that generates this report relies on a todo list being
generated in the rebase state directory. A todo list which consists only
of "pick" commands is functionally equivalent to a non-interactive
rebase, the only difference being that the editor isn't shown to the
user.
Is there any reason not to refactor the rebase command to always
generate a todo list? This would simplify the internals and provide more
context to the user during hairy rebases. It might also be useful to run
--edit-todo if you realize your rebase strategy needs to change partway
through a rebase which was initially non-interactive.
Things are moving in that direction. Currently --merge, --keep-empty,
--recreate-merges and --exec will result in a todo list being used
regardless of --interactive. There was some discussion a couple of
months ago about making --merge the default if there were no am specific
options given but I've not noticed a patch for that yet. There is also a
GSoC project that will implement some of the am specific options for the
interactive backend with the long term aim of removing the am based backend.
Best Wishes
Phillip
Note: I'm a non-subscriber, please Cc me on replies.