summaryrefslogtreecommitdiff
path: root/include/git2/rebase.h
diff options
context:
space:
mode:
authorEdward Thomson <ethomson@github.com>2016-02-11 10:11:21 -0800
committerEdward Thomson <ethomson@github.com>2016-02-11 10:49:25 -0800
commita202e0d45bcfd672cf1ff75abc192e6a592874ba (patch)
tree62da08fff9ad113906dd89ebf528d2eb8cc30d8e /include/git2/rebase.h
parentee6673070a6134f0a1743c866583b14a305b6a43 (diff)
downloadlibgit2-a202e0d45bcfd672cf1ff75abc192e6a592874ba.tar.gz
rebase: allow custom merge_options
Allow callers of rebase to specify custom merge options. This may allow custom conflict resolution, or failing fast when conflicts are detected.
Diffstat (limited to 'include/git2/rebase.h')
-rw-r--r--include/git2/rebase.h8
1 files changed, 7 insertions, 1 deletions
diff --git a/include/git2/rebase.h b/include/git2/rebase.h
index 17c4557e8..4fda1fd2f 100644
--- a/include/git2/rebase.h
+++ b/include/git2/rebase.h
@@ -58,6 +58,11 @@ typedef struct {
const char *rewrite_notes_ref;
/**
+ * Options to control how trees are merged during `git_rebase_next`.
+ */
+ git_merge_options merge_options;
+
+ /**
* Options to control how files are written during `git_rebase_init`,
* `git_checkout_next` and `git_checkout_abort`. Note that a minimum
* strategy of `GIT_CHECKOUT_SAFE` is defaulted in `init` and `next`,
@@ -110,7 +115,8 @@ typedef enum {
#define GIT_REBASE_OPTIONS_VERSION 1
#define GIT_REBASE_OPTIONS_INIT \
- {GIT_REBASE_OPTIONS_VERSION, 0, 0, NULL, GIT_CHECKOUT_OPTIONS_INIT}
+ { GIT_REBASE_OPTIONS_VERSION, 0, 0, NULL, GIT_MERGE_OPTIONS_INIT, \
+ GIT_CHECKOUT_OPTIONS_INIT}
/** Indicates that a rebase operation is not (yet) in progress. */
#define GIT_REBASE_NO_OPERATION SIZE_MAX