GIT_MERGE_FILE_FAVOR_UNION = 3,
} git_merge_file_favor_t;
-/**
- * Whitespace merging flags
- */
-typedef enum {
- /** Defaults */
- GIT_MERGE_FILE_IGNORE_DEFAULT = 0,
-
- /** Ignore all whitespace */
- GIT_MERGE_FILE_IGNORE_WHITESPACE = (1 << 0),
-
- /** Ignore changes in amount of whitespace */
- GIT_MERGE_FILE_IGNORE_WHITESPACE_CHANGE = (1 << 1),
-
- /** Ignore whitespace at end of line */
- GIT_MERGE_FILE_IGNORE_WHITESPACE_EOL = (1 << 2),
-} git_merge_file_whitespace_t;
-
/**
* File merging flags
*/
/** Condense non-alphanumeric regions for simplified diff file */
GIT_MERGE_FILE_SIMPLIFY_ALNUM = (1 << 2),
+
+ /** Ignore all whitespace */
+ GIT_MERGE_FILE_IGNORE_WHITESPACE = (1 << 3),
+
+ /** Ignore changes in amount of whitespace */
+ GIT_MERGE_FILE_IGNORE_WHITESPACE_CHANGE = (1 << 4),
+
+ /** Ignore whitespace at end of line */
+ GIT_MERGE_FILE_IGNORE_WHITESPACE_EOL = (1 << 5),
} git_merge_file_flags_t;
/**
git_merge_file_favor_t favor;
/** Merge file flags. */
- git_merge_file_flags_t flags;
-
- /** Whitespace merge flags */
- unsigned int whitespace_flags;
+ unsigned int flags;
} git_merge_file_options;
#define GIT_MERGE_FILE_OPTIONS_VERSION 1
/** Flags for handling conflicting content. */
git_merge_file_favor_t file_favor;
- /** Flags for handling whitespace */
- unsigned int whitespace_flags;
+ unsigned int file_flags;
} git_merge_options;
#define GIT_MERGE_OPTIONS_VERSION 1
git_merge_diff_list *diff_list,
const git_merge_diff *conflict,
unsigned int merge_file_favor,
- unsigned int whitespace_flags)
+ unsigned int file_flags)
{
const git_index_entry *ancestor = NULL, *ours = NULL, *theirs = NULL;
git_merge_file_options opts = GIT_MERGE_FILE_OPTIONS_INIT;
&conflict->their_entry : NULL;
opts.favor = merge_file_favor;
- opts.whitespace_flags = whitespace_flags;
+ opts.flags = file_flags;
if ((error = git_repository_odb(&odb, diff_list->repo)) < 0 ||
(error = git_merge_file_from_index(&result, diff_list->repo, ancestor, ours, theirs, &opts)) < 0 ||
git_merge_diff_list *diff_list,
const git_merge_diff *conflict,
unsigned int merge_file_favor,
- unsigned int whitespace_flags)
+ unsigned int file_flags)
{
int resolved = 0;
int error = 0;
goto done;
if (!resolved && (error = merge_conflict_resolve_automerge(&resolved, diff_list, conflict,
- merge_file_favor, whitespace_flags)) < 0)
+ merge_file_favor, file_flags)) < 0)
goto done;
*out = resolved;
git_vector_foreach(&changes, i, conflict) {
int resolved = 0;
- if ((error = merge_conflict_resolve(&resolved, diff_list, conflict, opts.file_favor, opts.whitespace_flags)) < 0)
+ if ((error = merge_conflict_resolve(&resolved, diff_list, conflict, opts.file_favor, opts.file_flags)) < 0)
goto done;
if (!resolved)
if (options.flags & GIT_MERGE_FILE_STYLE_DIFF3)
xmparam.style = XDL_MERGE_DIFF3;
- if (options.whitespace_flags & GIT_MERGE_FILE_IGNORE_WHITESPACE)
+ if (options.flags & GIT_MERGE_FILE_IGNORE_WHITESPACE)
xmparam.xpp.flags |= XDF_IGNORE_WHITESPACE;
- if (options.whitespace_flags & GIT_MERGE_FILE_IGNORE_WHITESPACE_CHANGE)
+ if (options.flags & GIT_MERGE_FILE_IGNORE_WHITESPACE_CHANGE)
xmparam.xpp.flags |= XDF_IGNORE_WHITESPACE_CHANGE;
- if (options.whitespace_flags & GIT_MERGE_FILE_IGNORE_WHITESPACE_EOL)
+ if (options.flags & GIT_MERGE_FILE_IGNORE_WHITESPACE_EOL)
xmparam.xpp.flags |= XDF_IGNORE_WHITESPACE_AT_EOL;
if ((xdl_result = xdl_merge(&ancestor_mmfile, &our_mmfile,
theirs.path = "testfile.txt";
theirs.mode = 0100755;
- opts.whitespace_flags |= GIT_MERGE_FILE_IGNORE_WHITESPACE_EOL;
+ opts.flags |= GIT_MERGE_FILE_IGNORE_WHITESPACE_EOL;
cl_git_pass(git_merge_file(&result, &ancestor, &ours, &theirs, &opts));
cl_assert_equal_i(1, result.automergeable);
theirs.path = "testfile.txt";
theirs.mode = 0100755;
- opts.whitespace_flags |= GIT_MERGE_FILE_IGNORE_WHITESPACE_CHANGE;
+ opts.flags |= GIT_MERGE_FILE_IGNORE_WHITESPACE_CHANGE;
cl_git_pass(git_merge_file(&result, &ancestor, &ours, &theirs, &opts));
cl_assert_equal_i(1, result.automergeable);
{ 0100644, "ee3c2aac8e03224c323b58ecb1f9eef616745467", 0, "test.txt" },
};
- opts.whitespace_flags |= GIT_MERGE_FILE_IGNORE_WHITESPACE_EOL;
+ opts.file_flags |= GIT_MERGE_FILE_IGNORE_WHITESPACE_EOL;
cl_git_pass(merge_trees_from_branches(&index, repo, BRANCH_A_EOL, BRANCH_B_EOL, &opts));
{ 0100644, "a827eab4fd66ab37a6ebcfaa7b7e341abfd55947", 0, "test.txt" },
};
- opts.whitespace_flags |= GIT_MERGE_FILE_IGNORE_WHITESPACE_CHANGE;
+ opts.file_flags |= GIT_MERGE_FILE_IGNORE_WHITESPACE_CHANGE;
cl_git_pass(merge_trees_from_branches(&index, repo, BRANCH_A_CHANGE, BRANCH_B_CHANGE, &opts));