Hi Alban
On 25/09/2019 21:13, Alban Gruin wrote:
This can be seen as a continuation of ag/reduce-rewriting-todo.
Currently, complete_action() releases its todo list before calling
sequencer_continue(), which reloads the todo list from the disk. This
series removes this useless round trip.
Patches 1, 2, and 3 originally come from a series meaning to improve
rebase.missingCommitsCheck[0]. In the original series, I wanted to
check for missing commits in read_populate_todo(), so a warning could be
issued after a `rebase --continue' or an `exec' commands. But, in the
case of the initial edit, it is already checked in complete_action(),
and would be checked a second time in sequencer_continue() (a caller of
read_populate_todo()). So I hacked up sequencer_continue() to accept a
pointer to a todo list, and if not null, would skip the call to
read_populate_todo(). (This was really ugly, tbh.) Some issues arose
with git-prompt.sh[1], hence 1, 2 and 3.
Patch 5 is a new approach to what I did first. Instead of bolting a new
parameter to sequencer_continue(), this makes complete_action() calling
directly pick_commits().
Thanks for working on this, these patches all look fine to me modulo the
confusing wording in the commit message on patch 4
Best Wishes
Phillip
This is based on master (4c86140027, "Third batch").
The tip of this series is tagged as "reduce-todo-list-cont-v1" at
https://github.com/agrn/git.
[0] http://public-inbox.org/git/20190717143918.7406-1-alban.gr...@gmail.com/
[1] http://public-inbox.org/git/1732521.CJWHkCQAay@andromeda/
Alban Gruin (5):
sequencer: update `total_nr' when adding an item to a todo list
sequencer: update `done_nr' when skipping commands in a todo list
sequencer: move the code writing total_nr on the disk to a new
function
rebase: fill `squash_onto' in get_replay_opts()
sequencer: directly call pick_commits() from complete_action()
builtin/rebase.c | 5 +++++
sequencer.c | 26 ++++++++++++++++++--------
2 files changed, 23 insertions(+), 8 deletions(-)