8000 tests: merge: tree: add support for different ancestor. · libgit2/libgit2@d329698 · GitHub
[go: up one dir, main page]

Skip to content

Commit d329698

Browse files
committed
tests: merge: tree: add support for different ancestor.
Add a boolean option to merge_trivial() so that it can use theirs parent instead of merge base as ancestor. This will be needed in the following commit. Signed-off-by: Gregory Herrero <gregory.herrero@oracle.com>
1 parent 379b317 commit d329698

File tree

1 file changed

+20
-16
lines changed

1 file changed

+20
-16
lines changed

tests/libgit2/merge/trees/trivial.c

Lines changed: 20 additions & 16 deletions
10000
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ void test_merge_trees_trivial__cleanup(void)
2525
}
2626

2727

28-
static int merge_trivial(git_index **index, const char *ours, const char *theirs)
28+
static int merge_trivial(git_index **index, const char *ours, const char *theirs, bool ancestor_use_parent)
2929
{
3030
git_commit *our_commit, *their_commit, *ancestor_commit;
3131
git_tree *our_tree, *their_tree, *ancestor_tree;
@@ -42,8 +42,12 @@ static int merge_trivial(git_index **index, const char *ours, const char *theirs
4242
cl_git_pass(git_reference_name_to_id(&their_oid, repo, branch_buf.ptr));
4343
cl_git_pass(git_commit_lookup(&their_commit, repo, &their_oid));
4444

45-
cl_git_pass(git_merge_base(&ancestor_oid, repo, git_commit_id(our_commit), git_commit_id(their_commit)));
46-
cl_git_pass(git_commit_lookup(&ancestor_commit, repo, &ancestor_oid));
45+
if (!ancestor_use_parent) {
46+
cl_git_pass(git_merge_base(&ancestor_oid, repo, git_commit_id(our_commit), git_commit_id(their_commit)));
47+
cl_git_pass(git_commit_lookup(&ancestor_commit, repo, &ancestor_oid));
48+
} else {
49+
cl_git_pass(git_commit_parent(&ancestor_commit, their_commit, 0));
50+
}
4751

4852
cl_git_pass(git_commit_tree(&ancestor_tree, ancestor_commit));
4953
cl_git_pass(git_commit_tree(&our_tree, our_commit));
@@ -84,7 +88,7 @@ void test_merge_trees_trivial__2alt(void)
8488
git_index *result;
8589
const git_index_entry *entry;
8690

87-
cl_git_pass(merge_trivial(&result, "trivial-2alt", "trivial-2alt-branch"));
91+
cl_git_pass(merge_trivial(&result, "trivial-2alt", "trivial-2alt-branch", false));
8892

8993
cl_assert(entry = git_index_get_bypath(result, "new-in-branch.txt", 0));
9094
cl_assert(git_index_reuc_entrycount(result) == 0);
@@ -99,7 +103,7 @@ void test_merge_trees_trivial__3alt(void)
99103
git_index *result;
100104
const git_index_entry *entry;
101105

102-
cl_git_pass(merge_trivial(&result, "trivial-3alt", "trivial-3alt-branch"));
106+
cl_git_pass(merge_trivial(&result, "trivial-3alt", "trivial-3alt-branch", false));
103107

104108
cl_assert(entry = git_index_get_bypath(result, "new-in-3alt.txt", 0));
105109
cl_assert(git_index_reuc_entrycount(result) == 0);
@@ -114,7 +118,7 @@ void test_merge_trees_trivial__4(void)
114118
git_index *result;
115119
const git_index_entry *entry;
116120

117-
cl_git_pass(merge_trivial(&result, "trivial-4", "trivial-4-branch"));
121+
cl_git_pass(merge_trivial(&result, "trivial-4", "trivial-4-branch", false));
118122

119123
cl_assert((entry = git_index_get_bypath(result, "new-and-different.txt", 0)) == NULL);
120124
cl_assert(git_index_reuc_entrycount(result) == 0);
@@ -132,7 +136,7 @@ void test_merge_trees_trivial__5alt_1(void)
132136
git_index *result;
133137
const git_index_entry *entry;
134138

135-
cl_git_pass(merge_trivial(&result, "trivial-5alt-1", "trivial-5alt-1-branch"));
139+
cl_git_pass(merge_trivial(&result, "trivial-5alt-1", "trivial-5alt-1-branch", false));
136140

137141
cl_assert(entry = git_index_get_bypath(result, "new-and-same.txt", 0));
138142
cl_assert(git_index_reuc_entrycount(result) == 0);
@@ -147,7 +151,7 @@ void test_merge_trees_trivial__5alt_2(void)
147151
git_index *result;
148152
const git_index_entry *entry;
149153

150-
cl_git_pass(merge_trivial(&result, "trivial-5alt-2", "trivial-5alt-2-branch"));
154+
cl_git_pass(merge_trivial(&result, "trivial-5alt-2", "trivial-5alt-2-branch", false));
151155

152156
cl_assert(entry = git_index_get_bypath(result, "modified-to-same.txt", 0));
153157
cl_assert(git_index_reuc_entrycount(result) == 0);
@@ -163,7 +167,7 @@ void test_merge_trees_trivial__6(void)
163167
const git_index_entry *entry;
164168
const git_index_reuc_entry *reuc;
165169

166-
cl_git_pass(merge_trivial(&result, "trivial-6", "trivial-6-branch"));
170+
cl_git_pass(merge_trivial(&result, "trivial-6", "trivial-6-branch", false));
167171

168172
cl_assert((entry = git_index_get_bypath(result, "removed-in-both.txt", 0)) == NULL);
169173
cl_assert(git_index_reuc_entrycount(result) == 1);
@@ -181,7 +185,7 @@ void test_merge_trees_trivial__8(void)
181185
const git_index_entry *entry;
182186
const git_index_reuc_entry *reuc;
183187

184-
cl_git_pass(merge_trivial(&result, "trivial-8", "trivial-8-branch"));
188+
cl_git_pass(merge_trivial(&result, "trivial-8", "trivial-8-branch", false));
185189

186190
cl_assert((entry = git_index_get_bypath(result, "removed-in-8.txt", 0)) == NULL);
187191

@@ -199,7 +203,7 @@ void test_merge_trees_trivial__7(void)
199203
git_index *result;
200204
const git_index_entry *entry;
201205

202-
cl_git_pass(merge_trivial(&result, "trivial-7", "trivial-7-branch"));
206+
cl_git_pass(merge_trivial(&result, "trivial-7", "trivial-7-branch", false));
203207

204208
cl_assert((entry = git_index_get_bypath(result, "removed-in-7.txt", 0)) == NULL);
205209
cl_assert(git_index_reuc_entrycount(result) == 0);
@@ -218,7 +222,7 @@ void test_merge_trees_trivial__10(void)
218222
const git_index_entry *entry;
219223
const git_index_reuc_entry *reuc;
220224

221-
cl_git_pass(merge_trivial(&result, "trivial-10", "trivial-10-branch"));
225+
cl_git_pass(merge_trivial(&result, "trivial-10", "trivial-10-branch", false));
222226

223227
cl_assert((entry = git_index_get_bypath(result, "removed-in-10-branch.txt", 0)) == NULL);
224228

@@ -236,7 +240,7 @@ void test_merge_trees_trivial__9(void)
236240
git_index *result;
237241
const git_index_entry *entry;
238242

239-
cl_git_pass(merge_trivial(&result, "trivial-9", "trivial-9-branch"));
243+
cl_git_pass(merge_trivial(&result, "trivial-9", "trivial-9-branch", false));
240244

241245
cl_assert((entry = git_index_get_bypath(result, "removed-in-9-branch.txt", 0)) == NULL);
242246
cl_assert(git_index_reuc_entrycount(result) == 0);
@@ -255,7 +259,7 @@ void test_merge_trees_trivial__13(void)
255259
const git_index_entry *entry;
256260
git_oid expected_oid;
257261

258-
cl_git_pass(merge_trivial(&result, "trivial-13", "trivial-13-branch"));
262+
cl_git_pass(merge_trivial(&result, "trivial-13", "trivial-13-branch", false));
259263

260264
cl_assert(entry = git_index_get_bypath(result, "modified-in-13.txt", 0));
261265
cl_git_pass(git_oid__fromstr(&expected_oid, "1cff9ec6a47a537380dedfdd17c9e76d74259a2b", GIT_OID_SHA1));
@@ -274,7 +278,7 @@ void test_merge_trees_trivial__14(void)
274278
const git_index_entry *entry;
275279
git_oid expected_oid;
276280

277-
cl_git_pass(merge_trivial(&result, "trivial-14", "trivial-14-branch"));
281+
cl_git_pass(merge_trivial(&result, "trivial-14", "trivial-14-branch", false));
278282

279283
cl_assert(entry = git_index_get_bypath(result, "modified-in-14-branch.txt", 0));
280284
cl_git_pass(git_oid__fromstr(&expected_oid, "26153a3ff3649b6c2bb652d3f06878c6e0a172f9", GIT_OID_SHA1));
@@ -292,7 +296,7 @@ void test_merge_trees_trivial__11(void)
292296
git_index *result;
293297
const git_index_entry *entry;
294298

295-
cl_git_pass(merge_trivial(&result, "trivial-11", "trivial-11-branch"));
299+
cl_git_pass(merge_trivial(&result, "trivial-11", "trivial-11-branch", false));
296300

297301
cl_assert((entry = git_index_get_bypath(result, "modified-in-both.txt", 0)) == NULL);
298302
cl_assert(git_index_reuc_entrycount(result) == 0);

0 commit comments

Comments
 (0)
0