Merge branch 'ag/sequencer-reduce-rewriting-todo' into pw/rebase-i-internal
authorJunio C Hamano <gitster@pobox.com>
Thu, 21 Mar 2019 03:10:40 +0000 (12:10 +0900)
committerJunio C Hamano <gitster@pobox.com>
Fri, 19 Apr 2019 08:31:37 +0000 (17:31 +0900)
* 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()

1  2 
builtin/rebase--interactive.c
sequencer.c
sequencer.h
Simple merge
diff --cc sequencer.c
Simple merge
diff --cc sequencer.h
index 4d505b3590ed158600844cfe3889112b5da4e511,7cca49eff2f02222dc64012d0505a5d4af4d162a..a515ee44578e6d8a568544749278c67feb4d233a
@@@ -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