Merge branch 'jc/plug-fmt-merge-msg-leak' into maint
[git/mingw.git] / sequencer.h
blob5ed5cb1d97ced70a9ebffd1dad524a12e7f7810a
1 #ifndef SEQUENCER_H
2 #define SEQUENCER_H
4 #define SEQ_DIR "sequencer"
5 #define SEQ_HEAD_FILE "sequencer/head"
6 #define SEQ_TODO_FILE "sequencer/todo"
7 #define SEQ_OPTS_FILE "sequencer/opts"
9 #define APPEND_SIGNOFF_DEDUP (1u << 0)
11 enum replay_action {
12 REPLAY_REVERT,
13 REPLAY_PICK
16 enum replay_subcommand {
17 REPLAY_NONE,
18 REPLAY_REMOVE_STATE,
19 REPLAY_CONTINUE,
20 REPLAY_ROLLBACK
23 struct replay_opts {
24 enum replay_action action;
25 enum replay_subcommand subcommand;
27 /* Boolean options */
28 int edit;
29 int record_origin;
30 int no_commit;
31 int signoff;
32 int allow_ff;
33 int allow_rerere_auto;
34 int allow_empty;
35 int allow_empty_message;
36 int keep_redundant_commits;
38 int mainline;
40 const char *gpg_sign;
42 /* Merge strategy */
43 const char *strategy;
44 const char **xopts;
45 size_t xopts_nr, xopts_alloc;
47 /* Only used by REPLAY_NONE */
48 struct rev_info *revs;
51 int sequencer_pick_revisions(struct replay_opts *opts);
53 extern const char sign_off_header[];
55 void append_signoff(struct strbuf *msgbuf, int ignore_footer, unsigned flag);
56 void append_conflicts_hint(struct strbuf *msgbuf);
58 #endif