diff options
author | Edward Thomson <ethomson@microsoft.com> | 2014-04-23 19:40:21 -0400 |
---|---|---|
committer | Edward Thomson <ethomson@microsoft.com> | 2014-04-23 19:43:35 -0400 |
commit | a4e2c36a66eca49ae4d7bdf0fdba8d4b3c900ab9 (patch) | |
tree | ee40998dc75c9df963bc53b97fb40809a3a70769 /tests | |
parent | 26564d80aa7b340f07e9c5b96457928ebadcc606 (diff) | |
download | libgit2-a4e2c36a66eca49ae4d7bdf0fdba8d4b3c900ab9.tar.gz |
merge: checkout default shouldn't clobber given
Diffstat (limited to 'tests')
-rw-r--r-- | tests/merge/workdir/dirty.c | 15 | ||||
-rw-r--r-- | tests/merge/workdir/simple.c | 6 |
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]); |