mirror of
https://github.com/git/git
synced 2024-11-04 16:17:49 +00:00
merge options: add a conflict style member
Add a conflict_style member to `struct merge_options` and `struct ll_merge_options` to allow callers to override the default conflict style. This will be used in the next commit. Signed-off-by: Phillip Wood <phillip.wood@dunelm.org.uk> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
412aff7b33
commit
135cc712c3
5 changed files with 12 additions and 2 deletions
|
@ -128,7 +128,9 @@ static enum ll_merge_result ll_xdl_merge(const struct ll_merge_driver *drv_unuse
|
||||||
xmp.level = XDL_MERGE_ZEALOUS;
|
xmp.level = XDL_MERGE_ZEALOUS;
|
||||||
xmp.favor = opts->variant;
|
xmp.favor = opts->variant;
|
||||||
xmp.xpp.flags = opts->xdl_opts;
|
xmp.xpp.flags = opts->xdl_opts;
|
||||||
if (git_xmerge_style >= 0)
|
if (opts->conflict_style >= 0)
|
||||||
|
xmp.style = opts->conflict_style;
|
||||||
|
else if (git_xmerge_style >= 0)
|
||||||
xmp.style = git_xmerge_style;
|
xmp.style = git_xmerge_style;
|
||||||
if (marker_size > 0)
|
if (marker_size > 0)
|
||||||
xmp.marker_size = marker_size;
|
xmp.marker_size = marker_size;
|
||||||
|
|
|
@ -78,11 +78,14 @@ struct ll_merge_options {
|
||||||
*/
|
*/
|
||||||
unsigned extra_marker_size;
|
unsigned extra_marker_size;
|
||||||
|
|
||||||
|
/* Override the global conflict style. */
|
||||||
|
int conflict_style;
|
||||||
|
|
||||||
/* Extra xpparam_t flags as defined in xdiff/xdiff.h. */
|
/* Extra xpparam_t flags as defined in xdiff/xdiff.h. */
|
||||||
long xdl_opts;
|
long xdl_opts;
|
||||||
};
|
};
|
||||||
|
|
||||||
#define LL_MERGE_OPTIONS_INIT {0}
|
#define LL_MERGE_OPTIONS_INIT { .conflict_style = -1 }
|
||||||
|
|
||||||
enum ll_merge_result {
|
enum ll_merge_result {
|
||||||
LL_MERGE_ERROR = -1,
|
LL_MERGE_ERROR = -1,
|
||||||
|
|
|
@ -1966,6 +1966,7 @@ static int merge_3way(struct merge_options *opt,
|
||||||
ll_opts.renormalize = opt->renormalize;
|
ll_opts.renormalize = opt->renormalize;
|
||||||
ll_opts.extra_marker_size = extra_marker_size;
|
ll_opts.extra_marker_size = extra_marker_size;
|
||||||
ll_opts.xdl_opts = opt->xdl_opts;
|
ll_opts.xdl_opts = opt->xdl_opts;
|
||||||
|
ll_opts.conflict_style = opt->conflict_style;
|
||||||
|
|
||||||
if (opt->priv->call_depth) {
|
if (opt->priv->call_depth) {
|
||||||
ll_opts.virtual_ancestor = 1;
|
ll_opts.virtual_ancestor = 1;
|
||||||
|
|
|
@ -1054,6 +1054,7 @@ static int merge_3way(struct merge_options *opt,
|
||||||
ll_opts.renormalize = opt->renormalize;
|
ll_opts.renormalize = opt->renormalize;
|
||||||
ll_opts.extra_marker_size = extra_marker_size;
|
ll_opts.extra_marker_size = extra_marker_size;
|
||||||
ll_opts.xdl_opts = opt->xdl_opts;
|
ll_opts.xdl_opts = opt->xdl_opts;
|
||||||
|
ll_opts.conflict_style = opt->conflict_style;
|
||||||
|
|
||||||
if (opt->priv->call_depth) {
|
if (opt->priv->call_depth) {
|
||||||
ll_opts.virtual_ancestor = 1;
|
ll_opts.virtual_ancestor = 1;
|
||||||
|
@ -3899,6 +3900,8 @@ void init_merge_options(struct merge_options *opt,
|
||||||
|
|
||||||
opt->renormalize = 0;
|
opt->renormalize = 0;
|
||||||
|
|
||||||
|
opt->conflict_style = -1;
|
||||||
|
|
||||||
merge_recursive_config(opt);
|
merge_recursive_config(opt);
|
||||||
merge_verbosity = getenv("GIT_MERGE_VERBOSITY");
|
merge_verbosity = getenv("GIT_MERGE_VERBOSITY");
|
||||||
if (merge_verbosity)
|
if (merge_verbosity)
|
||||||
|
|
|
@ -31,6 +31,7 @@ struct merge_options {
|
||||||
|
|
||||||
/* xdiff-related options (patience, ignore whitespace, ours/theirs) */
|
/* xdiff-related options (patience, ignore whitespace, ours/theirs) */
|
||||||
long xdl_opts;
|
long xdl_opts;
|
||||||
|
int conflict_style;
|
||||||
enum {
|
enum {
|
||||||
MERGE_VARIANT_NORMAL = 0,
|
MERGE_VARIANT_NORMAL = 0,
|
||||||
MERGE_VARIANT_OURS,
|
MERGE_VARIANT_OURS,
|
||||||
|
|
Loading…
Reference in a new issue