mirror of
https://git.proxmox.com/git/libgit2
synced 2025-05-03 00:43:41 +00:00
merge: add a second-level recursive merge
This commit is contained in:
parent
75dee59c94
commit
cdb6c1c83d
@ -88,8 +88,6 @@ void test_merge_trees_recursive__two_norecursive(void)
|
||||
git_index *index;
|
||||
git_merge_options opts = GIT_MERGE_OPTIONS_INIT;
|
||||
|
||||
opts.flags |= GIT_MERGE_NO_RECURSIVE;
|
||||
|
||||
struct merge_index_entry merge_index_entries[] = {
|
||||
{ 0100644, "ffb36e513f5fdf8a6ba850a20142676a2ac4807d", 0, "asparagus.txt" },
|
||||
{ 0100644, "68f6182f4c85d39e1309d97c7e456156dc9c0096", 0, "beef.txt" },
|
||||
@ -101,6 +99,8 @@ void test_merge_trees_recursive__two_norecursive(void)
|
||||
{ 0100644, "4e21d2d63357bde5027d1625f5ec6b430cdeb143", 3, "veal.txt" },
|
||||
};
|
||||
|
||||
opts.flags |= GIT_MERGE_NO_RECURSIVE;
|
||||
|
||||
cl_git_pass(merge_commits_from_branches(&index, repo, "branchB-1", "branchB-2", &opts));
|
||||
|
||||
cl_assert(merge_test_index(index, merge_index_entries, 8));
|
||||
@ -108,3 +108,49 @@ void test_merge_trees_recursive__two_norecursive(void)
|
||||
git_index_free(index);
|
||||
}
|
||||
|
||||
void test_merge_trees_recursive__three(void)
|
||||
{
|
||||
git_index *index;
|
||||
git_merge_options opts = GIT_MERGE_OPTIONS_INIT;
|
||||
|
||||
struct merge_index_entry merge_index_entries[] = {
|
||||
{ 0100644, "ffb36e513f5fdf8a6ba850a20142676a2ac4807d", 0, "asparagus.txt" },
|
||||
{ 0100644, "68f6182f4c85d39e1309d97c7e456156dc9c0096", 0, "beef.txt" },
|
||||
{ 0100644, "4b7c5650008b2e747fe1809eeb5a1dde0e80850a", 0, "bouilli.txt" },
|
||||
{ 0100644, "c4e6cca3ec6ae0148ed231f97257df8c311e015f", 0, "gravy.txt" },
|
||||
{ 0100644, "68af1fc7407fd9addf1701a87eb1c95c7494c598", 0, "oyster.txt" },
|
||||
{ 0100644, "15faa0c9991f2d65686e844651faa2ff9827887b", 0, "veal.txt" },
|
||||
};
|
||||
|
||||
cl_git_pass(merge_commits_from_branches(&index, repo, "branchC-1", "branchC-2", &opts));
|
||||
|
||||
cl_assert(merge_test_index(index, merge_index_entries, 6));
|
||||
|
||||
git_index_free(index);
|
||||
}
|
||||
|
||||
void test_merge_trees_recursive__three_norecursive(void)
|
||||
{
|
||||
git_index *index;
|
||||
git_merge_options opts = GIT_MERGE_OPTIONS_INIT;
|
||||
|
||||
struct merge_index_entry merge_index_entries[] = {
|
||||
{ 0100644, "ffb36e513f5fdf8a6ba850a20142676a2ac4807d", 0, "asparagus.txt" },
|
||||
{ 0100644, "68f6182f4c85d39e1309d97c7e456156dc9c0096", 0, "beef.txt" },
|
||||
{ 0100644, "4b7c5650008b2e747fe1809eeb5a1dde0e80850a", 0, "bouilli.txt" },
|
||||
{ 0100644, "c4e6cca3ec6ae0148ed231f97257df8c311e015f", 0, "gravy.txt" },
|
||||
{ 0100644, "68af1fc7407fd9addf1701a87eb1c95c7494c598", 0, "oyster.txt" },
|
||||
{ 0100644, "b2a81ead9e722af0099fccfb478cea88eea749a2", 1, "veal.txt" },
|
||||
{ 0100644, "898d12687fb35be271c27c795a6b32c8b51da79e", 2, "veal.txt" },
|
||||
{ 0100644, "68a2e1ee61a23a4728fe6b35580fbbbf729df370", 3, "veal.txt" },
|
||||
};
|
||||
|
||||
opts.flags |= GIT_MERGE_NO_RECURSIVE;
|
||||
|
||||
cl_git_pass(merge_commits_from_branches(&index, repo, "branchC-1", "branchC-2", &opts));
|
||||
|
||||
cl_assert(merge_test_index(index, merge_index_entries, 8));
|
||||
|
||||
git_index_free(index);
|
||||
}
|
||||
|
||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
tests/resources/merge-recursive/.gitted/refs/heads/branchC-1
Normal file
BIN
tests/resources/merge-recursive/.gitted/refs/heads/branchC-1
Normal file
Binary file not shown.
BIN
tests/resources/merge-recursive/.gitted/refs/heads/branchC-2
Normal file
BIN
tests/resources/merge-recursive/.gitted/refs/heads/branchC-2
Normal file
Binary file not shown.
Loading…
Reference in New Issue
Block a user