From: Junio C Hamano Date: Thu, 21 Mar 2019 03:10:40 +0000 (+0900) Subject: Merge branch 'ag/sequencer-reduce-rewriting-todo' into pw/rebase-i-internal X-Git-Tag: v2.22.0-rc0~4^2~12 X-Git-Url: http://git.ipfire.org/?p=thirdparty%2Fgit.git;a=commitdiff_plain;h=464c824a9b3daf49b1451746780c787279cbf79f Merge branch 'ag/sequencer-reduce-rewriting-todo' into pw/rebase-i-internal * 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() --- 464c824a9b3daf49b1451746780c787279cbf79f diff --cc sequencer.h index 4d505b3590,7cca49eff2..a515ee4457 --- a/sequencer.h +++ b/sequencer.h @@@ -93,20 -138,22 +140,20 @@@ int sequencer_remove_state(struct repla * commits should be rebased onto the new base, this flag needs to be passed. */ #define TODO_LIST_REBASE_COUSINS (1U << 4) - int sequencer_make_script(struct repository *repo, FILE *out, - int argc, const char **argv, - unsigned flags); - - int sequencer_add_exec_commands(struct repository *r, const char *command); - int transform_todos(struct repository *r, unsigned flags); - enum missing_commit_check_level get_missing_commit_check_level(void); - int check_todo_list(struct repository *r); + #define TODO_LIST_APPEND_TODO_HELP (1U << 5) + + int sequencer_make_script(struct repository *r, struct strbuf *out, int argc, + const char **argv, unsigned flags); + + void todo_list_add_exec_commands(struct todo_list *todo_list, + struct string_list *commands); + int check_todo_list_from_file(struct repository *r); int complete_action(struct repository *r, struct replay_opts *opts, unsigned flags, const char *shortrevisions, const char *onto_name, - const char *onto, const char *orig_head, const char *cmd, - unsigned autosquash); - int rearrange_squash(struct repository *r); + const char *onto, const char *orig_head, struct string_list *commands, + unsigned autosquash, struct todo_list *todo_list); + int todo_list_rearrange_squash(struct todo_list *todo_list); -extern const char sign_off_header[]; - /* * Append a signoff to the commit message in "msgbuf". The ignore_footer * parameter specifies the number of bytes at the end of msgbuf that should