diff options
Diffstat (limited to 'sequencer.h')
-rw-r--r-- | sequencer.h | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/sequencer.h b/sequencer.h new file mode 100644 index 0000000000..aa5f17cc30 --- /dev/null +++ b/sequencer.h @@ -0,0 +1,51 @@ +#ifndef SEQUENCER_H +#define SEQUENCER_H + +#define SEQ_DIR "sequencer" +#define SEQ_HEAD_FILE "sequencer/head" +#define SEQ_TODO_FILE "sequencer/todo" +#define SEQ_OPTS_FILE "sequencer/opts" + +enum replay_action { + REPLAY_REVERT, + REPLAY_PICK +}; + +enum replay_subcommand { + REPLAY_NONE, + REPLAY_REMOVE_STATE, + REPLAY_CONTINUE, + REPLAY_ROLLBACK +}; + +struct replay_opts { + enum replay_action action; + enum replay_subcommand subcommand; + + /* Boolean options */ + int edit; + int record_origin; + int no_commit; + int signoff; + int allow_ff; + int allow_rerere_auto; + int allow_empty; + int keep_redundant_commits; + + int mainline; + + /* Merge strategy */ + const char *strategy; + const char **xopts; + size_t xopts_nr, xopts_alloc; + + /* Only used by REPLAY_NONE */ + struct rev_info *revs; +}; + +/* Removes SEQ_DIR. */ +extern void remove_sequencer_state(void); + +int sequencer_pick_revisions(struct replay_opts *opts); + +#endif |