]> git.ipfire.org Git - thirdparty/git.git/blame - sequencer.h
git-cherry-pick: add allow-empty option
[thirdparty/git.git] / sequencer.h
CommitLineData
26ae337b
RR
1#ifndef SEQUENCER_H
2#define SEQUENCER_H
3
4#define SEQ_DIR "sequencer"
26ae337b
RR
5#define SEQ_HEAD_FILE "sequencer/head"
6#define SEQ_TODO_FILE "sequencer/todo"
7#define SEQ_OPTS_FILE "sequencer/opts"
8
043a4492
RR
9enum replay_action {
10 REPLAY_REVERT,
11 REPLAY_PICK
12};
13
14enum replay_subcommand {
15 REPLAY_NONE,
16 REPLAY_REMOVE_STATE,
17 REPLAY_CONTINUE,
18 REPLAY_ROLLBACK
19};
20
21struct replay_opts {
22 enum replay_action action;
23 enum replay_subcommand subcommand;
24
25 /* Boolean options */
26 int edit;
27 int record_origin;
28 int no_commit;
29 int signoff;
30 int allow_ff;
31 int allow_rerere_auto;
df478b74 32 int allow_empty;
043a4492
RR
33
34 int mainline;
35
36 /* Merge strategy */
37 const char *strategy;
38 const char **xopts;
39 size_t xopts_nr, xopts_alloc;
40
41 /* Only used by REPLAY_NONE */
42 struct rev_info *revs;
43};
44
d596118d
JN
45/* Removes SEQ_DIR. */
46extern void remove_sequencer_state(void);
26ae337b 47
043a4492
RR
48int sequencer_pick_revisions(struct replay_opts *opts);
49
26ae337b 50#endif