summaryrefslogtreecommitdiff
path: root/sequencer.h
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2018-05-23 14:38:20 +0900
committerJunio C Hamano <gitster@pobox.com>2018-05-23 14:38:20 +0900
commit2c18e6ae2434a6caa5b3a7256608470948e73f66 (patch)
treef9bd49bc282a98ecf005a7de388d4268b846a8c9 /sequencer.h
parentad635e82d600e1b725a2e65d69114140db6bc876 (diff)
parent25cff9f109afbd6d21b199a38d15911b1f0c5069 (diff)
downloadgit-2c18e6ae2434a6caa5b3a7256608470948e73f66.tar.gz
Merge branch 'js/rebase-recreate-merge'
"git rebase" learned "--rebase-merges" to transplant the whole topology of commit graph elsewhere. * js/rebase-recreate-merge: rebase -i --rebase-merges: add a section to the man page rebase -i: introduce --rebase-merges=[no-]rebase-cousins pull: accept --rebase=merges to recreate the branch topology rebase --rebase-merges: avoid "empty merges" sequencer: handle post-rewrite for merge commands sequencer: make refs generated by the `label` command worktree-local rebase --rebase-merges: add test for --keep-empty rebase: introduce the --rebase-merges option rebase-helper --make-script: introduce a flag to rebase merges sequencer: fast-forward `merge` commands, if possible sequencer: introduce the `merge` command sequencer: introduce new commands to reset the revision git-rebase--interactive: clarify arguments sequencer: offer helpful advice when a command was rescheduled sequencer: refactor how original todo list lines are accessed sequencer: make rearrange_squash() a bit more obvious sequencer: avoid using errno clobbered by rollback_lock_file()
Diffstat (limited to 'sequencer.h')
-rw-r--r--sequencer.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/sequencer.h b/sequencer.h
index 1898158c52..a800cb5755 100644
--- a/sequencer.h
+++ b/sequencer.h
@@ -63,6 +63,13 @@ int sequencer_remove_state(struct replay_opts *opts);
#define TODO_LIST_KEEP_EMPTY (1U << 0)
#define TODO_LIST_SHORTEN_IDS (1U << 1)
#define TODO_LIST_ABBREVIATE_CMDS (1U << 2)
+#define TODO_LIST_REBASE_MERGES (1U << 3)
+/*
+ * When rebasing merges, commits that do have the base commit as ancestor
+ * ("cousins") are *not* rebased onto the new base by default. If those
+ * commits should be rebased onto the new base, this flag needs to be passed.
+ */
+#define TODO_LIST_REBASE_COUSINS (1U << 4)
int sequencer_make_script(FILE *out, int argc, const char **argv,
unsigned flags);