summaryrefslogtreecommitdiff
path: root/sequencer.h
diff options
context:
space:
mode:
Diffstat (limited to 'sequencer.h')
-rw-r--r--sequencer.h45
1 files changed, 43 insertions, 2 deletions
diff --git a/sequencer.h b/sequencer.h
index 2d4528f292..9d57d57524 100644
--- a/sequencer.h
+++ b/sequencer.h
@@ -6,7 +6,48 @@
#define SEQ_TODO_FILE "sequencer/todo"
#define SEQ_OPTS_FILE "sequencer/opts"
-/* Removes SEQ_DIR. */
-extern void remove_sequencer_state(void);
+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);
#endif