summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorEdward Thomson <ethomson@microsoft.com>2014-04-23 19:40:21 -0400
committerEdward Thomson <ethomson@microsoft.com>2014-04-23 19:43:35 -0400
commita4e2c36a66eca49ae4d7bdf0fdba8d4b3c900ab9 (patch)
treeee40998dc75c9df963bc53b97fb40809a3a70769 /tests
parent26564d80aa7b340f07e9c5b96457928ebadcc606 (diff)
downloadlibgit2-a4e2c36a66eca49ae4d7bdf0fdba8d4b3c900ab9.tar.gz
merge: checkout default shouldn't clobber given
Diffstat (limited to 'tests')
-rw-r--r--tests/merge/workdir/dirty.c15
-rw-r--r--tests/merge/workdir/simple.c6
2 files changed, 11 insertions, 10 deletions
diff --git a/tests/merge/workdir/dirty.c b/tests/merge/workdir/dirty.c
index 6c21c2a6a..776e4ea69 100644
--- a/tests/merge/workdir/dirty.c
+++ b/tests/merge/workdir/dirty.c
@@ -86,7 +86,7 @@ static void set_core_autocrlf_to(git_repository *repo, bool value)
git_config_free(cfg);
}
-static int merge_branch(int merge_file_favor, int checkout_strategy)
+static int merge_branch(void)
{
git_oid their_oids[1];
git_merge_head *their_heads[1];
@@ -97,8 +97,7 @@ static int merge_branch(int merge_file_favor, int checkout_strategy)
cl_git_pass(git_oid_fromstr(&their_oids[0], MERGE_BRANCH_OID));
cl_git_pass(git_merge_head_from_id(&their_heads[0], repo, &their_oids[0]));
- merge_opts.file_favor = merge_file_favor;
- checkout_opts.checkout_strategy = checkout_strategy;
+ checkout_opts.checkout_strategy = GIT_CHECKOUT_SAFE | GIT_CHECKOUT_ALLOW_CONFLICTS;
error = git_merge(repo, (const git_merge_head **)their_heads, 1, &merge_opts, &checkout_opts);
git_merge_head_free(their_heads[0]);
@@ -214,7 +213,7 @@ static int merge_dirty_files(char *dirty_files[])
write_files(dirty_files);
- error = merge_branch(0, 0);
+ error = merge_branch();
git_object_free(head_object);
git_reference_free(head);
@@ -237,7 +236,7 @@ static int merge_differently_filtered_files(char *files[])
cl_git_pass(git_index_write(repo_index));
- error = merge_branch(0, 0);
+ error = merge_branch();
git_object_free(head_object);
git_reference_free(head);
@@ -248,7 +247,7 @@ static int merge_differently_filtered_files(char *files[])
static int merge_staged_files(char *staged_files[])
{
stage_random_files(staged_files);
- return merge_branch(0, 0);
+ return merge_branch();
}
void test_merge_workdir_dirty__unaffected_dirty_files_allowed(void)
@@ -271,7 +270,7 @@ void test_merge_workdir_dirty__unstaged_deletes_maintained(void)
cl_git_pass(p_unlink("merge-resolve/unchanged.txt"));
- cl_git_pass(merge_branch(0, 0));
+ cl_git_pass(merge_branch());
git_object_free(head_object);
git_reference_free(head);
@@ -309,7 +308,7 @@ void test_merge_workdir_dirty__identical_staged_files_allowed(void)
stage_content(content);
git_index_write(repo_index);
- cl_git_pass(merge_branch(0, 0));
+ cl_git_pass(merge_branch());
}
}
diff --git a/tests/merge/workdir/simple.c b/tests/merge/workdir/simple.c
index cf5b16e7a..327408dc9 100644
--- a/tests/merge/workdir/simple.c
+++ b/tests/merge/workdir/simple.c
@@ -92,7 +92,7 @@ void test_merge_workdir_simple__cleanup(void)
cl_git_sandbox_cleanup();
}
-static void merge_simple_branch(int merge_file_favor, int checkout_strategy)
+static void merge_simple_branch(int merge_file_favor, int addl_checkout_strategy)
{
git_oid their_oids[1];
git_merge_head *their_heads[1];
@@ -103,7 +103,9 @@ static void merge_simple_branch(int merge_file_favor, int checkout_strategy)
cl_git_pass(git_merge_head_from_id(&their_heads[0], repo, &their_oids[0]));
merge_opts.file_favor = merge_file_favor;
- checkout_opts.checkout_strategy = checkout_strategy;
+ checkout_opts.checkout_strategy = GIT_CHECKOUT_SAFE | GIT_CHECKOUT_ALLOW_CONFLICTS |
+ addl_checkout_strategy;
+
cl_git_pass(git_merge(repo, (const git_merge_head **)their_heads, 1, &merge_opts, &checkout_opts));
git_merge_head_free(their_heads[0]);