summaryrefslogtreecommitdiff
path: root/builtin-merge-file.c
diff options
context:
space:
mode:
authorBert Wesarg <bert.wesarg@googlemail.com>2010-03-01 22:46:26 +0100
committerJunio C Hamano <gitster@pobox.com>2010-03-02 11:51:48 -0800
commit560119b9abfa39504c93ed08735426dae947d5a9 (patch)
tree692dc5dd03e878f9650dfd0cc7c1d8b5c89e340d /builtin-merge-file.c
parentcd1d61c44fb5c3d1c8e4c19becb66d90bbb9c676 (diff)
downloadgit-560119b9abfa39504c93ed08735426dae947d5a9.tar.gz
refactor merge flags into xmparam_t
Include the merge level, favor, and style flags into the xmparam_t struct. This removes the bit twiddling with these three values into the one flags parameter. Signed-off-by: Bert Wesarg <bert.wesarg@googlemail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'builtin-merge-file.c')
-rw-r--r--builtin-merge-file.c19
1 files changed, 10 insertions, 9 deletions
diff --git a/builtin-merge-file.c b/builtin-merge-file.c
index 1e70073a7e..cca81c2dde 100644
--- a/builtin-merge-file.c
+++ b/builtin-merge-file.c
@@ -27,17 +27,14 @@ int cmd_merge_file(int argc, const char **argv, const char *prefix)
mmbuffer_t result = {NULL, 0};
xmparam_t xmp = {{XDF_NEED_MINIMAL}};
int ret = 0, i = 0, to_stdout = 0;
- int level = XDL_MERGE_ZEALOUS_ALNUM;
- int style = 0, quiet = 0;
- int favor = 0;
+ int quiet = 0;
int nongit;
-
struct option options[] = {
OPT_BOOLEAN('p', "stdout", &to_stdout, "send results to standard output"),
- OPT_SET_INT(0, "diff3", &style, "use a diff3 based merge", XDL_MERGE_DIFF3),
- OPT_SET_INT(0, "ours", &favor, "for conflicts, use our version",
+ OPT_SET_INT(0, "diff3", &xmp.style, "use a diff3 based merge", XDL_MERGE_DIFF3),
+ OPT_SET_INT(0, "ours", &xmp.favor, "for conflicts, use our version",
XDL_MERGE_FAVOR_OURS),
- OPT_SET_INT(0, "theirs", &favor, "for conflicts, use their version",
+ OPT_SET_INT(0, "theirs", &xmp.favor, "for conflicts, use their version",
XDL_MERGE_FAVOR_THEIRS),
OPT__QUIET(&quiet),
OPT_CALLBACK('L', NULL, names, "name",
@@ -45,12 +42,16 @@ int cmd_merge_file(int argc, const char **argv, const char *prefix)
OPT_END(),
};
+ xmp.level = XDL_MERGE_ZEALOUS_ALNUM;
+ xmp.style = 0;
+ xmp.favor = 0;
+
prefix = setup_git_directory_gently(&nongit);
if (!nongit) {
/* Read the configuration file */
git_config(git_xmerge_config, NULL);
if (0 <= git_xmerge_style)
- style = git_xmerge_style;
+ xmp.style = git_xmerge_style;
}
argc = parse_options(argc, argv, prefix, options, merge_file_usage, 0);
@@ -73,7 +74,7 @@ int cmd_merge_file(int argc, const char **argv, const char *prefix)
}
ret = xdl_merge(mmfs + 1, mmfs + 0, names[0], mmfs + 2, names[2],
- &xmp, XDL_MERGE_FLAGS(level, style, favor), &result);
+ &xmp, &result);
for (i = 0; i < 3; i++)
free(mmfs[i].ptr);