#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" | |
#define APPEND_SIGNOFF_DEDUP (1u << 0) | |
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 allow_empty_message; | |
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; | |
}; | |
int sequencer_pick_revisions(struct replay_opts *opts); | |
extern const char sign_off_header[]; | |
void append_signoff(struct strbuf *msgbuf, int ignore_footer, unsigned flag); | |
#endif |