• Junio C Hamano's avatar
    Merge branch 'ag/sequencer-reduce-rewriting-todo' · e62e68d3
    Junio C Hamano authored
    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.
    
    * ag/sequencer-reduce-rewriting-todo:
      rebase--interactive: move transform_todo_file()
      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
      rebase--interactive: move rearrange_squash_in_todo_file()
      rebase--interactive: move sequencer_add_exec_commands()
      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()
    e62e68d3
sequencer.h 5.83 KB