Subject: ag/sequencer-reduce-rewriting-todo, was Re: What's cooking in git.git (Feb 2019, #04; Sun, 24)

From: Alban Gruin <[email-masked]>
Date: Mon, 25 Feb 2019 19:37:30 +0100

Hi Junio,

Le 24/02/2019 à 19:18, Junio C Hamano a écrit :
> * ag/sequencer-reduce-rewriting-todo (2019-01-29) 16 commits
>  - rebase--interactive: move transform_todo_file() to rebase--interactive.c
>  - sequencer: use edit_todo_list() in complete_action()
>  - rebase-interactive: rewrite edit_todo_list() to handle the initial edit
>  - rebase-interactive: append_todo_help() changes
>  - rebase-interactive: use todo_list_write_to_file() in edit_todo_list()
>  - sequencer: refactor skip_unnecessary_picks() to work on a todo_list
>  - sequencer: change complete_action() to use the refactored functions
>  - sequencer: make sequencer_make_script() write its script to a strbuf
>  - sequencer: refactor rearrange_squash() to work on a todo_list
>  - sequencer: refactor sequencer_add_exec_commands() to work on a todo_list
>  - sequencer: refactor check_todo_list() to work on a todo_list
>  - sequencer: introduce todo_list_write_to_file()
>  - sequencer: refactor transform_todos() to work on a todo_list
>  - sequencer: remove the 'arg' field from todo_item
>  - sequencer: make the todo_list structure public
>  - sequencer: changes in parse_insn_buffer()
> 
>  The scripted version of "git rebase -i" wrote and rewrote the todo
>  list many times during a single step of its operation, and the
>  recent C-rewrite made a faithful conversion of the logic to C.  The
>  implementation has been updated to carry necessary information
>  around in-core to avoid rewriting the same file over and over
>  unnecessarily.
> 
>  Was still being worked on, but seems to have stalled.
>  cf. <[email-masked]>
>  cf. <[email-masked]>

I’m still working on this.  I sent a v7 shortly after the release of v2.21.0-
rc0, and I almost finished the v8.

Cheers,
Alban