X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=sequencer.h;h=bb4b13830e157dafb468f8256bab25110058ba9b;hb=471dcfdbb23ad423168d928335bc36217f9e311d;hp=f435fdb4b147d2e2ce5480ddb4832228af1cb73b;hpb=786a9611f4d0aaa4316d38d48404ce63e090bb38;p=git.git diff --git a/sequencer.h b/sequencer.h index f435fdb4b..bb4b13830 100644 --- a/sequencer.h +++ b/sequencer.h @@ -2,19 +2,48 @@ #define SEQUENCER_H #define SEQ_DIR "sequencer" -#define SEQ_OLD_DIR "sequencer-old" #define SEQ_HEAD_FILE "sequencer/head" #define SEQ_TODO_FILE "sequencer/todo" #define SEQ_OPTS_FILE "sequencer/opts" -/* - * Removes SEQ_OLD_DIR and renames SEQ_DIR to SEQ_OLD_DIR, ignoring - * any errors. Intended to be used by 'git reset'. - * - * With the aggressive flag, it additionally removes SEQ_OLD_DIR, - * ignoring any errors. Inteded to be used by the sequencer's - * '--quit' subcommand. - */ -void remove_sequencer_state(int aggressive); +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 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